Table of contents

API Access Overview

All Provena services can be accessed by authorised users through the suite of system APIs.

These APIs can be integrated in an automated way into any internet connected computing environment.

All Provena user interfaces use these APIs to coordinate system actions - anything that can be done through the user interfaces can be automated using the Provena APIs.

Endpoints and documentation

Info! In the URLs referenced below, we have used "your-deployed-domain" to refer to your deployed Provena application's domain name.

The Provena APIs are RESTful Python ASGI compliant services. The API endpoints are linked below. Each API publishes two documentation pages:

  • Data Store API:
    • API: https://data-api.your-deployed-domain
    • Swagger Documentation: https://data-api.your-deployed-domain/docs
    • Redoc Documentation: https://data-api.your-deployed-domain/redoc
  • Registry API:
    • API: https://registry-api.your-deployed-domain
    • Swagger Documentation: https://registry-api.your-deployed-domain/docs
    • Redoc Documentation: https://registry-api.your-deployed-domain/redoc
  • Provenance API:
    • API: https://prov-api.your-deployed-domain
    • Swagger Documentation: https://prov-api.your-deployed-domain/docs
    • Redoc Documentation: https://prov-api.your-deployed-domain/redoc
  • Auth API:
    • API: https://auth-api.your-deployed-domain
    • Swagger Documentation: https://auth-api.your-deployed-domain/docs
    • Redoc Documentation: https://auth-api.your-deployed-domain/redoc
  • Search API:
    • API: https://search.your-deployed-domain
    • Swagger Documentation: https://search.your-deployed-domain/docs
    • Redoc Documentation: https://search.your-deployed-domain/redoc

How to use the Provena APIs

There are some pre-requisites to using the Provena system APIs:

  • You need to be an authorised user - see logging in and requesting access.
  • You need to be in a programmatic environment where you can make HTTPS REST API calls - we use Python for all of our examples though the implementation in other programming or scripting languages would be very similar
  • You need to establish an API authentication workflow - see API Authentication for detailed instructions

API Rate Limits

Production Provena deployments can be configured to utilise a rate limiting web application firewall.

If you are receiving 429 Too Many Requests errors during intensive utilisation of system APIs, you should apply a backoff policy, such as exponential backoff to your API usage.

For the exact configuration of this rate limit, contact your system custodian. You may also apply for an exemption with specific IP address(s) when you have reasonable purpose to be doing so.