The Climate Corporation Boundaries API

Field Boundary data endpoints.

Business capability
Field and Parcel Management BC-3540.20

Operations 3

GET /v4/boundaries/{boundaryId} Retrieve a Boundary by ID #
POST /v4/boundaries/query Retrieve Boundaries in batch #
POST /v4/boundaries Upload a boundary #

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-boundaries-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-boundaries-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Climate FieldView Platform Boundaries 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: Boundaries
  description: Field Boundary data endpoints.
paths:
  /v4/boundaries/{boundaryId}:
    get:
      summary: Retrieve a Boundary by ID
      description: Retrieve a **Boundary** by ID.
      operationId: fetchBoundaryById
      tags:
      - Boundaries
      security:
      - api_key: []
      - oauth2_authorization_code:
        - platform
        - fields:read
      parameters:
      - $ref: '#/components/parameters/BoundaryId'
      responses:
        '200':
          $ref: '#/components/responses/FetchBoundaryByIdOk'
        '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/boundaries/query:
    post:
      summary: Retrieve Boundaries in batch
      description: Retrieve multiple **Boundaries** (up to 10 per request).
      operationId: fetchBoundaries
      tags:
      - Boundaries
      security:
      - api_key: []
      - oauth2_authorization_code:
        - fields:read
      responses:
        '200':
          $ref: '#/components/responses/FetchBoundariesOk'
        '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'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BoundariesQuery'
  /v4/boundaries:
    post:
      summary: Upload a boundary
      description: 'Upload a **Boundary** entry by passing the geometry of the boundary. This will store the boundary but will not create field in Climate FieldView and will not link to an existing field in Climate FieldView.

        This is restricted to callers with **boundaries:write** scope.

        To upload a field boundary for field creation in Climate FieldView, please use **POST /v4/uploads**.'
      operationId: uploadBoundary
      tags:
      - Boundaries
      security:
      - api_key: []
      - oauth2_authorization_code:
        - boundaries:write
      responses:
        '200':
          $ref: '#/components/responses/UploadBoundaryOk'
        '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'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BoundaryUpload'
components:
  schemas:
    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.
    UploadedBoundaryId:
      description: Unique identifier of a successfully uploaded boundary
      required:
      - id
      properties:
        id:
          type: string
          format: uuid
    Geometry:
      description: GeoJSON
      required:
      - type
      - coordinates
      properties:
        type:
          type: string
          enum:
          - Point
          - Polygon
          - MultiPolygon
        coordinates:
          type: array
          items:
            type: string
      example:
        type: Point
        coordinates:
        - 0
        - 0
    Boundaries:
      description: A batch of boundary results
      required:
      - type
      - features
      properties:
        type:
          type: string
          enum:
          - FeatureCollection
        features:
          type: array
          items:
            $ref: '#/components/schemas/Boundary'
    Boundary:
      description: Arbitrary boundary.  GeoJSON Feature.
      required:
      - id
      - type
      - geometry
      - properties
      properties:
        id:
          type: string
          format: uuid
        type:
          type: string
          enum:
          - Feature
        geometry:
          $ref: '#/components/schemas/Geometry'
        properties:
          $ref: '#/components/schemas/BoundaryProperties'
    Area:
      description: Area with units. Units are always "hectare".
      required:
      - q
      - u
      properties:
        q:
          type: number
          format: float
        u:
          type: string
      example:
        q: 1
        u: hectare
    BoundaryUpload:
      description: Arbitrary boundary in a geometry map
      required:
      - geometry
      properties:
        geometry:
          $ref: '#/components/schemas/Geometry'
    BoundaryProperties:
      description: Properties map.
      required:
      - area
      - centroid
      properties:
        area:
          $ref: '#/components/schemas/Area'
        centroid:
          $ref: '#/components/schemas/Point'
    BoundariesQuery:
      type: object
      required:
      - ids
      properties:
        ids:
          type: array
          items:
            description: Unique identifier for the boundary.
            type: string
            format: uuid
    Point:
      required:
      - coordinates
      - type
      properties:
        coordinates:
          type: array
          items:
            type: number
            format: float
        type:
          type: string
      example:
        type: Point
        coordinates:
        - -122.2
        - 38.1
  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'
    FetchBoundaryByIdOk:
      description: OK
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Boundary'
    '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'
    FetchBoundariesOk:
      description: OK
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Boundaries'
    '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'
    UploadBoundaryOk:
      description: OK
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/UploadedBoundaryId'
    '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'
    '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:
    BoundaryId:
      in: path
      description: Unique identifier of the Boundary
      name: boundaryId
      required: true
      schema:
        type: string
        format: uuid
  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