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

# Create Timing

> ❗️ Only approved timers may submit timing data
>
> Approved timers will be given the appropriate permissions to submit timing data through the use of their API key.

The **Create Timing** method allows timers to POST timing data directly to the Triathlon API for delivery to connected clients. Timers should consult the [live timing standard documentation](https://developers.triathlon.org/v1/page/live-timing-standard-v11) for details on implementation.

This method returns a `key` which is the unique hash of the message. Duplicate timing messages should not be sent and will be discarded.

# 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": {
    "/timing": {
      "post": {
        "summary": "Create Timing",
        "description": "",
        "operationId": "create-timing",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "description": "Either application/xml or application/json to indicate the message body content type",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": "{\n  \"code\": 200,\n  \"status\": \"success\",\n  \"data\": {\n    \"key\": \"16dab806cd7e4e842c4e568098d54e224f742cfa\"\n  }\n}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "integer",
                      "example": 200,
                      "default": 0
                    },
                    "status": {
                      "type": "string",
                      "example": "success"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "key": {
                          "type": "string",
                          "example": "16dab806cd7e4e842c4e568098d54e224f742cfa"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "deprecated": false,
        "x-readme": {
          "code-samples": [
            {
              "language": "curl",
              "code": "curl -X POST -H \"apikey: YOUR_API_KEY\" -H \"Content-Type: application/xml\" -d 'timing_data' \"https://api.triathlon.org/v1/timing\""
            }
          ],
          "samples-languages": [
            "curl"
          ]
        }
      }
    }
  },
  "x-readme": {
    "headers": [],
    "explorer-enabled": true,
    "proxy-enabled": true
  },
  "x-readme-fauxas": true
}
```