# Models

## The EnvelopeAny object

```json
{"openapi":"3.0.3","info":{"title":"RUFUS Public REST API","version":"0.1.0"},"components":{"schemas":{"EnvelopeAny":{"type":"object","additionalProperties":false,"properties":{"body":{"description":"Operation result body."}}}}}}
```

## The EnvelopeNull object

```json
{"openapi":"3.0.3","info":{"title":"RUFUS Public REST API","version":"0.1.0"},"components":{"schemas":{"EnvelopeNull":{"type":"object","additionalProperties":false,"properties":{"body":{"nullable":true}},"required":["body"]}}}}
```

## The Pagination object

```json
{"openapi":"3.0.3","info":{"title":"RUFUS Public REST API","version":"0.1.0"},"components":{"schemas":{"Pagination":{"type":"object","additionalProperties":false,"properties":{"page":{"type":"integer","minimum":1},"limit":{"type":"integer","minimum":1},"total":{"type":"integer","minimum":0},"has_more":{"type":"boolean"}},"required":["page","limit","total","has_more"]}}}}
```

## The DeviceSummary object

```json
{"openapi":"3.0.3","info":{"title":"RUFUS Public REST API","version":"0.1.0"},"components":{"schemas":{"DeviceSummary":{"type":"object","additionalProperties":false,"properties":{"deviceid":{"type":"string"},"type":{"type":"string"},"model":{"type":"string"},"alias":{"type":"string"},"firmware":{"type":"string","nullable":true},"serial_number":{"type":"string"},"last_login":{"type":"string","format":"date-time","nullable":true},"creation_date":{"type":"string","format":"date-time","nullable":true},"sessions":{"type":"integer","minimum":0},"device_status":{"type":"string","nullable":true},"battery_percentage":{"type":"integer","minimum":0,"maximum":100,"nullable":true},"charging":{"type":"boolean","nullable":true},"last_telemetry_at":{"type":"string","format":"date-time","nullable":true},"last_reported_latitude":{"type":"number","nullable":true},"last_reported_longitude":{"type":"number","nullable":true}},"required":["deviceid","type","model","alias","serial_number"]}}}}
```

## The DeviceDetails object

```json
{"openapi":"3.0.3","info":{"title":"RUFUS Public REST API","version":"0.1.0"},"components":{"schemas":{"DeviceDetails":{"allOf":[{"$ref":"#/components/schemas/DeviceSummary"},{"type":"object","additionalProperties":false,"properties":{"passings":{"type":"integer","minimum":0},"last_seen":{"type":"string","format":"date-time","nullable":true},"battery_volts":{"type":"number","nullable":true},"temperature_celsius":{"type":"integer","nullable":true},"gps_accuracy_m":{"type":"number","nullable":true},"network_type":{"type":"string","nullable":true},"signal_strength":{"type":"integer","nullable":true}}}]},"DeviceSummary":{"type":"object","additionalProperties":false,"properties":{"deviceid":{"type":"string"},"type":{"type":"string"},"model":{"type":"string"},"alias":{"type":"string"},"firmware":{"type":"string","nullable":true},"serial_number":{"type":"string"},"last_login":{"type":"string","format":"date-time","nullable":true},"creation_date":{"type":"string","format":"date-time","nullable":true},"sessions":{"type":"integer","minimum":0},"device_status":{"type":"string","nullable":true},"battery_percentage":{"type":"integer","minimum":0,"maximum":100,"nullable":true},"charging":{"type":"boolean","nullable":true},"last_telemetry_at":{"type":"string","format":"date-time","nullable":true},"last_reported_latitude":{"type":"number","nullable":true},"last_reported_longitude":{"type":"number","nullable":true}},"required":["deviceid","type","model","alias","serial_number"]}}}}
```

## The BindDeviceRequest object

```json
{"openapi":"3.0.3","info":{"title":"RUFUS Public REST API","version":"0.1.0"},"components":{"schemas":{"BindDeviceRequest":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string"},"model":{"type":"string"},"serial_number":{"type":"string"},"alias":{"type":"string"},"firmware":{"type":"string"}},"required":["type","model","serial_number"]}}}}
```

## The BindDeviceResponse object

