Skip to content

Overview

A plain-language summary of what the E1 External API enables, written for product managers, business analysts, and anyone evaluating a potential integration. For the developer-focused docs, start at the home page.

What it is

The External API is a machine-to-machine interface that lets partner software systems read selected E1 data on behalf of mutual customers. It is not a self-service public API — access is provisioned by E1 on a per-partner basis.

What it enables today

Supplier API (Speci-finder results). A partner system can pull the set of live tenders (both Tender and Procurement type) that match a supplier user’s Speci-finder keywords, and surface them inside the partner’s own product. This lets suppliers keep their “matches” view up to date without logging into E1.

Typical use cases:

  • A CRM that shows sales reps which live projects match their trade profile.
  • A dashboard that aggregates project leads alongside other supplier-facing data.
  • An internal ops tool that triages matched opportunities across a sales team.

What it does not do today

  • No writes. The API is read-only. Partner systems cannot create, update, or delete E1 data.
  • No push. Data is fetched on demand. There are no webhooks or real-time events.
  • No Builder API. The builder-side surface (tender projects, packages, documents) is not yet available to partners. It will be documented here when it reaches GA.
  • No self-service signup. Each integration is onboarded through a conversation with E1.

How a typical integration works

  1. A partner’s customer (a supplier) consents to the integration with their E1 account.
  2. E1 provisions an application and issues the partner a credential linked to that customer’s company and user.
  3. The partner’s system exchanges the credential for a short-lived access token, then calls the API on a regular cadence (usually daily or hourly).
  4. Matched projects are displayed in the partner’s product alongside the supplier’s other data.

Data flow

┌──────────────┐ OAuth2 token ┌─────────────────────┐
│ │ ─────────────────▶ │ │
│ Partner │ │ E1 Auth │
│ System │ ◀───────────────── │ (Cognito) │
│ │ Access token │ │
│ │ └─────────────────────┘
│ │
│ │ Bearer token + x-e1-client-id
│ │ ──────────────────────────────────────▶ ┌──────────────────┐
│ │ │ │
│ │ │ External API │
│ │ ◀────────────────────────────────────── │ (this service) │
│ │ JSON response │ │
└──────────────┘ └──────────────────┘
│ authorised,
│ on behalf of
│ assigned user
┌──────────────────┐
│ E1 │
│ platform │
└──────────────────┘

Who to talk to