The Climate Corporation Exports API

General data export endpoints.

Operations 3

POST /v4/exports Initiate a new export request #
GET /v4/exports/{exportId}/status Retrieve the status of an Export #
GET /v4/exports/{exportId}/contents Retrieve the binary contents of a processed export request #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/the-climate-corporation-exports-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

the-climate-corporation-exports-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Climate FieldView Platform Exports API
  description: '**Last Modified**: Mon Dec 8 16:27:39 UTC 2025


    All endpoints are only accessible via HTTPS.'
  contact:
    name: Climate FieldView Support
    email: developer@climate.com
  version: 4.0.11
servers:
- url: https://platform.climate.com/
tags:
- name: Exports
  description: General data export endpoints.
paths:
  /v4/exports:
    post:
      summary: Initiate a new export request
      description: 'Step one in requesting a data product. The method will return an **Export** ID which the caller will use in subsequent `GET` requests.

        The following `contentTypes` may be requested:

        * __application/vnd.climate.acrsi.geojson__ (Beta)

        Exports the planting activities accessible by the authenticated user and optionally filtered by resource owner

        as a GeoJSON Feature Collection.


        The export request definition must contain the following properties:

        * plantingStartDate

        * plantingEndDate

        * resourceOwnerId


        Requires `exports:read` and `plantingActivitySummary:read` scope.


        * __application/vnd.climate.harvest.geojson__

        Exports the harvesting activities accessible by the authenticated user and optionally filtered by resource owner

        as a GeoJSON Feature Collection.


        The export request definition must contain the following properties:

        * harvestStartDate

        * harvestEndDate

        * resourceOwnerId


        Requires `exports:read` and `plantingActivitySummary:read` scope.


        * __application/vnd.climate.yield-analysis.pdf__

        Exports a PDF Yield Analysis Report (also called Harvest Summary Report) for all the fields in all the harvest seasons of the given year. If no year definition is provided then the current year is used.


        The export request definition can contain the following properties:

        * year


        Requires `exports:read` and `reports:read` scope.


        * __application/vnd.climate.yield-analysis.json__

        Exports a JSON Yield Analysis Report (also called Harvest Summary Report) for all the fields in all the harvest seasons of the given year. If no year definition is provided then the current year is used.


        The export request definition can contain the following properties:

        * year


        Requires `exports:read` and `reports:read` scope.'
      operationId: postExport
      tags:
      - Exports
      security:
      - api_key: []
      - oauth2_authorization_code:
        - exports:read
      responses:
        '201':
          $ref: '#/components/responses/PostExportOk'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
        '503':
          $ref: '#/components/responses/503'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Export'
  /v4/exports/{exportId}/status:
    get:
      summary: Retrieve the status of an Export
      description: Check the status of an **Export** by ID.
      operationId: fetchExportStatusById
      tags:
      - Exports
      security:
      - api_key: []
      - oauth2_authorization_code:
        - exports:read
      parameters:
      - $ref: '#/components/parameters/ExportId'
      responses:
        '200':
          $ref: '#/components/responses/FetchExportStatusByIdOk'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
        '503':
          $ref: '#/components/responses/503'
  /v4/exports/{exportId}/contents:
    get:
      summary: Retrieve the binary contents of a processed export request
      description: 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`).
      operationId: fetchExportContentsById
      tags:
      - Exports
      security:
      - api_key: []
      - oauth2_authorization_code:
        - exports:read
      parameters:
      - $ref: '#/components/parameters/Accept'
      - $ref: '#/components/parameters/ExportId'
      - $ref: '#/components/parameters/Range'
      responses:
        '204':
          $ref: '#/components/responses/204'
        '206':
          $ref: '#/components/responses/FetchExportContentsByIdPartial'
        '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'
        '409':
          $ref: '#/components/responses/ReportConflict'
        '410':
          $ref: '#/components/responses/ReportGone'
        '416':
          $ref: '#/components/responses/416'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
        '503':
          $ref: '#/components/responses/503'
components:
  schemas:
    BinaryData:
      description: Binary contents
      type: string
      format: binary
    Error:
      type: object
      properties:
        error:
          type: object
          required:
          - id
          - code
          - message
          properties:
            id:
              type: string
              format: uuid
            code:
              type: string
            message:
              type: string
              description: Description of the error encountered.
    Export:
      type: object
      description: Client request to export data from a user.
      required:
      - contentType
      properties:
        contentType:
          type: string
          enum:
          - application/vnd.climate.acrsi.geojson
          - application/vnd.climate.harvest.geojson
          format: mime-type
          description: Content type representing data being exported (e.g. application/vnd.climate.acrsi.geojson).
        definition:
          type: object
          description: Additional specifications for a client's data export request, dependent on the content type.
    CreatedExport:
      type: object
      required:
      - id
      properties:
        id:
          description: Unique identifier for the export.
          type: string
          format: uuid
    ExportContents:
      required:
      - body
      properties:
        body:
          $ref: '#/components/schemas/BinaryData'
    ExportStatus:
      type: object
      required:
      - status
      properties:
        status:
          description: "Current status of the export request:\n  * `PROCESSING` - Export request has been received by Climate and is being processed.\n  * `INVALID` - Export request has failed validity check.\n  * `EXPIRED` - Export contents have expired, and are no longer available for retrieval.\n  * `COMPLETED` - The export request has been successfully processed, and its contents are available for retrieval.\n  * `NO_DATA` - The export request completed successfully but generated no data.\n"
          type: string
          enum:
          - PROCESSING
          - INVALID
          - EXPIRED
          - COMPLETED
          - NO_DATA
        error:
          description: Message indicating reason for validation failure.
          type: string
        size:
          description: Size of the export's contents in bytes.
          type: integer
          format: int64
        checksum:
          description: Base64 encoded MD5 hash of the export's contents.
          type: string
        xNextToken:
          description: 'Token which may be used when executing an identical export in

            the future, but which only wants export data which was not

            previously exported.

            Assume a given field export request matches 12 fields today. And

            tomorrow it matches 15 fields. By passing the xNextToken in the

            definition section of tomorrow''s field export request, only the

            3 additional fields would be exported. Note, all other parameters

            passed in the definition section must be identical to the original

            request.

            '
          type: string
    Empty:
      type: object
  responses:
    '403':
      description: Forbidden
      headers:
        X-Http-Request-Id:
          description: Unique identifier assigned to the request.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    '429':
      description: Too Many Requests
      headers:
        X-Http-Request-Id:
          description: Unique identifier assigned to the request.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    '304':
      description: Not Modified
      headers:
        X-Http-Request-Id:
          description: Unique identifier assigned to the request.
          schema:
            type: string
        X-Next-Token:
          description: A token which may be used to poll for updates.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Empty'
    ReportConflict:
      description: Conflict (Report generation is still in progress)
      headers:
        X-Http-Request-Id:
          description: Unique identifier assigned to the request.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    '401':
      description: Unauthorized
      headers:
        X-Http-Request-Id:
          description: Unique identifier assigned to the request.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    '400':
      description: Bad Input
      headers:
        X-Http-Request-Id:
          description: Unique identifier assigned to the request.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    '500':
      description: Internal Server Error
      headers:
        X-Http-Request-Id:
          description: Unique identifier assigned to the request.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    '416':
      description: Range Not Satisfiable
      headers:
        X-Http-Request-Id:
          description: Unique identifier assigned to the request.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    FetchExportContentsByIdPartial:
      description: Partial Result
      headers:
        X-Http-Request-Id:
          description: Unique identifier assigned to the request.
          schema:
            type: string
        Content-Range:
          description: Byte range `bytes start-end/total` (https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.16). e.g. bytes 0-5242879/10242880. 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).
          schema:
            type: string
      content:
        application/octet-stream:
          schema:
            $ref: '#/components/schemas/ExportContents'
    '204':
      description: No Content
      headers:
        X-Http-Request-Id:
          description: Unique identifier assigned to the request.
          schema:
            type: string
    '404':
      description: Not Found
      headers:
        X-Http-Request-Id:
          description: Unique identifier assigned to the request.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    FetchExportStatusByIdOk:
      description: OK
      headers:
        X-Http-Request-Id:
          description: Unique identifier assigned to the request.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ExportStatus'
    PostExportOk:
      description: OK
      headers:
        X-Http-Request-Id:
          description: Unique identifier assigned to the request.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/CreatedExport'
    ReportGone:
      description: Gone (Report is expired)
      headers:
        X-Http-Request-Id:
          description: Unique identifier assigned to the request.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    '503':
      description: Server Busy
      headers:
        X-Http-Request-Id:
          description: Unique identifier assigned to the request.
          schema:
            type: string
        Retry-After:
          description: Number of seconds to wait before retrying the request.
          schema:
            type: integer
            format: int32
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  parameters:
    ExportId:
      in: path
      description: Unique identifier of an Export.
      name: exportId
      required: true
      schema:
        type: string
        format: uuid
    Range:
      in: header
      name: Range
      description: Byte range `bytes=start-end` (https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.1). e.g. bytes=0-1048576. Currently only single range value is supported. Both start and end need to be specified, end value should be greater than start and end - start should not be greater than 5MiB.
      required: true
      schema:
        type: string
    Accept:
      in: header
      name: Accept
      required: true
      description: Must be either \*/* or application/octet-stream,application/json
      schema:
        type: string
  securitySchemes:
    oauth2_authorization_code:
      description: 'Log in with FieldView OAuth2 provider (Authorization Code Grant). Used to authorize the client (partner) and

        user. 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
      flows:
        authorizationCode:
          authorizationUrl: https://climate.com/static/app-login/
          tokenUrl: https://api.climate.com/api/oauth/token
          scopes:
            platform: (DEPRECATED) Legacy scope used for some Platform APIs
            fields:read: Required for retrieving field and boundary information
            farmOrganizations:read: Required for retrieving farm organization information
            operations:read: Required for retrieving operation information
            resourceOwners:read: Required for retrieving resource owner information
            scouting:read: Required for retrieving user\'s scouting information
            exports:read: Required for requesting or retrieving exports
            fields:write: Required for uploading field boundaries
            imagery:write: Required for uploading imagery
            rx:write: Required for uploading prescriptions
            soil:write: Required for uploading soil sample results
            asApplied:read: Required for retrieving as applied data
            asApplied:write: Required for uploading application data
            asPlanted:read: Required for retrieving planting data
            asPlanted:write: Required for uploading planting data
            asHarvested:read: Required for retrieving harvest data
            asHarvested:write: Required for uploading harvest data
            diagnostics:read: Required for retrieving CNH machine diagnostic data
            plantingActivitySummary:read: Required for retrieving planting activity summary data
            customerInsights:read: Required for retrieving customer insights metrics data
            avroAgronomicData:read: Required for retrieving agronomic data
    api_key:
      description: 'API access key used to control throttling (429 responses).  This key is typically formatted:

        `partner-{name}-{uuid}`'
      type: apiKey
      name: X-Api-Key
      in: header
x-amazon-apigateway-api-key-source: AUTHORIZER