The Climate Corporation Layers API

General data retrieval endpoints.

OpenAPI Specification

the-climate-corporation-layers-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Climate FieldView Platform APIs Boundaries Layers API
  description: "**Last Modified**: Mon Dec  8 16:27:39 UTC 2025\n\n\nAll endpoints are only accessible via HTTPS.\n\n* All API endpoints are located at `https://platform.climate.com` (e.g.\n`https://platform.climate.com/v4/fields`).\n\n* The authorization token endpoint is located at\n`https://api.climate.com/api/oauth/token`.\n\n## Troubleshooting\n\n`X-Http-Request-Id` response header will be returned on every call,\nsuccessful or not. If you experience an issue with our api and need\nto contact technical support, please supply the value of the `X-Http-Request-Id`\nheader along with an approximate time of when the request was made.\n\n## Request Limits\n\nWhen you’re onboarded to Climate’s API platform, your `x-api-key` is assigned a custom usage plan. Usage plans are unique to each partner and have the following key attributes: \n\n1. Throttling information\n    * burstLimit: Maximum rate limit over a period ranging from 1 second to a few seconds\n    * rateLimit: A steady-state rate limit\n\n2. Quota information\n    * Limit: The maximum number of requests that can be made in a given month\n\nWhen the request rate threshold is exceeded, a `429` response code is returned. Optionally, the [`Retry-After`](https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.37) header may be returned: \n\nFollowing are examples of rate limit errors:\n\n1. Rate limit exceeded:\n\n<br>HTTP/1.1 429 \n<br>Content-Type: application/json\n<br>Content-Length: 32\n\n   {\"message\":\"Too Many Requests\"}\n\n2. Quota exhausted:\n<br>HTTP/1.1 429 \n<br>Content-Type: application/json\n<br>Content-Length: 29\n\n    {\"message\":\"Limit Exceeded\"}\n\n## Pagination\n\nPagination is performed via headers. Any request which returns a `\"results\"`\narray may be paginated. The following figure shows how query results are laid out with\nX-Limit=4 and no filter applied.\n\n<img style=\"width:70%;height:auto;\" src=\"https://s3-us-west-2.amazonaws.com/climate-com/images/svg_upload_tests/paging.png\">\n\n* If there are no results, a response code of `304` will be returned.\n\n* If the response is the last set of results, a response code of `200` or\n`206` will be returned.\n\n* If there are more results, a response code of `206` will be returned.\n\n* If `X-Next-Token` is provided in the request headers but the token has\nexpired, a response code of `409` will be returned. This is only applicable\nfor some endpoints; see specific endpoint documentation below.\n\n#### X-Limit\n\nThe page size can be controlled with the `X-Limit` header. Valid values are\n`1-100` and defaults to `100`.\n\n#### X-Next-Token\n\nIf the results are paginated, a response header of `X-Next-Token` will be\nreturned. Use the associated value in the subsequent request (via the `X-Next-Token`\nrequest header) to retrieve the next page. The following sequence diagram shows how to\nuse `X-Next-Token` to fetch all the records.\n\n<img src=\"https://s3-us-west-2.amazonaws.com/climate-com/images/svg_upload_tests/x-next-token.svg\">\n\n\n## Chunked Uploads\n\nUploads larger than `5MiB` (`5242880 bytes`) must be done in `5MiB` chunks\n(with the exception of the final chunk). Each chunk request MUST contain a\n`Content-Range` header specifying the portion of the upload, and a `Content-Type`\nheader specifying binary content type (`application/octet-stream`). Range\nuploads must be contiguous. The maximum upload size is capped at `500MiB` (`524288000 bytes`).\n\n## Chunked Downloads\n\nDownloads larger than `5MiB` (`5242880 bytes`) must be done in `1-5MiB`\nchunks (with the exception of the final chunk, which may be less than `1MiB`).\nEach chunk request MUST contain a `Range` header specifying the requested portion of the download,\nand an `Accept` header specifying binary and json content types  (`application/octet-stream,application/json`)\nor all content types (`*/*`).\n\n## Drivers\n\nIf you need drivers to process agronomic data, download the ADAPT plugin below. We only support the plugin in the Windows environment, minimum is Windows 7 SP1.\n\nFor asPlanted, asHarvested and asApplied data:\n* [ADAPT Plugin](https://dev.fieldview.com/drivers/ClimateADAPTPlugin_latest.exe)\n<br>Release notes can be found [here](https://dev.fieldview.com/drivers/adapt-release-notes.txt).\n<br>Download and use of the ADAPT plugin means that you agree to the EULA for use of the ADAPT plugin. \n<br>Please review the [EULA](https://dev.fieldview.com/EULA/ADAPT%20Plugin%20EULA-06-19.pdf) (last updated on June 6th, 2019) before download and use of the ADAPT plugin.\n<br>For more information, please refer to:\n  * [ADAPT Resources](https://adaptframework.org/)\n  * [ADAPT Overview](https://aggateway.atlassian.net/wiki/spaces/ADM/overview)\n  * [ADAPT FAQ](https://aggateway.atlassian.net/wiki/spaces/ADM/pages/165942474/ADAPT+Frequently-Asked+Questions+FAQ)\n  * [ADAPT Videos](https://adaptframework.org/adapt-videos/)\n\n## Sample Test Data\n\nSample agronomic data:\n* [asPlanted and asHarvested data](https://dev.fieldview.com/sample-agronomic-data/Planting_Harvesting_data_04_18_2018_21_46_18.zip)\n* [asApplied data set 1](https://dev.fieldview.com/sample-agronomic-data/as-applied-data1.zip)\n* [asApplied data set 2](https://dev.fieldview.com/sample-agronomic-data/as-applied-data2.zip)\n<br>To upload the sample data to your account, please follow the instructions in this [link](https://support.climate.com/kt#/kA02A000000AaxzSAC/en_US).\n\nSample soil data:\n* [Sample soil data](https://dev.fieldview.com/sample-soil-data/soil-sample.xml)\n---\n"
  contact:
    name: Climate FieldView Support
    email: developer@climate.com
  version: 4.0.11
