> ## Documentation Index
> Fetch the complete documentation index at: https://docs.auth.energy/llms.txt
> Use this file to discover all available pages before exploring further.

# Submit performance report

> Suppliers submit periodic performance metrics to RECCo as part of their assurance
obligations. Reporting frequency and full PARC requirements will be confirmed in
a 2026 REC Change.




## OpenAPI

````yaml /tariff-interop/api/openapi-tariff.yaml post /v1/report
openapi: 3.1.0
info:
  title: Tariff Interoperability API
  version: 0.1.1.AE
  description: >
    The Tariff Interoperability (TI) API lets Energy Smart Appliances,
    optimisers, and

    third-party services access standardised electricity tariff pricing data
    directly from

    GB energy suppliers. It is defined under the Retail Energy Code (REC) and
    mandated by

    the Smart Secure Electricity Systems (SSES) Programme.


    ## Two tiers of access


    | Tier | Who can use it | Auth required |

    |------|---------------|---------------|

    | **Public Tariff Pricing Data** | Any TI User | None |

    | **Consumer Specific Tariff Information** | Registered TI Users (RTI Users)
    with active consumer consent | OAuth 2.0 |
  contact:
    name: Auth Energy
    email: contact@auth.energy
  license:
    name: |
      © 2025 Retail Energy Code Company Ltd v0.1.0.
      All modifications and improves published © 2026 Auth Energy Ltd
    url: https://auth.energy/
servers:
  - url: https://register.tariff.interop
    description: >
      Central TI Register hosted by RECCo. Serves the `/v1/suppliers` and
      `/v1/users`

      endpoints only. The `v1` path prefix identifies the API version.
  - url: https://example-supplier.co.uk
    description: >
      Placeholder for a TI Energy Supplier's own hosted API. Each supplier runs
      their

      own instance at a URL they register with RECCo — discover it from `GET
      /suppliers`.

      Serves all `/v1/tariff`, `/v1/consent`, `/v1/webhook`, `/v1/report`, and
      outbound webhook endpoints.
security: []
tags:
  - name: Registry
    description: >-
      Discover active suppliers and registered third-party users. Served by the
      central RECCo register. No authentication required for public data.
  - name: Tariffs
    description: >-
      Retrieve tariff listings and full pricing detail from a specific supplier.
      No authentication required.
  - name: Consumer Tariffs
    description: >-
      Retrieve tariff data tied to a specific consumer metering point. Requires
      OAuth 2.0 and active consumer consent.
  - name: Consent
    description: >-
      Register and revoke consumer consent linking a metering point to an RTI
      User via the OAuth 2.0 Authorisation Code flow.
  - name: Webhooks
    description: >-
      Manage webhook endpoints and receive push notifications when tariff data
      or consent state changes.
  - name: Reporting
    description: >-
      Submit periodic performance assurance metrics to RECCo (supplier
      obligation).
paths:
  /v1/report:
    post:
      tags:
        - Reporting
      summary: Submit performance report
      description: >
        Suppliers submit periodic performance metrics to RECCo as part of their
        assurance

        obligations. Reporting frequency and full PARC requirements will be
        confirmed in

        a 2026 REC Change.
      operationId: submitPerformanceReport
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PerformanceReport'
      responses:
        '202':
          description: Report accepted.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalServerError'
      security:
        - supplierApiKey: []
      servers:
        - url: https://example-supplier.co.uk
          description: TI Energy Supplier API
components:
  schemas:
    PerformanceReport:
      type: object
      description: >-
        Performance metrics submitted by a supplier to RECCo each reporting
        period.
      required:
        - reporting_period_start
        - reporting_period_end
        - tariff_requests
        - tariff_changes
        - availability_pct
        - success_pct
        - response_time_ms
      properties:
        reporting_period_start:
          $ref: '#/components/schemas/Timestamp'
        reporting_period_end:
          $ref: '#/components/schemas/Timestamp'
        tariff_requests:
          type: integer
          minimum: 0
          description: Total tariff pricing data requests received during the period.
          example: 4823100
        tariff_changes:
          type: integer
          minimum: 0
          description: Number of tariff change notifications issued during the period.
          example: 12
        availability_pct:
          type: number
          format: float
          minimum: 0
          maximum: 100
          description: >-
            API availability during the period as a percentage. SLA target is
            99.9%.
          example: 99.97
        success_pct:
          type: number
          format: float
          minimum: 0
          maximum: 100
          description: Percentage of requests that returned a 2xx response.
          example: 99.82
        response_time_ms:
          type: object
          description: API response times in milliseconds, broken down by percentile.
          required:
            - p50
            - p95
            - p99
          properties:
            p50:
              type: integer
              minimum: 0
              description: Median response time in milliseconds.
              example: 120
            p95:
              type: integer
              minimum: 0
              description: >-
                95th percentile response time. SLA target is 1,000 ms at steady
                state.
              example: 820
            p99:
              type: integer
              minimum: 0
              description: 99th percentile response time.
              example: 1450
    Timestamp:
      type: string
      format: date-time
      description: ISO 8601 datetime with millisecond precision.
      example: '2026-11-01T10:00:00.000Z'
    ErrorResponse:
      type: object
      required:
        - code
        - message
      properties:
        code:
          type: string
          description: Machine-readable error code.
          example: tariff_not_found
        message:
          type: string
          description: Human-readable error description.
          example: No tariff found for the given tariff_id and supplier MPID.
        details:
          type: string
          description: Additional context to help diagnose the issue.
          example: >-
            tariff_id a1b2c3d4-e5f6-7890-abcd-ef1234567890 does not exist for
            supplier SEBD.
  responses:
    BadRequest:
      description: >-
        400 — Request does not match the required format or references an
        out-of-scope tariff.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Unauthorized:
      description: 401 — Missing or invalid authentication credentials.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    InternalServerError:
      description: 500 — Unexpected server error. Retry within the 72-hour buffer window.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    supplierApiKey:
      type: apiKey
      description: >
        API key issued to TI Energy Suppliers for accessing restricted register
        data and

        submitting performance reports. Credentials are valid for 2 years and
        are

        distributed via a one-time URL from the Code Manager.
      in: header
      name: X-Supplier-API-Key

````