Rebase Energy Model API

The Model API from Rebase Energy — 12 operation(s) for model.

GitHub OpenAPI

Operations 13

GET /platform/v2/models List Models #
GET /platform/v2/models/{model_id}/input Get Model Input #
GET /platform/v2/models/{model_id}/output Get Model Output #
GET /platform/v2/models/blend/{model_blend_id}/output Get Model Blend Output #
PUT /platform/v2/models/{model_id} Update Model #
DELETE /platform/v2/models/{model_id} Delete Model #
POST /platform/v2/model/{model_id}/predict Run Model Predict #
POST /platform/v2/models/{model_id}/runs Create Model Run #
POST /platform/v2/model/{model_id}/status Update Model Status #
PUT /platform/v2/model/{model_id} Upsert Model #
POST /platform/v2/model Upsert Model #
PUT /platform/v2/model/{model_id}/output Put Model Output #
POST /platform/v2/models/predict Bulk Models Predict #

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/rebase-energy:rebase-energy-model-api"
All apis
curl "https://apis.io/api/v1/apis?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.

OpenAPI Specification

rebase-energy-model-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Fast Model API
  version: 0.1.0
tags:
- name: Model
paths:
  /platform/v2/models:
    get:
      tags:
      - Model
      summary: List Models
      operationId: list_models_platform_v2_models_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/server__customer__versions__v2_fapi__model__model_schema__ModelResponse'
                type: array
                title: Response List Models Platform V2 Models Get
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationResponse'
      security:
      - APIKeyHeader: []
  /platform/v2/models/{model_id}/input:
    get:
      tags:
      - Model
      summary: Get Model Input
      description: Get the latest input data for a model
      operationId: get_model_input_platform_v2_models__model_id__input_get
      security:
      - APIKeyHeader: []
      parameters:
      - name: model_id
        in: path
        required: true
        schema:
          type: string
          title: Model Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelInputResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationResponse'
  /platform/v2/models/{model_id}/output:
    get:
      tags:
      - Model
      summary: Get Model Output
      description: 'Get the output produced by a model, as_of can be specified

        to get the output as it was at a specific point in time


        If no start_date is provided, the start_date will be today 00:00 UTC'
      operationId: get_model_output_platform_v2_models__model_id__output_get
      security:
      - APIKeyHeader: []
      parameters:
      - name: model_id
        in: path
        required: true
        schema:
          type: string
          title: Model Id
      - name: start_date
        in: query
        required: false
        schema:
          type: string
          format: date-time
          title: Start Date
      - name: end_date
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: End Date
      - name: tz
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Tz
      - name: as_of
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: As Of
      - name: output_type
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          default: forecast
          title: Output Type
      - name: normalization_handling
        in: query
        required: false
        schema:
          anyOf:
          - enum:
            - disabled
            - auto
            type: string
          - type: 'null'
          default: auto
          title: Normalization Handling
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelOutputResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationResponse'
  /platform/v2/models/blend/{model_blend_id}/output:
    get:
      tags:
      - Model
      summary: Get Model Blend Output
      description: Get the output produced by a model blend
      operationId: get_model_blend_output_platform_v2_models_blend__model_blend_id__output_get
      security:
      - APIKeyHeader: []
      parameters:
      - name: model_blend_id
        in: path
        required: true
        schema:
          type: string
          title: Model Blend Id
      - name: start_date
        in: query
        required: false
        schema:
          type: string
          format: date-time
          title: Start Date
      - name: end_date
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: End Date
      - name: tz
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Tz
      - name: as_of
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: As Of
      - name: output_type
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          default: forecast
          title: Output Type
      - name: normalization_handling
        in: query
        required: false
        schema:
          anyOf:
          - enum:
            - disabled
            - auto
            type: string
          - type: 'null'
          default: auto
          title: Normalization Handling
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelBlendOutputResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationResponse'
  /platform/v2/models/{model_id}:
    put:
      tags:
      - Model
      summary: Update Model
      description: 'Update a model''s settings.


        You can update the following settings:

        - serving_active

        - serving_priority'
      operationId: update_model_platform_v2_models__model_id__put
      security:
      - APIKeyHeader: []
      parameters:
      - name: model_id
        in: path
        required: true
        schema:
          type: string
          title: Model Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ModelUpdateOptions'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationResponse'
    delete:
      tags:
      - Model
      summary: Delete Model
      operationId: delete_model_platform_v2_models__model_id__delete
      security:
      - APIKeyHeader: []
      parameters:
      - name: model_id
        in: path
        required: true
        schema:
          type: string
          title: Model Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
                title: Response Delete Model Platform V2 Models  Model Id  Delete
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationResponse'
  /platform/v2/model/{model_id}/predict:
    post:
      tags:
      - Model
      summary: Run Model Predict
      description: Run a prediction using the model with the given model_id and the given options
      operationId: run_model_predict_platform_v2_model__model_id__predict_post
      security:
      - APIKeyHeader: []
      parameters:
      - name: model_id
        in: path
        required: true
        schema:
          type: string
          title: Model Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ModelPredictOptions'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationResponse'
  /platform/v2/models/{model_id}/runs:
    post:
      tags:
      - Model
      summary: Create Model Run
      operationId: create_model_run_platform_v2_models__model_id__runs_post
      security:
      - APIKeyHeader: []
      parameters:
      - name: model_id
        in: path
        required: true
        schema:
          type: string
          title: Model Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ModelRunOutputInsert'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationResponse'
  /platform/v2/model/{model_id}/status:
    post:
      tags:
      - Model
      summary: Update Model Status
      operationId: update_model_status_platform_v2_model__model_id__status_post
      security:
      - APIKeyHeader: []
      parameters:
      - name: model_id
        in: path
        required: true
        schema:
          type: string
          title: Model Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ModelStatusInsert'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationResponse'
  /platform/v2/model/{model_id}:
    put:
      tags:
      - Model
      summary: Upsert Model
      description: Create a new model with the given model_id and model data
      operationId: upsert_model_platform_v2_model__model_id__put
      security:
      - APIKeyHeader: []
      parameters:
      - name: model_id
        in: path
        required: true
        schema:
          type: string
          title: Model Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ModelOptions'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/server__customer__versions__v2_fapi__model__model_schema__ModelResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationResponse'
  /platform/v2/model:
    post:
      tags:
      - Model
      summary: Upsert Model
      description: Create a new model with the given model_id and model data
      operationId: upsert_model_platform_v2_model_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ModelOptions'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/server__customer__versions__v2_fapi__model__model_schema__ModelResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationResponse'
      security:
      - APIKeyHeader: []
  /platform/v2/model/{model_id}/output:
    put:
      tags:
      - Model
      summary: Put Model Output
      description: 'Insert the output produced by a model, as_of can be specified

        to get the output as it was at a specific point in time'
      operationId: put_model_output_platform_v2_model__model_id__output_put
      security:
      - APIKeyHeader: []
      parameters:
      - name: model_id
        in: path
        required: true
        schema:
          type: string
          title: Model Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ModelOutputInsert'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelOutputInsertResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationResponse'
  /platform/v2/models/predict:
    post:
      tags:
      - Model
      summary: Bulk Models Predict
      description: Train the models for one or more sites, specified by their site_id
      operationId: bulk_models_predict_platform_v2_models_predict_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ModelBulkPredict'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
                title: Response Bulk Models Predict Platform V2 Models Predict Post
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationResponse'
      security:
      - APIKeyHeader: []
