Centrica · OpenAPI Overlay 1.0.0

API Evangelist enhancements for Centrica FieldOps Identity API

7 actions 7 updates documentation extends openapi/centrica-fieldops-identity-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Centrica's API. It is a proposal applied on top of the contract, not a document Centrica publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

descriptionx-apievangelist-providerx-apievangelist-reviewx-apievangelist-harvest-datex-apievangelist-environmentx-apievangelist-accesscontactx-apievangelist-notes

Targets 6

$.info
$.servers
$.paths['/oauth2/token'].post
$.components.schemas.Oauth2TokenPost200ApplicationJsonResponse
$.components.securitySchemes.apiKeyHeader
$.components.securitySchemes.apiKeyQuery

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for Centrica FieldOps Identity API
  version: 1.0.0
extends: openapi/centrica-fieldops-identity-api-openapi.yml
x-apievangelist:
  generated: '2026-07-27'
  method: generated
  source: >-
    Derived from the verbatim Azure APIM export plus the FieldOps developer portal and the
    portal's own management API. The original spec in openapi/ is never mutated; every
    enhancement below lives only in this overlay.
actions:
- target: $.info
  update:
    x-apievangelist-provider: centrica
    x-apievangelist-review: review.yml
    x-apievangelist-harvest-date: '2026-07-27'
    x-apievangelist-environment: development
    x-apievangelist-access: partner-only
    contact:
      name: Centrica FieldOps API Management developer portal
      url: https://api-developer.dev.fieldops.centrica.com/
- target: $.info
  update:
    x-apievangelist-notes: >-
      Exported verbatim from Centrica's own Azure API Management instance (service fieldopsdev001,
      api-version 2022-04-01-preview) on 2026-07-27. This is the DEVELOPMENT environment; the
      production gateway api.fieldops.centrica.com and production portal
      api-developer.fieldops.centrica.com both answer 403 to anonymous requests. The FieldOps
      portal advertises three further APIs — WorkOrder, Opportunity and Appointment Slots — none
      of which are visible anonymously; the anonymous API list returns exactly one API.
- target: $.servers
  update:
  - url: https://api.dev.fieldops.centrica.com/api/v1/identity
    description: >-
      FieldOps development gateway. The only reachable environment; the production gateway is
      403 anonymously.
- target: $.paths['/oauth2/token'].post
  update:
    tags:
    - Identity
    x-apievangelist-flow: client_credentials
    x-apievangelist-consequence: >-
      Mints a bearer credential. Treat as a secrets-handling operation: never log the request
      body or the access_token, and never expose this operation to an unattended agent without
      an authorised credential store.
    x-apievangelist-downstream:
    - WorkOrder API — manage WorkOrders for Annual Service Visit and Intermediate Break-down
    - Opportunity API — create and manage Opportunities for Electric Vehicle services
    - Appointment Slots API — get and reserve Appointments for WorkOrders
    x-apievangelist-rate-limit: >-
      Starter product: 5 calls/minute up to a maximum of 100 calls/week. Unlimited product:
      unlimited, administrator approval required. See rate-limits/centrica-rate-limits.yml.
- target: $.components.schemas.Oauth2TokenPost200ApplicationJsonResponse
  update:
    description: >-
      OAuth 2.0 token response. expires_in, ext_expires_in, expires_on and not_before are
      returned as STRINGS rather than integers — expires_in and ext_expires_in are seconds
      ("3599" in the published example) and expires_on / not_before are Unix epoch seconds.
      The shape is that of a Microsoft identity platform token response passed through.
- target: $.components.securitySchemes.apiKeyHeader
  update:
    description: >-
      Azure API Management subscription key, sent on every request. Obtained by signing up on the
      developer portal and subscribing to the Starter or Unlimited product.
- target: $.components.securitySchemes.apiKeyQuery
  update:
    description: >-
      Same Azure API Management subscription key carried as a query parameter. Discouraged —
      query strings are routinely logged by intermediaries; prefer the Ocp-Apim-Subscription-Key
      header.
x-apievangelist-gaps:
- The spec declares no 4xx or 5xx responses at all, so error handling is entirely undocumented.
- No security requirement is attached at the operation level; security is declared only globally.
- No externalDocs, no contact and no license block in the original spec.
- info.version is "1.0" while the path segment is v1 — no versioning policy reconciles the two.