Post user submitted activities.
The request
field should be a JSON object with an 'activities' property, which is an array of activities.
Each activity will be an object with field values being store as the property with that field name.
The date
field should be in the format YYYY-MM-DD.
The time
field is the elapsed time for the activity in milliseconds.
An example of the request is below.
validated_pace
is optional, and denotes if the pace has been validated already or not. Default is "T". If "F" is passed in, the pace will be checked and an error returned if the pace is outside of a reasonable range.
The response will contain a list of tally_split_nums
that were added.
{ "activities": [ { "tally_split_date": "2020-07-25", "result_split_tally_value": 1, "split_elevation_gain_in_mm": 1002000, "tally_split_comment": "Running at the park", "submitted_time_in_ms": 1234556, "virtual_race_activity_type_id": 6 }, { "tally_split_date": "2020-07-25", "result_split_tally_value": 2, "split_elevation_gain_in_mm": 202000, "tally_split_comment": "Night walk", "submitted_time_in_ms": 12345562, "virtual_race_activity_type_id": 7, "validated_pace": "F" } ] }
Response
{ "tally_split_nums": [ 7, 8 ] }
Parameter | HTTP Method | Default | Description | Datatype |
---|---|---|---|---|
api_key |
GET | API Key | string |
|
api_secret |
GET | API Secret | string |
|
tmp_key |
GET | Temporary API Key from login API call. This should NOT be used in combination with API Key. | string |
|
tmp_secret |
GET | Temporary API Secret from login API call. This should NOT be used in combination with API Secret. | string |
|
rsu_api_key |
GET | API v2 key. If used, you must send the API secret in an HTTP header named X-RSU-API-SECRET. | string |
|
sp_api_key |
GET | Super partner API key. If used, you must send the API secret in an HTTP header named X-RSU-API-SECRET. | string |
|
X-RSU-API-SECRET |
HTTP Header | API v2 or super partner secret. | string |
|
format |
GET | xml | Format of response. The default if not sent is `xml`, but `json` is preferred. | format |
Parameter | HTTP Method | Default | Description | Datatype |
---|---|---|---|---|
race_id Required |
GET | ID of race. | uint |
|
event_id Required |
GET | ID of event. | uint |
|
registration_id |
GET | Look up activities by registration ID. | uint |
|
bib_num |
GET | Look up activities by bib number for the virtual event. | uint |
|
request Required |
POST | Request in proper format. | string |
{ "openapi": "3.0.3", "info": { "title": "Post User Submitted Activities", "description": "Post user submitted activities for a virtual event.", "version": "1.0.0", "contact": { "name": "RunSignup API Support", "url": "https://runsignup.com/API", "email": "info@runsignup.com" } }, "servers": [ { "url": "https://runsignup.com/API", "description": "Production API Server" } ], "tags": [ { "name": "Results - Activities", "description": "APIs related to Results - Activities" } ], "components": { "schemas": { "Error": { "type": "object", "properties": { "error": { "type": "string", "description": "Error message" } }, "required": [ "error" ] }, "BadRequestError": { "allOf": [ { "$ref": "#/components/schemas/Error" }, { "description": "Error indicating invalid request parameters or structure" } ] }, "UnauthorizedError": { "allOf": [ { "$ref": "#/components/schemas/Error" }, { "description": "Error indicating authentication failure" } ] }, "ForbiddenError": { "allOf": [ { "$ref": "#/components/schemas/Error" }, { "description": "Error indicating the authenticated user lacks required permissions" } ] }, "NotFoundError": { "allOf": [ { "$ref": "#/components/schemas/Error" }, { "description": "Error indicating the requested resource does not exist" } ] }, "ServerError": { "allOf": [ { "$ref": "#/components/schemas/Error" }, { "description": "Error indicating an unexpected server-side issue" } ] } }, "securitySchemes": { "apiKey": { "type": "apiKey", "in": "query", "name": "api_key", "description": "RunSignup API Key" }, "apiSecret": { "type": "apiKey", "in": "query", "name": "api_secret", "description": "RunSignup API Secret" } } }, "paths": { "/v2/vr-activities.json": { "post": { "tags": [ "Results - Activities" ], "summary": "Post User Submitted Activities", "description": "Post user submitted activities for a virtual event.", "operationId": "v2_vr_activities_json", "parameters": [ { "name": "api_key", "in": "query", "description": "API Key", "required": false, "schema": { "type": "string" } }, { "name": "api_secret", "in": "query", "description": "API Secret", "required": false, "schema": { "type": "string" } }, { "name": "tmp_key", "in": "query", "description": "Temporary API Key from login API call. This should NOT be used in combination with API Key.", "required": false, "schema": { "type": "string" } }, { "name": "tmp_secret", "in": "query", "description": "Temporary API Secret from login API call. This should NOT be used in combination with API Secret.", "required": false, "schema": { "type": "string" } }, { "name": "rsu_api_key", "in": "query", "description": "API v2 key. If used, you must send the API secret in an HTTP header named X-RSU-API-SECRET.", "required": false, "schema": { "type": "string" } }, { "name": "sp_api_key", "in": "query", "description": "Super partner API key. If used, you must send the API secret in an HTTP header named X-RSU-API-SECRET.", "required": false, "schema": { "type": "string" } }, { "name": "X-RSU-API-SECRET", "in": "header", "description": "API v2 or super partner secret.", "required": false, "schema": { "type": "string" } }, { "name": "format", "in": "query", "description": "Format of response. The default if not sent is `xml`, but `json` is preferred.", "required": false, "schema": { "type": "string", "enum": [ "xml", "json", "csv" ], "default": "xml" } }, { "name": "race_id", "in": "query", "description": "ID of race.", "required": true, "schema": { "type": "integer" } }, { "name": "event_id", "in": "query", "description": "ID of event.", "required": true, "schema": { "type": "integer" } }, { "name": "registration_id", "in": "query", "description": "Look up activities by registration ID.", "required": false, "schema": { "type": "integer" } }, { "name": "bib_num", "in": "query", "description": "Look up activities by bib number for the virtual event.", "required": false, "schema": { "type": "integer" } }, { "name": "request", "in": "query", "description": "Request in proper format.", "required": true, "schema": { "type": "string" } } ], "security": [ { "apiKey": [] }, { "apiSecret": [] } ], "responses": { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "type": "object" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BadRequestError" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ForbiddenError" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NotFoundError" } } } }, "500": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServerError" } } } } }, "x-permissions": [ "partners", "race_directors", "timers" ] } } } }