These endpoints manage the suppliers of a project.
Satelligence API (v1)
The satelligence API provides 4 capabilities to synchronize data to and from the platform:
- Bulk uploads
A full fledged set of endpoints to manage supply chain data in the platform. Use this endpoint to set up automated data synchronization of supply chain data to the Satelligence platform and fully leverage the risk assessment and mitigation features inside the platform.
- Plot downloads
An endpoint that can serve to sync plot data from the platform into your own systems. It can serve both plot metadata, geometries, and risk assessments from the platform.
- Jurisdictions new!
Access jurisdiction-level deforestation risk assessments for administrative regions worldwide. Filter by country, risk level, and regulatory framework cutoff date (EUDR, RSPO, etc.) to get pre-computed values and risk information.
- Get Risk Info
A lightweight endpoint to access geospatial risk information for a given boundary without uploading supply chain data to the platform. Use this endpoint to leverage the Satelligence geospatial data but build your own risk assessment and mitigation strategies outside of the Satelligence platform.
Authentication requires an API token, contact support@satelligence.com to request one. To authenticate your requests, set the Authorization: Bearer $token header in your requests.
The token is connected to a personal account, it will have the same permissions as the account that created it. If the linked user belongs to multiple projects, the token will default to the 'active project' for that user.
Bulk Uploads
These endpoints give full control over supply chain data uploads and ingestion.
For a bulk upload, plots must be formatted as a GeoJSON file and uploaded to a secure location in Satelligence's Google Cloud Storage bucket through a signed URL. The complete process consists of three steps:
- Create a bulk upload with the POST
/bulk-uploadsendpoint, which generates signed URLs for each file you want to upload. - Use the signed URLs to upload the files to the required place for this upload.
- Start the bulk upload with the POST
/bulk-uploads/startendpoint.
The process can be automated with the scripts linked here.
Request
Creates a new supplier and returns its supplierId.
Supplier names are unique within a project. Creating a supplier with a name that is already in use returns a '400 Bad Request' error. Leading and trailing whitespace is removed from the name before it is compared with the existing suppliers.
Name of the supplier to create. Leading and trailing whitespace is removed. Must be unique within the project.
- Mock serverhttps://docs.satelligence.com/_mock/api/v1/suppliers
- Production serverhttps://api.satelligence.com/v1/suppliers
- Python
- JavaScript
- curl
- C#
- Go
- Java
- Payload
import requests
url = "https://docs.satelligence.com/_mock/api/v1/suppliers"
payload = {
"name": "Lumon Industries",
"projectId": "string"
}
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer <YOUR_TOKEN_HERE>"
}
response = requests.post(url, json=payload, headers=headers)
data = response.json()
print(data){ "supplierId": "k5Pd2nLq6mWcYbSwmqXi", "name": "Lumon Industries" }
Request
Deletes a supplier, together with all of its plots and mills.
Deletion is asynchronous: the endpoint returns once the deletion has been started, and the supplier and its data are removed shortly afterwards.
Deletion is not possible while a change to the supplier's plots or mills is in progress, or while a project-wide plot or mill change is in progress. In those cases a '409 Conflict' error is returned and the request can be retried once the change has finished.
- Mock serverhttps://docs.satelligence.com/_mock/api/v1/suppliers/{supplierId}
- Production serverhttps://api.satelligence.com/v1/suppliers/{supplierId}
- Python
- JavaScript
- curl
- C#
- Go
- Java
- Payload
import requests
supplier_id = "YOUR_supplierId_PARAMETER"
url = "https://docs.satelligence.com/_mock/api/v1/suppliers/" + supplier_id
query = {
"projectId": "string"
}
headers = {"Authorization": "Bearer <YOUR_TOKEN_HERE>"}
response = requests.delete(url, headers=headers, params=query)
data = response.json()
print(data)Jurisdictions - New!
These endpoints provide access to jurisdiction-level deforestation risk assessments. Jurisdictions are administrative regions for which risk assessments were pre-computed for different regulatory frameworks. For more information, visit the Resource Center page on Jurisdictions.