Moody's Universe API

The Universe API from Moody's — 8 operation(s) for universe.

Operations 8

GET /base-scenario Get the list of base/moody's scenarios. #
GET /base-scenario/{scenarioId} Gets base/moody's scenario detail. #
GET /base-scenario/{scenarioId}/details Gets the full details on a base scenario. #
POST /base-scenario/search Search base scenarios. #
POST /base-scenario/search/count Search base scenarios. #
GET /group/client Gets the list of permissionable clients (in the context of the person making the request). #
POST /project/scenario/search Search client scenarios. #
POST /project/scenario/search/count Search client scenarios. #

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/moodys-universe-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

moodys-universe-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: v2
  title: Scenario Studio Universe API
  description: API access to Moody's Analytics Scenario Studio.
servers:
- url: https://api.economy.com/scenario-studio/v2
tags:
- name: Universe
paths:
  /base-scenario:
    get:
      tags:
      - Universe
      summary: Get the list of base/moody's scenarios.
      operationId: Universe_ScenariosListAsync
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
            text/json:
              schema:
                type: object
      security:
      - oauth2: []
  /base-scenario/{scenarioId}:
    get:
      tags:
      - Universe
      summary: Gets base/moody's scenario detail.
      operationId: Universe_GetScenarioAsync
      parameters:
      - name: scenarioId
        in: path
        description: The base scenario Id.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
            text/json:
              schema:
                type: object
      security:
      - oauth2: []
  /base-scenario/{scenarioId}/details:
    get:
      tags:
      - Universe
      summary: Gets the full details on a base scenario.
      operationId: Universe_ScenarioDetailsAsync
      parameters:
      - name: scenarioId
        in: path
        description: The Id of the base scenario.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
            text/json:
              schema:
                type: object
      security:
      - oauth2: []
  /base-scenario/search:
    post:
      tags:
      - Universe
      summary: Search base scenarios.
      operationId: Universe_SearchBaseScenariosListAsync
      parameters:
      - name: skip
        in: query
        description: Number of records to skip.
        required: false
        schema:
          type: integer
          format: int32
      - name: take
        in: query
        description: Number of records to return.
        required: false
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
            text/json:
              schema:
                type: object
      security:
      - oauth2: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScenarioSearchOptions'
          text/json:
            schema:
              $ref: '#/components/schemas/ScenarioSearchOptions'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ScenarioSearchOptions'
        description: The search options.
        required: true
  /base-scenario/search/count:
    post:
      tags:
      - Universe
      summary: Search base scenarios.
      operationId: Universe_SearchBaseScenariosListCountAsync
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
            text/json:
              schema:
                type: object
      security:
      - oauth2: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScenarioSearchOptions'
          text/json:
            schema:
              $ref: '#/components/schemas/ScenarioSearchOptions'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ScenarioSearchOptions'
        description: The search options.
        required: true
  /group/client:
    get:
      tags:
      - Universe
      summary: Gets the list of permissionable clients (in the context of the person making the request).
      operationId: Universe_ClientsListAsync
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
            text/json:
              schema:
                type: object
      security:
      - oauth2: []
  /project/scenario/search:
    post:
      tags:
      - Universe
      summary: Search client scenarios.
      operationId: Universe_SearchProjectScenariosListAsync
      parameters:
      - name: skip
        in: query
        description: Number of records to skip.
        required: false
        schema:
          type: integer
          format: int32
      - name: take
        in: query
        description: Number of records to return.
        required: false
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
            text/json:
              schema:
                type: object
      security:
      - oauth2: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScenarioSearchOptions'
          text/json:
            schema:
              $ref: '#/components/schemas/ScenarioSearchOptions'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ScenarioSearchOptions'
        description: The search options.
        required: true
  /project/scenario/search/count:
    post:
      tags:
      - Universe
      summary: Search client scenarios.
      operationId: Universe_SearchProjectScenariosListCountAsync
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
            text/json:
              schema:
                type: object
      security:
      - oauth2: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScenarioSearchOptions'
          text/json:
            schema:
              $ref: '#/components/schemas/ScenarioSearchOptions'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ScenarioSearchOptions'
        description: The search options.
        required: true
components:
  schemas:
    ScenarioSearchOptions:
      type: object
      properties:
        terms:
          type: array
          items:
            type: string
        sortBy:
          type: string
        modelTypes:
          type: array
          items:
            type: string
        vintages:
          maximum: 2147483647
          minimum: 0
          type: array
          items:
            format: int32
            type: integer
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        clientCredentials:
          scopes: {}
          tokenUrl: https://api.economy.com/scenario-studio/v2/oauth2/token
      description: OAuth2 Client Credentials