aWhere API
{
"swagger": "2.0",
"info": {
"version": "1.0",
"title": "aWhere API Platform",
"description": "TODO: Add Description"
},
"host": "api.awhere.com",
"basePath": "/",
"securityDefinitions": {
"auth": {
"type": "oauth2",
"flow": "implicit",
"authorizationUrl": "https://api.awhere.com",
"scopes": {},
"x-skip-client-authentication": false
}
},
"schemes": [
"https"
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"paths": {
"/v2/agronomics/fields/field1/agronomicvalues/2015-08-01,2015-08-03": {
"get": {
"description": "####Request\nThis API call gets calculated agronomics and accumulations at a field location. \n\nThe URL used here will get the values for a certain range of days. This is a very flexible API and so you're encouraged to review the [Agronomics Documentation](http://developer.awhere.com/api/reference/agronomics/values).\n\n_Tip: Remember to use a field ID that exists in your account. By default, this collection uses a default field ID of 'field1'_\n\n\n####Security\nThis API call uses the security Access Token that is retrieved with the \"Get a Token\" request. If you run that request first, it will save a token to Postman and this API will use it automatically. You can also see where the token should normally go by clicking the \"Headers\" tab below. The Authorization header holds the token, replacing the \"{{aWhereAccessToken}}\" part. \n",
"summary": "Agronomic Values & Accumulations",
"tags": [
"Agronomics"
],
"operationId": "V2AgronomicsFieldsField1Agronomicvalues2015080120150803Get",
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": ""
}
},
"security": [
{
"auth": []
}
],
"x-unitTests": [
{
"request": {
"method": "GET",
"uri": "/v2/agronomics/fields/field1/agronomicvalues/2015-08-01,2015-08-03"
},
"expectedResponse": {
"x-allowExtraHeaders": true,
"x-bodyMatchMode": "NONE",
"x-arrayOrderedMatching": false,
"x-arrayCheckCount": false,
"x-matchResponseSchema": true,
"headers": {}
},
"x-testShouldPass": true,
"x-testEnabled": true,
"x-testName": "Agronomic Values & Accumulations",
"x-testDescription": "####Request\nThis API call gets calculated agronomics and accumulations at a field location. \n\nThe URL used here will get the values for a certain range of days. This is a very flexible API and so you're encouraged to review the [Agronomics Documentation](http://developer.awhere.com/api/reference/agronomics/values).\n\n_Tip: Remember to use a field ID that exists in your account. By default, this collection uses a default field ID of 'field1'_\n\n\n####Security\nThis API call uses the security Access Token that is retrieved with the \"Get a Token\" request. If you run that request first, it will save a token to Postman and this API will use it automatically. You can also see where the token should normally go by clicking the \"Headers\" tab below. The Authorization header holds the token, replacing the \"{{aWhereAccessToken}}\" part. \n"
}
],
"x-operation-settings": {
"CollectParameters": false,
"AllowDynamicQueryParameters": false,
"AllowDynamicFormParameters": false,
"IsMultiContentStreaming": false
}
}
},
"/v2/agronomics/fields/field1/agronomicnorms/08-01,08-03/years/2010,2014": {
"get": {
"description": "####Request\nThis API call gets the long term averages for agronomic values and accumulations at a field location. \n\nThe URL used here will get the values for a certain range of days over a certain range of years. This is a very flexible API and so you're encouraged to review the [Agronomics Documentation](http://developer.awhere.com/api/reference/agronomics/norms).\n\n_Tip: Remember to use a field ID that exists in your account. By default, this collection uses a default field ID of 'field1'_\n\n\n####Security\nThis API call uses the security Access Token that is retrieved with the \"Get a Token\" request. If you run that request first, it will save a token to Postman and this API will use it automatically. You can also see where the token should normally go by clicking the \"Headers\" tab below. The Authorization header holds the token, replacing the \"{{aWhereAccessToken}}\" part. \n",
"summary": "Agronomic Norms",
"tags": [
"Agronomics"
],
"operationId": "V2AgronomicsFieldsField1Agronomicnorms08010803Years20102014Get",
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": ""
}
},
"security": [
{
"auth": []
}
],
"x-unitTests": [
{
"request": {
"method": "GET",
"uri": "/v2/agronomics/fields/field1/agronomicnorms/08-01,08-03/years/2010,2014"
},
"expectedResponse": {
"x-allowExtraHeaders": true,
"x-bodyMatchMode": "NONE",
"x-arrayOrderedMatching": false,
"x-arrayCheckCount": false,
"x-matchResponseSchema": true,
"headers": {}
},
"x-testShouldPass": true,
"x-testEnabled": true,
"x-testName": "Agronomic Norms",
"x-testDescription": "####Request\nThis API call gets the long term averages for agronomic values and accumulations at a field location. \n\nThe URL used here will get the values for a certain range of days over a certain range of years. This is a very flexible API and so you're encouraged to review the [Agronomics Documentation](http://developer.awhere.com/api/reference/agronomics/norms).\n\n_Tip: Remember to use a field ID that exists in your account. By default, this collection uses a default field ID of 'field1'_\n\n\n####Security\nThis API call uses the security Access Token that is retrieved with the \"Get a Token\" request. If you run that request first, it will save a token to Postman and this API will use it automatically. You can also see where the token should normally go by clicking the \"Headers\" tab below. The Authorization header holds the token, replacing the \"{{aWhereAccessToken}}\" part. \n"
}
],
"x-operation-settings": {
"CollectParameters": false,
"AllowDynamicQueryParameters": false,
"AllowDynamicFormParameters": false,
"IsMultiContentStreaming": false
}
}
},
"/v2/fields": {
"get": {
"description": "####Request\nThis API call retrieves the list of fields in your account. \n\n[Get Fields Documentation](http://developer.awhere.com/api/reference/fields/get-fields)\n\n\n####Security\nThis API call uses the security Access Token that is retrieved with the \"Get a Token\" request. If you run that request first, it will save a token to Postman and this API will use it automatically. You can also see where the token should normally go by clicking the \"Headers\" tab below. The Authorization header holds the token, replacing the \"{{aWhereAccessToken}}\" part. \n",
"summary": "Get Fields List",
"tags": [
"Fields & Plantings"
],
"operationId": "V2FieldsGet",
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": ""
}
},
"security": [
{
"auth": []
}
],
"x-unitTests": [
{
"request": {
"method": "GET",
"uri": "/v2/fields"
},
"expectedResponse": {
"x-allowExtraHeaders": true,
"x-bodyMatchMode": "NONE",
"x-arrayOrderedMatching": false,
"x-arrayCheckCount": false,
"x-matchResponseSchema": true,
"headers": {}
},
"x-testShouldPass": true,
"x-testEnabled": true,
"x-testName": "Get Fields List",
"x-testDescription": "####Request\nThis API call retrieves the list of fields in your account. \n\n[Get Fields Documentation](http://developer.awhere.com/api/reference/fields/get-fields)\n\n\n####Security\nThis API call uses the security Access Token that is retrieved with the \"Get a Token\" request. If you run that request first, it will save a token to Postman and this API will use it automatically. You can also see where the token should normally go by clicking the \"Headers\" tab below. The Authorization header holds the token, replacing the \"{{aWhereAccessToken}}\" part. \n"
}
],
"x-operation-settings": {
"CollectParameters": false,
"AllowDynamicQueryParameters": false,
"AllowDynamicFormParameters": false,
"IsMultiContentStreaming": false
}
},
"post": {
"description": "####Request\nThis API call creates a field location in your account. Be sure to change the body payload. \n\n[Create Fields Documentation](http://developer.awhere.com/api/reference/fields/create-field)\n\n\n####Security\nThis API call uses the security Access Token that is retrieved with the \"Get a Token\" request. If you run that request first, it will save a token to Postman and this API will use it automatically. You can also see where the token should normally go by clicking the \"Headers\" tab below. The Authorization header holds the token, replacing the \"{{aWhereAccessToken}}\" part. \n",
"summary": "Create a Field",
"tags": [
"Fields & Plantings"
],
"operationId": "V2FieldsPost",
"produces": [
"application/json"
],
"parameters": [
{
"name": "Content-Type",
"in": "header",
"required": true,
"type": "string",
"description": ""
},
{
"name": "Body",
"in": "body",
"required": true,
"description": "",
"schema": {
"$ref": "#/definitions/CreateAFieldrequest"
}
}
],
"responses": {
"200": {
"description": ""
}
},
"security": [
{
"auth": []
}
],
"x-unitTests": [
{
"request": {
"method": "POST",
"uri": "/v2/fields",
"headers": {
"Content-Type": "application/json"
},
"body": "{\"id\":\"field1\",\"name\":\"My First Field\",\"farmId\":\"farm1\",\"acres\":100,\"centerPoint\":{\"latitude\":39.8282,\"longitude\":-98.5795}}"
},
"expectedResponse": {
"x-allowExtraHeaders": true,
"x-bodyMatchMode": "NONE",
"x-arrayOrderedMatching": false,
"x-arrayCheckCount": false,
"x-matchResponseSchema": true,
"headers": {}
},
"x-testShouldPass": true,
"x-testEnabled": true,
"x-testName": "Create a Field",
"x-testDescription": "####Request\nThis API call creates a field location in your account. Be sure to change the body payload. \n\n[Create Fields Documentation](http://developer.awhere.com/api/reference/fields/create-field)\n\n\n####Security\nThis API call uses the security Access Token that is retrieved with the \"Get a Token\" request. If you run that request first, it will save a token to Postman and this API will use it automatically. You can also see where the token should normally go by clicking the \"Headers\" tab below. The Authorization header holds the token, replacing the \"{{aWhereAccessToken}}\" part. \n"
}
],
"x-operation-settings": {
"CollectParameters": false,
"AllowDynamicQueryParameters": false,
"AllowDynamicFormParameters": false,
"IsMultiContentStreaming": false
}
}
},
"/v2/fields/field1": {
"get": {
"description": "####Request\nThis API call retrieves a single field by ID.\n\n[Get Fields Documentation](http://developer.awhere.com/api/reference/fields/get-fields)\n\n\n####Security\nThis API call uses the security Access Token that is retrieved with the \"Get a Token\" request. If you run that request first, it will save a token to Postman and this API will use it automatically. You can also see where the token should normally go by clicking the \"Headers\" tab below. The Authorization header holds the token, replacing the \"{{aWhereAccessToken}}\" part. \n",
"summary": "Get a Single Field by ID",
"tags": [
"Fields & Plantings"
],
"operationId": "V2FieldsField1Get",
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": ""
}
},
"security": [
{
"auth": []
}
],
"x-unitTests": [
{
"request": {
"method": "GET",
"uri": "/v2/fields/field1"
},
"expectedResponse": {
"x-allowExtraHeaders": true,
"x-bodyMatchMode": "NONE",
"x-arrayOrderedMatching": false,
"x-arrayCheckCount": false,
"x-matchResponseSchema": true,
"headers": {}
},
"x-testShouldPass": true,
"x-testEnabled": true,
"x-testName": "Get a Single Field by ID",
"x-testDescription": "####Request\nThis API call retrieves a single field by ID.\n\n[Get Fields Documentation](http://developer.awhere.com/api/reference/fields/get-fields)\n\n\n####Security\nThis API call uses the security Access Token that is retrieved with the \"Get a Token\" request. If you run that request first, it will save a token to Postman and this API will use it automatically. You can also see where the token should normally go by clicking the \"Headers\" tab below. The Authorization header holds the token, replacing the \"{{aWhereAccessToken}}\" part. \n"
}
],
"x-operation-settings": {
"CollectParameters": false,
"AllowDynamicQueryParameters": false,
"AllowDynamicFormParameters": false,
"IsMultiContentStreaming": false
}
},
"patch": {
"description": "####Request\nThis API call shows how to update the farm ID on a field location. You can also change the name.\n\n[Update Field Documentation](http://developer.awhere.com/api/reference/fields/update-field)\n\n\n####Security\nThis API call uses the security Access Token that is retrieved with the \"Get a Token\" request. If you run that request first, it will save a token to Postman and this API will use it automatically. You can also see where the token should normally go by clicking the \"Headers\" tab below. The Authorization header holds the token, replacing the \"{{aWhereAccessToken}}\" part. \n",
"summary": "Update Field",
"tags": [
"Fields & Plantings"
],
"operationId": "V2FieldsField1Patch",
"produces": [
"application/json"
],
"parameters": [
{
"name": "Content-Type",
"in": "header",
"required": true,
"type": "string",
"description": ""
},
{
"name": "Body",
"in": "body",
"required": true,
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/UpdateFieldrequest"
}
}
}
],
"responses": {
"200": {
"description": ""
}
},
"security": [
{
"auth": []
}
],
"x-unitTests": [
{
"request": {
"method": "PATCH",
"uri": "/v2/fields/field1",
"headers": {
"Content-Type": "application/json"
},
"body": "[{\"op\":\"test\",\"path\":\"/farmid\",\"value\":\"farm1\"},{\"op\":\"replace\",\"path\":\"/farmid\",\"value\":\"Farm-100\"}]"
},
"expectedResponse": {
"x-allowExtraHeaders": true,
"x-bodyMatchMode": "NONE",
"x-arrayOrderedMatching": false,
"x-arrayCheckCount": false,
"x-matchResponseSchema": true,
"headers": {}
},
"x-testShouldPass": true,
"x-testEnabled": true,
"x-testName": "Update Field",
"x-testDescription": "####Request\nThis API call shows how to update the farm ID on a field location. You can also change the name.\n\n[Update Field Documentation](http://developer.awhere.com/api/reference/fields/update-field)\n\n\n####Security\nThis API call uses the security Access Token that is retrieved with the \"Get a Token\" request. If you run that request first, it will save a token to Postman and this API will use it automatically. You can also see where the token should normally go by clicking the \"Headers\" tab below. The Authorization header holds the token, replacing the \"{{aWhereAccessToken}}\" part. \n"
}
],
"x-operation-settings": {
"CollectParameters": false,
"AllowDynamicQueryParameters": false,
"AllowDynamicFormParameters": false,
"IsMultiContentStreaming": false
}
}
},
"/v2/agronomics/fields/field1/plantings": {
"get": {
"description": "####Request\nThis API call retrieves the list of plantings for a specific field in your account. \n\n[Get Plantings Documentation](http://developer.awhere.com/api/reference/plantings/get-plantings)\n\n\n####Security\nThis API call uses the security Access Token that is retrieved with the \"Get a Token\" request. If you run that request first, it will save a token to Postman and this API will use it automatically. You can also see where the token should normally go by clicking the \"Headers\" tab below. The Authorization header holds the token, replacing the \"{{aWhereAccessToken}}\" part. \n",
"summary": "Get Plantings List for a Field",
"tags": [
"Fields & Plantings"
],
"operationId": "V2AgronomicsFieldsField1PlantingsGet",
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": ""
}
},
"security": [
{
"auth": []
}
],
"x-unitTests": [
{
"request": {
"method": "GET",
"uri": "/v2/agronomics/fields/field1/plantings"
},
"expectedResponse": {
"x-allowExtraHeaders": true,
"x-bodyMatchMode": "NONE",
"x-arrayOrderedMatching": false,
"x-arrayCheckCount": false,
"x-matchResponseSchema": true,
"headers": {}
},
"x-testShouldPass": true,
"x-testEnabled": true,
"x-testName": "Get Plantings List for a Field",
"x-testDescription": "####Request\nThis API call retrieves the list of plantings for a specific field in your account. \n\n[Get Plantings Documentation](http://developer.awhere.com/api/reference/plantings/get-plantings)\n\n\n####Security\nThis API call uses the security Access Token that is retrieved with the \"Get a Token\" request. If you run that request first, it will save a token to Postman and this API will use it automatically. You can also see where the token should normally go by clicking the \"Headers\" tab below. The Authorization header holds the token, replacing the \"{{aWhereAccessToken}}\" part. \n"
}
],
"x-operation-settings": {
"CollectParameters": false,
"AllowDynamicQueryParameters": false,
"AllowDynamicFormParameters": false,
"IsMultiContentStreaming": false
}
},
"post": {
"description": "####Request\nThis API call creates a planting for a specific field in your account. \n\n__Note:__ You should at least change the dates in the request body.\n\n[Create Planting Documentation](http://developer.awhere.com/api/reference/plantings/create)\n\n\n####Security\nThis API call uses the security Access Token that is retrieved with the \"Get a Token\" request. If you run that request first, it will save a token to Postman and this API will use it automatically. You can also see where the token should normally go by clicking the \"Headers\" tab below. The Authorization header holds the token, replacing the \"{{aWhereAccessToken}}\" part. \n",
"summary": "Create a Planting",
"tags": [
"Fields & Plantings"
],
"operationId": "V2AgronomicsFieldsField1PlantingsPost",
"produces": [
"application/json"
],
"parameters": [
{
"name": "Content-Type",
"in": "header",
"required": true,
"type": "string",
"description": ""
},
{
"name": "Body",
"in": "body",
"required": true,
"description": "",
"schema": {
"$ref": "#/definitions/CreateAPlantingrequest"
}
}
],
"responses": {
"200": {
"description": ""
}
},
"security": [
{
"auth": []
}
],
"x-unitTests": [
{
"request": {
"method": "POST",
"uri": "/v2/agronomics/fields/field1/plantings",
"headers": {
"Content-Type": "application/json"
},
"body": "{\"crop\":\"corn-2300-gdd\",\"plantingDate\":\"2015-07-01\",\"projections\":{\"yield\":{\"amount\":500,\"units\":\"bushels\"},\"harvestDate\":\"2015-08-30\"},\"yield\":null,\"harvestDate\":null}"
},
"expectedResponse": {
"x-allowExtraHeaders": true,
"x-bodyMatchMode": "NONE",
"x-arrayOrderedMatching": false,
"x-arrayCheckCount": false,
"x-matchResponseSchema": true,
"headers": {}
},
"x-testShouldPass": true,
"x-testEnabled": true,
"x-testName": "Create a Planting",
"x-testDescription": "####Request\nThis API call creates a planting for a specific field in your account. \n\n__Note:__ You should at least change the dates in the request body.\n\n[Create Planting Documentation](http://developer.awhere.com/api/reference/plantings/create)\n\n\n####Security\nThis API call uses the security Access Token that is retrieved with the \"Get a Token\" request. If you run that request first, it will save a token to Postman and this API will use it automatically. You can also see where the token should normally go by clicking the \"Headers\" tab below. The Authorization header holds the token, replacing the \"{{aWhereAccessToken}}\" part. \n"
}
],
"x-operation-settings": {
"CollectParameters": false,
"AllowDynamicQueryParameters": false,
"AllowDynamicFormParameters": false,
"IsMultiContentStreaming": false
}
}
},
"/v2/agronomics/fields/field1/plantings/current": {
"patch": {
"description": "####Request\nThis API call shows how to update only a couple of fields in a planting instead of having to update the entire object.\n\n__Note:__ You probably what to change the date in the request body.\n\n[Update Planting Documentation](http://developer.awhere.com/api/reference/plantings/update)\n\n\n####Security\nThis API call uses the security Access Token that is retrieved with the \"Get a Token\" request. If you run that request first, it will save a token to Postman and this API will use it automatically. You can also see where the token should normally go by clicking the \"Headers\" tab below. The Authorization header holds the token, replacing the \"{{aWhereAccessToken}}\" part. \n",
"summary": "Update Part of a Planting",
"tags": [
"Fields & Plantings"
],
"operationId": "V2AgronomicsFieldsField1PlantingsCurrentPatch",
"produces": [
"application/json"
],
"parameters": [
{
"name": "Content-Type",
"in": "header",
"required": true,
"type": "string",
"description": ""
},
{
"name": "Body",
"in": "body",
"required": true,
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/UpdatePartOfAPlantingrequest"
}
}
}
],
"responses": {
"200": {
"description": ""
}
},
"security": [
{
"auth": []
}
],
"x-unitTests": [],
"x-operation-settings": {
"CollectParameters": false,
"AllowDynamicQueryParameters": false,
"AllowDynamicFormParameters": false,
"IsMultiContentStreaming": false
}
}
},
"/v2/agronomics/crops": {
"get": {
"description": "####Request\nThis API call returns the list of currently available crops in the aWhere platform.\n\n[Crops Documentation](http://developer.awhere.com/api/reference/crops).\n\n\n####Security\nThis API call uses the security Access Token that is retrieved with the \"Get a Token\" request. If you run that request first, it will save a token to Postman and this API will use it automatically. You can also see where the token should normally go by clicking the \"Headers\" tab below. The Authorization header holds the token, replacing the \"{{aWhereAccessToken}}\" part. \n",
"summary": "Get Crops",
"tags": [
"Models"
],
"operationId": "V2AgronomicsCropsGet",
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": ""
}
},
"security": [
{
"auth": []
}
],
"x-unitTests": [
{
"request": {
"method": "GET",
"uri": "/v2/agronomics/crops"
},
"expectedResponse": {
"x-allowExtraHeaders": true,
"x-bodyMatchMode": "NONE",
"x-arrayOrderedMatching": false,
"x-arrayCheckCount": false,
"x-matchResponseSchema": true,
"headers": {}
},
"x-testShouldPass": true,
"x-testEnabled": true,
"x-testName": "Get Crops",
"x-testDescription": "####Request\nThis API call returns the list of currently available crops in the aWhere platform.\n\n[Crops Documentation](http://developer.awhere.com/api/reference/crops).\n\n\n####Security\nThis API call uses the security Access Token that is retrieved with the \"Get a Token\" request. If you run that request first, it will save a token to Postman and this API will use it automatically. You can also see where the token should normally go by clicking the \"Headers\" tab below. The Authorization header holds the token, replacing the \"{{aWhereAccessToken}}\" part. \n"
}
],
"x-operation-settings": {
"CollectParameters": false,
"AllowDynamicQueryParameters": false,
"AllowDynamicFormParameters": false,
"IsMultiContentStreaming": false
}
}
},
"/v2/agronomics/models": {
"get": {
"description": "####Request\nThis API call returns the list of currently available models in the aWhere platform.\n\n[Crops Documentation](http://developer.awhere.com/api/reference/models/get-models).\n\n\n####Security\nThis API call uses the security Access Token that is retrieved with the \"Get a Token\" request. If you run that request first, it will save a token to Postman and this API will use it automatically. You can also see where the token should normally go by clicking the \"Headers\" tab below. The Authorization header holds the token, replacing the \"{{aWhereAccessToken}}\" part. \n",
"summary": "Get Models",
"tags": [
"Models"
],
"operationId": "V2AgronomicsModelsGet",
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": ""
}
},
"security": [
{
"auth": []
}
],
"x-unitTests": [
{
"request": {
"method": "GET",
"uri": "/v2/agronomics/models"
},
"expectedResponse": {
"x-allowExtraHeaders": true,
"x-bodyMatchMode": "NONE",
"x-arrayOrderedMatching": false,
"x-arrayCheckCount": false,
"x-matchResponseSchema": true,
"headers": {}
},
"x-testShouldPass": true,
"x-testEnabled": true,
"x-testName": "Get Models",
"x-testDescription": "####Request\nThis API call returns the list of currently available models in the aWhere platform.\n\n[Crops Documentation](http://developer.awhere.com/api/reference/models/get-models).\n\n\n####Security\nThis API call uses the security Access Token that is retrieved with the \"Get a Token\" request. If you run that request first, it will save a token to Postman and this API will use it automatically. You can also see where the token should normally go by clicking the \"Headers\" tab below. The Authorization header holds the token, replacing the \"{{aWhereAccessToken}}\" part. \n"
}
],
"x-operation-settings": {
"CollectParameters": false,
"AllowDynamicQueryParameters": false,
"AllowDynamicFormParameters": false,
"IsMultiContentStreaming": false
}
}
},
"/v2/agronomics/models/BarleyGenericMSU/details": {
"get": {
"description": "####Request\nThis API call returns the details about a particular model. Currently, growth stage models are available via the API, so the details are a list of the possible stages with GDD threshold information. \n\n[Model Details Documentation](http://developer.awhere.com/api/reference/models/details).\n\n\n####Security\nThis API call uses the security Access Token that is retrieved with the \"Get a Token\" request. If you run that request first, it will save a token to Postman and this API will use it automatically. You can also see where the token should normally go by clicking the \"Headers\" tab below. The Authorization header holds the token, replacing the \"{{aWhereAccessToken}}\" part. \n",
"summary": "Get Model Details",
"tags": [
"Models"
],
"operationId": "V2AgronomicsModelsBarleyGenericMSUDetailsGet",
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": ""
}
},
"security": [
{
"auth": []
}
],
"x-unitTests": [
{
"request": {
"method": "GET",
"uri": "/v2/agronomics/models/BarleyGenericMSU/details"
},
"expectedResponse": {
"x-allowExtraHeaders": true,
"x-bodyMatchMode": "NONE",
"x-arrayOrderedMatching": false,
"x-arrayCheckCount": false,
"x-matchResponseSchema": true,
"headers": {}
},
"x-testShouldPass": true,
"x-testEnabled": true,
"x-testName": "Get Model Details",
"x-testDescription": "####Request\nThis API call returns the details about a particular model. Currently, growth stage models are available via the API, so the details are a list of the possible stages with GDD threshold information. \n\n[Model Details Documentation](http://developer.awhere.com/api/reference/models/details).\n\n\n####Security\nThis API call uses the security Access Token that is retrieved with the \"Get a Token\" request. If you run that request first, it will save a token to Postman and this API will use it automatically. You can also see where the token should normally go by clicking the \"Headers\" tab below. The Authorization header holds the token, replacing the \"{{aWhereAccessToken}}\" part. \n"
}
],
"x-operation-settings": {
"CollectParameters": false,
"AllowDynamicQueryParameters": false,
"AllowDynamicFormParameters": false,
"IsMultiContentStreaming": false
}
}
},
"/v2/agronomics/fields/field1/models/BarleyGenericMSU/results": {
"get": {
"description": "####Request\nThis API call returns the current results of a model based on the data provided for the identified field location. \n\n[Model Results Documentation](http://developer.awhere.com/api/reference/models/results).\n\n\n####Security\nThis API call uses the security Access Token that is retrieved with the \"Get a Token\" request. If you run that request first, it will save a token to Postman and this API will use it automatically. You can also see where the token should normally go by clicking the \"Headers\" tab below. The Authorization header holds the token, replacing the \"{{aWhereAccessToken}}\" part. \n",
"summary": "Get Model Results",
"tags": [
"Models"
],
"operationId": "V2AgronomicsFieldsField1ModelsBarleyGenericMSUResultsGet",
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": ""
}
},
"security": [
{
"auth": []
}
],
"x-unitTests": [
{
"request": {
"method": "GET",
"uri": "/v2/agronomics/fields/field1/models/BarleyGenericMSU/results"
},
"expectedResponse": {
"x-allowExtraHeaders": true,
"x-bodyMatchMode": "NONE",
"x-arrayOrderedMatching": false,
"x-arrayCheckCount": false,
"x-matchResponseSchema": true,
"headers": {}
},
"x-testShouldPass": true,
"x-testEnabled": true,
"x-testName": "Get Model Results",
"x-testDescription": "####Request\nThis API call returns the current results of a model based on the data provided for the identified field location. \n\n[Model Results Documentation](http://developer.awhere.com/api/reference/models/results).\n\n\n####Security\nThis API call uses the security Access Token that is retrieved with the \"Get a Token\" request. If you run that request first, it will save a token to Postman and this API will use it automatically. You can also see where the token should normally go by clicking the \"Headers\" tab below. The Authorization header holds the token, replacing the \"{{aWhereAccessToken}}\" part. \n"
}
],
"x-operation-settings": {
"CollectParameters": false,
"AllowDynamicQueryParameters": false,
"AllowDynamicFormParameters": false,
"IsMultiContentStreaming": false
}
}
},
"/v2/weather/fields/field1/observations": {
"get": {
"description": "####Request\nThis API call gets the weather at a field location.\n\nThe default URL will get the last seven days of actual weather observations. You can add dates to the end of the URL to get the weather for a specific range of days, like so: \n\n`/v2/weather/fields/field1/observations/2015-08-01` gets a single day\n`/v2/weather/fields/field1/observations/2015-08-01,2015-08-15` gets everything from August 1-15\n\nYou can customize the response payload using query string parameters. Learn more in the [Daily Observations Documentation](http://developer.awhere.com/api/reference/weather/observations).\n\n_Tip: Remember to use a field ID that exists in your account. By default, this collection uses a default field ID of 'field1'_\n\n\n####Security\nThis API call uses the security Access Token that is retrieved with the \"Get a Token\" request. If you run that request first, it will save a token to Postman and this API will use it automatically. You can also see where the token should normally go by clicking the \"Headers\" tab below. The Authorization header holds the token, replacing the \"{{aWhereAccessToken}}\" part. \n",
"summary": "Daily Observations",
"tags": [
"Weather"
],
"operationId": "V2WeatherFieldsField1ObservationsGet",
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": ""
}
},
"security": [
{
"auth": []
}
],
"x-unitTests": [
{
"request": {
"method": "GET",
"uri": "/v2/weather/fields/field1/observations"
},
"expectedResponse": {
"x-allowExtraHeaders": true,
"x-bodyMatchMode": "NONE",
"x-arrayOrderedMatching": false,
"x-arrayCheckCount": false,
"x-matchResponseSchema": true,
"headers": {}
},
"x-testShouldPass": true,
"x-testEnabled": true,
"x-testName": "Daily Observations",
"x-testDescription": "####Request\nThis API call gets the weather at a field location.\n\nThe default URL will get the last seven days of actual weather observations. You can add dates to the end of the URL to get the weather for a specific range of days, like so: \n\n`/v2/weather/fields/field1/observations/2015-08-01` gets a single day\n`/v2/weather/fields/field1/observations/2015-08-01,2015-08-15` gets everything from August 1-15\n\nYou can customize the response payload using query string parameters. Learn more in the [Daily Observations Documentation](http://developer.awhere.com/api/reference/weather/observations).\n\n_Tip: Remember to use a field ID that exists in your account. By default, this collection uses a default field ID of 'field1'_\n\n\n####Security\nThis API call uses the security Access Token that is retrieved with the \"Get a Token\" request. If you run that request first, it will save a token to Postman and this API will use it automatically. You can also see where the token should normally go by clicking the \"Headers\" tab below. The Authorization header holds the token, replacing the \"{{aWhereAccessToken}}\" part. \n"
}
],
"x-operation-settings": {
"CollectParameters": false,
"AllowDynamicQueryParameters": false,
"AllowDynamicFormParameters": false,
"IsMultiContentStreaming": false
}
}
},
"/v2/weather/fields/field1/forecasts": {
"get": {
"description": "####Request\nThis API call gets the forecast at a field location.\n\nWith the default configuration you'll get the hourly forecast for today +8 days. Add dates to the end of the URL to request only specific days, like so: \n\n`/v2/weather/fields/field1/forecasts/YYYY-MM-DD` returns a single day\n`/v2/weather/fields/field1/forecasts/YYYY-MM-DD,YYYY-MM-DD` returns a range of days\n\nYou can also use query string parameters to customize the payloads. Read the [Forecast Documentation](http://developer.awhere.com/api/reference/weather/forecast) for details.\n\n\n_Tip: Remember to use a field ID that exists in your account. By default, this collection uses a default field ID of 'field1'_\n\n\n\n####Security\nThis API call uses the security Access Token that is retrieved with the \"Get a Token\" request. If you run that request first, it will save a token to Postman and this API will use it automatically. You can also see where the token should normally go by clicking the \"Headers\" tab below. The Authorization header holds the token, replacing the \"{{aWhereAccessToken}}\" part. \n",
"summary": "Forecasts",
"tags": [
"Weather"
],
"operationId": "V2WeatherFieldsField1ForecastsGet",
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": ""
}
},
"security": [
{
"auth": []
}
],
"x-unitTests": [
{
"request": {
"method": "GET",
"uri": "/v2/weather/fields/field1/forecasts"
},
"expectedResponse": {
"x-allowExtraHeaders": true,
"x-bodyMatchMode": "NONE",
"x-arrayOrderedMatching": false,
"x-arrayCheckCount": false,
"x-matchResponseSchema": true,
"headers": {}
},
"x-testShouldPass": true,
"x-testEnabled": true,
"x-testName": "Forecasts",
"x-testDescription": "####Request\nThis API call gets the forecast at a field location.\n\nWith the default configuration you'll get the hourly forecast for today +8 days. Add dates to the end of the URL to request only specific days, like so: \n\n`/v2/weather/fields/field1/forecasts/YYYY-MM-DD` returns a single day\n`/v2/weather/fields/field1/forecasts/YYYY-MM-DD,YYYY-MM-DD` returns a range of days\n\nYou can also use query string parameters to customize the payloads. Read the [Forecast Documentation](http://developer.awhere.com/api/reference/weather/forecast) for details.\n\n\n_Tip: Remember to use a field ID that exists in your account. By default, this collection uses a default field ID of 'field1'_\n\n\n\n####Security\nThis API call uses the security Access Token that is retrieved with the \"Get a Token\" request. If you run that request first, it will save a token to Postman and this API will use it automatically. You can also see where the token should normally go by clicking the \"Headers\" tab below. The Authorization header holds the token, replacing the \"{{aWhereAccessToken}}\" part. \n"
}
],
"x-operation-settings": {
"CollectParameters": false,
"AllowDynamicQueryParameters": false,
"AllowDynamicFormParameters": false,
"IsMultiContentStreaming": false
}
}
},
"/v2/weather/fields/field1/norms/08-01,08-15/years/2010,2015": {
"get": {
"description": "####Request\nUse this API to calculate long-term averages for the weather for any set of days across any set of years (minumum 3). This is a very flexible API, and you're encouraged to review the [Weather Norms Documentation](http://developer.awhere.com/api/reference/weather/norms) for details.\n\n_Tip: Remember to use a field ID that exists in your account. By default, this collection uses a default field ID of 'field1'_\n\n####Security\nThis API call uses the security Access Token that is retrieved with the \"Get a Token\" request. If you run that request first, it will save a token to Postman and this API will use it automatically. You can also see where the token should normally go by clicking the \"Headers\" tab below. The Authorization header holds the token, replacing the \"{{aWhereAccessToken}}\" part. \n",
"summary": "Norms",
"tags": [
"Weather"
],
"operationId": "V2WeatherFieldsField1Norms08010815Years20102015Get",
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": ""
}
},
"security": [
{
"auth": []
}
],
"x-unitTests": [
{
"request": {
"method": "GET",
"uri": "/v2/weather/fields/field1/norms/08-01,08-15/years/2010,2015"
},
"expectedResponse": {
"x-allowExtraHeaders": true,
"x-bodyMatchMode": "NONE",
"x-arrayOrderedMatching": false,
"x-arrayCheckCount": false,
"x-matchResponseSchema": true,
"headers": {}
},
"x-testShouldPass": true,
"x-testEnabled": true,
"x-testName": "Norms",
"x-testDescription": "####Request\nUse this API to calculate long-term averages for the weather for any set of days across any set of years (minumum 3). This is a very flexible API, and you're encouraged to review the [Weather Norms Documentation](http://developer.awhere.com/api/reference/weather/norms) for details.\n\n_Tip: Remember to use a field ID that exists in your account. By default, this collection uses a default field ID of 'field1'_\n\n####Security\nThis API call uses the security Access Token that is retrieved with the \"Get a Token\" request. If you run that request first, it will save a token to Postman and this API will use it automatically. You can also see where the token should normally go by clicking the \"Headers\" tab below. The Authorization header holds the token, replacing the \"{{aWhereAccessToken}}\" part. \n"
}
],
"x-operation-settings": {
"CollectParameters": false,
"AllowDynamicQueryParameters": false,
"AllowDynamicFormParameters": false,
"IsMultiContentStreaming": false
}
}
},
"/v2/weather/fields/field1/currentconditions": {
"get": {
"description": "####Request\nThis API call provides a snapshot of recent weather using the weather station nearest to the field location.\n\n[Current Conditions Documentation](http://developer.awhere.com/api/reference/weather/current)\n\n_Tip: Remember to use a field ID that exists in your account. By default, this collection uses a default field ID of 'field1'_\n\n\n####Security\nThis API call uses the security Access Token that is retrieved with the \"Get a Token\" request. If you run that request first, it will save a token to Postman and this API will use it automatically. You can also see where the token should normally go by clicking the \"Headers\" tab below. The Authorization header holds the token, replacing the \"{{aWhereAccessToken}}\" part. \n",
"summary": "Current Conditions",
"tags": [
"Weather"
],
"operationId": "V2WeatherFieldsField1CurrentconditionsGet",
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": ""
}
},
"security": [
{
"auth": []
}
],
"x-unitTests": [
{
"request": {
"method": "GET",
"uri": "/v2/weather/fields/field1/currentconditions"
},
"expectedResponse": {
"x-allowExtraHeaders": true,
"x-bodyMatchMode": "NONE",
"x-arrayOrderedMatching": false,
"x-arrayCheckCount": false,
"x-matchResponseSchema": true,
"headers": {}
},
"x-testShouldPass": true,
"x-testEnabled": true,
"x-testName": "Current Conditions",
"x-testDescription": "####Request\nThis API call provides a snapshot of recent weather using the weather station nearest to the field location.\n\n[Current Conditions Documentation](http://developer.awhere.com/api/reference/weather/current)\n\n_Tip: Remember to use a field ID that exists in your account. By default, this collection uses a default field ID of 'field1'_\n\n\n####Security\nThis API call uses the security Access Token that is retrieved with the \"Get a Token\" request. If you run that request first, it will save a token to Postman and this API will use it automatically. You can also see where the token should normally go by clicking the \"Headers\" tab below. The Authorization header holds the token, replacing the \"{{aWhereAccessToken}}\" part. \n"
}
],
"x-operation-settings": {
"CollectParameters": false,
"AllowDynamicQueryParameters": false,
"AllowDynamicFormParameters": false,
"IsMultiContentStreaming": false
}
}
},
"/oauth/token": {
"post": {
"description": "This is the first API call you will make any time you use the API \n(but you only need to use once per hour). This request will \nrequest a security access token and save it to Postman. Later \nAPI calls will use the token from Postman's saved variables. \n\n[Authentication Documentation](http://developer.awhere.com/api/authentication)\n\nPrior to using this API call you should load the aWhere Environment\nfile into Postman and change the settings to your API Key and Secret.\nYou can also see where the key and secret should go, or enter\nthem manually, by choosing the \"Authorization\" tab below, selecting\n\"Basic Auth,\" and then entering the key and secret as the username\nand password.",
"summary": "Get a Token",
"tags": [
"Misc"
],
"operationId": "OauthTokenPost",
"produces": [
"application/json"
],
"consumes": [
"application/x-www-form-urlencoded"
],
"parameters": [
{
"name": "grant_type",
"in": "formData",
"required": true,
"type": "string",
"description": ""
}
],
"responses": {
"200": {
"description": ""
}
},
"security": [
{
"auth": []
}
],
"x-unitTests": [
{
"request": {
"method": "POST",
"uri": "/oauth/token",
"headers": {
"Content-Type": "application/x-www-form-urlencoded"
},
"body": "grant_type=client_credentials"
},
"expectedResponse": {
"x-allowExtraHeaders": true,
"x-bodyMatchMode": "NONE",
"x-arrayOrderedMatching": false,
"x-arrayCheckCount": false,
"x-matchResponseSchema": true,
"headers": {}
},
"x-testShouldPass": true,
"x-testEnabled": true,
"x-testName": "Get a Token",
"x-testDescription": "This is the first API call you will make any time you use the API \n(but you only need to use once per hour). This request will \nrequest a security access token and save it to Postman. Later \nAPI calls will use the token from Postman's saved variables. \n\n[Authentication Documentation](http://developer.awhere.com/api/authentication)\n\nPrior to using this API call you should load the aWhere Environment\nfile into Postman and change the settings to your API Key and Secret.\nYou can also see where the key and secret should go, or enter\nthem manually, by choosing the \"Authorization\" tab below, selecting\n\"Basic Auth,\" and then entering the key and secret as the username\nand password."
}
],
"x-operation-settings": {
"CollectParameters": false,
"AllowDynamicQueryParameters": false,
"AllowDynamicFormParameters": false,
"IsMultiContentStreaming": false
}
}
}
},
"definitions": {
"CreateAFieldrequest": {
"title": "Create a FieldRequest",
"example": {
"id": "field1",
"name": "My First Field",
"farmId": "farm1",
"acres": 100,
"centerPoint": {
"latitude": 39.8282,
"longitude": -98.5795
}
},
"type": "object",
"properties": {
"id": {
"description": "",
"example": "field1",
"type": "string"
},
"name": {
"description": "",
"example": "My First Field",
"type": "string"
},
"farmId": {
"description": "",
"example": "farm1",
"type": "string"
},
"acres": {
"description": "",
"example": 100,
"type": "integer",
"format": "int32"
},
"centerPoint": {
"$ref": "#/definitions/CenterPoint"
}
},
"required": [
"id",
"name",
"farmId",
"acres",
"centerPoint"
]
},
"CenterPoint": {
"title": "CenterPoint",
"example": {
"latitude": 39.8282,
"longitude": -98.5795
},
"type": "object",
"properties": {
"latitude": {
"description": "",
"example": 39.8282,
"type": "number",
"format": "double"
},
"longitude": {
"description": "",
"example": -98.5795,
"type": "number",
"format": "double"
}
},
"required": [
"latitude",
"longitude"
]
},
"UpdateFieldrequest": {
"title": "Update FieldRequest",
"example": {
"op": "test",
"path": "/farmid",
"value": "farm1"
},
"type": "object",
"properties": {
"op": {
"description": "",
"example": "test",
"type": "string"
},
"path": {
"description": "",
"example": "/farmid",
"type": "string"
},
"value": {
"description": "",
"example": "farm1",
"type": "string"
}
},
"required": [
"op",
"path",
"value"
]
},
"CreateAPlantingrequest": {
"title": "Create a PlantingRequest",
"example": {
"crop": "corn-2300-gdd",
"plantingDate": "2015-07-01",
"projections": {
"yield": {
"amount": 500,
"units": "bushels"
},
"harvestDate": "2015-08-30"
},
"yield": null,
"harvestDate": null
},
"type": "object",
"properties": {
"crop": {
"description": "",
"example": "corn-2300-gdd",
"type": "string"
},
"plantingDate": {
"description": "",
"example": "2015-07-01",
"type": "string"
},
"projections": {
"$ref": "#/definitions/Projections"
},
"yield": {
"description": "",
"type": "string"
},
"harvestDate": {
"description": "",
"type": "string"
}
},
"required": [
"crop",
"plantingDate",
"projections",
"yield",
"harvestDate"
]
},
"Projections": {
"title": "Projections",
"example": {
"yield": {
"amount": 500,
"units": "bushels"
},
"harvestDate": "2015-08-30"
},
"type": "object",
"properties": {
"yield": {
"$ref": "#/definitions/Yield"
},
"harvestDate": {
"description": "",
"example": "2015-08-30",
"type": "string"
}
},
"required": [
"yield",
"harvestDate"
]
},
"Yield": {
"title": "Yield",
"example": {
"amount": 500,
"units": "bushels"
},
"type": "object",
"properties": {
"amount": {
"description": "",
"example": 500,
"type": "integer",
"format": "int32"
},
"units": {
"description": "",
"example": "bushels",
"type": "string"
}
},
"required": [
"amount",
"units"
]
},
"UpdatePartOfAPlantingrequest": {
"title": "Update Part of a PlantingRequest",
"type": "object",
"properties": {
"op": {
"description": "",
"example": "replace",
"type": "string"
},
"path": {
"description": "",
"example": "/projections/yield/amount",
"type": "string"
},
"value": {
"description": "",
"example": 400,
"type": "integer",
"format": "int32"
}
},
"required": [
"op",
"path",
"value"
]
}
}
}