Sybilion Drivers API

The Drivers API from Sybilion — 1 operation(s) for drivers.

Operations 1

POST /api/v1/drivers Rank driver datasets for your timeseries #

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/sybilion-drivers-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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

sybilion-drivers-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: 'The Sybilion API powers the Sybilion Developers Portal: forecasts, drivers, catalog, account

    and usage. Authenticate every request with `Authorization: Bearer ` using either an

    API key created in the Developers Portal or an Auth0 access token from your dashboard session.'
  title: Sybilion Drivers API
  version: 0.1.0
servers:
- url: /
tags:
- name: Drivers
paths:
  /api/v1/drivers:
    post:
      description: 'Retrieves drivers ranked by how well they explain your timeseries, returning

        a scored list of potential economic drivers. Results are ordered by relevance

        score descending.


        This is a synchronous billed endpoint — you are charged per driver returned.

        No charge is recorded on validation errors or upstream failures.'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RecommendRequestV1'
        required: true
      responses:
        '200':
          content:
            application/json:
              example:
                status: 200
                message: Success
                data:
                  drivers:
                  - hash_id: d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9
                    driver_name: Natural Gas Futures Price (Henry Hub)
                    score: 0.87
                  - hash_id: e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0
                    driver_name: US Dollar Index (DXY)
                    score: 0.74
              schema:
                properties:
                  data:
                    properties:
                      drivers:
                        items:
                          $ref: '#/components/schemas/DriverItemV1'
                        type: array
                    type: object
                  message:
                    example: Success
                    type: string
                  status:
                    type: integer
                type: object
          description: Ranked driver candidates for your timeseries.
        '400':
          description: Malformed JSON body.
        '401':
          description: Missing or invalid bearer token.
        '402':
          description: Insufficient credits — the request did not reach the upstream service.
        '413':
          description: Request body too large.
        '422':
          content:
            application/json:
              example:
                error: validation_failed
                details:
                - field: timeseries_metadata.title
                  message: title must be at least 20 characters
              schema:
                $ref: '#/components/schemas/ValidationErrorResponse'
          description: Payload failed validation.
        '429':
          description: Rate limit exceeded — too many synchronous billed requests per minute.
        '502':
          description: Upstream service error or unreachable.
        '503':
          description: Service Unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
              example:
                error: Service Unavailable
      security:
      - bearerAuth: []
      summary: Rank driver datasets for your timeseries
      tags:
      - Drivers
      operationId: postApiV1Drivers
      x-operation-id-source: derived
