{ "openapi": "3.1.0", "info": { "title": "Reproduction API Specifications", "description": "Specifications for messages that support livestock reproduction recording.", "version": "1.5", "contact": { "name": "Animal Data Exchange Working Group", "url": "https://www.icar.org/index.php/technical-bodies/working-groups/animal-data-exchange-wg/", "email": "icar@icar.org" } }, "servers": [ { "url": "https://icar-ade.standard.com" } ], "tags": [ { "name": "ADE-1.5-reproduction", "description": "Reproduction messages approved by the working group" } ], "paths": { "/locations/{location-scheme}/{location-id}/pregnancy-checks": { "get": { "operationId": "get-pregnancy-checks", "summary": "Get the pregnancy-checks for a certain location", "description": "# Purpose\nProvides the animal pregnancy-checks for a location\n", "tags": [ "ADE-1.5-reproduction" ], "parameters": [ { "$ref": "#/components/parameters/location-scheme" }, { "$ref": "#/components/parameters/location-id" }, { "$ref": "#/components/parameters/meta-modified-from" }, { "$ref": "#/components/parameters/meta-modified-to" }, { "$ref": "#/components/parameters/animal-scheme" }, { "$ref": "#/components/parameters/animal-id" } ], "responses": { "200": { "description": "Successful. The response contains the events for the given location.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/icarReproPregnancyCheckEventCollection" } } } }, "default": { "$ref": "#/components/responses/default" } } }, "post": { "operationId": "post-single-pregnancy-check", "summary": "Add a single new pregnancy-check.", "description": "# Purpose\nAllows a client to add a single pregnancy-check.\n", "tags": [ "ADE-1.5-reproduction" ], "parameters": [ { "$ref": "#/components/parameters/location-scheme" }, { "$ref": "#/components/parameters/location-id" } ], "requestBody": { "required": true, "description": "The pregnancy-check to create. \nA client MAY fill in the *Id* field with a client-generated UUID and the server MAY use this *Id*.\nIf the server does not use the client-specified *ID* field it shall issue its own *ID* for the resource.\nA client SHALL ensure that the *meta.source* and *meta.sourceId* fields are filled by the client.\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/icarReproPregnancyCheckEventResource" } } } }, "responses": { "200": { "description": "Successful. The response contains a copy of the event, as modifed by the server.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/icarReproPregnancyCheckEventResource" } } } }, "201": { "description": "Created. The Location header contains the URI to the new resource.", "headers": { "Location": { "schema": { "type": "string", "format": "uri" }, "description": "Contains the URI to the new resource." } } }, "202": { "description": "Accepted. The Location header contains a URI that the client can query for processing status.", "headers": { "Location": { "schema": { "type": "string", "format": "uri" }, "description": "Contains a URI to query creation status." } } }, "default": { "$ref": "#/components/responses/default" } } } }, "/locations/{location-scheme}/{location-id}/heats": { "get": { "operationId": "get-heats", "summary": "Get the heats for a certain location", "description": "# Purpose\nProvides the animal heats for a location\n", "tags": [ "ADE-1.5-reproduction" ], "parameters": [ { "$ref": "#/components/parameters/location-scheme" }, { "$ref": "#/components/parameters/location-id" }, { "$ref": "#/components/parameters/meta-modified-from" }, { "$ref": "#/components/parameters/meta-modified-to" }, { "$ref": "#/components/parameters/animal-scheme" }, { "$ref": "#/components/parameters/animal-id" } ], "responses": { "200": { "description": "Successful. The response contains the events for the given location.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/icarReproHeatEventCollection" } } } }, "default": { "$ref": "#/components/responses/default" } } }, "post": { "operationId": "post-single-heat", "summary": "Add a single new heat.", "description": "# Purpose\nAllows a client to add a single heat.\n", "tags": [ "ADE-1.5-reproduction" ], "parameters": [ { "$ref": "#/components/parameters/location-scheme" }, { "$ref": "#/components/parameters/location-id" } ], "requestBody": { "required": true, "description": "The heat to create. \nA client MAY fill in the *Id* field with a client-generated UUID and the server MAY use this *Id*.\nIf the server does not use the client-specified *ID* field it shall issue its own *ID* for the resource.\nA client SHALL ensure that the *meta.source* and *meta.sourceId* fields are filled by the client.\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/icarReproHeatEventResource" } } } }, "responses": { "200": { "description": "Successful. The response contains a copy of the event, as modifed by the server.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/icarReproHeatEventResource" } } } }, "201": { "description": "Created. The Location header contains the URI to the new resource.", "headers": { "Location": { "schema": { "type": "string", "format": "uri" }, "description": "Contains the URI to the new resource." } } }, "202": { "description": "Accepted. The Location header contains a URI that the client can query for processing status.", "headers": { "Location": { "schema": { "type": "string", "format": "uri" }, "description": "Contains a URI to query creation status." } } }, "default": { "$ref": "#/components/responses/default" } } } }, "/locations/{location-scheme}/{location-id}/inseminations": { "get": { "operationId": "get-inseminations", "summary": "Get the inseminations for a certain location", "description": "# Purpose\nProvides the animal inseminations for a location\n", "tags": [ "ADE-1.5-reproduction" ], "parameters": [ { "$ref": "#/components/parameters/location-scheme" }, { "$ref": "#/components/parameters/location-id" }, { "$ref": "#/components/parameters/meta-modified-from" }, { "$ref": "#/components/parameters/meta-modified-to" }, { "$ref": "#/components/parameters/animal-scheme" }, { "$ref": "#/components/parameters/animal-id" } ], "responses": { "200": { "description": "Successful. The response contains the resources for the given location.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/icarReproInseminationEventCollection" } } } }, "default": { "$ref": "#/components/responses/default" } } }, "post": { "operationId": "post-single-insemination", "summary": "Add a single new insemination.", "description": "# Purpose\nAllows a client to add a single insemination.\n", "tags": [ "ADE-1.5-reproduction" ], "parameters": [ { "$ref": "#/components/parameters/location-scheme" }, { "$ref": "#/components/parameters/location-id" } ], "requestBody": { "required": true, "description": "The insemination to create. \nA client MAY fill in the *Id* field with a client-generated UUID and the server MAY use this *Id*.\nIf the server does not use the client-specified *ID* field it shall issue its own *ID* for the resource.\nA client SHALL ensure that the *meta.source* and *meta.sourceId* fields are filled by the client.\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/icarReproInseminationEventResource" } } } }, "responses": { "200": { "description": "Successful. The response contains a copy of the event, as modifed by the server.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/icarReproInseminationEventResource" } } } }, "201": { "description": "Created. The Location header contains the URI to the new resource.", "headers": { "Location": { "schema": { "type": "string", "format": "uri" }, "description": "Contains the URI to the new resource." } } }, "202": { "description": "Accepted. The Location header contains a URI that the client can query for processing status.", "headers": { "Location": { "schema": { "type": "string", "format": "uri" }, "description": "Contains a URI to query creation status." } } }, "default": { "$ref": "#/components/responses/default" } } } }, "/locations/{location-scheme}/{location-id}/drying-offs": { "get": { "operationId": "get-drying-offs", "summary": "Get the drying-off events for a certain location", "description": "# Purpose\nProvides the animal drying off events for a location\n", "tags": [ "ADE-1.5-reproduction" ], "parameters": [ { "$ref": "#/components/parameters/location-scheme" }, { "$ref": "#/components/parameters/location-id" }, { "$ref": "#/components/parameters/meta-modified-from" }, { "$ref": "#/components/parameters/meta-modified-to" }, { "$ref": "#/components/parameters/animal-scheme" }, { "$ref": "#/components/parameters/animal-id" } ], "responses": { "200": { "description": "Successful. The response contains the events for the given location.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/icarMilkingDryOffEventCollection" } } } }, "default": { "$ref": "#/components/responses/default" } } }, "post": { "operationId": "post-single-drying-off", "summary": "Add a single new drying off event.", "description": "# Purpose\nAllows a client to add a single drying-off.\n", "tags": [ "ADE-1.5-reproduction" ], "parameters": [ { "$ref": "#/components/parameters/location-scheme" }, { "$ref": "#/components/parameters/location-id" } ], "requestBody": { "required": true, "description": "The drying-off to create. \nA client MAY fill in the *Id* field with a client-generated UUID and the server MAY use this *Id*.\nIf the server does not use the client-specified *ID* field it shall issue its own *ID* for the resource.\nA client SHALL ensure that the *meta.source* and *meta.sourceId* fields are filled by the client.\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/icarMilkingDryOffEventResource" } } } }, "responses": { "200": { "description": "Successful. The response contains a copy of the event, as modifed by the server.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/icarMilkingDryOffEventResource" } } } }, "201": { "description": "Created. The Location header contains the URI to the new resource.", "headers": { "Location": { "schema": { "type": "string", "format": "uri" }, "description": "Contains the URI to the new resource." } } }, "202": { "description": "Accepted. The Location header contains a URI that the client can query for processing status.", "headers": { "Location": { "schema": { "type": "string", "format": "uri" }, "description": "Contains a URI to query creation status." } } }, "default": { "$ref": "#/components/responses/default" } } } }, "/locations/{location-scheme}/{location-id}/abortions": { "get": { "operationId": "get-abortions", "summary": "Get the abortions for a certain location", "description": "# Purpose\nProvides the animal abortions for a location\n", "tags": [ "ADE-1.5-reproduction" ], "parameters": [ { "$ref": "#/components/parameters/location-scheme" }, { "$ref": "#/components/parameters/location-id" }, { "$ref": "#/components/parameters/meta-modified-from" }, { "$ref": "#/components/parameters/meta-modified-to" }, { "$ref": "#/components/parameters/animal-scheme" }, { "$ref": "#/components/parameters/animal-id" } ], "responses": { "200": { "description": "Successful. The response contains the resources for the given location.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/icarReproAbortionEventCollection" } } } }, "default": { "$ref": "#/components/responses/default" } } }, "post": { "operationId": "post-single-abortion", "summary": "Add a single new abortion.", "description": "# Purpose\nAllows a client to add a single abortion.\n", "tags": [ "ADE-1.5-reproduction" ], "parameters": [ { "$ref": "#/components/parameters/location-scheme" }, { "$ref": "#/components/parameters/location-id" } ], "requestBody": { "required": true, "description": "The abortion to create. \nA client MAY fill in the *Id* field with a client-generated UUID and the server MAY use this *Id*.\nIf the server does not use the client-specified *ID* field it shall issue its own *ID* for the resource.\nA client SHALL ensure that the *meta.source* and *meta.sourceId* fields are filled by the client.\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/icarReproAbortionEventResource" } } } }, "responses": { "200": { "description": "Successful. The response contains a copy of the event, as modifed by the server.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/icarReproAbortionEventResource" } } } }, "201": { "description": "Created. The Location header contains the URI to the new resource.", "headers": { "Location": { "schema": { "type": "string", "format": "uri" }, "description": "Contains the URI to the new resource." } } }, "202": { "description": "Accepted. The Location header contains a URI that the client can query for processing status.", "headers": { "Location": { "schema": { "type": "string", "format": "uri" }, "description": "Contains a URI to query creation status." } } }, "default": { "$ref": "#/components/responses/default" } } } }, "/locations/{location-scheme}/{location-id}/do-not-breeds": { "get": { "operationId": "get-do-not-breeds", "summary": "Get the do-not-breed events for a certain location", "description": "# Purpose\nProvides the animal do-not-breed events for a location\n", "tags": [ "ADE-1.5-reproduction" ], "parameters": [ { "$ref": "#/components/parameters/location-scheme" }, { "$ref": "#/components/parameters/location-id" }, { "$ref": "#/components/parameters/meta-modified-from" }, { "$ref": "#/components/parameters/meta-modified-to" }, { "$ref": "#/components/parameters/animal-scheme" }, { "$ref": "#/components/parameters/animal-id" } ], "responses": { "200": { "description": "Successful. The response contains the resources for the given location.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/icarReproDoNotBreedEventCollection" } } } }, "default": { "$ref": "#/components/responses/default" } } }, "post": { "operationId": "post-single-do-not-breed", "summary": "Add a single new do-not-breed.", "description": "# Purpose\nAllows a client to add a single do-not-breed.\n", "tags": [ "ADE-1.5-reproduction" ], "parameters": [ { "$ref": "#/components/parameters/location-scheme" }, { "$ref": "#/components/parameters/location-id" } ], "requestBody": { "required": true, "description": "The do-not-breed to create. \nA client MAY fill in the *Id* field with a client-generated UUID and the server MAY use this *Id*.\nIf the server does not use the client-specified *ID* field it shall issue its own *ID* for the resource.\nA client SHALL ensure that the *meta.source* and *meta.sourceId* fields are filled by the client.\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/icarReproDoNotBreedEventResource" } } } }, "responses": { "200": { "description": "Successful. The response contains a copy of the event, as modifed by the server.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/icarReproDoNotBreedEventResource" } } } }, "201": { "description": "Created. The Location header contains the URI to the new resource.", "headers": { "Location": { "schema": { "type": "string", "format": "uri" }, "description": "Contains the URI to the new resource." } } }, "202": { "description": "Accepted. The Location header contains a URI that the client can query for processing status.", "headers": { "Location": { "schema": { "type": "string", "format": "uri" }, "description": "Contains a URI to query creation status." } } }, "default": { "$ref": "#/components/responses/default" } } } }, "/locations/{location-scheme}/{location-id}/parturitions": { "get": { "operationId": "get-parturitions", "summary": "Get the parturitions for a certain location", "description": "# Purpose\nProvides the animal parturition (birth) events for a location\n", "tags": [ "ADE-1.5-reproduction" ], "parameters": [ { "$ref": "#/components/parameters/location-scheme" }, { "$ref": "#/components/parameters/location-id" }, { "$ref": "#/components/parameters/meta-modified-from" }, { "$ref": "#/components/parameters/meta-modified-to" }, { "$ref": "#/components/parameters/animal-scheme" }, { "$ref": "#/components/parameters/animal-id" } ], "responses": { "200": { "description": "Successful. The response contains the resources for the given location.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/icarReproParturitionEventCollection" } } } }, "default": { "$ref": "#/components/responses/default" } } }, "post": { "operationId": "post-single-parturition", "summary": "Add a single new parturition.", "description": "# Purpose\nAllows a client to add a single parturition.\n", "tags": [ "ADE-1.5-reproduction" ], "parameters": [ { "$ref": "#/components/parameters/location-scheme" }, { "$ref": "#/components/parameters/location-id" } ], "requestBody": { "required": true, "description": "The parturition to create. \nA client MAY fill in the *Id* field with a client-generated UUID and the server MAY use this *Id*.\nIf the server does not use the client-specified *ID* field it shall issue its own *ID* for the resource.\nA client SHALL ensure that the *meta.source* and *meta.sourceId* fields are filled by the client.\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/icarReproParturitionEventResource" } } } }, "responses": { "200": { "description": "Successful. The response contains a copy of the event, as modifed by the server.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/icarReproParturitionEventResource" } } } }, "201": { "description": "Created. The Location header contains the URI to the new resource.", "headers": { "Location": { "schema": { "type": "string", "format": "uri" }, "description": "Contains the URI to the new resource." } } }, "202": { "description": "Accepted. The Location header contains a URI that the client can query for processing status.", "headers": { "Location": { "schema": { "type": "string", "format": "uri" }, "description": "Contains a URI to query creation status." } } }, "default": { "$ref": "#/components/responses/default" } } } }, "/locations/{location-scheme}/{location-id}/mating-recommendations": { "get": { "operationId": "get-mating-recommendations", "summary": "Get the mating recommendations for a certain location", "description": "# Purpose\nProvides the animal mating recommendations for a location\n", "tags": [ "ADE-1.5-reproduction" ], "parameters": [ { "$ref": "#/components/parameters/location-scheme" }, { "$ref": "#/components/parameters/location-id" }, { "$ref": "#/components/parameters/meta-modified-from" }, { "$ref": "#/components/parameters/meta-modified-to" }, { "$ref": "#/components/parameters/animal-scheme" }, { "$ref": "#/components/parameters/animal-id" } ], "responses": { "200": { "description": "Successful. The response contains the resources for the given location.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/icarReproMatingRecommendationCollection" } } } }, "default": { "$ref": "#/components/responses/default" } } }, "post": { "operationId": "post-single-mating-recommendation", "summary": "Add a single new mating recommendation.", "description": "# Purpose\nAllows a client to add a single mating recommendation.\n", "tags": [ "ADE-1.5-reproduction" ], "parameters": [ { "$ref": "#/components/parameters/location-scheme" }, { "$ref": "#/components/parameters/location-id" } ], "requestBody": { "required": true, "description": "The mating-recommendation to create. \nA client MAY fill in the *Id* field with a client-generated UUID and the server MAY use this *Id*.\nIf the server does not use the client-specified *ID* field it shall issue its own *ID* for the resource.\nA client SHALL ensure that the *meta.source* and *meta.sourceId* fields are filled by the client.\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/icarReproMatingRecommendationResource" } } } }, "responses": { "200": { "description": "Successful. The response contains a copy of the event, as modifed by the server.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/icarReproMatingRecommendationResource" } } } }, "201": { "description": "Created. The Location header contains the URI to the new resource.", "headers": { "Location": { "schema": { "type": "string", "format": "uri" }, "description": "Contains the URI to the new resource." } } }, "202": { "description": "Accepted. The Location header contains a URI that the client can query for processing status.", "headers": { "Location": { "schema": { "type": "string", "format": "uri" }, "description": "Contains a URI to query creation status." } } }, "default": { "$ref": "#/components/responses/default" } } } }, "/locations/{location-scheme}/{location-id}/gestations": { "get": { "operationId": "get-gestations", "summary": "Get the gestations for a certain location", "description": "# Purpose\nProvides the animal gestations for a location\n", "tags": [ "ADE-1.5-reproduction" ], "parameters": [ { "$ref": "#/components/parameters/location-scheme" }, { "$ref": "#/components/parameters/location-id" }, { "$ref": "#/components/parameters/meta-modified-from" }, { "$ref": "#/components/parameters/meta-modified-to" }, { "$ref": "#/components/parameters/animal-scheme" }, { "$ref": "#/components/parameters/animal-id" } ], "responses": { "200": { "description": "Successful. The response contains the resources for the given location.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/icarGestationCollection" } } } }, "default": { "$ref": "#/components/responses/default" } } }, "post": { "operationId": "post-single-gestation", "summary": "Add a single new gestation.", "description": "# Purpose\nAllows a client to add a single gestation.\n", "tags": [ "ADE-1.5-reproduction" ], "parameters": [ { "$ref": "#/components/parameters/location-scheme" }, { "$ref": "#/components/parameters/location-id" } ], "requestBody": { "required": true, "description": "The gestation to create. \nA client MAY fill in the *Id* field with a client-generated UUID and the server MAY use this *Id*.\nIf the server does not use the client-specified *ID* field it shall issue its own *ID* for the resource.\nA client SHALL ensure that the *meta.source* and *meta.sourceId* fields are filled by the client.\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/icarGestationResource" } } } }, "responses": { "200": { "description": "Successful. The response contains a copy of the event, as modifed by the server.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/icarGestationResource" } } } }, "201": { "description": "Created. The Location header contains the URI to the new resource.", "headers": { "Location": { "schema": { "type": "string", "format": "uri" }, "description": "Contains the URI to the new resource." } } }, "202": { "description": "Accepted. The Location header contains a URI that the client can query for processing status.", "headers": { "Location": { "schema": { "type": "string", "format": "uri" }, "description": "Contains a URI to query creation status." } } }, "default": { "$ref": "#/components/responses/default" } } } }, "/locations/{location-scheme}/{location-id}/repro-status-observations": { "get": { "operationId": "get-repro-status-observations", "summary": "Get the reproductive status observations for a certain location", "description": "# Purpose\nProvides the animal reproductive status observations for a location\n", "tags": [ "ADE-1.5-reproduction" ], "parameters": [ { "$ref": "#/components/parameters/location-scheme" }, { "$ref": "#/components/parameters/location-id" }, { "$ref": "#/components/parameters/meta-modified-from" }, { "$ref": "#/components/parameters/meta-modified-to" }, { "$ref": "#/components/parameters/animal-scheme" }, { "$ref": "#/components/parameters/animal-id" } ], "responses": { "200": { "description": "Successful. The response contains the resources for the given location.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/icarReproStatusObservedEventCollection" } } } }, "default": { "$ref": "#/components/responses/default" } } }, "post": { "operationId": "post-single-repro-status-observation", "summary": "Add a single new repro-status-observation.", "description": "# Purpose\nAllows a client to add a single reproductive status observation.\n", "tags": [ "ADE-1.5-reproduction" ], "parameters": [ { "$ref": "#/components/parameters/location-scheme" }, { "$ref": "#/components/parameters/location-id" } ], "requestBody": { "required": true, "description": "The repro-status-observation to create. \nA client MAY fill in the *Id* field with a client-generated UUID and the server MAY use this *Id*.\nIf the server does not use the client-specified *ID* field it shall issue its own *ID* for the resource.\nA client SHALL ensure that the *meta.source* and *meta.sourceId* fields are filled by the client.\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/icarReproStatusObservedEventResource" } } } }, "responses": { "200": { "description": "Successful. The response contains a copy of the event, as modifed by the server.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/icarReproStatusObservedEventResource" } } } }, "201": { "description": "Created. The Location header contains the URI to the new resource.", "headers": { "Location": { "schema": { "type": "string", "format": "uri" }, "description": "Contains the URI to the new resource." } } }, "202": { "description": "Accepted. The Location header contains a URI that the client can query for processing status.", "headers": { "Location": { "schema": { "type": "string", "format": "uri" }, "description": "Contains a URI to query creation status." } } }, "default": { "$ref": "#/components/responses/default" } } } }, "/locations/{location-scheme}/{location-id}/repro-embryo-flushings": { "get": { "operationId": "get-repro-embryo-flushings", "summary": "Get the embryo flushings for a certain location", "description": "# Purpose\nProvides the animal embryo flushings for a location\n", "tags": [ "ADE-1.5-reproduction" ], "parameters": [ { "$ref": "#/components/parameters/location-scheme" }, { "$ref": "#/components/parameters/location-id" }, { "$ref": "#/components/parameters/meta-modified-from" }, { "$ref": "#/components/parameters/meta-modified-to" }, { "$ref": "#/components/parameters/animal-scheme" }, { "$ref": "#/components/parameters/animal-id" } ], "responses": { "200": { "description": "Successful. The response contains the resources for the given location.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/icarReproEmbryoFlushingEventCollection" } } } }, "default": { "$ref": "#/components/responses/default" } } }, "post": { "operationId": "post-single-embryo-flushing", "summary": "Add a single new embryo flushing.", "description": "# Purpose\nAllows a client to add a single embryo flushing event.\n", "tags": [ "ADE-1.5-reproduction" ], "parameters": [ { "$ref": "#/components/parameters/location-scheme" }, { "$ref": "#/components/parameters/location-id" } ], "requestBody": { "required": true, "description": "The embryo-flushing to create. \nA client MAY fill in the *Id* field with a client-generated UUID and the server MAY use this *Id*.\nIf the server does not use the client-specified *ID* field it shall issue its own *ID* for the resource.\nA client SHALL ensure that the *meta.source* and *meta.sourceId* fields are filled by the client.\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/icarReproEmbryoFlushingEventCollection" } } } }, "responses": { "200": { "description": "Successful. The response contains a copy of the event, as modifed by the server.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/icarReproEmbryoFlushingEventResource" } } } }, "201": { "description": "Created. The Location header contains the URI to the new resource.", "headers": { "Location": { "schema": { "type": "string", "format": "uri" }, "description": "Contains the URI to the new resource." } } }, "202": { "description": "Accepted. The Location header contains a URI that the client can query for processing status.", "headers": { "Location": { "schema": { "type": "string", "format": "uri" }, "description": "Contains a URI to query creation status." } } }, "default": { "$ref": "#/components/responses/default" } } } }, "/batches/locations/{location-scheme}/{location-id}/pregnancy-checks": { "post": { "operationId": "post-batch-pregnancy-checks", "summary": "Add an array of pregnancy-checks.", "description": "# Purpose \nAllows a client to add a collection of pregnancy-checks.\n", "tags": [ "ADE-1.5-reproduction" ], "parameters": [ { "$ref": "#/components/parameters/location-scheme" }, { "$ref": "#/components/parameters/location-id" } ], "requestBody": { "required": true, "description": "The collection of pregnancy-checks to create. \nA client MAY fill in resource *Id*s with a client-generated UUID and the server MAY use these *Id*s.\nIf the server does not use the client-specified *Id* field it shall issue its own *Id*s for the resources.\nA client SHALL ensure that the *meta.source* and *meta.sourceId* fields are filled by the client.\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/icarReproPregnancyCheckEventArray" } } } }, "responses": { "200": { "description": "Successful. The response contains a set of batch results, which may include warnings.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/batchResults" } } } }, "201": { "description": "Created. The Location header contains URI to retrieve a set of batch results, which may include warnings.", "headers": { "Location": { "schema": { "type": "string", "format": "uri" }, "description": "Contains the URI to the results." } } }, "202": { "description": "Accepted. The Location header contains a URI that the client can query for processing status.", "headers": { "Location": { "schema": { "type": "string", "format": "uri" }, "description": "Contains a URI to query creation status." } } }, "default": { "description": "The response contains a set of batch results, which may include errors and warnings.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/batchResults" } } } } } } }, "/batches/locations/{location-scheme}/{location-id}/heats": { "post": { "operationId": "post-batch-heats", "summary": "Add an array of heats.", "description": "# Purpose \nAllows a client to add a collection of heats.\n", "tags": [ "ADE-1.5-reproduction" ], "parameters": [ { "$ref": "#/components/parameters/location-scheme" }, { "$ref": "#/components/parameters/location-id" } ], "requestBody": { "required": true, "description": "The collection of heats to create. \nA client MAY fill in resource *Id*s with a client-generated UUID and the server MAY use these *Id*s.\nIf the server does not use the client-specified *Id* field it shall issue its own *Id*s for the resources.\nA client SHALL ensure that the *meta.source* and *meta.sourceId* fields are filled by the client.\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/icarReproHeatEventArray" } } } }, "responses": { "200": { "description": "Successful. The response contains a set of batch results, which may include warnings.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/batchResults" } } } }, "201": { "description": "Created. The Location header contains URI to retrieve a set of batch results, which may include warnings.", "headers": { "Location": { "schema": { "type": "string", "format": "uri" }, "description": "Contains the URI to the results." } } }, "202": { "description": "Accepted. The Location header contains a URI that the client can query for processing status.", "headers": { "Location": { "schema": { "type": "string", "format": "uri" }, "description": "Contains a URI to query creation status." } } }, "default": { "description": "The response contains a set of batch results, which may include errors and warnings.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/batchResults" } } } } } } }, "/batches/locations/{location-scheme}/{location-id}/inseminations": { "post": { "operationId": "post-batch-inseminations", "summary": "Add an array of inseminations.", "description": "# Purpose \nAllows a client to add a collection of inseminations.\n", "tags": [ "ADE-1.5-reproduction" ], "parameters": [ { "$ref": "#/components/parameters/location-scheme" }, { "$ref": "#/components/parameters/location-id" } ], "requestBody": { "required": true, "description": "The collection of inseminations to create. \nA client MAY fill in resource *Id*s with a client-generated UUID and the server MAY use these *Id*s.\nIf the server does not use the client-specified *Id* field it shall issue its own *Id*s for the resources.\nA client SHALL ensure that the *meta.source* and *meta.sourceId* fields are filled by the client.\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/icarReproInseminationEventArray" } } } }, "responses": { "200": { "description": "Successful. The response contains a set of batch results, which may include warnings.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/batchResults" } } } }, "201": { "description": "Created. The Location header contains URI to retrieve a set of batch results, which may include warnings.", "headers": { "Location": { "schema": { "type": "string", "format": "uri" }, "description": "Contains the URI to the results." } } }, "202": { "description": "Accepted. The Location header contains a URI that the client can query for processing status.", "headers": { "Location": { "schema": { "type": "string", "format": "uri" }, "description": "Contains a URI to query creation status." } } }, "default": { "description": "The response contains a set of batch results, which may include errors and warnings.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/batchResults" } } } } } } }, "/batches/locations/{location-scheme}/{location-id}/drying-offs": { "post": { "operationId": "post-batch-drying-offs", "summary": "Add an array of drying-off events.", "description": "# Purpose \nAllows a client to add a collection of drying-off events.\n", "tags": [ "ADE-1.5-reproduction" ], "parameters": [ { "$ref": "#/components/parameters/location-scheme" }, { "$ref": "#/components/parameters/location-id" } ], "requestBody": { "required": true, "description": "The collection of drying-offs to create. \nA client MAY fill in resource *Id*s with a client-generated UUID and the server MAY use these *Id*s.\nIf the server does not use the client-specified *Id* field it shall issue its own *Id*s for the resources.\nA client SHALL ensure that the *meta.source* and *meta.sourceId* fields are filled by the client.\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/icarMilkingDryOffEventArray" } } } }, "responses": { "200": { "description": "Successful. The response contains a set of batch results, which may include warnings.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/batchResults" } } } }, "201": { "description": "Created. The Location header contains URI to retrieve a set of batch results, which may include warnings.", "headers": { "Location": { "schema": { "type": "string", "format": "uri" }, "description": "Contains the URI to the results." } } }, "202": { "description": "Accepted. The Location header contains a URI that the client can query for processing status.", "headers": { "Location": { "schema": { "type": "string", "format": "uri" }, "description": "Contains a URI to query creation status." } } }, "default": { "description": "The response contains a set of batch results, which may include errors and warnings.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/batchResults" } } } } } } }, "/batches/locations/{location-scheme}/{location-id}/abortions": { "post": { "operationId": "post-batch-abortions", "summary": "Add an array of abortions.", "description": "# Purpose \nAllows a client to add a collection of abortions.\n", "tags": [ "ADE-1.5-reproduction" ], "parameters": [ { "$ref": "#/components/parameters/location-scheme" }, { "$ref": "#/components/parameters/location-id" } ], "requestBody": { "required": true, "description": "The collection of abortions to create. \nA client MAY fill in resource *Id*s with a client-generated UUID and the server MAY use these *Id*s.\nIf the server does not use the client-specified *Id* field it shall issue its own *Id*s for the resources.\nA client SHALL ensure that the *meta.source* and *meta.sourceId* fields are filled by the client.\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/icarReproAbortionEventArray" } } } }, "responses": { "200": { "description": "Successful. The response contains a set of batch results, which may include warnings.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/batchResults" } } } }, "201": { "description": "Created. The Location header contains URI to retrieve a set of batch results, which may include warnings.", "headers": { "Location": { "schema": { "type": "string", "format": "uri" }, "description": "Contains the URI to the results." } } }, "202": { "description": "Accepted. The Location header contains a URI that the client can query for processing status.", "headers": { "Location": { "schema": { "type": "string", "format": "uri" }, "description": "Contains a URI to query creation status." } } }, "default": { "description": "The response contains a set of batch results, which may include errors and warnings.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/batchResults" } } } } } } }, "/batches/locations/{location-scheme}/{location-id}/do-not-breeds": { "post": { "operationId": "post-batch-do-not-breeds", "summary": "Add an array of do-not-breed events.", "description": "# Purpose \nAllows a client to add a collection of do-not-breed events.\n", "tags": [ "ADE-1.5-reproduction" ], "parameters": [ { "$ref": "#/components/parameters/location-scheme" }, { "$ref": "#/components/parameters/location-id" } ], "requestBody": { "required": true, "description": "The collection of do-not-breeds to create. \nA client MAY fill in resource *Id*s with a client-generated UUID and the server MAY use these *Id*s.\nIf the server does not use the client-specified *Id* field it shall issue its own *Id*s for the resources.\nA client SHALL ensure that the *meta.source* and *meta.sourceId* fields are filled by the client.\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/icarReproDoNotBreedEventArray" } } } }, "responses": { "200": { "description": "Successful. The response contains a set of batch results, which may include warnings.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/batchResults" } } } }, "201": { "description": "Created. The Location header contains URI to retrieve a set of batch results, which may include warnings.", "headers": { "Location": { "schema": { "type": "string", "format": "uri" }, "description": "Contains the URI to the results." } } }, "202": { "description": "Accepted. The Location header contains a URI that the client can query for processing status.", "headers": { "Location": { "schema": { "type": "string", "format": "uri" }, "description": "Contains a URI to query creation status." } } }, "default": { "description": "The response contains a set of batch results, which may include errors and warnings.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/batchResults" } } } } } } }, "/batches/locations/{location-scheme}/{location-id}/parturitions": { "post": { "operationId": "post-batch-parturitions", "summary": "Add an array of parturitions.", "description": "# Purpose \nAllows a client to add a collection of parturitions.\n", "tags": [ "ADE-1.5-reproduction" ], "parameters": [ { "$ref": "#/components/parameters/location-scheme" }, { "$ref": "#/components/parameters/location-id" } ], "requestBody": { "required": true, "description": "The collection of parturitions to create. \nA client MAY fill in resource *Id*s with a client-generated UUID and the server MAY use these *Id*s.\nIf the server does not use the client-specified *Id* field it shall issue its own *Id*s for the resources.\nA client SHALL ensure that the *meta.source* and *meta.sourceId* fields are filled by the client.\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/icarReproParturitionEventArray" } } } }, "responses": { "200": { "description": "Successful. The response contains a set of batch results, which may include warnings.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/batchResults" } } } }, "201": { "description": "Created. The Location header contains URI to retrieve a set of batch results, which may include warnings.", "headers": { "Location": { "schema": { "type": "string", "format": "uri" }, "description": "Contains the URI to the results." } } }, "202": { "description": "Accepted. The Location header contains a URI that the client can query for processing status.", "headers": { "Location": { "schema": { "type": "string", "format": "uri" }, "description": "Contains a URI to query creation status." } } }, "default": { "description": "The response contains a set of batch results, which may include errors and warnings.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/batchResults" } } } } } } }, "/batches/locations/{location-scheme}/{location-id}/mating-recommendations": { "post": { "operationId": "post-batch-mating-recommendations", "summary": "Add an array of mating recommendations.", "description": "# Purpose \nAllows a client to add a collection of mating recommendations.\n", "tags": [ "ADE-1.5-reproduction" ], "parameters": [ { "$ref": "#/components/parameters/location-scheme" }, { "$ref": "#/components/parameters/location-id" } ], "requestBody": { "required": true, "description": "The collection of mating recommendations to create. \nA client MAY fill in resource *Id*s with a client-generated UUID and the server MAY use these *Id*s.\nIf the server does not use the client-specified *Id* field it shall issue its own *Id*s for the resources.\nA client SHALL ensure that the *meta.source* and *meta.sourceId* fields are filled by the client.\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/icarReproMatingRecommendationArray" } } } }, "responses": { "200": { "description": "Successful. The response contains a set of batch results, which may include warnings.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/batchResults" } } } }, "201": { "description": "Created. The Location header contains URI to retrieve a set of batch results, which may include warnings.", "headers": { "Location": { "schema": { "type": "string", "format": "uri" }, "description": "Contains the URI to the results." } } }, "202": { "description": "Accepted. The Location header contains a URI that the client can query for processing status.", "headers": { "Location": { "schema": { "type": "string", "format": "uri" }, "description": "Contains a URI to query creation status." } } }, "default": { "description": "The response contains a set of batch results, which may include errors and warnings.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/batchResults" } } } } } } }, "/batches/locations/{location-scheme}/{location-id}/gestations": { "post": { "operationId": "post-batch-gestations", "summary": "Add an array of gestations.", "description": "# Purpose \nAllows a client to add a collection of gestations.\n", "tags": [ "ADE-1.5-reproduction" ], "parameters": [ { "$ref": "#/components/parameters/location-scheme" }, { "$ref": "#/components/parameters/location-id" } ], "requestBody": { "required": true, "description": "The collection of gestations to create. \nA client MAY fill in resource *Id*s with a client-generated UUID and the server MAY use these *Id*s.\nIf the server does not use the client-specified *Id* field it shall issue its own *Id*s for the resources.\nA client SHALL ensure that the *meta.source* and *meta.sourceId* fields are filled by the client.\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/icarGestationArray" } } } }, "responses": { "200": { "description": "Successful. The response contains a set of batch results, which may include warnings.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/batchResults" } } } }, "201": { "description": "Created. The Location header contains URI to retrieve a set of batch results, which may include warnings.", "headers": { "Location": { "schema": { "type": "string", "format": "uri" }, "description": "Contains the URI to the results." } } }, "202": { "description": "Accepted. The Location header contains a URI that the client can query for processing status.", "headers": { "Location": { "schema": { "type": "string", "format": "uri" }, "description": "Contains a URI to query creation status." } } }, "default": { "description": "The response contains a set of batch results, which may include errors and warnings.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/batchResults" } } } } } } }, "/batches/locations/{location-scheme}/{location-id}/repro-status-observations": { "post": { "operationId": "post-batch-repro-status-observations", "summary": "Add an array of reproductive status observations.", "description": "# Purpose \nAllows a client to add a collection of reproductive status observations.\n", "tags": [ "ADE-1.5-reproduction" ], "parameters": [ { "$ref": "#/components/parameters/location-scheme" }, { "$ref": "#/components/parameters/location-id" } ], "requestBody": { "required": true, "description": "The collection of reproductive status observations to create. \nA client MAY fill in resource *Id*s with a client-generated UUID and the server MAY use these *Id*s.\nIf the server does not use the client-specified *Id* field it shall issue its own *Id*s for the resources.\nA client SHALL ensure that the *meta.source* and *meta.sourceId* fields are filled by the client.\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/icarReproStatusObservedEventArray" } } } }, "responses": { "200": { "description": "Successful. The response contains a set of batch results, which may include warnings.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/batchResults" } } } }, "201": { "description": "Created. The Location header contains URI to retrieve a set of batch results, which may include warnings.", "headers": { "Location": { "schema": { "type": "string", "format": "uri" }, "description": "Contains the URI to the results." } } }, "202": { "description": "Accepted. The Location header contains a URI that the client can query for processing status.", "headers": { "Location": { "schema": { "type": "string", "format": "uri" }, "description": "Contains a URI to query creation status." } } }, "default": { "description": "The response contains a set of batch results, which may include errors and warnings.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/batchResults" } } } } } } }, "/batches/locations/{location-scheme}/{location-id}/embryo-flushings": { "post": { "operationId": "post-batch-embryo-flushings", "summary": "Add an array of embryo-flushings.", "description": "# Purpose \nAllows a client to add a collection of embryo-flushings.\n", "tags": [ "ADE-1.5-reproduction" ], "parameters": [ { "$ref": "#/components/parameters/location-scheme" }, { "$ref": "#/components/parameters/location-id" } ], "requestBody": { "required": true, "description": "The collection of embryo-flushings to create. \nA client MAY fill in resource *Id*s with a client-generated UUID and the server MAY use these *Id*s.\nIf the server does not use the client-specified *Id* field it shall issue its own *Id*s for the resources.\nA client SHALL ensure that the *meta.source* and *meta.sourceId* fields are filled by the client.\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/icarReproEmbryoFlushingEventArray" } } } }, "responses": { "200": { "description": "Successful. The response contains a set of batch results, which may include warnings.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/batchResults" } } } }, "201": { "description": "Created. The Location header contains URI to retrieve a set of batch results, which may include warnings.", "headers": { "Location": { "schema": { "type": "string", "format": "uri" }, "description": "Contains the URI to the results." } } }, "202": { "description": "Accepted. The Location header contains a URI that the client can query for processing status.", "headers": { "Location": { "schema": { "type": "string", "format": "uri" }, "description": "Contains a URI to query creation status." } } }, "default": { "description": "The response contains a set of batch results, which may include errors and warnings.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/batchResults" } } } } } } } }, "components": { "schemas": { "batchResults": { "type": "array", "items": { "$ref": "../resources/icarBatchResult.json" } }, "icarReproPregnancyCheckEventResource": { "$ref": "../resources/icarReproPregnancyCheckEventResource.json" }, "icarReproPregnancyCheckEventCollection": { "$ref": "../collections/icarReproPregnancyCheckEventCollection.json" }, "icarReproPregnancyCheckEventArray": { "type": "array", "items": { "$ref": "#/components/schemas/icarReproPregnancyCheckEventResource" } }, "icarReproHeatEventResource": { "$ref": "../resources/icarReproHeatEventResource.json" }, "icarReproHeatEventCollection": { "$ref": "../collections/icarReproHeatEventCollection.json" }, "icarReproHeatEventArray": { "type": "array", "items": { "$ref": "#/components/schemas/icarReproHeatEventResource" } }, "icarReproInseminationEventResource": { "$ref": "../resources/icarReproInseminationEventResource.json" }, "icarReproInseminationEventCollection": { "$ref": "../collections/icarReproInseminationEventCollection.json" }, "icarReproInseminationEventArray": { "type": "array", "items": { "$ref": "#/components/schemas/icarReproInseminationEventResource" } }, "icarMilkingDryOffEventResource": { "$ref": "../resources/icarMilkingDryOffEventResource.json" }, "icarMilkingDryOffEventCollection": { "$ref": "../collections/icarMilkingDryOffEventCollection.json" }, "icarMilkingDryOffEventArray": { "type": "array", "items": { "$ref": "#/components/schemas/icarMilkingDryOffEventResource" } }, "icarReproAbortionEventResource": { "$ref": "../resources/icarReproAbortionEventResource.json" }, "icarReproAbortionEventCollection": { "$ref": "../collections/icarReproAbortionEventCollection.json" }, "icarReproAbortionEventArray": { "type": "array", "items": { "$ref": "#/components/schemas/icarReproAbortionEventResource" } }, "icarReproDoNotBreedEventResource": { "$ref": "../resources/icarReproDoNotBreedEventResource.json" }, "icarReproDoNotBreedEventCollection": { "$ref": "../collections/icarReproDoNotBreedEventCollection.json" }, "icarReproDoNotBreedEventArray": { "type": "array", "items": { "$ref": "#/components/schemas/icarReproDoNotBreedEventResource" } }, "icarReproParturitionEventResource": { "$ref": "../resources/icarReproParturitionEventResource.json" }, "icarReproParturitionEventCollection": { "$ref": "../collections/icarReproParturitionEventCollection.json" }, "icarReproParturitionEventArray": { "type": "array", "items": { "$ref": "#/components/schemas/icarReproParturitionEventResource" } }, "icarReproMatingRecommendationResource": { "$ref": "../resources/icarReproMatingRecommendationResource.json" }, "icarReproMatingRecommendationCollection": { "$ref": "../collections/icarReproMatingRecommendationCollection.json" }, "icarReproMatingRecommendationArray": { "type": "array", "items": { "$ref": "#/components/schemas/icarReproMatingRecommendationResource" } }, "icarGestationResource": { "$ref": "../resources/icarGestationResource.json" }, "icarGestationCollection": { "$ref": "../collections/icarGestationCollection.json" }, "icarGestationArray": { "type": "array", "items": { "$ref": "#/components/schemas/icarGestationResource" } }, "icarReproStatusObservedEventResource": { "$ref": "../resources/icarReproStatusObservedEventResource.json" }, "icarReproStatusObservedEventCollection": { "$ref": "../collections/icarReproStatusObservedEventCollection.json" }, "icarReproStatusObservedEventArray": { "type": "array", "items": { "$ref": "#/components/schemas/icarReproStatusObservedEventResource" } }, "icarReproEmbryoFlushingEventResource": { "$ref": "../resources/icarReproEmbryoFlushingEventResource.json" }, "icarReproEmbryoFlushingEventCollection": { "$ref": "../collections/icarReproEmbryoFlushingEventCollection.json" }, "icarReproEmbryoFlushingEventArray": { "type": "array", "items": { "$ref": "#/components/schemas/icarReproEmbryoFlushingEventResource" } } }, "parameters": { "location-scheme": { "name": "location-scheme", "in": "path", "description": "The scheme id for the location identifier.", "required": true, "schema": { "type": "string" } }, "location-id": { "name": "location-id", "in": "path", "description": "The unique identifier for the location.", "required": true, "schema": { "type": "string" } }, "meta-modified-from": { "name": "meta-modified-from", "in": "query", "description": "The start of the date-time range for the data to get in the request.", "schema": { "type": "string", "format": "date-time" } }, "meta-modified-to": { "name": "meta-modified-to", "in": "query", "description": "The end of the date-time range for the data to get in the request.", "schema": { "type": "string", "format": "date-time" } }, "animal-scheme": { "name": "animal-scheme", "in": "query", "description": "The scheme identifying the animal.", "required": false, "schema": { "type": "string" } }, "animal-id": { "name": "animal-id", "in": "query", "description": "The unique identifier of the animal.", "required": false, "schema": { "type": "string" } } }, "responses": { "default": { "description": "An error has occured while handling the request. Check the content of the message for the error details.", "content": { "application/json": { "schema": { "$ref": "../collections/icarErrorCollection.json" } } } } } } }