components:
  schemas:
    ModelRunOutputInsert:
      properties:
        as_of_timestamp:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: As Of Timestamp
        ref_time:
          type: string
          format: date-time
          title: Ref Time
        data:
          items:
            additionalProperties: true
            type: object
          type: array
          title: Data
          example:
          - q50: 1000
            q90: 2000
            valid_time: '2026-01-01T00:00:00Z'
          - q50: 1000
            q90: 2000
            valid_time: '2026-01-01T01:00:00Z'
          - q50: 1000
            q90: 2000
            valid_time: '2026-01-01T02:00:00Z'
          - q50: 1000
            q90: 2000
            valid_time: '2026-01-01T03:00:00Z'
          - q50: 1000
            q90: 2000
            valid_time: '2026-01-01T04:00:00Z'
          - q50: 1000
            q90: 2000
            valid_time: '2026-01-01T05:00:00Z'
          - q50: 1000
            q90: 2000
            valid_time: '2026-01-01T06:00:00Z'
          - q50: 1000
            q90: 2000
            valid_time: '2026-01-01T07:00:00Z'
          - q50: 1000
            q90: 2000
            valid_time: '2026-01-01T08:00:00Z'
          - q50: 1000
            q90: 2000
            valid_time: '2026-01-01T09:00:00Z'
      type: object
      required:
      - ref_time
      - data
      title: ModelRunOutputInsert
    ModelForecastInsert:
      properties:
        as_of:
          type: string
          format: date-time
          title: As Of
        valid_times:
          items:
            type: string
            format: date-time
          type: array
          title: Valid Times
        outputs:
          items:
            $ref: '#/components/schemas/ModelForecastOutputRow'
          type: array
          title: Outputs
          example:
          - output_type: forecast
            values:
            - 1000
            - 2000
            - 3000
            - 4000
            - 5000
          - output_type: clearsky
            values:
            - 800
            - 1600
            - 2400
            - 3200
            - 4000
      type: object
      required:
      - as_of
      - valid_times
      - outputs
      title: ModelForecastInsert
    ModelOutputResponse:
      properties:
        model_id:
          type: string
          title: Model Id
        model_version:
          type: integer
          title: Model Version
        model_name:
          type: string
          title: Model Name
        model_label:
          type: string
          title: Model Label
        priority:
          type: integer
          title: Priority
        as_of:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: As Of
        forecast:
          items:
            anyOf:
            - type: integer
            - type: number
          type: array
          title: Forecast
        valid_time:
          items:
            type: string
            format: date-time
          type: array
          title: Valid Time
        capacity:
          anyOf:
          - items:
              anyOf:
              - type: integer
              - type: number
            type: array
          - type: 'null'
          title: Capacity
      type: object
      required:
      - model_id
      - model_version
      - model_name
      - model_label
      - priority
      - as_of
      - forecast
      - valid_time
      - capacity
      title: ModelOutputResponse
    ValidationResponse:
      properties:
        errors:
          items:
            $ref: '#/components/schemas/ErrorItem'
          type: array
          title: Errors
      type: object
      required:
      - errors
      title: ValidationResponse
    ModelOutputInsertResponse:
      properties:
        model_id:
          type: string
          title: Model Id
        status:
          type: string
          title: Status
        num_records:
          type: integer
          title: Num Records
        message:
          type: string
          title: Message
          default: Output inserted successfully
      type: object
      required:
      - model_id
      - status
      - num_records
      title: ModelOutputInsertResponse
    ModelBlendOutputResponse:
      properties:
        valid_time:
          items:
            type: string
            format: date-time
          type: array
          title: Valid Time
        output:
          items:
            type: number
          type: array
          title: Output
        model_name:
          items:
            type: string
          type: array
          title: Model Name
        model_version:
          items:
            type: integer
          type: array
          title: Model Version
        update_time:
          items:
            type: string
            format: date-time
          type: array
          title: Update Time
      type: object
      required:
      - valid_time
      - output
      - model_name
      - model_version
      - update_time
      title: ModelBlendOutputResponse
    ModelBulkPredict:
      properties:
        model_ids:
          items:
            type: string
          type: array
          minItems: 1
          title: Model Ids
          example:
          - 48302759-0371-4d54-9ba1-506708b576fe
          - f02918ab-736b-409f-8f86-cbbeec1d6700
        schedule:
          $ref: '#/components/schemas/GenerationSchedule-Input'
      type: object
      required:
      - model_ids
      - schedule
      title: ModelBulkPredict
    server__customer__versions__v2_fapi__model__model_schema__ModelResponse:
      properties:
        id:
          type: string
          title: Id
        name:
          type: string
          title: Name
      type: object
      required:
      - id
      - name
      title: ModelResponse
    ModelInputResponse:
      properties:
        dataframe:
          additionalProperties: true
          type: object
          title: Dataframe
        metadata:
          additionalProperties: true
          type: object
          title: Metadata
      type: object
      required:
      - dataframe
      - metadata
      title: ModelInputResponse
    ModelStatusInsert:
      properties:
        state:
          type: string
          title: State
      type: object
      required:
      - state
      title: ModelStatusInsert
    ModelPredictOptions:
      properties: {}
      additionalProperties: true
      type: object
      title: ModelPredictOptions
    ModelUpdateOptions:
      properties:
        settings:
          $ref: '#/components/schemas/ModelUpdateSettings'
        priority_conflict_resolution:
          type: string
          enum:
          - strict
          - auto_increment
          - swap
          title: Priority Conflict Resolution
          description: 'How to resolve a priority collision when `settings.serving_priority` is already taken by another model at the same site:

            - `strict`: reject the update with a 409 error.

            - `auto_increment`: shift all conflicting models'' priorities by incrementing by 1.

            - `swap`: swap the priorities of the target model and the conflicting model.'
          default: strict
      type: object
      required:
      - settings
      title: ModelUpdateOptions
    ModelOutputInsert:
      properties:
        records:
          items:
            $ref: '#/components/schemas/ModelForecastInsert'
          type: array
          title: Records
          example:
          - as_of: '2023-01-01T00:00:00Z'
            outputs:
            - output_type: forecast
              values:
              - 1000
              - 2000
              - 3000
              - 4000
              - 5000
            - output_type: clearsky
              values:
              - 800
              - 1600
              - 2400
              - 3200
              - 4000
            valid_times:
            - '2026-01-01T00:00:00Z'
            - '2026-01-01T01:00:00Z'
            - '2026-01-01T02:00:00Z'
            - '2026-01-01T03:00:00Z'
            - '2026-01-01T04:00:00Z'
            - '2026-01-01T05:00:00Z'
            - '2026-01-01T06:00:00Z'
            - '2026-01-01T07:00:00Z'
            - '2026-01-01T08:00:00Z'
            - '2026-01-01T09:00:00Z'
      type: object
      required:
      - records
      title: ModelOutputInsert
    ErrorItem:
      properties:
        field:
          type: string
          title: Field
        message:
          type: string
          title: Message
      type: object
      required:
      - field
      - message
      title: ErrorItem
    ModelForecastOutputRow:
      properties:
        output_type:
          type: string
          title: Output Type
          example: forecast
        values:
          items:
            anyOf:
            - type: integer
            - type: number
          type: array
          title: Values
          example:
          - 1000
          - 2000
          - 3000
          - 4000
          - 5000
      type: object
      required:
      - output_type
      - values
      title: ModelForecastOutputRow
    GenerationSchedule-Input:
      properties:
        start_date:
          type: string
          format: date
          title: Start Date
        end_date:
          type: string
          format: date
          title: End Date
        time:
          items:
            type: string
            pattern: ^(?:[01]\d|2[0-3]):(?:00|15|30|45)$
          type: array
          minItems: 1
          title: Time
          example:
          - '10:00'
        tz:
          type: string
          title: Tz
          example: UTC
      type: object
      required:
      - start_date
      - end_date
      - time
      - tz
      title: GenerationSchedule
    ModelUpdateSettings:
      properties:
        serving_active:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Serving Active
          description: Whether the model is active for serving forecasts. Leave unset to keep the current value.
        serving_priority:
          anyOf:
          - type: integer
            minimum: 1.0
          - type: 'null'
          title: Serving Priority
          description: Serving priority of the model within its site. 1 is the highest priority. Must be unique per site — see `priority_conflict_resolution` for how conflicts are handled. Leave unset to keep the current value.
      type: object
      title: ModelUpdateSettings
    ModelOptions:
      properties:
        id:
          anyOf:
          - type: string
          - type: 'null'
          title: Id
        site_id:
          type: string
          title: Site Id
        model_name:
          type: string
          title: Model Name
        version:
          type: integer
          title: Version
        priority:
          type: integer
          title: Priority
          default: 0
        serving_active:
          type: boolean
          title: Serving Active
          default: true
        serving_priority:
          type: integer
          title: Serving Priority
          default: 100
        predict_target:
          type: string
          title: Predict Target
          default: Production_power
        complete:
          type: boolean
          title: Complete
          default: false
        active:
          type: boolean
          title: Active
          default: false
        display_name:
          type: string
          title: Display Name
        state:
          items:
            additionalProperties: true
            type: object
          type: array
          title: State
          default: []
      additionalProperties: true
      type: object
      required:
      - site_id
      - model_name
      - version
      title: ModelOptions
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      description: Your API key. This is required to access our API programatically. You can view your API key in the Rebase dashboard.
      in: header
      name: Authorization
x-provenance:
  method: harvested
  publisher: Rebase Energy
  source: https://docs.rebase.energy/api-reference/openapi.json
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)