---
updatedAt: 2025-06-11T20:13:42.000Z
agentTools:
  projectIndex: https://developers.triathlon.org/llms.txt
---

# Create Athlete

The **Create Athlete** method creates a new athlete and returns a basic athlete object. You may add additional profile information via the [Edit Athlete](https://developers.triathlon.org/docs/edit-an-athlete) method once you have a valid athlete\_id.

This method validates that a duplicate user is not being created and returns a 400 error code if this validation fails i.e. a duplicate user exists in the system.

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "triathlon-api-v1",
    "version": "1"
  },
  "servers": [
    {
      "url": "https://api.triathlon.org/v1"
    }
  ],
  "components": {
    "securitySchemes": {
      "sec0": {
        "type": "apiKey",
        "in": "header",
        "name": "apikey",
        "x-default": "2649776ef9ece4c391003b521cbfce7a"
      }
    }
  },
  "security": [
    {
      "sec0": []
    }
  ],
  "paths": {
    "/athletes": {
      "post": {
        "summary": "Create Athlete",
        "description": "",
        "operationId": "create-an-athlete",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "first_name",
                  "family_name",
                  "dob",
                  "gender",
                  "country_id",
                  "category_id"
                ],
                "properties": {
                  "first_name": {
                    "type": "string",
                    "description": "The first name of the athlete"
                  },
                  "family_name": {
                    "type": "string",
                    "description": "The family name of the athlete"
                  },
                  "dob": {
                    "type": "string",
                    "description": "The date of birth of the athlete",
                    "format": "date"
                  },
                  "gender": {
                    "type": "string",
                    "description": "The gender of the athlete (male or female)"
                  },
                  "country_id": {
                    "type": "integer",
                    "description": "The country_id of the athlete",
                    "format": "int32"
                  },
                  "email": {
                    "type": "string",
                    "description": "The email address of the athlete"
                  },
                  "category_id": {
                    "type": "string",
                    "description": "A pipe delimited list of athlete category ids"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "201",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": "{\n   \"code\":201,\n   \"status\":\"success\",\n   \"data\":{\n      \"athlete_id\":103070,\n      \"athlete_title\":\"Fabian Velazquez Rangel\",\n      \"athlete_slug\":\"fabian_velazquez_rangel\",\n      \"athlete_edit_date\":\"2016-01-06T19:09:08+00:00\",\n      \"athlete_first\":\"Fabian\",\n      \"athlete_last\":\"Velazquez Rangel\",\n      \"athlete_country_id\":219,\n      \"athlete_gender\":\"male\",\n      \"athlete_yob\":\"1996\",\n      \"validated\":false,\n      \"athlete_profile_image\":null,\n      \"athlete_noc\":\"MEX\",\n      \"athlete_country_name\":\"Mexico\",\n      \"athlete_country_isoa2\":\"MX\",\n      \"athlete_listing\":\"http:\\/\\/www.triathlon.org\\/athletes\\/profile\\/103070\\/fabian_velazquez_rangel\",\n      \"athlete_flag\":\"https:\\/\\/f9ca11ef49c28681fc01-0acbf57e00c47a50e70a1acb89e86c89.ssl.cf1.rackcdn.com\\/images\\/icons\\/mx.png\",\n      \"athlete_api_listing\":\"https:\\/\\/api.triathlon.org\\/v1\\/v1\\/athletes\\/103070\",\n      \"athlete_categories\":[\n         42\n      ]\n   }\n}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "integer",
                      "example": 201,
                      "default": 0
                    },
                    "status": {
                      "type": "string",
                      "example": "success"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "athlete_id": {
                          "type": "integer",
                          "example": 103070,
                          "default": 0
                        },
                        "athlete_title": {
                          "type": "string",
                          "example": "Fabian Velazquez Rangel"
                        },
                        "athlete_slug": {
                          "type": "string",
                          "example": "fabian_velazquez_rangel"
                        },
                        "athlete_edit_date": {
                          "type": "string",
                          "example": "2016-01-06T19:09:08+00:00"
                        },
                        "athlete_first": {
                          "type": "string",
                          "example": "Fabian"
                        },
                        "athlete_last": {
                          "type": "string",
                          "example": "Velazquez Rangel"
                        },
                        "athlete_country_id": {
                          "type": "integer",
                          "example": 219,
                          "default": 0
                        },
                        "athlete_gender": {
                          "type": "string",
                          "example": "male"
                        },
                        "athlete_yob": {
                          "type": "string",
                          "example": "1996"
                        },
                        "validated": {
                          "type": "boolean",
                          "example": false,
                          "default": true
                        },
                        "athlete_profile_image": {},
                        "athlete_noc": {
                          "type": "string",
                          "example": "MEX"
                        },
                        "athlete_country_name": {
                          "type": "string",
                          "example": "Mexico"
                        },
                        "athlete_country_isoa2": {
                          "type": "string",
                          "example": "MX"
                        },
                        "athlete_listing": {
                          "type": "string",
                          "example": "http://www.triathlon.org/athletes/profile/103070/fabian_velazquez_rangel"
                        },
                        "athlete_flag": {
                          "type": "string",
                          "example": "https://f9ca11ef49c28681fc01-0acbf57e00c47a50e70a1acb89e86c89.ssl.cf1.rackcdn.com/images/icons/mx.png"
                        },
                        "athlete_api_listing": {
                          "type": "string",
                          "example": "https://api.triathlon.org/v1/v1/athletes/103070"
                        },
                        "athlete_categories": {
                          "type": "array",
                          "items": {
                            "type": "integer",
                            "example": 42,
                            "default": 0
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "deprecated": false
      }
    }
  },
  "x-readme": {
    "headers": [],
    "explorer-enabled": true,
    "proxy-enabled": true
  },
  "x-readme-fauxas": true
}
```