servers:
- url: https://platform.climate.com/
tags:
- name: Layers
  description: General data retrieval endpoints.
paths:
  /v4/layers/scoutingObservations:
    get:
      summary: Retrieve a list of scouting observations
      description: Retrieve a list of scouting observations created or updated by the user identified by the Authorization header.
      tags:
      - Layers
      security:
      - api_key: []
      - oauth2_authorization_code:
        - platform
        - scouting:read
      parameters:
      - $ref: '#/components/parameters/X-Next-Token'
      - $ref: '#/components/parameters/X-Limit'
      - $ref: '#/components/parameters/OccurredAfter'
      - $ref: '#/components/parameters/OccurredBefore'
      responses:
        '200':
          $ref: '#/components/responses/FetchScoutingObservationsOk'
        '206':
          $ref: '#/components/responses/FetchScoutingObservationsPartial'
        '304':
          $ref: '#/components/responses/304'
        '400':
          $ref: '#/components/responses/400'
  /v4/layers/scoutingObservations/{scoutingObservationId}:
    get:
      summary: Retrieve individual scouting observation
      description: Retrieve an individual scouting observation by id.  Ids are retrieved via the /layers/scoutingObservations route.
      tags:
      - Layers
      security:
      - api_key: []
      - oauth2_authorization_code:
        - platform
        - scouting:read
      parameters:
      - $ref: '#/components/parameters/ScoutingObservationId'
      responses:
        '200':
          $ref: '#/components/responses/FetchScoutingObservationByIdOk'
        '400':
          $ref: '#/components/responses/400'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
  /v4/layers/scoutingObservations/{scoutingObservationId}/attachments:
    get:
      summary: Retrieve attachments associated with a given scouting observation.
      description: Retrieve attachments associated with a given scouting observation. Photos added to scouting notes in the FieldView app are capped to 20MB, and we won’t store photos larger than that in a scouting note.
      tags:
      - Layers
      security:
      - api_key: []
      - oauth2_authorization_code:
        - platform
        - scouting:read
      parameters:
      - $ref: '#/components/parameters/ScoutingObservationId'
      - $ref: '#/components/parameters/X-Next-Token'
      - $ref: '#/components/parameters/X-Limit'
      responses:
        '200':
          $ref: '#/components/responses/FetchScoutingObservationAttachmentsOk'
        '206':
          $ref: '#/components/responses/FetchScoutingObservationAttachmentsPartial'
        '304':
          $ref: '#/components/responses/304'
        '400':
          $ref: '#/components/responses/400'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
  /v4/layers/scoutingObservations/{scoutingObservationId}/attachments/{attachmentId}/contents:
    get:
      summary: Retrieve the binary contents of a scouting observation’s attachment.
      description: Photos added to scouting notes in the FieldView app are capped to `20MiB` (`20971520 bytes`), and we won’t store photos larger than that in a scouting note. Downloads larger than `5MiB` (`5242880 bytes`) in size, must be downloaded in chunks no larger than `5MiB` (`5242880 bytes`) and no smaller than `1MiB` (`1048576 bytes`). The last chunk could be less than `1MiB` (`1048576 bytes`).
      tags:
      - Layers
      security:
      - api_key: []
      - oauth2_authorization_code:
        - platform
        - scouting:read
      parameters:
      - $ref: '#/components/parameters/Accept'
      - $ref: '#/components/parameters/ScoutingObservationId'
      - $ref: '#/components/parameters/ScoutingObservationAttachmentId'
      - $ref: '#/components/parameters/Range'
      responses:
        '200':
          $ref: '#/components/responses/FetchScoutingObservationAttachmentContentsOk'
        '206':
          $ref: '#/components/responses/FetchScoutingObservationAttachmentContentsPartial'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '416':
          $ref: '#/components/responses/416'
        '500':
          $ref: '#/components/responses/500'
        '503':
          $ref: '#/components/responses/503'
  /v4/layers/asPlanted:
    get:
      summary: Retrieve a list of planting activities
      description: Retrieve a list of planting activities. The id in the response is used for  GET /v4/layers/asPlanted/{activityId}/contents.
      tags:
      - Layers
      security:
      - api_key: []
      - oauth2_authorization_code:
        - platform
        - asPlanted:read
      parameters:
      - $ref: '#/components/parameters/Accept'
      - $ref: '#/components/parameters/X-Next-Token'
      - $ref: '#/components/parameters/X-Limit'
      - $ref: '#/components/parameters/OptionalResourceOwnerId'
      - $ref: '#/components/parameters/OccurredAfter'
      - $ref: '#/components/parameters/OccurredBefore'
      - $ref: '#/components/parameters/UpdatedAfter'
      responses:
        '200':
          $ref: '#/components/responses/FetchPlantingActivitiesOk'
        '206':
          $ref: '#/components/responses/FetchPlantingActivitiesPartial'
        '304':
          $ref: '#/components/responses/304'
        '400':
          $ref: '#/components/responses/400'
  /v4/layers/asPlanted/{activityId}/contents:
    get:
      summary: Retrieve the raw planting activity
      description: Retrieve an individual planting activity by id.  Ids are retrieved via the  /layers/asPlanted route. Downloads larger than `5MiB` (`5242880 bytes`) in size, must be downloaded in chunks no larger than `5MiB` (`5242880 bytes`) and no smaller than `1MiB`  (`1048576 bytes`). The last chunk could be less than `1MiB` (`1048576 bytes`).  The data is compressed using .zip format.
      tags:
      - Layers
      security:
      - api_key: []
      - oauth2_authorization_code:
        - asPlanted:read
      parameters:
      - $ref: '#/components/parameters/Accept'
      - $ref: '#/components/parameters/PlantingActivityId'
      - $ref: '#/components/parameters/Range'
      responses:
        '200':
          $ref: '#/components/responses/FetchPlantingActivityOk'
        '206':
          $ref: '#/components/responses/FetchPlantingActivityPartial'
        '304':
          $ref: '#/components/responses/304'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '416':
          $ref: '#/components/responses/416'
        '500':
          $ref: '#/components/responses/500'
        '503':
          $ref: '#/components/responses/503'
  /v4/layers/asPlanted/{activityId}:
    get:
      summary: Retrieve the summary of an activity as planted agronomic data
      description: Retrieve an individual planting activity summary by id. Ids are retrieved via the /layers/asPlanted route.
      tags:
      - Layers
      security:
      - api_key: []
      - oauth2_authorization_code:
        - asPlanted:read
      parameters:
      - $ref: '#/components/parameters/Accept'
      - $ref: '#/components/parameters/PlantingActivityId'
      responses:
        '200':
          $ref: '#/components/responses/FetchPlantingActivitySummaryOk'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '500':
          $ref: '#/components/responses/500'
        '503':
          $ref: '#/components/responses/503'
  /v4/layers/asApplied:
    get:
      summary: Retrieve a list of application activities
      description: Retrieve a list of application activities. The id in the response is used for  GET /v4/layers/asApplied/{activityId}/contents.
      tags:
      - Layers
      security:
      - api_key: []
      - oauth2_authorization_code:
        - platform
        - asApplied:read
      parameters:
      - $ref: '#/components/parameters/Accept'
      - $ref: '#/components/parameters/X-Next-Token'
      - $ref: '#/components/parameters/X-Limit'
      - $ref: '#/components/parameters/OptionalResourceOwnerId'
      - $ref: '#/components/parameters/OccurredAfter'
      - $ref: '#/components/parameters/OccurredBefore'
      - $ref: '#/components/parameters/UpdatedAfter'
      responses:
        '200':
          $ref: '#/components/responses/FetchApplicationActivitiesOk'
        '206':
          $ref: '#/components/responses/FetchApplicationActivitiesPartial'
        '304':
          $ref: '#/components/responses/304'
        '400':
          $ref: '#/components/responses/400'
  /v4/layers/asApplied/{activityId}/contents:
    get:
      summary: Retrieve the raw application activity
      description: Retrieve an individual application activity by id.  Ids are retrieved via the  /layers/asApplied route. Downloads larger than `5MiB` (`5242880 bytes`) in size, must be downloaded in chunks no larger than `5MiB` (`5242880 bytes`) and no smaller than `1MiB`  (`1048576 bytes`). The last chunk could be less than `1MiB` (`1048576 bytes`). The data is compressed using .zip format.
      tags:
      - Layers
      security:
      - api_key: []
      - oauth2_authorization_code:
        - asApplied:read
      parameters:
      - $ref: '#/components/parameters/Accept'
      - $ref: '#/components/parameters/ApplicationActivityId'
      - $ref: '#/components/parameters/Range'
      responses:
        '200':
          $ref: '#/components/responses/FetchApplicationActivityOk'
        '206':
          $ref: '#/components/responses/FetchApplicationActivityPartial'
        '304':
          $ref: '#/components/responses/304'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '416':
          $ref: '#/components/responses/416'
        '500':
          $ref: '#/components/responses/500'
        '503':
          $ref: '#/components/responses/503'
  /v4/layers/asApplied/{activityId}:
    get:
      summary: Retrieve the summary of an activity as applied agronomic data
      description: Retrieve an individual application activity summary by id. Ids are retrieved via the /layers/asApplied route.
      tags:
      - Layers
      security:
      - api_key: []
      - oauth2_authorization_code:
        - asApplied:read
      parameters:
      - $ref: '#/components/parameters/Accept'
      - $ref: '#/components/parameters/ApplicationActivityId'
      responses:
        '200':
          $ref: '#/components/responses/FetchApplicationActivitySummaryOk'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '500':
          $ref: '#/components/responses/500'
        '503':
          $ref: '#/components/responses/503'
  /v4/layers/asHarvested:
    get:
      summary: Retrieve a list of harvest activities
      description: Retrieve a list of harvest activities. The id in the response is used for  GET /v4/layers/asHarvested/{activityId}/contents.
      tags:
      - Layers
      security:
      - api_key: []
      - oauth2_authorization_code:
        - platform
        - asHarvested:read
      parameters:
      - $ref: '#/components/parameters/Accept'
      - $ref: '#/components/parameters/X-Next-Token'
      - $ref: '#/components/parameters/X-Limit'
      - $ref: '#/components/parameters/OptionalResourceOwnerId'
      - $ref: '#/components/parameters/OccurredAfter'
      - $ref: '#/components/parameters/OccurredBefore'
      - $ref: '#/components/parameters/UpdatedAfter'
      responses:
        '200':
          $ref: '#/components/responses/FetchHarvestActivitiesOk'
        '206':
          $ref: '#/components/responses/FetchHarvestActivitiesPartial'
        '304':
          $ref: '#/components/responses/304'
        '400':
          $ref: '#/components/responses/400'
  /v4/layers/asHarvested/{activityId}/contents:
    get:
      summary: Retrieve the raw harvest activity
      description: Retrieve an individual harvest activity by id.  Ids are retrieved via the  /layers/asHarvested route. Downloads larger than `5MiB` (`5242880 bytes`) in size, must be downloaded in chunks no larger than `5MiB` (`5242880 bytes`) and no smaller than `1MiB`  (`1048576 bytes`). The last chunk could be less than `1MiB` (`1048576 bytes`). The data is compressed using .zip format.
      tags:
      - Layers
      security:
      - api_key: []
      - oauth2_authorization_code:
        - asHarvested:read
      parameters:
      - $ref: '#/components/parameters/Accept'
      - $ref: '#/components/parameters/HarvestActivityId'
      - $ref: '#/components/parameters/Range'
      responses:
        '200':
          $ref: '#/components/responses/FetchHarvestActivityOk'
        '206':
          $ref: '#/components/responses/FetchHarvestActivityPartial'
        '304':
          $ref: '#/components/responses/304'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '416':
          $ref: '#/components/responses/416'
        '500':
          $ref: '#/components/responses/500'
        '503':
          $ref: '#/components/responses/503'
  /v4/layers/asHarvested/{activityId}:
    get:
      summary: Retrieve the summary of an activity as harvested agronomic data
      description: Retrieve an individual harvest activity summary by id. Ids are retrieved via the /layers/asHarvested route.
      tags:
      - Layers
      security:
      - api_key: []
      - oauth2_authorization_code:
        - asHarvested:read
      parameters:
      - $ref: '#/components/parameters/Accept'
      - $ref: '#/components/parameters/HarvestActivityId'
      responses:
        '200':
          $ref: '#/components/responses/FetchHarvestActivitySummaryOk'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '500':
          $ref: '#/components/responses/500'
        '503':
          $ref: '#/components/responses/503'
