{
    "openapi": "3.0.3",
    "info": {
        "title": "Get All Updated Public Race Result Sets",
        "description": "Get all public result sets for all races based on last updated dates.",
        "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": "Results",
            "description": "APIs related to Results"
        }
    ],
    "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"
                    }
                ]
            },
            "V2ResultsUpdatedResultSetsGetResponse": {
                "type": "object",
                "title": "Updated Result Sets Response",
                "description": "Response containing public result sets that have been updated.",
                "properties": {
                    "result_sets": {
                        "type": "array",
                        "description": "Array of updated result sets",
                        "example": [
                            {
                                "individual_result_set_id": 12345,
                                "race_id": 5678,
                                "event_id": 910,
                                "race_name": "Spring 5K",
                                "individual_result_set_name": "Overall Results",
                                "last_modified_ts": 1609459200
                            },
                            {
                                "individual_result_set_id": 12346,
                                "race_id": 5679,
                                "event_id": 911,
                                "race_name": "Summer 10K",
                                "individual_result_set_name": "Age Group Results",
                                "last_modified_ts": 1609545600
                            }
                        ],
                        "items": {
                            "type": "object",
                            "description": "A single updated result set",
                            "properties": {
                                "individual_result_set_id": {
                                    "type": "integer",
                                    "description": "ID of the result set"
                                },
                                "race_id": {
                                    "type": "integer",
                                    "description": "ID of the race"
                                },
                                "event_id": {
                                    "type": "integer",
                                    "description": "ID of the event"
                                },
                                "race_name": {
                                    "type": "string",
                                    "description": "Name of the race"
                                },
                                "individual_result_set_name": {
                                    "type": "string",
                                    "description": "Name of the result set"
                                },
                                "last_modified_ts": {
                                    "type": "integer",
                                    "description": "Timestamp when result set was last modified"
                                }
                            },
                            "required": [
                                "individual_result_set_id",
                                "race_id",
                                "event_id",
                                "race_name",
                                "individual_result_set_name",
                                "last_modified_ts"
                            ]
                        }
                    }
                },
                "required": [
                    "result_sets"
                ],
                "example": {
                    "result_sets": [
                        {
                            "individual_result_set_id": 12345,
                            "race_id": 5678,
                            "event_id": 910,
                            "race_name": "Spring 5K",
                            "individual_result_set_name": "Overall Results",
                            "last_modified_ts": 1609459200
                        },
                        {
                            "individual_result_set_id": 12346,
                            "race_id": 5679,
                            "event_id": 911,
                            "race_name": "Summer 10K",
                            "individual_result_set_name": "Age Group Results",
                            "last_modified_ts": 1609545600
                        }
                    ]
                }
            }
        },
        "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/results/updated-result-sets.json": {
            "get": {
                "tags": [
                    "Results"
                ],
                "summary": "Get All Updated Public Race Result Sets",
                "description": "Get all public result sets for all races based on last updated dates.",
                "operationId": "v2_results_updated_result_sets_json",
                "parameters": [
                    {
                        "name": "modified_since_timestamp",
                        "in": "query",
                        "description": "Get result sets modified on or after a given time.",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "modified_until_timestamp",
                        "in": "query",
                        "description": "Get result sets modified on or before a given time.",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Page number to get.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "default": "1"
                        }
                    },
                    {
                        "name": "num_per_page",
                        "in": "query",
                        "description": "Number per page.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "default": "5000"
                        }
                    }
                ],
                "security": [
                    {
                        "apiKey": [],
                        "apiSecret": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Updated Result Sets Response - Response containing public result sets that have been updated.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/V2ResultsUpdatedResultSetsGetResponse"
                                }
                            }
                        }
                    },
                    "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": [
                    "affiliates",
                    "partners",
                    "race_directors",
                    "timers"
                ]
            }
        }
    }
}