Introduction

The UP42 API specification is a work under development where updates and new endpoints are added as needed. If there is anything that you would like to do with our API but it is not listed here, please contact the support team.

Please note that all API requests are made over HTTPS.

The source code of the specification is available on GitHub.

Alternatively, we recommend reading the step-by-step instructions from the API walkthrough.

Project Credentials

Currently, accessing the UP42 API is on a project by project basis. The authorization token is generated based on a Project ID and Project API Key that are found in the section Developers on the console. This token can only be used for a specific project.

Note: We advise to safely store the Project ID and Project API Key and never share them with other users, because these credentials allow anyone to access your project and consume the UP42 credits associated with your account.

API Usage Constraints

Our mission is to optimize the access and usage of the diverse geospatial datasets and algorithms available on our marketplace. We expect that the UP42 API is used in a responsible and effective manner.

To prevent API abuse, we set up API usage constraints to guarantee the integrity and reliability of our service for all customers.

Rate limiting

Based on the client IP address, we limit the number of HTTP requests that can be made with our API for a given time.

Current limit: 100 requests/second for extended periods (including the possibility to burst up to 500 requests/second in a very short period). Once the limit is exceeded, the API returns a 429 Too Many Requests response status code.

If you ever experience such an error code, please do one of the following:

  • Adjust the request rate from your UP42 API client application such that the request rate follows an exponential backoff growth rate.
  • Contact the customer support team and request the removal of this restriction, while providing a justification for this action. The customer support team will analyze the requests on a case-by-case basis and can waive this restriction for paying customers who provided a proper justification.

Authentication

basicAuth

Security Scheme Type HTTP
HTTP Authorization Scheme basic

httpBearer

Security Scheme Type HTTP
HTTP Authorization Scheme bearer
Bearer format "JWT"

token

Get the bearer token

Get the bearer token necessary for all API requests.

Authorizations:
header Parameters
Authorization
required
string
Example: MWIwMDE1ZTMtY2M0Zi00ZGE2LTk3NjEtZmJhNzRiYTU3ZjY3OjFkSmVDSVZ4LmV4MGVVNkdSbFhTWUVvNzJJY3c5cHF1ZDdORmJ4dUhxYUp6Cg==

The username:password string Base64 encoded. username is the project ID and password is the project key.

Content-Type
required
string
Example: application/x-www-form-urlencoded
Request Body schema: application/x-www-form-urlencoded
string

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "error": null,
  • "access_token": "eyJ0eXAiOiJKV1QiLCJraWQiOiIxIiwidG9rZW5fdHlwZSI6IkFDQ0VTUyIsImFsZyI6IlJTNTEyIn0.eyJpc3MiOiJiYWNrZW5kLWNvcmUiLCJqdGkiOiI1ODdkMTQ3My05ODU5LTRhMDAtYTUwNS1iZTgwMDUzYmJiMzUiLCJpYXQiOjE1NzU5NzE1ODEsInN1YiI6IjFiMDAxNWUzLWNjNGYtNGRhNi05NzYxLWZiYTc0YmE1N2Y2NyIsImF1ZCI6IjFiMDAxNWUzLWNjNGYtNGRhNi05NzYxLWZiYTc0YmE1N2Y2NyIsImV4cCI6MTU3NTk3MTg4MSwiYXV0aG9yaXRpZXMiOlsiVklFV19QUk9KRUNUIiwiUlVOX0pPQiJdfQ.hgJkzcokxZQpEc5walhzDqMubBgT_ukmRLd1-mqBHZBv8hMI-7rJaLaA1-ZB5P5CgLvzUyjkeq4gwuXZgmx7Q0nufnI6qC8gxSOEGjfb-sS4wHew7zhPXwNfhuv0CmhMeHpQXyjxdlKxf4cWbhK3PVQkHMCnxvJkw1T7RJ_XolEzRN2g2ocM-hzhLM3UVhzqyeD_qVr1yCjZzs32gsekmPQkW_XmflrSgzl7AhHxQK9psC3h3H6HveT2WmnYqvnb-a3v8FJTCC21S5KCAV1qj-Hlv1vTUDRoQK5TsH4oklvnmqfU0ylmCDPRKihcyUgFvf5wdcebDgbUHHvlz8gEsTaMGEEDmfzXCQwr9e4bgzildOiqzsS2tRf2m1bJAYF-vQ5Yfsv5mt0xauTEaWARAfe5WzoLKQ7Ex3WKuLnzZlzKZ-BKQuP31rk-O4F-784RM60nto6aQh1Yl3uUVSTRMQ4SwsOO3RWvIP52CqeM4EMXjfLZDsOOuXIlmiVRXSRFi7yY0uC-5DKMkkeBw-RXh2wGMF7axB2Wo7fbcpr2vszkdbGKg-kw2bF_oHd_20riBAUBV0kWC3XGYkDOunUPLDqFhtDQRS-GlL8aDoYX8pe19qiUzLXX3QWLb95FkNyz6w8MjMEMkatSfLhrYX7PHNI3VAa59IB0NdRCi4arDig",
  • "refresh_token": null
}

workflows

Get compatible blocks in a workflow

Validates if a block added to a workflow is compatible with the other blocks of that workflow. If no parent or child blocks (workflow tasks) are given, then all blocks that have empty input capabilities are returned.

Authorizations:
path Parameters
required
object (ProjectID)
Example: 1b0015e3-cc4f-4da6-9761-fba74ba57f67

The project ID is the string that appears in the URL when in the console, e.g., https://console.up42.com/projects/1b0015e3-cc4f-4da6-9761-fba74ba57f67. It is the component of the URL after projects.

required
object (WorkflowID)
Example: b16f2676-1420-4146-b000-529b9ee2b724

The workflow ID is the UUID for a specific workflow, e.g., in the URL https://console.up42.com/projects/1b0015e3-cc4f-4da6-9761-fba74ba57f67/workflows/b16f2676-1420-4146-b000-529b9ee2b724. It is the component of the URL after workflows.

query Parameters
parentTaskName
string
Example: parentTaskName=sobloo-s1-grd-aoiclipped:1

The first workflow task that will be the parent of the next task added in the workflow. Adding multiple parents is currently not possible.

childTaskName
string
Example: childTaskName=tiling:1

The workflow task that will be the child of the previous task from the workflow. Multiple children can be provided by repeating the parameter. Adding multiple children is possible when the workflow is a tree, i.e., a given node in the directed graph representing the workflow has a unique path for more than one node. Example: a workflow where a data block feeds into multiple processing blocks, leveraging parallel processing.

Responses

Response samples

Content type
application/json
{
  • "error": null,
  • "data": {
    }
}

Get all project specific workflows

Get all the workflows for a given project.

Authorizations:
path Parameters
required
object (ProjectID)
Example: 1b0015e3-cc4f-4da6-9761-fba74ba57f67

The project ID is the string that appears in the URL when in the console, e.g., https://console.up42.com/projects/1b0015e3-cc4f-4da6-9761-fba74ba57f67. It is the component of the URL after projects.

header Parameters
Content-Type
required
string
Example: application/json

Responses

Response samples

Content type
application/json
{
  • "error": null,
  • "data": [