```json
{"openapi":"3.0.3","info":{"title":"RUFUS Public REST API","version":"0.1.0"},"components":{"schemas":{"BindDeviceResponse":{"type":"object","additionalProperties":false,"properties":{"body":{"type":"object","additionalProperties":false,"properties":{"description":{"type":"string"},"deviceid":{"type":"string"},"already_binded":{"type":"boolean","nullable":true}},"required":["description","deviceid"]}},"required":["body"]}}}}
```

## The UnbindDeviceResponse object

```json
{"openapi":"3.0.3","info":{"title":"RUFUS Public REST API","version":"0.1.0"},"components":{"schemas":{"UnbindDeviceResponse":{"type":"object","additionalProperties":false,"properties":{"body":{"type":"object","additionalProperties":false,"properties":{"description":{"type":"string"},"deviceid":{"type":"string"}},"required":["description","deviceid"]}},"required":["body"]}}}}
```

## The DevicesListResponse object

```json
{"openapi":"3.0.3","info":{"title":"RUFUS Public REST API","version":"0.1.0"},"components":{"schemas":{"DevicesListResponse":{"type":"object","additionalProperties":false,"properties":{"body":{"type":"object","additionalProperties":false,"properties":{"description":{"type":"string"},"result":{"type":"array","items":{"$ref":"#/components/schemas/DeviceSummary"}},"pagination":{"$ref":"#/components/schemas/Pagination"}},"required":["description","pagination"]}},"required":["body"]},"DeviceSummary":{"type":"object","additionalProperties":false,"properties":{"deviceid":{"type":"string"},"type":{"type":"string"},"model":{"type":"string"},"alias":{"type":"string"},"firmware":{"type":"string","nullable":true},"serial_number":{"type":"string"},"last_login":{"type":"string","format":"date-time","nullable":true},"creation_date":{"type":"string","format":"date-time","nullable":true},"sessions":{"type":"integer","minimum":0},"device_status":{"type":"string","nullable":true},"battery_percentage":{"type":"integer","minimum":0,"maximum":100,"nullable":true},"charging":{"type":"boolean","nullable":true},"last_telemetry_at":{"type":"string","format":"date-time","nullable":true},"last_reported_latitude":{"type":"number","nullable":true},"last_reported_longitude":{"type":"number","nullable":true}},"required":["deviceid","type","model","alias","serial_number"]},"Pagination":{"type":"object","additionalProperties":false,"properties":{"page":{"type":"integer","minimum":1},"limit":{"type":"integer","minimum":1},"total":{"type":"integer","minimum":0},"has_more":{"type":"boolean"}},"required":["page","limit","total","has_more"]}}}}
```

## The DeviceGetResponse object

```json
{"openapi":"3.0.3","info":{"title":"RUFUS Public REST API","version":"0.1.0"},"components":{"schemas":{"DeviceGetResponse":{"type":"object","additionalProperties":false,"properties":{"body":{"type":"object","additionalProperties":false,"properties":{"description":{"type":"string"},"result":{"$ref":"#/components/schemas/DeviceDetails"}},"required":["description"]}},"required":["body"]},"DeviceDetails":{"allOf":[{"$ref":"#/components/schemas/DeviceSummary"},{"type":"object","additionalProperties":false,"properties":{"passings":{"type":"integer","minimum":0},"last_seen":{"type":"string","format":"date-time","nullable":true},"battery_volts":{"type":"number","nullable":true},"temperature_celsius":{"type":"integer","nullable":true},"gps_accuracy_m":{"type":"number","nullable":true},"network_type":{"type":"string","nullable":true},"signal_strength":{"type":"integer","nullable":true}}}]},"DeviceSummary":{"type":"object","additionalProperties":false,"properties":{"deviceid":{"type":"string"},"type":{"type":"string"},"model":{"type":"string"},"alias":{"type":"string"},"firmware":{"type":"string","nullable":true},"serial_number":{"type":"string"},"last_login":{"type":"string","format":"date-time","nullable":true},"creation_date":{"type":"string","format":"date-time","nullable":true},"sessions":{"type":"integer","minimum":0},"device_status":{"type":"string","nullable":true},"battery_percentage":{"type":"integer","minimum":0,"maximum":100,"nullable":true},"charging":{"type":"boolean","nullable":true},"last_telemetry_at":{"type":"string","format":"date-time","nullable":true},"last_reported_latitude":{"type":"number","nullable":true},"last_reported_longitude":{"type":"number","nullable":true}},"required":["deviceid","type","model","alias","serial_number"]}}}}
```

