EDF Energy · OpenAPI Overlay 1.0.0

API Evangelist enhancements for the EDF Kraken Customer Migration (Data Import) API

10 actions 10 updates servers extends openapi/edf-energy-kraken-data-import-openapi.yml
Derived by API Evangelist Built from the contracts EDF Energy publishes. EDF Energy did not publish this file.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-agentic-accessx-notex-apievangelist-providerx-apievangelist-audiencex-apievangelist-purposex-onboardingx-conventionsx-error-registry

Targets 8

$.info
$
$.paths['/v1/data-import/account-import-process/process/'].post
$.paths['/v1/data-import/account-import-process/create-or-update/'].post
$.paths['/v1/data-import/validate-account/'].post
$.paths['/v2/data-import/accounts/validate/'].post
$.paths['/v2/data-import/accounts/'].post
$.paths['/v1/data-import/payment-instruction/create/'].post

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for the EDF Kraken Customer Migration (Data Import) API
  version: 1.0.0
extends: openapi/edf-energy-kraken-data-import-openapi.yml
x-apievangelist:
  generated: '2026-07-27'
  method: generated
  source: >-
    Enhancements derived from the artifacts in this repository, applied over the verbatim
    OpenAPI 3.0.3 document EDF serves at
    https://api.edfgb-kraken.energy/data-import/schema/ (HTTP 200, anonymous, 2026-07-27).
    The original document is never mutated.
  note: >-
    This is a partner-facing contract, not a public one: every operation requires
    authentication and a migration relationship with EDF. It is also the only part of the
    platform with no GraphQL equivalent.
actions:
- target: $.info
  update:
    x-apievangelist-provider: edf-energy
    x-apievangelist-audience: partner
    x-apievangelist-purpose: >-
      The machine-readable expression of how a customer book moves between suppliers onto
      Kraken. EDF used this platform to migrate 5.8 million of its own accounts in fifteen
      months.
    x-onboarding: >-
      Not self-service. Requires a migration relationship with EDF and credentials issued
      by them; there is no signup form.
    x-conventions: conventions/edf-energy-conventions.yml
    x-error-registry: https://developer.edfgb-kraken.energy/graphql/reference/error-codes/
    x-graphql-equivalent: none — this API is REST-only (see mcp/edf-energy-tool-crosswalk.yml)
- target: $
  update:
    servers:
    - url: https://api.edfgb-kraken.energy/
      description: >-
        Production. The served document declares no servers[]; paths carry the
        /v1/data-import/ and /v2/data-import/ prefixes themselves.
- target: $.info
  update:
    x-key-identifiers:
      import_supplier_code: The losing supplier whose customer book is being imported.
      external_account_number: The account number as held by the losing supplier.
    x-versioning: >-
      Two live majors in the same document — /v1/data-import/ and /v2/data-import/. v2
      supersedes the v1 account-creation and validation path with a scheduled
      (asynchronous) model.
- target: $.paths['/v1/data-import/account-import-process/process/'].post
  update:
    x-agentic-access:
      action-class: acting
      consequence: physical
      audit: required
      human-in-the-loop: required
    x-note: >-
      Processes a real customer's transfer between suppliers. This is the highest
      consequence operation in the repository — it moves a household's energy supply.
      Declares a 429, the only rate-limited response in either document.
    x-idempotency: >-
      None declared. The create-or-update operation is upsert-shaped by name, which is the
      only replay protection on this surface; no Idempotency-Key is accepted.
- target: $.paths['/v1/data-import/account-import-process/create-or-update/'].post
  update:
    x-agentic-access:
      action-class: acting
      consequence: write
      audit: required
    x-semantics: Upsert keyed on import_supplier_code + the account's external identifier.
- target: $.paths['/v1/data-import/validate-account/'].post
  update:
    x-agentic-access:
      action-class: acting
      consequence: write
    x-note: Dry-run validation; safe to call before the irreversible process step.
- target: $.paths['/v2/data-import/accounts/validate/'].post
  update:
    x-agentic-access:
      action-class: acting
      consequence: write
    x-note: v2 replacement for /v1/data-import/validate-account/.
- target: $.paths['/v2/data-import/accounts/'].post
  update:
    x-agentic-access:
      action-class: acting
      consequence: physical
      audit: required
      human-in-the-loop: required
    x-note: Schedules asynchronous account creation; poll V2 Account Import Status for the outcome.
- target: $.paths['/v1/data-import/payment-instruction/create/'].post
  update:
    x-agentic-access:
      action-class: acting
      consequence: physical
      audit: required
      human-in-the-loop: required
    x-note: Creates a payment instruction (e.g. a direct debit) against a migrated account.
- target: $.info
  update:
    x-spec-gaps:
    - No servers[] array.
    - >-
      33 `deprecated: true` flags on request parameters and schema properties, but no
      deprecation dates or replacement fields named — unlike the GraphQL schema, where
      every deprecation carries a marked-on date and a scheduled removal date.
    - No response examples.
    - >-
      Errors are declared as bare 400/404/429/500 status codes without a consistent
      documented body schema; the behavioural vocabulary lives in the KT-CT-* registry.
    - >-
      operationIds are human-readable strings with spaces ("V1 Validate Account"), which
      most code generators will mangle.

Work with this as data

Every overlay here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for openapi overlays

4 MCP tools reach this
  • find_overlaysBrowse and filter every overlay in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/edf-energy-kraken-data-import-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.