components:
  schemas:
    Filters:
      description: 'Optional narrowing for forecast, drivers, and alerts requests.

        Category and region ids must fall in **1–9999**. Discover valid ids via

        `GET /api/v1/regions` and `GET /api/v1/categories` — submitted ids are not

        cross-checked on submit.

        '
      example:
        categories:
        - 3
        - 7
        regions:
        - 42
        - 88
        limit: 25
      properties:
        categories:
          description: Thematic category ids to filter by; each must be an integer **1–9999** inclusive.
          items:
            maximum: 9999
            minimum: 1
            type: integer
          type: array
        general_drivers:
          description: When true, general (non category/region-specific) drivers are included in the driver candidate pool. Defaults to false.
          type: boolean
        limit:
          description: Maximum number of items to return. When omitted, a per-environment default is applied (100 by default). The maximum accepted value is operator-configurable (default 1000).
          maximum: 1000
          minimum: 0
          type: integer
        regions:
          description: Geographic region ids to filter by; each must be an integer **1–9999** inclusive.
          items:
            maximum: 9999
            minimum: 1
            type: integer
          type: array
      type: object
    RecommendRequestV1:
      description: 'Body of `POST /api/v1/drivers`. Mirrors the upstream Recommend service

        contract. Note that the version field is named `version` (not

        `pipeline_version` as on `/forecasts`).


        Required fields: `version`, `recency_factor`, `timeseries_metadata`.

        Both `filters` and `timeseries` are optional — when omitted, the handler

        drops them from the upstream payload entirely (no `null` is sent).

        When `filters.limit` is omitted, a per-environment default is applied.

        '
      example:
        version: v1
        recency_factor: 0.6
        timeseries_metadata:
          title: Brent Crude Oil Price Monthly
          description: Monthly average Brent crude oil spot price in USD/barrel, sourced from EIA.
          keywords:
          - oil
          - brent
          - energy
          - commodity
        filters:
          limit: 20
          categories:
          - 3
          - 7
          regions:
          - 42
        timeseries:
          '2023-07-01': 79.6
          '2023-08-01': 84.77
          '2023-09-01': 93.39
          '2023-10-01': 91.05
          '2023-11-01': 81.77
          '2023-12-01': 76.1
      properties:
        filters:
          allOf:
          - $ref: '#/components/schemas/Filters'
          description: 'Optional. Each **`categories[]`** and **`regions[]`** entry must be an integer **1–9999**

            (inclusive). Optional **`limit`** is **0–1000** (default **100** when omitted).

            Values are not verified against catalog APIs.

            '
        recency_factor:
          description: Weight given to more recent observations when ranking drivers. 0.0 = equal weight; 1.0 = strongest recency bias.
          format: double
          maximum: 1
          minimum: 0
          type: number
        timeseries:
          additionalProperties:
            type: number
          description: 'Optional. Map of YYYY-MM-DD date keys to numeric observation values.

            When supplied, all keys must parse as YYYY-MM-DD and all values must

            be finite. Unlike `/forecasts`, this endpoint is frequency-agnostic —

            no monthly alignment, gap detection, or minimum length is enforced.

            When omitted, the handler does not forward the field upstream.

            '
          type: object
        timeseries_metadata:
          allOf:
          - $ref: '#/components/schemas/TimeseriesMetadata'
          description: Describes the series so the ranking model can identify relevant drivers.
        version:
          description: 'Recommend pipeline version. Closed set; only `v1` is supported today.

            Used locally to select the per-version validator and is **not forwarded**

            to the upstream Recommend service.

            '
          enum:
          - v1
          type: string
      required:
      - version
      - recency_factor
      - timeseries_metadata
      type: object
    ErrorMessage:
      properties:
        error:
          description: Human-readable error message.
          type: string
        trace_id:
          description: Correlation id for this request, also returned in the X-Trace-Id response header. Quote it when contacting support so the request can be traced.
          type: string
      required:
      - error
      type: object
    DriverItemV1:
      description: A ranked dataset candidate returned by `POST /api/v1/drivers`.
      example:
        hash_id: d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9
        driver_name: Natural Gas Futures Price (Henry Hub)
        score: 0.87
      properties:
        driver_name:
          description: Human-readable name of the dataset.
          type: string
        hash_id:
          description: Stable identifier for the dataset; use to reference this driver across requests.
          type: string
        score:
          description: Relevance score indicating how well this dataset explains your timeseries (higher is more relevant).
          format: double
          type: number
      type: object
    ValidationErrorResponse:
      example:
        error: validation_failed
        details:
        - field: metadata.title
          message: title must be at least 20 characters
      properties:
        details:
          items:
            properties:
              field:
                type: string
              message:
                type: string
            required:
            - field
            - message
            type: object
          type: array
        error:
          enum:
          - validation_failed
          type: string
      required:
      - error
      - details
      type: object
    TimeseriesMetadata:
      description: Descriptive metadata the ranking model uses to interpret and contextualize the timeseries.
      example:
        title: Brent Crude Oil Price Monthly
        description: Monthly average Brent crude oil spot price in USD/barrel, sourced from EIA.
        keywords:
        - oil
        - brent
        - energy
        - commodity
        - barrel
      properties:
        description:
          description: Extended context for the model, up to 2048 characters. More detail improves driver relevance.
          maxLength: 2048
          type: string
        keywords:
          description: Up to 20 semantic tags that help anchor the search to relevant datasets.
          items:
            maxLength: 255
            minLength: 1
            type: string
          maxItems: 20
          type: array
        title:
          description: Short identifier for the series, 20–511 characters.
          maxLength: 511
          minLength: 20
          type: string
      required:
      - title
      type: object
  securitySchemes:
    bearerAuth:
      scheme: bearer
      type: http