## The DeviceTelemetryRequest object

```json
{"openapi":"3.0.3","info":{"title":"RUFUS Public REST API","version":"0.1.0"},"components":{"schemas":{"DeviceTelemetryRequest":{"type":"object","additionalProperties":false,"description":"At least one telemetry field is required.","properties":{"reported_at":{"type":"string","format":"date-time"},"device_status":{"type":"string"},"battery_percentage":{"type":"integer","minimum":0,"maximum":100},"battery_volts":{"type":"number","minimum":0},"charging":{"type":"boolean"},"temperature_celsius":{"type":"integer","minimum":-100,"maximum":200},"latitude":{"type":"number","minimum":-90,"maximum":90},"longitude":{"type":"number","minimum":-180,"maximum":180},"gps_accuracy_m":{"type":"number","minimum":0},"network_type":{"type":"string"},"signal_strength":{"type":"integer","minimum":-200,"maximum":200}}}}}}
```

## The DeviceTelemetryResponse object

```json
{"openapi":"3.0.3","info":{"title":"RUFUS Public REST API","version":"0.1.0"},"components":{"schemas":{"DeviceTelemetryResponse":{"type":"object","additionalProperties":false,"properties":{"body":{"type":"object","additionalProperties":false,"properties":{"description":{"type":"string"},"deviceid":{"type":"string"},"result":{"type":"object","additionalProperties":false,"properties":{"deviceid":{"type":"string"},"last_telemetry_at":{"type":"string","format":"date-time"},"device_status":{"type":"string","nullable":true},"battery_percentage":{"type":"integer","nullable":true},"battery_volts":{"type":"number","nullable":true},"charging":{"type":"boolean","nullable":true},"temperature_celsius":{"type":"integer","nullable":true},"last_reported_latitude":{"type":"number","nullable":true},"last_reported_longitude":{"type":"number","nullable":true},"gps_accuracy_m":{"type":"number","nullable":true},"network_type":{"type":"string","nullable":true},"signal_strength":{"type":"integer","nullable":true}}}},"required":["description","deviceid"]}},"required":["body"]}}}}
```

## The CreateSessionRequest object

```json
{"openapi":"3.0.3","info":{"title":"RUFUS Public REST API","version":"0.1.0"},"components":{"schemas":{"CreateSessionRequest":{"type":"object","additionalProperties":false,"properties":{"deviceid":{"type":"string"},"alias":{"type":"string"}},"required":["deviceid"]}}}}
```

## The CreateSessionResponse object

```json
{"openapi":"3.0.3","info":{"title":"RUFUS Public REST API","version":"0.1.0"},"components":{"schemas":{"CreateSessionResponse":{"type":"object","additionalProperties":false,"properties":{"body":{"type":"object","additionalProperties":false,"properties":{"description":{"type":"string"},"token_session":{"type":"string"}},"required":["description","token_session"]}},"required":["body"]}}}}
```

## The CloseSessionResponse object

```json
{"openapi":"3.0.3","info":{"title":"RUFUS Public REST API","version":"0.1.0"},"components":{"schemas":{"CloseSessionResponse":{"type":"object","additionalProperties":false,"properties":{"body":{"type":"object","additionalProperties":false,"properties":{"description":{"type":"string"},"token_session":{"type":"string"}},"required":["description","token_session"]}},"required":["body"]}}}}
```

## The SessionDetails object

```json
{"openapi":"3.0.3","info":{"title":"RUFUS Public REST API","version":"0.1.0"},"components":{"schemas":{"SessionDetails":{"type":"object","additionalProperties":false,"properties":{"token_session":{"type":"string"},"alias":{"type":"string"},"creation_date":{"type":"string","format":"date-time"},"duration":{"type":"number","nullable":true},"active":{"type":"boolean"},"passings":{"type":"integer","minimum":0},"first":{"type":"string","format":"date-time","nullable":true},"last":{"type":"string","format":"date-time","nullable":true}},"required":["token_session","alias","active"]}}}}
```

