{ "openapi": "3.0.1", "info": { "title": "HRServer", "version": "1.0" }, "paths": { "/api/ping": { "get": { "tags": [ "Horse" ], "responses": { "200": { "description": "Success" } } } }, "/api/deleteHorse/{id}": { "delete": { "tags": [ "Horse" ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "Success" } } } }, "/api/getHorse/{id}": { "get": { "tags": [ "Horse" ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "Success" } } } }, "/api/getHorse/{id}/LoadState": { "get": { "tags": [ "Horse" ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "Success" } } } }, "/api/updateHorse/{id}/BasicData": { "post": { "tags": [ "Horse" ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Horse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Horse" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/Horse" } } } }, "responses": { "200": { "description": "Success" } } } }, "/api/updateHorse/{id}/Summary": { "post": { "tags": [ "Horse" ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HorseSummary" } }, "text/json": { "schema": { "$ref": "#/components/schemas/HorseSummary" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/HorseSummary" } } } }, "responses": { "200": { "description": "Success" } } } }, "/api/updateHorse/{id}/Training": { "post": { "tags": [ "Horse" ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HorseTraining" } }, "text/json": { "schema": { "$ref": "#/components/schemas/HorseTraining" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/HorseTraining" } } } }, "responses": { "200": { "description": "Success" } } } }, "/api/updateHorse/{id}/Health": { "post": { "tags": [ "Horse" ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HorseHealth" } }, "text/json": { "schema": { "$ref": "#/components/schemas/HorseHealth" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/HorseHealth" } } } }, "responses": { "200": { "description": "Success" } } } }, "/api/getHorse/{id}/Colors": { "get": { "tags": [ "Horse" ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "Success" } } } }, "/api/updateHorse/{id}/Genetics": { "post": { "tags": [ "Horse" ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HorseGenetics" } }, "text/json": { "schema": { "$ref": "#/components/schemas/HorseGenetics" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/HorseGenetics" } } } }, "responses": { "200": { "description": "Success" } } } }, "/api/getHorse/{id}/Notes": { "get": { "tags": [ "Horse" ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "responses": { "200": { "description": "Success" } } } }, "/api/updateHorse/{id}/Achievements": { "post": { "tags": [ "Horse" ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HorseAchievements" } }, "text/json": { "schema": { "$ref": "#/components/schemas/HorseAchievements" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/HorseAchievements" } } } }, "responses": { "200": { "description": "Success" } } } } }, "components": { "schemas": { "DataLoadState": { "type": "object", "properties": { "basicInfoLoaded": { "type": "boolean" }, "basicInfoNeedsRefresh": { "type": "boolean" }, "summaryLoaded": { "type": "boolean" }, "summaryNeedsRefresh": { "type": "boolean" }, "trainingLoaded": { "type": "boolean" }, "trainingNeedsRefresh": { "type": "boolean" }, "geneticsLoaded": { "type": "boolean" }, "geneticsNeedsRefresh": { "type": "boolean" }, "achievementsLoaded": { "type": "boolean" }, "achievementsNeedsRefresh": { "type": "boolean" }, "healthLoaded": { "type": "boolean" }, "healthNeedsRefresh": { "type": "boolean" } }, "additionalProperties": false }, "Horse": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64", "nullable": true }, "age": { "type": "integer", "format": "int32", "nullable": true }, "notes": { "type": "string", "nullable": true }, "name": { "type": "string", "nullable": true }, "gender": { "type": "string", "nullable": true }, "breed": { "type": "string", "nullable": true }, "link": { "type": "string", "nullable": true }, "owner": { "type": "string", "nullable": true }, "lastDrawnDate": { "type": "string", "format": "date-time" }, "summary": { "$ref": "#/components/schemas/HorseSummary" }, "training": { "$ref": "#/components/schemas/HorseTraining" }, "genetics": { "$ref": "#/components/schemas/HorseGenetics" }, "achievements": { "$ref": "#/components/schemas/HorseAchievements" }, "health": { "$ref": "#/components/schemas/HorseHealth" }, "loadState": { "$ref": "#/components/schemas/DataLoadState" } }, "additionalProperties": false }, "HorseAchievements": { "type": "object", "properties": { "ShowResults": { "type": "array", "items": { "type": "number", "format": "double" }, "nullable": true }, "Conformation": { "type": "object", "additionalProperties": { "type": "string" }, "nullable": true }, "ShortConformation": { "type": "string", "nullable": true }, "MaxShowResult": { "type": "number", "format": "double" }, "MinShowResult": { "type": "number", "format": "double" }, "MaxCompetitionResult": { "type": "number", "format": "double" }, "MinCompetitionResult": { "type": "number", "format": "double" } }, "additionalProperties": false }, "HorseGenetics": { "type": "object", "properties": { "GP": { "type": "integer", "format": "int32" }, "GeneticPotential": { "type": "object", "additionalProperties": { "type": "number", "format": "float" }, "nullable": true }, "Disciplines": { "type": "object", "additionalProperties": { "type": "number", "format": "float" }, "nullable": true }, "Colors": { "type": "object", "additionalProperties": { "type": "string" }, "nullable": true } }, "additionalProperties": false }, "HorseHealth": { "type": "object", "properties": { "Health": { "type": "object", "additionalProperties": { "type": "string" }, "nullable": true } }, "additionalProperties": false }, "HorseSummary": { "type": "object", "properties": { "RelatedIds": { "type": "array", "items": { "type": "string" }, "nullable": true }, "Conception": { "type": "string", "nullable": true }, "FatherLink": { "type": "string", "nullable": true }, "FatherName": { "type": "string", "nullable": true }, "UltrasoundGender": { "type": "string", "nullable": true } }, "additionalProperties": false }, "HorseTraining": { "type": "object", "properties": { "Training": { "type": "string", "nullable": true } }, "additionalProperties": false } } } }