Table of Contents

Environments

Pure Farming provides three public facing Environments:

Note

There are three components to each environment:

  • APIs (data, ecosystem etc)
  • Authentication
  • End user Portals

APIs

Each of the below APIs is provided in each environment, and has it's own base URL as below.

API Prefix Description
Data /data/ The Data API provides access to agricultural data using a discoverable REST structure.
Reference Data /reference/ The Reference API provides access to static, or infrequently changing sets of data intended to be used as references.
Streaming /streaming/ The Streaming API provides access to agriculture data, in a way that makes systems synchronization straightforward.
OGC Features /ogc/ The OGC Features compliant API, provides access to spatial data using an API that conforms to the OGC Features specification.
Ecosystem /ecosystem/ The Ecosystem API provides access to functions that allow access and system controls to be managed programmatically.

Authentication

There are several ways to get the URLs necessary to authenticate, below are listed the main URLs you will need. Note: Each of the URLs below is relative to the base endpoint for the particular environment, so for example the well-known URL for production is:
https://signin.purefarming.com/auth/realms/moa/.well-known/openid-configuration

Name URL Description
Well Known /realms/moa/.well-known/openid-configuration This is the well known configuration file for our authentication provider.
Authorisation /realms/moa/protocol/openid-connect/auth This is the authorisation endpoint to initiate a browser login flow.
Token /realms/moa/protocol/openid-connect/token This is the token endpoint to exchange codes and refresh access tokens.
User Info /realms/moa/protocol/openid-connect/userinfo This is the user info endpoint to get information about the authenticated user.

The issuer for all tokens will be - /realms/moa, so for production it would be - https://signin.purefarming.com/auth/realms/moa.

Open API Specifications

Each of our APIs exposes an OpenAPI specification to allow for interrogation and client generation. For more information on client generation see the Integration Guide.

The paths for the OpenAPI specifications are below, note that they will vary with the environment.

API Path
Data /data/spec/data/oas3.json
Streaming /data/spec/streaming/oas3.json
OGC Features /data/spec/ogc/oas3.json
Reference Data /reference/breeds/openapi.json
Ecosystem /ecosystem/v1/swagger.json

Each of the above depends is the path for a given OpenAPI specification, noting the variances in the Host as described below per Environment.

Endpoints

Below are all the endpoints for each environment that we support.

Testing

Endpoint URL
API https://api.test.purefarming.com/
Authentication https://signin.test.purefarming.com/auth
Provider Portal https://provider.test.purefarming.com/
Discovery Portal https://discovery.test.purefarming.com/

IP Addresses

Below are the IP Addresses for the Pure Farming Testing environment. Please use these if you need to whitelist IP addresses for incoming traffic. This is particularly important if you use webhooks to receive changes in data.

Region Address
eu-west-1 34.251.177.122
ap-southeast-2 13.210.35.144

Demo

Endpoint URL
API https://api.demo.purefarming.com/
Authentication https://signin.demo.purefarming.com/auth
Provider Portal https://provider.demo.purefarming.com/
Discovery Portal https://discovery.demo.purefarming.com/

Production

Note

Please note that all of the Production URLs do not have the environment name in them. This means that the production version of the Discovery portal is located at: https://discovery.purefarming.com not https://discovery.prod.purefarming.com.

Endpoint URL
API https://api.purefarming.com/
Authentication https://signin.purefarming.com/auth
Provider Portal https://provider.purefarming.com/
Discovery Portal https://discovery.purefarming.com/

IP Addresses

Below are the IP Addresses for the Pure Farming Production environment. Please use these if you need to whitelist IP addresses for incoming traffic. This is particularly important if you use webhooks to receive changes in data.

Region Address
eu-west-1 52.211.105.32
ap-southeast-2 3.24.245.193