## The SessionSummary object

```json
{"openapi":"3.0.3","info":{"title":"RUFUS Public REST API","version":"0.1.0"},"components":{"schemas":{"SessionSummary":{"type":"object","additionalProperties":false,"properties":{"token_session":{"type":"string"},"alias":{"type":"string"},"creation_date":{"type":"string","format":"date-time"},"duration":{"type":"number","nullable":true},"active":{"type":"boolean"},"passings":{"type":"integer","minimum":0}},"required":["token_session","alias","active"]}}}}
```

## The SessionGetResponse object

```json
{"openapi":"3.0.3","info":{"title":"RUFUS Public REST API","version":"0.1.0"},"components":{"schemas":{"SessionGetResponse":{"type":"object","additionalProperties":false,"properties":{"body":{"type":"object","additionalProperties":false,"properties":{"description":{"type":"string"},"result":{"type":"array","items":{"$ref":"#/components/schemas/SessionDetails"}}},"required":["description"]}},"required":["body"]},"SessionDetails":{"type":"object","additionalProperties":false,"properties":{"token_session":{"type":"string"},"alias":{"type":"string"},"creation_date":{"type":"string","format":"date-time"},"duration":{"type":"number","nullable":true},"active":{"type":"boolean"},"passings":{"type":"integer","minimum":0},"first":{"type":"string","format":"date-time","nullable":true},"last":{"type":"string","format":"date-time","nullable":true}},"required":["token_session","alias","active"]}}}}
```

## The SessionsListResponse object

```json
{"openapi":"3.0.3","info":{"title":"RUFUS Public REST API","version":"0.1.0"},"components":{"schemas":{"SessionsListResponse":{"type":"object","additionalProperties":false,"properties":{"body":{"type":"object","additionalProperties":false,"properties":{"description":{"type":"string"},"result":{"type":"array","items":{"$ref":"#/components/schemas/SessionSummary"}}},"required":["description"]}},"required":["body"]},"SessionSummary":{"type":"object","additionalProperties":false,"properties":{"token_session":{"type":"string"},"alias":{"type":"string"},"creation_date":{"type":"string","format":"date-time"},"duration":{"type":"number","nullable":true},"active":{"type":"boolean"},"passings":{"type":"integer","minimum":0}},"required":["token_session","alias","active"]}}}}
```

## The Passing object

```json
{"openapi":"3.0.3","info":{"title":"RUFUS Public REST API","version":"0.1.0"},"components":{"schemas":{"Passing":{"type":"object","additionalProperties":false,"properties":{"timestamp":{"type":"string","format":"date-time"},"num_passing":{"type":"integer","minimum":0},"bib":{"type":"string"},"participant_id":{"type":"string","nullable":true},"chip":{"type":"string","nullable":true},"latitude":{"type":"number","nullable":true},"longitude":{"type":"number","nullable":true},"status":{"type":"string","nullable":true},"timezone":{"type":"string","nullable":true},"gender":{"type":"string","nullable":true}},"required":["timestamp","num_passing","bib"]}}}}
```

## The InsertPassingsRequest object

```json
{"openapi":"3.0.3","info":{"title":"RUFUS Public REST API","version":"0.1.0"},"components":{"schemas":{"InsertPassingsRequest":{"type":"object","additionalProperties":false,"properties":{"token_session":{"type":"string"},"passings_list":{"type":"array","minItems":1,"items":{"$ref":"#/components/schemas/Passing"}}},"required":["token_session","passings_list"]},"Passing":{"type":"object","additionalProperties":false,"properties":{"timestamp":{"type":"string","format":"date-time"},"num_passing":{"type":"integer","minimum":0},"bib":{"type":"string"},"participant_id":{"type":"string","nullable":true},"chip":{"type":"string","nullable":true},"latitude":{"type":"number","nullable":true},"longitude":{"type":"number","nullable":true},"status":{"type":"string","nullable":true},"timezone":{"type":"string","nullable":true},"gender":{"type":"string","nullable":true}},"required":["timestamp","num_passing","bib"]}}}}
```

