swagger: "2.0" info: title: Climate FieldView Platform APIs (previous versions) description: | **Last Modified**: Mon Jul 10 15:48:39 UTC 2023 All endpoints are only accessible via HTTPS and are located at `https://api.climate.com`. ## Troubleshooting `X-Http-Request-Id` response header will be returned on every call, successful or not. If you experience an issue with our api and need to contact technical support, please supply the value of the `X-Http-Request-Id` header along with an approximate time of when the request was made. --- ## Drivers If you need drivers to process agronomic data, you can download them here. For asPlanted and asHarvested data: * [Climate FieldView Field Operation Device Driver (FODD)](https://dev.fieldview.com/drivers/ClimateFieldViewFODD_3.0.1.0.zip) The [Field Operations Data Model (FODM Runtime)](http://www.mapshots.com/ftp/FODM/Installs/FODMRT_031109.exe) will also need to be downloaded. For more information, please refer to [MapShots Support](https://www.mapshots.com/fodm/) and [20/20 SeedSense Support Resources](http://www.precisionplanting.com/#support/). Sample code for loading .dat files can be found [here](https://gist.github.com/platform-climate/28b6f20e0ff52442ece36cb5a162c4a9). For asApplied data: * [ADAPT Plugin](https://dev.fieldview.com/drivers/ClimateADAPT_1.18.6.22.zip) For more information, please refer to [AgGateway’s ADAPT Resources](http://www.aggateway.org/GetConnected/AgGateway%E2%80%99sADAPT.aspx). Sample agronomic data: * [asPlanted and asHarvested data](https://dev.fieldview.com/sample-agronomic-data/Planting_Harvesting_data_04_18_2018_21_46_18.zip) * [asApplied data set 1](https://dev.fieldview.com/sample-agronomic-data/as-applied-data1.zip) * [asApplied data set 2](https://dev.fieldview.com/sample-agronomic-data/as-applied-data2.zip)
To upload the sample data to your account, please follow the instructions in this [link](https://support.climate.com/kt#/kA02A000000AaxzSAC/en_US). --- contact: name: Climate FieldView Support email: developer@climate.com version: "3.0.3" host: api.climate.com basePath: /api/partnerapis schemes: - https consumes: - application/json produces: - application/json securityDefinitions: oauth2_client_credentials: description: >- Log in with FieldView OAuth2 provider (Client Credentials Grant). Used to authorize the client (partner). The *access_token* is required to be provided in the `Authorization` header on all calls to the FieldView APIs with the following format `Bearer $access_token`. type: "oauth2" tokenUrl: https://api.climate.com/api/oauth/token flow: application scopes: partnerapis: Required for all v2 & v3 APIs tags: - name: Agronomic Data - name: Fields - name: Prescriptions - name: Soil Samples paths: /v2/agronomic-data: get: deprecated: true summary: "Retrieve planting, application, or harvest dat file urls." description: >- #### **Use /v4/layers/asPlanted, /v4/layers/asHarvested, or /v4/layers/asApplied instead.** Climate FieldView users enable automatic sharing of 20/20 or Drive files (Planting, Application, & Harvest dat files) with partner users via a software key. FieldView Users can create a sharing key that allows access to planting, application, and harvest data files and share that key with user of partner system. The grower is in control of who receives the key and which fields the key is good for (all fields or a subset). Sharing keys are valid for one year and can be revoked if needed by the grower. Partner systems can build a UI element to associate a username with a grower and store the sharing key as well as "fetch" features to retrieve files. Partners can also build automated features to check for new files, automatically import them, and provide notifications to users. We return a list of strings which are pre signed URLs that can be used to download from AWS S3 Storage directly. tags: - Agronomic Data security: - oauth2_client_credentials: - partnerapis parameters: - type: string in: query name: sharingKey description: Sharing key provided to the partner by Climate FieldView user required: true - type: string enum: - application/vnd.oada.pp.as-planted - application/vnd.oada.pp.as-applied - application/vnd.oada.pp.as-harvested in: query name: resourceType required: true responses: 200: $ref: "#/responses/FetchAgronomicDataUrlsOk" 400: $ref: "#/responses/Deprecated400" 500: $ref: "#/responses/Deprecated500" /v2/fields: post: deprecated: true summary: "Upload field boundaries." description: >- #### **Use /v4/uploads with application/vnd.climate.field.geojson content type instead.** Users of FieldView APIs can send Field List (Client [or Grower], Farm, Field, and Field Boundary) to a Climate FieldView user. The header "X-User-Name" identifies the Climate FieldView user. The grower will receive an email notification and can then confirm the import of the fields into their account using Data Inbox. tags: - Fields security: - oauth2_client_credentials: - partnerapis parameters: - in: body name: Fields required: true schema: $ref: "#/definitions/FieldsWithBoundaryAndHierarchy" - $ref: "#/parameters/X-User-Name" responses: 200: $ref: "#/responses/PostFieldWithBoundaryAndHierarchyOk" 400: $ref: "#/responses/Deprecated400" 500: $ref: "#/responses/Deprecated500" /v2/rx: post: deprecated: true summary: "Upload a Rx file." description: >- #### **Use /v4/uploads with application/vnd.climate.rx.planting.shp content type instead.** Users of partner systems can send prescriptions (Rx), such as seeding or application, to Climate FieldView Cab & 20/20. Partner systems can add export features to "Send to Climate FieldView" using the username for where to send the Prescription(s). The header "X-User-Name" identifies the Climate FieldView user. A trusted advisor can transmit a prescription directly rather than emailing it to grower and requiring the grower to upload it to Climate FieldView. The prescription will be imported into the Data Inbox. Once the imported Rx is accepted by the grower in Data Inbox, it will automatically sync to the Climate FieldView Cab App where the grower can transfer it to the 20/20 for execution. The ZIP file to be uploaded should be sent in the multipart/form-data parameter `file`. tags: - Prescriptions security: - oauth2_client_credentials: - partnerapis parameters: - type: file in: formData name: file required: true - $ref: "#/parameters/X-User-Name" consumes: - multipart/form-data responses: 200: $ref: "#/responses/PostPrescriptionOk" 400: $ref: "#/responses/Deprecated400" 500: $ref: "#/responses/Deprecated500" /v2/soil/modus/result: post: summary: "Upload a soil test with metadata." description: >- Users of partner systems can send soil test results in Modus format (see http://www.modusstandard.org/docs/xsd/result/modus_result.html) to Climate FieldView. Partner system can add export feature to "Send to Climate FieldView" using the username as the key for where to send the soil test results. The grower will receive an email notification when the soil test results has been processed and can then confirm the import of soil test(s) into their account. Modus soil test results are posted as multipart/form-data with with application/xml content type. Sample test date (in ISO 8601 format with `T` separator between date and time, 3 digit fractional seconds and `Z` timezone e.g. `2017-01-01T00:00:00.000Z`) must be provided as a query parameter. tags: - Soil Samples security: - oauth2_client_credentials: - partnerapis parameters: - type: file in: formData name: file required: true - type: string in: query name: sampleDate required: true - $ref: "#/parameters/X-User-Name" consumes: - multipart/form-data responses: 200: $ref: "#/responses/PostModusSoilResultOk" 400: $ref: "#/responses/Deprecated400" 500: $ref: "#/responses/Deprecated500" /v3/agronomic-data: get: deprecated: true summary: "Retrieve planting, application, or harvest dat file urls." description: >- #### **Use /v4/layers/asPlanted, /v4/layers/asHarvested, or /v4/layers/asApplied instead.** Climate FieldView users enable automatic sharing of 20/20 or Drive files (Planting, Application, & Harvest dat files) with partner users via a software key. FieldView Users can create a sharing key that allows access to planting, application, and harvest data files and share that key with user of partner system. The grower is in control of who receives the key and which fields the key is good for (all fields or a subset). Sharing keys are valid for one year and can be revoked if needed by the grower. Partner systems can build a UI element to associate a username with a grower and store the sharing key as well as "fetch" features to retrieve files. Partners can also build automated features to check for new files, automatically import them, and provide notifications to users. We return a list of strings which are pre signed URLs that can be used to download from AWS S3 Storage directly. tags: - Agronomic Data security: - oauth2_client_credentials: - partnerapis parameters: - type: string in: query name: sharingKey description: Sharing key provided to the partner by Climate FieldView user required: true - type: string enum: - application/vnd.oada.pp.as-planted - application/vnd.oada.pp.as-applied - application/vnd.oada.pp.as-harvested in: query name: resourceType required: true responses: 200: $ref: "#/responses/FetchAgronomicDataOk" 400: $ref: "#/responses/Deprecated400" 500: $ref: "#/responses/Deprecated500" definitions: FieldWithBoundaryAndHierarchy: type: object properties: clientName: description: Client name in client-farm-field hierarchy type: string farmName: description: Farm name in client-farm-field hierarchy type: string name: description: Field name in client-farm-field hierarchy type: string boundary: description: |- Geometry of the boundary in WKT in WGS 84 / EPSG:4326 projection type: string acres: description: Total acreage of the field format: double type: number source: description: |- Source identifier for the field boundary, say name of the partner viz. winfield, summit type: string required: - clientName - farmName - name - boundary FieldsWithBoundaryAndHierarchy: type: object properties: fields: description: List of Fields type: array items: $ref: "#/definitions/FieldWithBoundaryAndHierarchy" required: - fields parameters: FieldId: in: path name: fieldId description: Unique identifier of the Field. type: string format: uuid required: true X-User-Name: in: header name: X-User-Name description: The username or email of the FieldView user that will receive data required: true type: string responses: # general Deprecated400: description: Bad Input headers: X-Http-Request-Id: description: Unique identifier assigned to the request. type: string schema: type: object properties: error-code: type: string message: type: string details: type: object required: - error-code - message Deprecated500: description: Internal Server Error headers: X-Http-Request-Id: description: Unique identifier assigned to the request. type: string schema: type: object properties: error-code: type: string message: type: string details: type: object required: - error-code - message # agronomic data FetchAgronomicDataUrlsOk: description: Success headers: X-Http-Request-Id: description: Unique identifier assigned to the request. type: string schema: type: object properties: urls: description: List of S3 URLs for shared dat files. type: array items: type: string required: - urls FetchAgronomicDataOk: description: Success headers: X-Http-Request-Id: description: Unique identifier assigned to the request. type: string schema: type: object properties: results: description: List of objects containing S3 URLs for shared dat files, source and modified time. type: array items: type: object properties: modifiedTime: description: File's last modified time. type: string source: description: File's source. type: string url: description: S3 URL for shared dat file. type: string required: - modifiedTime - source - url required: - results # fields PostFieldWithBoundaryAndHierarchyOk: description: Success headers: X-Http-Request-Id: description: Unique identifier assigned to the request. type: string schema: type: object properties: entities-created: description: Number of fields created type: integer message: type: string required: - entities-created - message # prescriptions PostPrescriptionOk: description: Success headers: X-Http-Request-Id: description: Unique identifier assigned to the request. type: string schema: type: object properties: fileSize: description: Size of the uploaded file, as recorded by the server format: int64 type: integer required: - fileSize # soil samples PostModusSoilResultOk: description: Success headers: X-Http-Request-Id: description: Unique identifier assigned to the request. type: string schema: type: object properties: fileSize: description: Size of the uploaded file, as recorded by the server format: int64 type: integer required: - fileSize