---
title: "GET /team/{team_key}/history"
method: GET
path: "/team/{team_key}/history"
tags: ["team"]
---

# GET /team/{team_key}/history

`GET /team/{team_key}/history`

## Request

- Base URL: `https://www.thebluealliance.com/api/v3`
- URL: `https://www.thebluealliance.com/api/v3/team/{team_key}/history`
- Auth: API key in header `X-TBA-Auth-Key`
- TypeScript: <https://skmtc.dev/thebluealliance/apis/the-blue-alliance-api-v3/docs/team/:team_key/history/get.ts> (a function with typed inputs; its response is checked against the schema)

Gets the history for the team referenced by the given key, including their events and awards.

## Path parameters

- `team_key` string, required

## Headers

- `If-None-Match` string

## Response `200`

Successful response with team's history including events and awards.

- History
  - `events` Event[], required
    - `key` string, required: TBA event key with the format yyyy[EVENT_CODE], where yyyy is the year, and EVENT_CODE is the event code of the event.
    - `name` string, required: Official name of event on record either provided by FIRST or organizers of offseason event.
    - `event_code` string, required: Event short code, as provided by FIRST.
    - `event_type` 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 99 | 100 | -1, required: Event Type. See https://github.com/the-blue-alliance/the-blue-alliance/blob/main/src/backend/common/consts/event_type.py for definitions.
    - `district` District, required
      - `abbreviation` string, required: The short identifier for the district.
      - `display_name` string, required: The long name for the district.
      - `key` string, required: Key for this district, e.g. `2016ne`.
      - `year` integer, required: Year this district participated.
      - `official_advancement_counts` object, required: The number of teams advancing to DCMP and CMP from this district, as specified in the FIRST manual.
        - `dcmp` integer, required: Number of teams advancing to the District Championship.
        - `cmp` integer, required: Number of teams advancing to the Championship.
    - `city` string, nullable, required: City, town, village, etc. the event is located in.
    - `state_prov` string, nullable, required: State or Province the event is located in.
    - `country` string, nullable, required: Country the event is located in.
    - `start_date` string, date, required: Event start date in `yyyy-mm-dd` format.
    - `end_date` string, date, required: Event end date in `yyyy-mm-dd` format.
    - `year` integer, required: Year the event data is for.
    - `short_name` string, nullable, required: Same as `name` but doesn't include event specifiers, such as 'Regional' or 'District'. May be null.
    - `event_type_string` string, required: Event Type, eg Regional, District, or Offseason.
    - `week` integer, nullable, required: Week of the event relative to the first official season event, zero-indexed. Only valid for Regionals, Districts, and District Championships. Null otherwise. (Eg. A season with a week 0 'preseason' event does not count, and week 1 events will show 0 here. Seasons with a week 0.5 regional event will show week 0 for those event(s) and week 1 for week 1 events and so on.)
    - `address` string, nullable, required: Address of the event's venue, if available.
    - `postal_code` string, nullable, required: Postal code from the event address.
    - `gmaps_place_id` string, nullable, required: Google Maps Place ID for the event address. Will be NULL, for future development.
    - `gmaps_url` string, url, nullable, required: Link to address location on Google Maps. Will be NULL, for future development.
    - `lat` number, double, nullable, required: Latitude for the event address. Will be NULL, for future development.
    - `lng` number, double, nullable, required: Longitude for the event address. Will be NULL, for future development.
    - `location_name` string, nullable, required: Name of the location at the address for the event, eg. Blue Alliance High School.
    - `timezone` string, nullable, required: IANA Timezone identifier.
    - `website` string, nullable, required: The event's website, if any.
    - `first_event_id` string, nullable, required: The FIRST internal Event ID, used to link to the event on the FRC webpage.
    - `first_event_code` string, nullable, required: Public facing event code used by FIRST (on frc-events.firstinspires.org, for example)
    - `webcasts` Webcast[], required
      - `type` 'youtube' | 'twitch' | 'ustream' | 'iframe' | 'html5' | 'rtmp' | 'livestream' | 'direct_link' | 'mms' | 'justin' | 'stemtv' | 'dacast', required: Type of webcast, typically descriptive of the streaming provider.
      - `channel` string, required: Type specific channel information. May be the YouTube stream, or Twitch channel name. In the case of iframe types, contains HTML to embed the stream in an HTML iframe.
      - `date` string, nullable: The date for the webcast in `yyyy-mm-dd` format. May be null.
      - `file` string, nullable: File identification as may be required for some types. May be null.
      - `status` 'unknown' | 'online' | 'offline': Online status of a webcast. See https://github.com/the-blue-alliance/the-blue-alliance/blob/main/src/backend/common/consts/webcast_status.py for full definitions.
      - `stream_title` string, nullable: The title of the stream from the streaming provider. May be null.
      - `viewer_count` integer, nullable: The current viewer count from the streaming provider. May be null.
    - `division_keys` string[], required: An array of event keys for the divisions at this event.
    - `parent_event_key` string, nullable, required: The TBA Event key that represents the event's parent. Used to link back to the event from a division event. It is also the inverse relation of `divison_keys`.
    - `playoff_type` 1 | 0 | 2 | 9 | 3 | 4 | 5 | 10 | 11 | 6 | 7 | 8, required: Playoff bracket format. See https://github.com/the-blue-alliance/the-blue-alliance/blob/main/src/backend/common/consts/playoff_type.py for definitions.
    - `playoff_type_string` string, nullable, required: String representation of the `playoff_type`, or null.
    - `remap_teams` object, nullable, required: Map of temporary "off-season demo" team numbers to pre-rookie and B teams. Both keys and values are team keys in the format 'frc####'. Key is the old team key ('frc' + numeric only), value is the new team key ('frc' + numeric + may include a letter suffix).
  - `awards` Award[], required
    - `name` string, required: The name of the award as provided by FIRST. May vary for the same award type.
    - `award_type` 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83, required: Type of award given. See https://github.com/the-blue-alliance/the-blue-alliance/blob/main/src/backend/common/consts/award_type.py for full definitions.
    - `event_key` string, required: The event_key of the event the award was won at.
    - `recipient_list` AwardRecipient[], required: A list of recipients of the award at the event. May have either a team_key or an awardee, both, or neither (in the case the award wasn't awarded at the event).
      - `team_key` string, nullable, required: The TBA team key for the team that was given the award. May be null.
      - `awardee` string, nullable, required: The name of the individual given the award. May be null.
    - `year` integer, required: The year this award was won.

## Other responses

- `304`: Not Modified - Use Local Cached Value
- `401`: Authorization information is missing or invalid.
- `404`: Not Found

## Changes

- **2026-06-08** `c26cc01880d2`: 4 breaking, 95 warning, 3 info
  - added `#/components/schemas/PlayoffType, subschema #2` to the `events/items/playoff_type` response property `oneOf` list for the response status `200`
  - added `#/components/schemas/WebcastStatus, subschema #2` to the `events/items/webcasts/items/status` response property `oneOf` list for the response status `200`
  - the `events/items/playoff_type` response's property type changed from `integer, null` to no type for status `200`
  - the `events/items/webcasts/items/status` response's property type changed from `string, null` to no type for status `200`
  - …98 more
- **2026-04-03** `e02edcb016b7`: 6 breaking
  - added `#/components/schemas/District, subschema #2` to the `events/items/district` response property `oneOf` list for the response status `200`
  - the `events/items/district` response's property type changed from `null, object` to no type for status `200`
  - removed the required property `events/items/district/abbreviation` from the response with the `200` status
  - removed the required property `events/items/district/display_name` from the response with the `200` status
  - …2 more
- …earlier changes not shown

[Operation history](https://skmtc.dev/thebluealliance/apis/the-blue-alliance-api-v3/changes/team/:team_key/history/get.md)

---

[API](https://skmtc.dev/thebluealliance/apis/the-blue-alliance-api-v3.md) - [All operations](https://skmtc.dev/thebluealliance/apis/the-blue-alliance-api-v3/llms.txt) - [OpenAPI document](https://skmtc.dev/thebluealliance/apis/the-blue-alliance-api-v3/revisions/9316d02dee32?raw)