## The InsertPassingsResponse object

```json
{"openapi":"3.0.3","info":{"title":"RUFUS Public REST API","version":"0.1.0"},"components":{"schemas":{"InsertPassingsResponse":{"type":"object","additionalProperties":false,"properties":{"body":{"type":"object","additionalProperties":false,"properties":{"description":{"type":"string"},"token_session":{"type":"string"},"inserted_count":{"type":"integer","minimum":0},"duplicate_count":{"type":"integer","minimum":0}},"required":["description","token_session"]}},"required":["body"]}}}}
```

## The PassingsListResponse object

```json
{"openapi":"3.0.3","info":{"title":"RUFUS Public REST API","version":"0.1.0"},"components":{"schemas":{"PassingsListResponse":{"type":"object","additionalProperties":false,"properties":{"body":{"type":"object","additionalProperties":false,"properties":{"description":{"type":"string"},"result":{"type":"array","items":{"$ref":"#/components/schemas/Passing"}}},"required":["description"]}},"required":["body"]},"Passing":{"type":"object","additionalProperties":false,"properties":{"timestamp":{"type":"string","format":"date-time"},"num_passing":{"type":"integer","minimum":0},"bib":{"type":"string"},"participant_id":{"type":"string","nullable":true},"chip":{"type":"string","nullable":true},"latitude":{"type":"number","nullable":true},"longitude":{"type":"number","nullable":true},"status":{"type":"string","nullable":true},"timezone":{"type":"string","nullable":true},"gender":{"type":"string","nullable":true}},"required":["timestamp","num_passing","bib"]}}}}
```

## The EventSummary object

```json
{"openapi":"3.0.3","info":{"title":"RUFUS Public REST API","version":"0.1.0"},"components":{"schemas":{"EventSummary":{"type":"object","additionalProperties":false,"properties":{"event_token":{"type":"string"},"name":{"type":"string","nullable":true},"edition":{"type":"string","nullable":true},"location":{"type":"string","nullable":true},"start_date":{"type":"string","format":"date-time","nullable":true},"end_date":{"type":"string","format":"date-time","nullable":true},"status":{"type":"string","nullable":true}},"required":["event_token"]}}}}
```

## The EventsListResponse object

```json
{"openapi":"3.0.3","info":{"title":"RUFUS Public REST API","version":"0.1.0"},"components":{"schemas":{"EventsListResponse":{"type":"object","additionalProperties":false,"properties":{"body":{"type":"object","additionalProperties":false,"properties":{"description":{"type":"string"},"result":{"type":"array","items":{"$ref":"#/components/schemas/EventSummary"}},"pagination":{"$ref":"#/components/schemas/Pagination"}},"required":["description","result","pagination"]}},"required":["body"]},"EventSummary":{"type":"object","additionalProperties":false,"properties":{"event_token":{"type":"string"},"name":{"type":"string","nullable":true},"edition":{"type":"string","nullable":true},"location":{"type":"string","nullable":true},"start_date":{"type":"string","format":"date-time","nullable":true},"end_date":{"type":"string","format":"date-time","nullable":true},"status":{"type":"string","nullable":true}},"required":["event_token"]},"Pagination":{"type":"object","additionalProperties":false,"properties":{"page":{"type":"integer","minimum":1},"limit":{"type":"integer","minimum":1},"total":{"type":"integer","minimum":0},"has_more":{"type":"boolean"}},"required":["page","limit","total","has_more"]}}}}
```

## The EventGetResponse object

```json
{"openapi":"3.0.3","info":{"title":"RUFUS Public REST API","version":"0.1.0"},"components":{"schemas":{"EventGetResponse":{"type":"object","additionalProperties":false,"properties":{"body":{"type":"object","properties":{"description":{"type":"string"},"result":{"type":"object","description":"Event details (fields follow RRM schema; large object).","additionalProperties":true}},"required":["description"]}},"required":["body"]}}}}
```

## The CustomField object

```json
{"openapi":"3.0.3","info":{"title":"RUFUS Public REST API","version":"0.1.0"},"components":{"schemas":{"CustomField":{"type":"object","additionalProperties":false,"properties":{"field_name":{"type":"string"},"value":{"type":"string","nullable":true}},"required":["field_name","value"]}}}}
```

