This endpoint allows you to associate user accounts (typically registered for the event) with race series participants that already exist in the series. You must provide both the user ID and the race series participant ID that will be linked together. Each user can only be linked to one participant per race series year, and each race series participant can only be linked to one user per event.
Note: This endpoint only allows OAuth 2.0 authentication and requires the user to be a director of the race series. It is currently in beta and subject to change.
{ "columns": [ "user_id", "race_series_participant_id" ], "participants": [ [12345, 67890], [12346, 67891], [12347, 67892] ] }
{ "success": true }
Parameter | HTTP Method | Default | Description | Datatype |
---|---|---|---|---|
Authorization Required |
HTTP Header | OAuth 2.0 Authorization header (e.g. `Bearer ...`). | string |
|
race_series_id Required |
GET | Race series ID. | uint |
|
race_series_year_id Required |
GET | Race series year ID. | uint |
|
race_id Required |
GET | Race ID. | uint |
|
event_id Required |
GET | Event ID. | uint |
|
request Required |
POST | JSON containing user IDs and race series participant IDs to link. | string |
{ "openapi": "3.0.3", "info": { "title": "Link Users to Race Series Participants (BETA)", "description": "Link users associated with an event to existing race series participants.", "version": "1.0.0", "contact": { "name": "RunSignup API Support", "url": "https://runsignup.com/API", "email": "info@runsignup.com" } }, "servers": [ { "url": "https://api.runsignup.com/rest", "description": "Production API Server" } ], "tags": [ { "name": "Race Series Scoring", "description": "APIs related to Race Series Scoring" } ], "components": { "schemas": { "Error": { "type": "object", "properties": { "error": { "type": "string", "description": "Error message" }, "details": { "type": "object", "description": "Additional error details", "additionalProperties": true } }, "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/race-series/race-series-participants/link-users.json": { "post": { "tags": [ "Race Series Scoring" ], "summary": "Link Users to Race Series Participants (BETA)", "description": "Link users associated with an event to existing race series participants.", "operationId": "v2_race_series_race_series_participants_link_users_json", "parameters": [ { "name": "Authorization", "in": "header", "description": "OAuth 2.0 Authorization header (e.g. `Bearer ...`).", "required": true, "schema": { "type": "string" } }, { "name": "race_series_id", "in": "query", "description": "Race series ID.", "required": true, "schema": { "type": "integer" } }, { "name": "race_series_year_id", "in": "query", "description": "Race series year ID.", "required": true, "schema": { "type": "integer" } }, { "name": "race_id", "in": "query", "description": "Race ID.", "required": true, "schema": { "type": "integer" } }, { "name": "event_id", "in": "query", "description": "Event ID.", "required": true, "schema": { "type": "integer" } } ], "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": [ "race_directors", "timers" ], "requestBody": { "required": true, "content": { "multipart/form-data": { "schema": { "type": "object", "properties": { "request": { "type": "string" } }, "required": [ "request" ] } } } } } } } }