components:
  schemas:
    ApplicationActivitySummary:
      type: object
      required:
      - id
      - startTime
      - endTime
      - createdAt
      - updatedAt
      - length
      - fieldIds
      properties:
        id:
          description: The id of an application activity.
          type: string
          format: uuid
        startTime:
          description: The start time of the application activity. Time in ISO 8601 format with UTC timezone, 3 fractional seconds (https://tools.ietf.org/html/rfc3339).
          type: string
          format: date-time
        endTime:
          description: The start time of the application activity. Time in ISO 8601 format with UTC timezone, 3 fractional seconds (https://tools.ietf.org/html/rfc3339).
          type: string
          format: date-time
        createdAt:
          description: The time the application activity was created. Time in ISO 8601 format with UTC timezone, 3 fractional seconds. (https://tools.ietf.org/html/rfc3339).
          type: string
          format: date-time
        updatedAt:
          description: The time the application activity was last updated. Time in ISO 8601 format with UTC timezone, 3 fractional seconds. (https://tools.ietf.org/html/rfc3339).
          type: string
          format: date-time
        length:
          description: The size in bytes of the raw application activity file.
          type: integer
          format: int64
        fieldIds:
          description: Array of field ids associated the application activity.
          type: array
          items:
            type: string
    HarvestActivities:
      description: A batch of harvest activities
      required:
      - results
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/HarvestActivitySummary'
    ScoutingObservationSummary:
      type: object
      required:
      - id
      - startTime
      - endTime
      - updatedAt
      properties:
        id:
          description: The id of a scouting observation.
          type: string
          format: uuid
        startTime:
          description: The start time of the scouting observation. Time in ISO 8601 format with UTC timezone, 3 fractional seconds (https://tools.ietf.org/html/rfc3339).
          type: string
          format: date-time
        endTime:
          description: The start time of the scouting observation. Time in ISO 8601 format with UTC timezone, 3 fractional seconds (https://tools.ietf.org/html/rfc3339).
          type: string
          format: date-time
        updatedAt:
          description: The time the scouting observation or any of its attachments was last updated.Time in ISO 8601 format with UTC timezone, 3 fractional seconds. (https://tools.ietf.org/html/rfc3339).
          type: string
          format: date-time
    ScoutingObservationAttachment:
      type: object
      required:
      - id
      - updatedAt
      - contentType
      - length
      - status
      properties:
        id:
          description: id of the attachment
          type: string
          format: uuid
        updatedAt:
          description: 'The time the attachment was last updated.

            Time in ISO 8601 format with UTC timezone, 3 fractional seconds.

            (https://tools.ietf.org/html/rfc3339)

            '
          type: string
          format: date-time
        contentType:
          description: The content type of the attachment, e.g. image/png.
          type: string
        length:
          description: The number of bytes in the attachment.
          type: integer
          format: int64
        status:
          description: 'The status of the attachment. For example : ACTIVE, DELETED'
          type: string
          enum:
          - ACTIVE
          - DELETED
    BinaryData:
      description: Binary contents
      type: string
      format: binary
    HarvestActivitySummary:
      type: object
      required:
      - id
      - startTime
      - endTime
      - createdAt
      - updatedAt
      - length
      - fieldIds
      properties:
        id:
          description: The id of a harvest activity.
          type: string
          format: uuid
        startTime:
          description: The start time of the harvest activity. Time in ISO 8601 format with UTC timezone, 3 fractional seconds (https://tools.ietf.org/html/rfc3339).
          type: string
          format: date-time
        endTime:
          description: The start time of the harvest activity. Time in ISO 8601 format with UTC timezone, 3 fractional seconds (https://tools.ietf.org/html/rfc3339).
          type: string
          format: date-time
        createdAt:
          description: The time the harvest activity was created. Time in ISO 8601 format with UTC timezone, 3 fractional seconds. (https://tools.ietf.org/html/rfc3339).
          type: string
          format: date-time
        updatedAt:
          description: The time the harvest activity was last updated. Time in ISO 8601 format with UTC timezone, 3 fractional seconds. (https://tools.ietf.org/html/rfc3339).
          type: string
          format: date-time
        length:
          description: The size in bytes of the raw harvest activity file.
          type: integer
          format: int64
        fieldIds:
          description: Array of field ids associated the harvest activity.
          type: array
          items:
            type: string
    PlantingActivities:
      description: A batch of planting activities
      required:
      - results
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/PlantingActivitySummary'
    HarvestActivitySummaryResponse:
      type: object
      required:
      - id
      - fieldId
      - fileName
      - fileSize
      - indexedAt
      - lastProcessedAt
      - originalSrcModified
      - serialNumber
      - srcLastModified
      - area
      - cropId
      - dataChecksum
      - endTime
      - machineId
      - processorVersion
      - recordCount
      - seasonCode
      - startTime
      properties:
        id:
          description: The id of a harvest activity.
          type: string
          format: uuid
        fieldId:
          description: The id of a harvest activity field.
          type: string
          format: uuid
        fileName:
          description: File's name
          type: string
        fileSize:
          description: File's size.
          type: integer
          format: int64
        indexedAt:
          description: The time the harvest activity was indexed.
          type: string
          format: date-time
        lastProcessedAt:
          description: The time the harvest activity was last processed.
          type: string
          format: date-time
        originalSrcModified:
          description: The time the harvest activity original src was last modified.
          type: string
          format: date-time
        serialNumber:
          description: Serial number.
          type: integer
          format: int32
        srcLastModified:
          description: The time the harvest activity src was last modified.
          type: string
          format: date-time
        area:
          description: The area of a harvest activity.
          type: number
          format: float
        boundary:
          description: The boundary of a harvest activity.
          type: string
        cropId:
          description: The crop of a harvest activity.
          type: integer
          format: int64
        dataChecksum:
          description: The data checksum of a harvest activity.
          type: string
        endTime:
          description: The time the harvest activity was ended.
          type: string
          format: date-time
        machineId:
          description: The machineId of a harvest activity.
          type: string
        processorVersion:
          description: The processor version of a harvest activity.
          type: string
        recordCount:
          description: The record count of a harvest activity.
          type: integer
          format: int64
        seasonCode:
          description: The season code of a harvest activity.
          type: string
        startTime:
          description: The time the harvest activity was started.
          type: string
          format: date-time
        moisturePct:
          description: The moisture percentage of a harvest activity.
          type: number
          format: float
        originalCropName:
          description: The original crop name of a harvest activity.
          type: string
        wetMass:
          description: The wet mass of a harvest activity.
          type: number
          format: float
        loadNumber:
          description: Load number.
          type: integer
          format: int32
    ScoutingTag:
      type: object
      required:
      - code
      properties:
        code:
          type: string
    ScoutingObservation:
      type: object
      required:
      - id
      - title
      - note
      - location
      - startTime
      - endTime
      - updatedAt
      - fieldIds
      - tags
      - timespan
      - locationDisplayColor
      - status
      properties:
        id:
          description: The id of a scouting observation.
          type: string
          format: uuid
        title:
          description: The title or summary of the scouting observation. 40 Characters long, no emojis, and leading and trailing whitespace will be trimmed.
          type: string
        note:
          description: The text of the scouting observation. Maximum of 4000 characters.
          type: string
        location:
          description: Where the scouting observation occurred.  GeoJson in WGS84.
          $ref: '#/components/schemas/Geometry'
        startTime:
          description: The start time of the scouting observation. Time in ISO 8601 format with UTC timezone, 3 fractional seconds (https://tools.ietf.org/html/rfc3339).
          type: string
          format: date-time
        endTime:
          description: The start time of the scouting observation. Time in ISO 8601 format with UTC timezone, 3 fractional seconds (https://tools.ietf.org/html/rfc3339).
          type: string
          format: date-time
        updatedAt:
          description: The time the scouting observation or any of its attachments was last updated.Time in ISO 8601 format with UTC timezone, 3 fractional seconds. (https://tools.ietf.org/html/rfc3339).
          type: string
          format: date-time
        fieldIds:
          description: Array of field ids associated with this observation.
          type: array
          items:
            type: string
        tags:
          description: For example, ROCK_STONE, PONDING_WET, HAIL Maximum 20 tags allowed, 40 characters per tag.
          type: array
          items:
            $ref: '#/components/schemas/ScoutingTag'
        timespan:
          description: Permanent or seasonal
          type: string
          enum:
          - PERMANENT
          - SEASONAL
        locationDisplayColor:
          description: 'Color of scouting pin assigned in the Climate FieldView app.

            Limited in the Ux to a set of RGB values.

            * #307af7

            * #38d753

            * #b037e4

            * #ef3e3e

            * #f7ec41

            * #ff8439

            * #808080

            '
          type: string
          enum:
          - '#307af7'
          - '#38d753'
          - '#b037e4'
          - '#ef3e3e'
          - '#f7ec41'
          - '#ff8439'
          - '#808080'
        status:
          description: 'The status of the scouting observation For example : ACTIVE, DELETED'
          type: string
          enum:
          - ACTIVE
          - DELETED
    HarvestActivityCo

# --- truncated at 32 KB (63 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/the-climate-corporation/refs/heads/main/openapi/the-climate-corporation-layers-api-openapi.yml