## The Participant object

```json
{"openapi":"3.0.3","info":{"title":"RUFUS Public REST API","version":"0.1.0"},"components":{"schemas":{"Participant":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string"},"lastname":{"type":"string","nullable":true},"bib":{"type":"string","nullable":true},"chip":{"type":"string","nullable":true},"gender":{"type":"string","nullable":true},"dob":{"type":"string","format":"date-time","nullable":true},"yob":{"type":"integer","nullable":true},"country":{"type":"string","nullable":true},"city":{"type":"string","nullable":true},"age_group":{"type":"string","nullable":true},"team":{"type":"string","nullable":true},"club":{"type":"string","nullable":true},"email":{"type":"string","format":"email","nullable":true},"telephone":{"type":"string","nullable":true},"group_id":{"type":"string","nullable":true},"race_token":{"type":"string","nullable":true},"custom_fields":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/CustomField"}},"individual_start_time":{"type":"string","nullable":true,"description":"HH:mm:ss"}},"required":["name","bib"]},"CustomField":{"type":"object","additionalProperties":false,"properties":{"field_name":{"type":"string"},"value":{"type":"string","nullable":true}},"required":["field_name","value"]}}}}
```

## The CreateParticipantRequest object

```json
{"openapi":"3.0.3","info":{"title":"RUFUS Public REST API","version":"0.1.0"},"components":{"schemas":{"CreateParticipantRequest":{"allOf":[{"$ref":"#/components/schemas/Participant"}]},"Participant":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string"},"lastname":{"type":"string","nullable":true},"bib":{"type":"string","nullable":true},"chip":{"type":"string","nullable":true},"gender":{"type":"string","nullable":true},"dob":{"type":"string","format":"date-time","nullable":true},"yob":{"type":"integer","nullable":true},"country":{"type":"string","nullable":true},"city":{"type":"string","nullable":true},"age_group":{"type":"string","nullable":true},"team":{"type":"string","nullable":true},"club":{"type":"string","nullable":true},"email":{"type":"string","format":"email","nullable":true},"telephone":{"type":"string","nullable":true},"group_id":{"type":"string","nullable":true},"race_token":{"type":"string","nullable":true},"custom_fields":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/CustomField"}},"individual_start_time":{"type":"string","nullable":true,"description":"HH:mm:ss"}},"required":["name","bib"]},"CustomField":{"type":"object","additionalProperties":false,"properties":{"field_name":{"type":"string"},"value":{"type":"string","nullable":true}},"required":["field_name","value"]}}}}
```

## The ParticipantSummary object

```json
{"openapi":"3.0.3","info":{"title":"RUFUS Public REST API","version":"0.1.0"},"components":{"schemas":{"ParticipantSummary":{"type":"object","additionalProperties":false,"properties":{"event_token":{"type":"string"},"participant_token":{"type":"string"},"name":{"type":"string"},"lastname":{"type":"string","nullable":true},"bib":{"type":"string","nullable":true},"chip":{"type":"string","nullable":true},"status":{"type":"string","nullable":true},"gender":{"type":"string","nullable":true},"dob":{"type":"string","format":"date-time","nullable":true},"yob":{"type":"integer","nullable":true},"country":{"type":"string","nullable":true},"city":{"type":"string","nullable":true},"age_group":{"type":"string","nullable":true},"team":{"type":"string","nullable":true},"club":{"type":"string","nullable":true},"email":{"type":"string","format":"email","nullable":true},"telephone":{"type":"string","nullable":true},"group_id":{"type":"string","nullable":true},"race_token":{"type":"string","nullable":true},"custom_fields":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/CustomField"}},"individual_start_time":{"type":"string","nullable":true}},"required":["event_token","participant_token","name"]},"CustomField":{"type":"object","additionalProperties":false,"properties":{"field_name":{"type":"string"},"value":{"type":"string","nullable":true}},"required":["field_name","value"]}}}}
```

## The ParticipantsListResponse object

