### Example Basic Authentication Header Source: https://dev.fieldview.com/api-details An example of a correctly formatted Basic authentication header. This is used for initial client credential authentication. ```http Authorization: Basic QWxhZGRpbjpPcGVuU2VzYW1l ``` -------------------------------- ### Band Metadata Example Source: https://dev.fieldview.com/imagery-platform/metadata An example of a band's metadata, including its key and an array of canonical tags like provider label, resolution, and wavelength. ```json { "key": "B1", "tags": [ { "isCanonical": true, "tag": "providerLabelId", "tagType": "string", "value": "0" }, { "isCanonical": true, "tag": "providerLabelName", "tagType": "string", "value": "B1" }, { "isCanonical": true, "tag": "resolution", "tagType": "measurement", "value": { "q": 60, "u": "meter" } }, { "isCanonical": true, "tag": "wavelengthMaximum", "tagType": "measurement", "value": { "q": 456, "u": "nanometer" } }, { "isCanonical": true, "tag": "wavelengthMinimum", "tagType": "measurement", "value": { "q": 411, "u": "nanometer" } } ] } ``` -------------------------------- ### Initialize Gipper Client Source: https://dev.fieldview.com/imagery-platform Initializes the Gipper client for authentication. This basic setup verifies that the necessary authentication components can be located. ```python from tcc_gipper.gipper import Gipper gipper = Gipper() ``` -------------------------------- ### Install FieldView Platform and tcc-gipper Source: https://dev.fieldview.com/imagery-platform Installs the necessary conda packages for interacting with the Geospatial Imagery Pipeline Platform. Ensure you have a Python 2 conda environment activated. ```bash conda create --name tcc-gipper-example python=2 conda activate tcc-gipper-example conda install fieldview-platform tcc-gipper ``` -------------------------------- ### Canonical Tag with Measurement Example Source: https://dev.fieldview.com/imagery-platform/metadata Example of a canonical tag, like solar azimuth angle, using the 'measurement' type. ```json { "isCanonical": true, "tag": "solarAzimuthAngle", "tagType": "measurement", "value": { "q": 145.38180772158, "u": "degree" } } ``` -------------------------------- ### Example Bearer Token Authorization Header Source: https://dev.fieldview.com/api-details An example of a correctly formatted Authorization header using a Bearer token. This token is obtained after the initial authentication and is used for API requests. ```http Authorization: Bearer 435a5f91-617a-427d-8609-3b43f5ad52d4 ``` -------------------------------- ### Get Product by ID Source: https://dev.fieldview.com/imagery-platform/libraries Retrieves a specific Product using its ID. Raises an HTTPError 404 if the product ID is not found. ```python get_product(product_id) ``` -------------------------------- ### Create Enrollment by Location (INTERVAL) Source: https://dev.fieldview.com/enrollments-details Creates an enrollment for a specific location with interval temporal data. Requires experimentId, locationId, and temporal entity details including start and end IDs. ```APIDOC ## POST /v5/enrollments ### Description Creates an enrollment for a specific location with interval temporal data. ### Method POST ### Endpoint /v5/enrollments ### Headers - **x-api-key** (string) - Required - API key for authentication. - **x-enrollment-type** (string) - Required - Must be 'location'. - **Authorization** (string) - Required - Bearer token for authentication. - **Content-Type** (string) - Required - Must be 'application/json'. ### Request Body - **experimentId** (string) - Required - The UUID of the experiment. - **experimentLocationStatus** (string) - Required - The status of the location in the experiment (e.g., NOMINATED, QUALIFIED, RECOMMENDED, SELECTED, ELIMINATED, CLOSED). - **locationId** (string) - Required - The UUID of the location. - **temporalEntity** (object) - Required - Details about the temporal aspect of the enrollment. - **dimensionality** (string) - Required - Must be 'INTERVAL'. - **startId** (string) - Required - The UUID provided by Climate for the start of the temporal interval. - **endId** (string) - Required - The UUID provided by Climate for the end of the temporal interval. - **temporalPeriodTypeName** (string) - Required - The type of temporal period (e.g., AgronomicSeason, LocalAgronomicSeason, LocalCropSeason, GrowingSeason). ### Request Example ```json { "experimentId":"5a73807f-9ea2-4cb8-b93a-d11a8ba99856", "experimentLocationStatus":"NOMINATED", "locationId":"c79883c7-d3b5-4a39-add3-d9e9fb861577", "temporalEntity": { "dimensionality": "INTERVAL", "startId": "6f97a3f0-3cd8-4458-a793-82906805e1b9", "endId": "25e56586-77b7-41aa-9362-e9cf39778340", "temporalPeriodTypeName": "GrowingSeason" } } ``` ``` -------------------------------- ### Create Experiment Source: https://dev.fieldview.com/enrollments-details Create a new experiment if the results from the GET experiments request are an empty array. The response contains the ID needed for enrollment. ```http POST /v5/experiments HTTP/1.1 Host: platform.climate.com Accept: application/json Content-Type: application/json x-api-key: api-key Authorization: Bearer token { "experimentEnrollmentId": "4b1a6ef3-a81c-4406-b58f-6ad2f5bf9f96", "name": "Test experiment", "temporalEntity": { "id": "29953bbd-2558-46db-831a-ec0a72d3762f", "dimensionality": "INDIVIDUAL", "temporalPeriodTypeName": "GrowingSeason" } } ``` -------------------------------- ### Get Versions of an Imagery Item Source: https://dev.fieldview.com/imagery-platform/apis Retrieves the list of versions for a specific imagery item. ```APIDOC ## GET /v4alpha/imagery/collections/{collectionId}/items/{itemId}/versions ### Description Get the list of versions of an item ### Method GET ### Endpoint /v4alpha/imagery/collections/{collectionId}/items/{itemId}/versions ``` -------------------------------- ### Non-Canonical Tag Example Source: https://dev.fieldview.com/imagery-platform/metadata Example of a non-canonical tag, such as a country code, with its type and value. ```json { "isCanonical": false, "tag": "secondAdministrativeDivisionCode", "tagType": "string", "value": "3510" } ``` -------------------------------- ### Get Enrollments by Program Source: https://dev.fieldview.com/enrollments-details Retrieves enrollment details for a specific enrollment ID, filtered by program. ```APIDOC ## GET /v5/enrollments/{enrollmentId} ### Description Retrieves enrollment details for a specific enrollment ID, filtered by program. ### Method GET ### Endpoint /v5/enrollments/{enrollmentId} ### Headers - **x-api-key** (string) - Required - API key for authentication. - **x-enrollment-type** (string) - Required - Must be 'program'. - **Authorization** (string) - Required - Bearer token for authentication. - **Accept** (string) - Required - Must be 'application/json'. ### Parameters #### Path Parameters - **enrollmentId** (string) - Required - The unique identifier of the enrollment to retrieve. ### Response #### Success Response (200) - **(Response structure not provided in source)** ### Response Example (Response example not provided in source) ``` -------------------------------- ### Get Enrollments by Program Source: https://dev.fieldview.com/enrollments-details Retrieve enrollments associated with a specific program using its ID. The x-enrollment-type header must be set to 'program'. ```http GET /v5/enrollments/f122289e-28fb-47fc-970a-e3f05ce0ed42 HTTP/1.1 Host: platform.climate.com Accept: application/json Content-Type: application/json x-api-key: api-key x-enrollment-type: program Authorization: Bearer token ``` -------------------------------- ### Get Versions of an Imagery Collection Source: https://dev.fieldview.com/imagery-platform/apis Retrieves the list of versions for a specific imagery collection. ```APIDOC ## GET /v4alpha/imagery/collections/{collectionId}/versions ### Description Get the list of versions of a collection ### Method GET ### Endpoint /v4alpha/imagery/collections/{collectionId}/versions ``` -------------------------------- ### Get Products for a Dataset Source: https://dev.fieldview.com/imagery-platform/libraries Retrieves all Products associated with a specific Dataset ID. Raises an HTTPError 404 if the dataset ID is not found. ```python get_dataset_products(dataset_id) ``` -------------------------------- ### Get Provider ID from Metadata Source: https://dev.fieldview.com/imagery-platform/libraries Identifies the platform name and original provider identifier from the provided metadata. ```python get_provider_id(metadata) ``` -------------------------------- ### Get Enrollments by Location Source: https://dev.fieldview.com/enrollments-details Retrieve enrollments associated with a specific location using its ID. The x-enrollment-type header must be set to 'location'. ```http GET /v5/enrollments/f122289e-28fb-47fc-970a-e3f05ce0ed42 HTTP/1.1 Host: platform.climate.com Accept: application/json Content-Type: application/json x-api-key: api-key x-enrollment-type: location Authorization: Bearer token ``` -------------------------------- ### Get Enrollments by Location Source: https://dev.fieldview.com/enrollments-details Retrieves enrollment details for a specific enrollment ID, filtered by location. ```APIDOC ## GET /v5/enrollments/{enrollmentId} ### Description Retrieves enrollment details for a specific enrollment ID, filtered by location. ### Method GET ### Endpoint /v5/enrollments/{enrollmentId} ### Headers - **x-api-key** (string) - Required - API key for authentication. - **x-enrollment-type** (string) - Required - Must be 'location'. - **Authorization** (string) - Required - Bearer token for authentication. - **Accept** (string) - Required - Must be 'application/json'. ### Parameters #### Path Parameters - **enrollmentId** (string) - Required - The unique identifier of the enrollment to retrieve. ### Response #### Success Response (200) - **(Response structure not provided in source)** ### Response Example (Response example not provided in source) ``` -------------------------------- ### Get Specific Version of an Imagery Item Source: https://dev.fieldview.com/imagery-platform/apis Retrieves a specific version of an imagery item. ```APIDOC ## GET /v4alpha/imagery/collections/{collectionId}/items/{itemId}/versions/{versionNumber} ### Description Get a version of a given item ### Method GET ### Endpoint /v4alpha/imagery/collections/{collectionId}/items/{itemId}/versions/{versionNumber} ``` -------------------------------- ### Find Nearest Weather Stations Source: https://dev.fieldview.com/imagery-platform/apis Gets the N nearest weather stations to a specified point. ```APIDOC ## GET /v4alpha/weather/stations/lookup/nearest ### Description Get the N nearest stations to a Point ### Method GET ### Endpoint /v4alpha/weather/stations/lookup/nearest ``` -------------------------------- ### Get Dataset by ID Source: https://dev.fieldview.com/imagery-platform/libraries Retrieves a specific Dataset using its ID. Ancillary metadata is excluded by default due to its size, but can be included by setting `exclude_ancillary_metadata` to `False`. Raises an HTTPError 404 if the dataset is not found. ```python get_dataset(dataset_id, exclude_ancillary_metadata=True) ``` -------------------------------- ### Create Enrollment by Program (Individual) Source: https://dev.fieldview.com/enrollments-details Use this endpoint to create an enrollment for a program with individual temporal entity. Ensure you have the required API key and authorization token. ```http POST /v5/enrollments HTTP/1.1 Host: platform.climate.com x-api-key: api-key x-enrollment-type: program Authorization: Bearer token Content-Type: application/json { "experimentProtocolId": "9030e693-e76b-40e8-b53a-dfc03ab20cfc", "temporalEntity": { "dimensionality": "INDIVIDUAL", "id": "c06e18a3-dbc2-43a4-8119-a2778c63e19d", "temporalPeriodTypeName": "GrowingSeason" } } ``` -------------------------------- ### Get Experiment ID Source: https://dev.fieldview.com/enrollments-details Use this request to get the experiment ID required for creating an enrollment. Ensure the experimentEnrollmentId query parameter is provided. ```http GET /v5/experiments?experimentEnrollmentId=4b1a6ef3-a81c-4406-b58f-6ad2f5bf9f96 HTTP/1.1 Host: platform.climate.com Accept: application/json Content-Type: application/json x-api-key: api-key Authorization: Bearer token ``` -------------------------------- ### Create Enrollment by Program (Interval) Source: https://dev.fieldview.com/enrollments-details Use this endpoint to create an enrollment for a program with interval temporal entity. Ensure you have the required API key and authorization token. ```http POST /v5/enrollments HTTP/1.1 Host: platform.climate.com x-api-key: api-key x-enrollment-type: program Authorization: Bearer token Content-Type: application/json { "experimentProtocolId": "9030e693-e76b-40e8-b53a-dfc03ab20cfc", "temporalEntity": { "dimensionality": "INTERVAL", "startId": "6f97a3f0-3cd8-4458-a793-82906805e1b9", "endId": "25e56586-77b7-41aa-9362-e9cf39778340", "temporalPeriodTypeName": "GrowingSeason" } } ``` -------------------------------- ### Create Enrollment by Program Source: https://dev.fieldview.com/enrollments-details This endpoint allows you to create a new enrollment for a customer into a specific program. You can specify the temporal entity as either an individual or an interval. ```APIDOC ## POST /v5/enrollments ### Description Creates an enrollment for a customer into a program. ### Method POST ### Endpoint /v5/enrollments ### Headers - **x-api-key** (string) - Required - Your API key. - **x-enrollment-type** (string) - Required - Must be 'program'. - **Authorization** (string) - Required - Bearer token for authentication. ### Request Body - **experimentProtocolId** (string) - Required - The UUID provided by Climate for the experiment protocol. - **temporalEntity** (object) - Required - Defines the time period for the enrollment. - **dimensionality** (string) - Required - Either 'INDIVIDUAL' or 'INTERVAL'. - **id** (string) - Required if dimensionality is 'INDIVIDUAL' - The UUID provided by Climate for the individual temporal entity. - **startId** (string) - Required if dimensionality is 'INTERVAL' - The UUID provided by Climate for the start of the interval. - **endId** (string) - Required if dimensionality is 'INTERVAL' - The UUID provided by Climate for the end of the interval. - **temporalPeriodTypeName** (string) - Required - The type of temporal period (e.g., 'AgronomicSeason', 'GrowingSeason'). ### Request Example (INDIVIDUAL) ```json { "experimentProtocolId": "9030e693-e76b-40e8-b53a-dfc03ab20cfc", "temporalEntity": { "dimensionality": "INDIVIDUAL", "id": "c06e18a3-dbc2-43a4-8119-a2778c63e19d", "temporalPeriodTypeName": "GrowingSeason" } } ``` ### Request Example (INTERVAL) ```json { "experimentProtocolId": "9030e693-e76b-40e8-b53a-dfc03ab20cfc", "temporalEntity": { "dimensionality": "INTERVAL", "startId": "6f97a3f0-3cd8-4458-a793-82906805e1b9", "endId": "25e56586-77b7-41aa-9362-e9cf39778340", "temporalPeriodTypeName": "GrowingSeason" } } ``` ### Response #### Success Response (201 Created) - **id** (string) - The unique identifier for the created enrollment. - **createdAt** (string) - The timestamp when the enrollment was created. - **dataLegitimacy** (string) - Indicates the legitimacy of the data. - **enrollmentStatus** (string) - The current status of the enrollment. - **experimentProtocolId** (string) - The UUID of the experiment protocol. - **itemStatus** (string) - The status of the enrollment item. - **temporalEntity** (object) - The temporal entity associated with the enrollment. - **id** (string) - The ID of the temporal entity. - **dimensionality** (string) - The dimensionality of the temporal entity. - **temporalPeriodTypeName** (string) - The type name of the temporal period. - **updatedAt** (string) - The timestamp when the enrollment was last updated. ### Response Example ```json { "id": "aed9b169-7c25-4e94-a632-3d507b769ab7", "createdAt": "2022-10-03T16:49:27.07", "dataLegitimacy": "LEGITIMATE", "enrollmentStatus": "APPROVED", "experimentProtocolId": "9030e693-e76b-40e8-b53a-dfc03ab20cfc", "itemStatus": "ACTIVE", "temporalEntity": { "id": "c06e18a3-dbc2-43a4-8119-a2778c63e19d", "dimensionality": "INDIVIDUAL", "temporalPeriodTypeName": "GrowingSeason" }, "updatedAt": "2022-10-03T16:49:27.07" } ``` ``` -------------------------------- ### Query Products with Filters Source: https://dev.fieldview.com/imagery-platform/libraries Fetches Products matching the provided filters, typically generated by `build_query_filter`. Ancillary metadata is excluded by default but can be included. Raises an HTTPError 404 if no products are found. ```python query_products(filters, exclude_ancillary_metadata=True) ``` -------------------------------- ### Create Enrollment by Location (INTERVAL) Source: https://dev.fieldview.com/enrollments-details Create an enrollment for a location with INTERVAL dimensionality. This requires startId and endId for the temporal entity. ```http POST /v5/enrollments HTTP/1.1 Host: platform.climate.com x-api-key: api-key x-enrollment-type: location Authorization: Bearer token Content-Type: application/json { "experimentId":"5a73807f-9ea2-4cb8-b93a-d11a8ba99856", "experimentLocationStatus":"NOMINATED", "locationId":"c79883c7-d3b5-4a39-add3-d9e9fb861577", "temporalEntity": { "dimensionality": "INTERVAL", "startId": "6f97a3f0-3cd8-4458-a793-82906805e1b9", "endId": "25e56586-77b7-41aa-9362-e9cf39778340", "temporalPeriodTypeName": "GrowingSeason" } } ``` -------------------------------- ### Get Specific Version of an Imagery Collection Source: https://dev.fieldview.com/imagery-platform/apis Retrieves a specific version of an imagery collection. ```APIDOC ## GET /v4alpha/imagery/collections/{collectionId}/versions/{versionNumber} ### Description Get a version of a collection ### Method GET ### Endpoint /v4alpha/imagery/collections/{collectionId}/versions/{versionNumber} ``` -------------------------------- ### Create Enrollment by Location (INDIVIDUAL) Source: https://dev.fieldview.com/enrollments-details Creates an enrollment for a specific location with individual temporal data. Requires experimentId, locationId, and temporal entity details. ```APIDOC ## POST /v5/enrollments ### Description Creates an enrollment for a specific location with individual temporal data. ### Method POST ### Endpoint /v5/enrollments ### Headers - **x-api-key** (string) - Required - API key for authentication. - **x-enrollment-type** (string) - Required - Must be 'location'. - **Authorization** (string) - Required - Bearer token for authentication. - **Content-Type** (string) - Required - Must be 'application/json'. ### Request Body - **experimentId** (string) - Required - The UUID of the experiment. - **experimentLocationStatus** (string) - Required - The status of the location in the experiment (e.g., NOMINATED, QUALIFIED, RECOMMENDED, SELECTED, ELIMINATED, CLOSED). - **locationId** (string) - Required - The UUID of the location. - **temporalEntity** (object) - Required - Details about the temporal aspect of the enrollment. - **dimensionality** (string) - Required - Must be 'INDIVIDUAL'. - **id** (string) - Required - The UUID provided by Climate for the temporal entity. - **temporalPeriodTypeName** (string) - Required - The type of temporal period (e.g., AgronomicSeason, LocalAgronomicSeason, LocalCropSeason, GrowingSeason). ### Request Example ```json { "experimentId":"5a73807f-9ea2-4cb8-b93a-d11a8ba99856", "experimentLocationStatus":"NOMINATED", "locationId":"c79883c7-d3b5-4a39-add3-d9e9fb861577", "temporalEntity":{ "dimensionality":"INDIVIDUAL", "id":"29953bbd-2558-46db-831a-ec0a72d3762f", "temporalPeriodTypeName":"GrowingSeason" } } ``` ``` -------------------------------- ### Create Enrollment by Location (INDIVIDUAL) Source: https://dev.fieldview.com/enrollments-details Create an enrollment for a location with INDIVIDUAL dimensionality. Ensure you provide the experimentId, experimentLocationStatus, locationId, and temporalEntity details. ```http POST /v5/enrollments HTTP/1.1 Host: platform.climate.com x-api-key: api-key x-enrollment-type: location Authorization: Bearer token Content-Type: application/json { "experimentId":"5a73807f-9ea2-4cb8-b93a-d11a8ba99856", "experimentLocationStatus":"NOMINATED", "locationId":"c79883c7-d3b5-4a39-add3-d9e9fb861577", "temporalEntity":{ "dimensionality":"INDIVIDUAL", "id":"29953bbd-2558-46db-831a-ec0a72d3762f", "temporalPeriodTypeName":"GrowingSeason" } } ``` -------------------------------- ### List Program Enrollments Source: https://dev.fieldview.com/enrollments-details Lists all enrollments for a specific program using its experimentProtocolId. ```http GET /v5/enrollments/?experimentProtocolId=9030e693-e76b-40e8-b53a-dfc03ab20cfc HTTP/1.1 Host: platform.climate.com Accept: application/json Content-Type: application/json x-api-key: api-key x-enrollment-type: program Authorization: Bearer token ``` -------------------------------- ### Get Imagery Collection by ID Source: https://dev.fieldview.com/imagery-platform/apis Retrieves a specific imagery collection using its unique identifier. ```APIDOC ## GET /v4alpha/imagery/collections/{collectionId} ### Description Get a collection by id ### Method GET ### Endpoint /v4alpha/imagery/collections/{collectionId} ``` -------------------------------- ### Download GeoTIFF from Geometry Source: https://dev.fieldview.com/imagery-platform/libraries Downloads a GeoTIFF file for a given product ID and geometry. Supports writing to a specified filename or an already opened file object. Raises an HTTPError 404 if the product ID is not found. ```python get_geotiff_from_geometry(product_id, geometry, write_to_filename=None, write_to_file=None) ``` -------------------------------- ### Get Imagery Collection Item by ID Source: https://dev.fieldview.com/imagery-platform/apis Retrieves a specific item within an imagery collection using its unique identifier. ```APIDOC ## GET /v4alpha/imagery/collections/{collectionId}/items/{itemId} ### Description Get an item by id ### Method GET ### Endpoint /v4alpha/imagery/collections/{collectionId}/items/{itemId} ``` -------------------------------- ### Download Imagery by Byte Range Source: https://dev.fieldview.com/imagery-platform/libraries Downloads a specified range of bytes from a TIF file for a given product ID. The byte range is specified in the format 'bytes=start-end'. Raises an HTTPError 404 if the product ID is not found. ```python download_imagery(bytes, product_id) ``` -------------------------------- ### Enrollment Creation Response Source: https://dev.fieldview.com/enrollments-details A successful enrollment creation returns a 201 Created status with the enrollment ID and other details. ```json { "id": "aed9b169-7c25-4e94-a632-3d507b769ab7", "createdAt": "2022-10-03T16:49:27.07", "dataLegitimacy": "LEGITIMATE", "enrollmentStatus": "APPROVED", "experimentProtocolId": "9030e693-e76b-40e8-b53a-dfc03ab20cfc", "itemStatus": "ACTIVE", "temporalEntity": { "id": "c06e18a3-dbc2-43a4-8119-a2778c63e19d", "dimensionality": "INDIVIDUAL", "temporalPeriodTypeName": "GrowingSeason" }, "updatedAt": "2022-10-03T16:49:27.07" } ``` -------------------------------- ### List enrollments by program Source: https://dev.fieldview.com/enrollments-details Retrieves a list of enrollments associated with a specific experiment protocol ID. ```APIDOC ## GET /v5/enrollments/ ### Description Retrieves a list of enrollments associated with a specific experiment protocol ID (for programs). ### Method GET ### Endpoint /v5/enrollments/ ### Query Parameters - `experimentProtocolId` (string) - Required - The ID of the experiment protocol to filter enrollments by. ### Headers - `x-api-key`: api-key - `x-enrollment-type`: program - `Authorization`: Bearer token ### Response (Response schema not provided in source) ``` -------------------------------- ### Batch Retrieve Imagery Products Source: https://dev.fieldview.com/imagery-platform/apis Retrieves multiple imagery products in a batch using a query. ```APIDOC ## POST /v4alpha/imagery/products/query ### Description Retrieve imagery products in batch ### Method POST ### Endpoint /v4alpha/imagery/products/query ``` -------------------------------- ### Query Datasets with Filters Source: https://dev.fieldview.com/imagery-platform/libraries Fetches Datasets matching the provided filters, typically generated by `build_query_filter`. Ancillary metadata is excluded by default but can be included. Raises an HTTPError 404 if no datasets are found. ```python query_datasets(filters, exclude_ancillary_metadata=True) ``` -------------------------------- ### Basic Authorization Header Format Source: https://dev.fieldview.com/api-details Use this format for the Authorization header when initially authenticating with your client ID and secret. Ensure there is a single space between 'Basic' and the encoded value. ```text Basic {base64_encode($clientId:$clientSecret)} ``` -------------------------------- ### Retrieve Imagery Product Contents Source: https://dev.fieldview.com/imagery-platform/apis Retrieves the binary contents of a specific imagery product. ```APIDOC ## GET /v4alpha/imagery/products/{productId}/contents ### Description Retrieve the binary contents of an imagery product ### Method GET ### Endpoint /v4alpha/imagery/products/{productId}/contents ``` -------------------------------- ### List Available Weather Networks Source: https://dev.fieldview.com/imagery-platform/apis Lists all available weather networks. ```APIDOC ## GET /v4alpha/weather/networks ### Description List all of the available networks ### Method GET ### Endpoint /v4alpha/weather/networks ``` -------------------------------- ### Authorization Header Format Source: https://dev.fieldview.com/api-details Details on how to format the Authorization header for API requests, including the initial Basic authentication and subsequent Bearer token authentication. ```APIDOC ## Authorization Header Formats ### Initial Authentication (Basic) To initiate the OAuth2 flow, a Basic authentication header is required, composed of your client ID and secret. ``` Basic {base64_encode($clientId:$clientSecret)} ``` **Example:** ``` Authorization: Basic QWxhZGRpbjpPcGVuU2VzYW1l ``` ### API Calls (Bearer Token) After obtaining an access token, use it in the Authorization header for all subsequent API calls. ``` Authorization: Bearer $access_token ``` **Example:** ``` Authorization: Bearer 435a5f91-617a-427d-8609-3b43f5ad52d4 ``` ### Error Response for Missing Authorization If the Authorization header is missing, the API returns a 401 Unauthorized status. ```json { "message": "Unauthorized" } ``` ``` -------------------------------- ### Retrieve Imagery Product Tiles Source: https://dev.fieldview.com/imagery-platform/apis Retrieves tiles for a specific imagery product at a given zoom level and tile coordinates. ```APIDOC ## GET /v4alpha/tiles/imagery/{productId}/{zoom}/{x}/{y} ### Description Retrieve the imagery product tiles ### Method GET ### Endpoint /v4alpha/tiles/imagery/{productId}/{zoom}/{x}/{y} ``` -------------------------------- ### Retrieve and Print Dataset Metadata Source: https://dev.fieldview.com/imagery-platform Retrieves and prints the full metadata for a specified dataset using its UUID. Requires the Gipper client to be initialized and authentication to be set up. ```python from tcc_gipper.gipper import Gipper from tcc_gipper.utils import print_json gipper = Gipper() dataset = gipper.get_dataset("3412b3e6-092f-4793-9c52-012dad48507e") print_json(dataset) ``` -------------------------------- ### Retrieve Imagery Products for a Dataset Source: https://dev.fieldview.com/imagery-platform/apis Retrieves all imagery products associated with a given imagery dataset. ```APIDOC ## GET /v4alpha/imagery/datasets/{datasetId}/products ### Description Retrieve imagery products associated with the given dataset ### Method GET ### Endpoint /v4alpha/imagery/datasets/{datasetId}/products ``` -------------------------------- ### List Location Enrollments Source: https://dev.fieldview.com/enrollments-details Lists all enrollments for a specific location using its experimentId. ```http GET /v5/enrollments?experimentId=5a73807f-9ea2-4cb8-b93a-d11a8ba99856 HTTP/1.1 Host: platform.climate.com Accept: application/json Content-Type: application/json x-api-key: api-key x-enrollment-type: location Authorization: Bearer token ``` -------------------------------- ### Layers API - As Planted Source: https://dev.fieldview.com/technical-documentation Endpoints for retrieving as-planted data. ```APIDOC ## GET /v4/layers/asPlanted ### Description Retrieve a list of planting activities. ### Method GET ### Endpoint /v4/layers/asPlanted ``` ```APIDOC ## GET /v4/layers/asPlanted/{activityId}/contents ### Description Retrieve the raw planting activity. ### Method GET ### Endpoint /v4/layers/asPlanted/{activityId}/contents ``` ```APIDOC ## GET /v4/layers/asPlanted/{activityId} ### Description Retrieve the summary of an activity as planted agronomic data. ### Method GET ### Endpoint /v4/layers/asPlanted/{activityId} ``` -------------------------------- ### Update Program Enrollment (INTERVAL) Source: https://dev.fieldview.com/enrollments-details Use this to update a program enrollment with INTERVAL dimensionality. The enrollment ID, experimentProtocolId, and temporalEntity start/end IDs are required. ```http PUT /v5/enrollments/f122289e-28fb-47fc-970a-e3f05ce0ed42 HTTP/1.1 Host: platform.climate.com x-api-key: api-key x-enrollment-type: program Authorization: Bearer token Content-Type: application/json { "experimentProtocolId": "9030e693-e76b-40e8-b53a-dfc03ab20cfc", "temporalEntity": { "dimensionality": "INTERVAL", "startId": "6f97a3f0-3cd8-4458-a793-82906805e1b9", "endId": "25e56586-77b7-41aa-9362-e9cf39778340", "temporalPeriodTypeName": "GrowingSeason" } } ``` -------------------------------- ### Build Gipper Query Filter Source: https://dev.fieldview.com/imagery-platform/libraries Constructs a GIPPer query filter from a JSON object. Use this to define spatial and temporal extents, platform names, and product types for data queries. ```python aoi = { "coordinates": [ [ [-93.35100173950195, 43.34147216799038], [-93.31821441650389, 43.34147216799038], [-93.31821441650389, 43.35869836463847], [-93.35100173950195, 43.35869836463847], [-93.35100173950195, 43.34147216799038] ] ], "crs": { "properties": { "name": "EPSG:4326" }, "type": "name" }, "type": "Polygon" } aoi = { "coordinates": [ [ [-93.35100173950195, 43.34147216799038], [-93.31821441650389, 43.34147216799038], [-93.31821441650389, 43.35869836463847], [-93.35100173950195, 43.35869836463847], [-93.35100173950195, 43.34147216799038] ] ], "crs": { "properties": { "name": "EPSG:4326" }, "type": "name" }, "type": "Polygon" } toi = { "startTime": "2018-01-01T00:00:00.00Z", "endTime": datetime.now().strftime("%Y-%m-%dT%H:%M:%S.00Z") } platform_names = ["RapidEye", "Sentinel2"] product_types": ["Raw", "GeoTrellisTiles"] methods = { "geometry": "covers", "temporal": "range" } filter_json = { "aoi": aoi, "toi": toi, "methods": methods, "platformName": platform_names, "productType": product_types } ``` -------------------------------- ### Retrieve Imagery Product by ID Source: https://dev.fieldview.com/imagery-platform/apis Retrieves a specific imagery product using its unique identifier. ```APIDOC ## GET /v4alpha/imagery/products/{productId} ### Description Retrieve imagery product by ID ### Method GET ### Endpoint /v4alpha/imagery/products/{productId} ``` -------------------------------- ### List enrollments by location Source: https://dev.fieldview.com/enrollments-details Retrieves a list of enrollments associated with a specific experiment ID. ```APIDOC ## GET /v5/enrollments/ ### Description Retrieves a list of enrollments associated with a specific experiment ID (for locations). ### Method GET ### Endpoint /v5/enrollments/ ### Query Parameters - `experimentId` (string) - Required - The ID of the experiment to filter enrollments by. ### Headers - `x-api-key`: api-key - `x-enrollment-type`: location - `Authorization`: Bearer token ### Response (Response schema not provided in source) ``` -------------------------------- ### Layers API - As Applied Source: https://dev.fieldview.com/technical-documentation Endpoints for retrieving as-applied data. ```APIDOC ## GET /v4/layers/asApplied ### Description Retrieve a list of application activities. ### Method GET ### Endpoint /v4/layers/asApplied ``` ```APIDOC ## GET /v4/layers/asApplied/{activityId}/contents ### Description Retrieve the raw application activity. ### Method GET ### Endpoint /v4/layers/asApplied/{activityId}/contents ``` ```APIDOC ## GET /v4/layers/asApplied/{activityId} ### Description Retrieve the summary of an activity as applied agronomic data. ### Method GET ### Endpoint /v4/layers/asApplied/{activityId} ``` -------------------------------- ### Update enrollments by program Source: https://dev.fieldview.com/enrollments-details Updates an existing enrollment associated with a program. Requires the enrollment ID and new experiment protocol ID and/or temporal entity ID. ```APIDOC ## PUT /v5/enrollments/{enrollmentId} ### Description Updates an enrollment associated with a program. Requires the enrollment ID and new experiment protocol ID and/or temporal entity ID. ### Method PUT ### Endpoint /v5/enrollments/{enrollmentId} ### Headers - `x-api-key`: api-key - `x-enrollment-type`: program - `Authorization`: Bearer token ### Request Body - `experimentProtocolId` (string) - Required - The ID of the experiment protocol. - `temporalEntity` (object) - Required - The temporal entity associated with the enrollment. - `id` (string) - Required for INDIVIDUAL dimensionality - The ID of the temporal entity. - `dimensionality` (string) - Required - The dimensionality of the temporal entity (e.g., INDIVIDUAL, INTERVAL). - `temporalPeriodTypeName` (string) - Required - The type of temporal period. - `startId` (string) - Required for INTERVAL dimensionality - The start ID for the interval. - `endId` (string) - Required for INTERVAL dimensionality - The end ID for the interval. ### Request Example (INDIVIDUAL) ```json { "experimentProtocolId": "9030e693-e76b-40e8-b53a-dfc03ab20cfc", "temporalEntity": { "id": "c06e18a3-dbc2-43a4-8119-a2778c63e19d", "dimensionality": "INDIVIDUAL", "temporalPeriodTypeName": "GrowingSeason" } } ``` ### Request Example (INTERVAL) ```json { "experimentProtocolId": "9030e693-e76b-40e8-b53a-dfc03ab20cfc", "temporalEntity": { "dimensionality": "INTERVAL", "startId": "6f97a3f0-3cd8-4458-a793-82906805e1b9", "endId": "25e56586-77b7-41aa-9362-e9cf39778340", "temporalPeriodTypeName": "GrowingSeason" } } ``` ``` -------------------------------- ### Retrieve Clipped Imagery Product Contents Source: https://dev.fieldview.com/imagery-platform/apis Retrieves the binary contents of an imagery product, clipped to a specified geometry. ```APIDOC ## POST /v4alpha/imagery/products/{productId}/contents ### Description Retrieve the binary contents of an imagery product clipped to a geometry ### Method POST ### Endpoint /v4alpha/imagery/products/{productId}/contents ``` -------------------------------- ### Upload a Boundary Source: https://dev.fieldview.com/technical-documentation Uploads a new Field Boundary. ```APIDOC ## POST /v4/boundaries ### Description Upload a boundary. ### Method POST ### Endpoint /v4/boundaries ``` -------------------------------- ### Update Program Enrollment (INDIVIDUAL) Source: https://dev.fieldview.com/enrollments-details Use this to update a program enrollment with INDIVIDUAL dimensionality. The enrollment ID, experimentProtocolId, and temporalEntity ID are required. ```http PUT /v5/enrollments/f122289e-28fb-47fc-970a-e3f05ce0ed42 HTTP/1.1 Host: platform.climate.com x-api-key: api-key x-enrollment-type: program Authorization: Bearer token Content-Type: application/json { "experimentProtocolId": "9030e693-e76b-40e8-b53a-dfc03ab20cfc", "temporalEntity": { "id": "c06e18a3-dbc2-43a4-8119-a2778c63e19d", "dimensionality": "INDIVIDUAL", "temporalPeriodTypeName": "GrowingSeason" } } ``` -------------------------------- ### Search Imagery Catalog (Batch) Source: https://dev.fieldview.com/imagery-platform/apis Retrieves the root catalog or collections matching specified filters using a batch query. ```APIDOC ## POST /v4alpha/imagery/search/ ### Description Retrieve the root catalog or collections matching filters ### Method POST ### Endpoint /v4alpha/imagery/search/ ``` -------------------------------- ### Imagery Product Metadata Structure Source: https://dev.fieldview.com/imagery-platform/metadata This JSON object represents the metadata for an imagery product. It includes dataset and product identifiers, ingestion and update timestamps, and details about the product's bands. ```json { "crs": "EPSG:32618", "datasetId": "3412b3e6-092f-4793-9c52-012dad48507e", *1 "format": "", "id": "9f583554-acb0-4784-8a69-651f92f89fc1", *2 "ingestDatetime": "2018-06-29T13:53:09.872Z", *3 "name": "", "previousVersion": null, "productType": "", "tags": [], *4 "updateDatetime": "2018-06-29T13:53:09.872Z", *5 "uri": "", "productBands": [ *6 { "key": "B2", "offset": 2 }, { "key": "B3", "offset": 1 }, { "key": "B4", "offset": 0 }, { "key": "B8", "offset": 3 } ] } ``` -------------------------------- ### Dataset Class Methods Source: https://dev.fieldview.com/imagery-platform/libraries Methods associated with the Dataset class for accessing its properties and related products. ```APIDOC ## Dataset.dataset ### Description A property that references the parent Dataset of this Product. ### Type Dataset ``` ```APIDOC ## Dataset.acquisition_start_time ### Description A property referencing a datetime with timezone of iso8601.Utc. This property is parsed from the dataset acquisitionStartTime metadata. ### Type datetime ``` ```APIDOC ## Dataset.acquisition_end_time ### Description A property referencing a datetime with timezone of iso8601.Utc. This property is parsed from the dataset acquisitionEndTime metadata. ### Type datetime ``` ```APIDOC ## Dataset.products ### Description A property referencing the list of Products associated with this Dataset. ### Type list ``` ```APIDOC ## Dataset.find_product(name=None, type=None, format=None) ### Description If no name, type or format are specified, then the first product in the list of products is returned. If any of name, type and format are specified with values other than None, then a linear search is performed in an attempt to find a product meeting the specified criteria. If a match is found that Product is returned. Otherwise, None is returned. ### Parameters - **name** (string) - Optional - The name of the product to find. - **type** (string) - Optional - The type of the product to find. - **format** (string) - Optional - The format of the product to find. ### Returns Product or None ``` -------------------------------- ### Update Location Enrollment (INTERVAL) Source: https://dev.fieldview.com/enrollments-details Use this to update a location enrollment with INTERVAL dimensionality. The enrollment ID, experimentId, locationId, and temporalEntity start/end IDs are required. ```http PUT /v5/enrollments/f122289e-28fb-47fc-970a-e3f05ce0ed42 HTTP/1.1 Host: platform.climate.com x-api-key: api-key x-enrollment-type: location Authorization: Bearer token Content-Type: application/json { "experimentId": "5a73807f-9ea2-4cb8-b93a-d11a8ba99856", "experimentLocationStatus": "NOMINATED", "locationId": "c79883c7-d3b5-4a39-add3-d9e9fb861577", "temporalEntity": { "dimensionality": "INTERVAL", "startId": "6f97a3f0-3cd8-4458-a793-82906805e1b9", "endId": "25e56586-77b7-41aa-9362-e9cf39778340", "temporalPeriodTypeName": "GrowingSeason" } } ``` -------------------------------- ### Required X-Api-Key Header Source: https://dev.fieldview.com/api-details This header is required for all calls to the Climate FieldView APIs to control throttling and record usage metrics. ```text X-Api-Key: -b6b21726-a1db-46b9-be56-16532a0452d2 ``` -------------------------------- ### Retrieve Imagery Asset Source: https://dev.fieldview.com/imagery-platform/apis Retrieves an imagery asset using its path. ```APIDOC ## GET /v4alpha/imagery/asset/{assetPath+} ### Description Retrieve the imagery asset ### Method GET ### Endpoint /v4alpha/imagery/asset/{assetPath+} ``` -------------------------------- ### STAC Landing Page Source: https://dev.fieldview.com/imagery-platform/apis Provides the STAC (SpatioTemporal Asset Catalog) landing page for imagery. ```APIDOC ## GET /v4alpha/imagery/ ### Description STAC landing page ### Method GET ### Endpoint /v4alpha/imagery/ ```