```json
{"openapi":"3.0.3","info":{"title":"RUFUS Public REST API","version":"0.1.0"},"components":{"schemas":{"ParticipantsListResponse":{"type":"object","additionalProperties":false,"properties":{"body":{"type":"object","additionalProperties":false,"properties":{"description":{"type":"string"},"result":{"type":"array","items":{"$ref":"#/components/schemas/ParticipantSummary"}},"pagination":{"$ref":"#/components/schemas/Pagination"}},"required":["description","result","pagination"]}},"required":["body"]},"ParticipantSummary":{"type":"object","additionalProperties":false,"properties":{"event_token":{"type":"string"},"participant_token":{"type":"string"},"name":{"type":"string"},"lastname":{"type":"string","nullable":true},"bib":{"type":"string","nullable":true},"chip":{"type":"string","nullable":true},"status":{"type":"string","nullable":true},"gender":{"type":"string","nullable":true},"dob":{"type":"string","format":"date-time","nullable":true},"yob":{"type":"integer","nullable":true},"country":{"type":"string","nullable":true},"city":{"type":"string","nullable":true},"age_group":{"type":"string","nullable":true},"team":{"type":"string","nullable":true},"club":{"type":"string","nullable":true},"email":{"type":"string","format":"email","nullable":true},"telephone":{"type":"string","nullable":true},"group_id":{"type":"string","nullable":true},"race_token":{"type":"string","nullable":true},"custom_fields":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/CustomField"}},"individual_start_time":{"type":"string","nullable":true}},"required":["event_token","participant_token","name"]},"CustomField":{"type":"object","additionalProperties":false,"properties":{"field_name":{"type":"string"},"value":{"type":"string","nullable":true}},"required":["field_name","value"]},"Pagination":{"type":"object","additionalProperties":false,"properties":{"page":{"type":"integer","minimum":1},"limit":{"type":"integer","minimum":1},"total":{"type":"integer","minimum":0},"has_more":{"type":"boolean"}},"required":["page","limit","total","has_more"]}}}}
```

## The ParticipantGetResponse object

```json
{"openapi":"3.0.3","info":{"title":"RUFUS Public REST API","version":"0.1.0"},"components":{"schemas":{"ParticipantGetResponse":{"type":"object","additionalProperties":false,"properties":{"body":{"type":"object","additionalProperties":false,"properties":{"description":{"type":"string"},"result":{"$ref":"#/components/schemas/ParticipantSummary"}},"required":["description","result"]}},"required":["body"]},"ParticipantSummary":{"type":"object","additionalProperties":false,"properties":{"event_token":{"type":"string"},"participant_token":{"type":"string"},"name":{"type":"string"},"lastname":{"type":"string","nullable":true},"bib":{"type":"string","nullable":true},"chip":{"type":"string","nullable":true},"status":{"type":"string","nullable":true},"gender":{"type":"string","nullable":true},"dob":{"type":"string","format":"date-time","nullable":true},"yob":{"type":"integer","nullable":true},"country":{"type":"string","nullable":true},"city":{"type":"string","nullable":true},"age_group":{"type":"string","nullable":true},"team":{"type":"string","nullable":true},"club":{"type":"string","nullable":true},"email":{"type":"string","format":"email","nullable":true},"telephone":{"type":"string","nullable":true},"group_id":{"type":"string","nullable":true},"race_token":{"type":"string","nullable":true},"custom_fields":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/CustomField"}},"individual_start_time":{"type":"string","nullable":true}},"required":["event_token","participant_token","name"]},"CustomField":{"type":"object","additionalProperties":false,"properties":{"field_name":{"type":"string"},"value":{"type":"string","nullable":true}},"required":["field_name","value"]}}}}
```

## The CreateParticipantResponse object

```json
{"openapi":"3.0.3","info":{"title":"RUFUS Public REST API","version":"0.1.0"},"components":{"schemas":{"CreateParticipantResponse":{"type":"object","additionalProperties":false,"properties":{"body":{"type":"object","additionalProperties":false,"properties":{"description":{"type":"string"},"event_token":{"type":"string"},"participant_token":{"type":"string"},"result":{"type":"object","additionalProperties":true}},"required":["description","event_token","participant_token"]}},"required":["body"]}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.runonrufus.com/public-api/specifications/models.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
