Moody's Corporation Baskets API

Operations for creating and managing collections of series requests

OpenAPI Specification

moodys-corporation-baskets-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Moody's Analytics Developer Platform Authentication Baskets API
  version: 1.0.0
  description: Cross-cutting umbrella API surface for the Moody's Analytics developer platform covering authentication (OAuth2 client credentials and HMAC request signing), platform health, product catalog discovery, and a canonical pattern for asynchronous analysis-job execution used across multiple Moody's Analytics product APIs (Data Buffet, Scenario Studio, ImpairmentStudio, AutoCycle, ECCL).
  contact:
    name: Moody's Analytics Developer Support
    email: helpeconomy@moodys.com
    url: https://developer.moodys.com/
  license:
    name: Moody's Analytics Terms of Use
    url: https://www.moodys.com/web/en/us/about/legal/terms-of-use.html
servers:
- url: https://api.economy.com
  description: Moody's Analytics economy.com API gateway
- url: https://api.moodys.com
  description: Moody's Analytics moodys.com API gateway
security:
- oauth2: []
tags:
- name: Baskets
  description: Operations for creating and managing collections of series requests
paths:
  /baskets:
    get:
      operationId: listBaskets
      summary: Moody's List All Baskets
      description: Returns a list of all data baskets owned by the authenticated user. A basket is a saved collection of series requests that can be executed as an order.
      tags:
      - Baskets
      responses:
        '200':
          description: Successfully retrieved basket list
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Basket'
        '401':
          description: Unauthorized - invalid or expired token
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createBasket
      summary: Moody's Create a New Basket
      description: Creates a new data basket with a collection of series requests. Baskets can be saved and reused to generate orders for bulk data retrieval.
      tags:
      - Baskets
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BasketCreate'
      responses:
        '201':
          description: Successfully created basket
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Basket'
        '400':
          description: Invalid basket definition
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized - invalid or expired token
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /baskets/{basketId}:
    get:
      operationId: getBasket
      summary: Moody's Retrieve a Specific Basket
      description: Returns the details of a specific basket including its series requests and configuration.
      tags:
      - Baskets
      parameters:
      - $ref: '#/components/parameters/basketId'
      responses:
        '200':
          description: Successfully retrieved basket
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Basket'
        '401':
          description: Unauthorized - invalid or expired token
        '404':
          description: Basket not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      operationId: updateBasket
      summary: Moody's Update an Existing Basket
      description: Updates the series requests and configuration of an existing basket.
      tags:
      - Baskets
      parameters:
      - $ref: '#/components/parameters/basketId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BasketCreate'
      responses:
        '200':
          description: Successfully updated basket
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Basket'
        '400':
          description: Invalid basket definition
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized - invalid or expired token
        '404':
          description: Basket not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: deleteBasket
      summary: Moody's Delete a Basket
      description: Permanently deletes a basket and its associated series requests.
      tags:
      - Baskets
      parameters:
      - $ref: '#/components/parameters/basketId'
      responses:
        '204':
          description: Successfully deleted basket
        '401':
          description: Unauthorized - invalid or expired token
        '404':
          description: Basket not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    BasketCreate:
      type: object
      description: Request body for creating or updating a basket.
      required:
      - name
      - series
      properties:
        name:
          type: string
          description: User-defined name for the basket.
          example: Example Title
        description:
          type: string
          description: Optional description of the basket.
          example: A sample description.
        series:
          type: array
          description: The series requests to include in the basket.
          items:
            $ref: '#/components/schemas/SeriesRequest'
          example: []
    Basket:
      type: object
      description: A saved collection of series requests that can be executed as an order for bulk data retrieval.
      required:
      - basketId
      - name
      - series
      properties:
        basketId:
          type: string
          description: Unique identifier for the basket.
          example: '500123'
        name:
          type: string
          description: User-defined name for the basket.
          example: Example Title
        description:
          type: string
          description: Optional description of the basket contents and purpose.
          example: A sample description.
        series:
          type: array
          description: The series requests contained in the basket.
          items:
            $ref: '#/components/schemas/SeriesRequest'
          example: []
        createdAt:
          type: string
          format: date-time
          description: When the basket was created.
          example: '2026-01-15T10:30:00Z'
        updatedAt:
          type: string
          format: date-time
          description: When the basket was last modified.
          example: '2026-01-15T10:30:00Z'
    Error:
      type: object
      description: Standard error response.
      required:
      - code
      - message
      properties:
        code:
          type: string
          description: Machine-readable error code.
          example: example_value
        message:
          type: string
          description: Human-readable error message.
          example: example_value
        details:
          type: string
          description: Additional details about the error.
          example: example_value
    SeriesRequest:
      type: object
      description: A single series request within a multi-series call.
      required:
      - mnemonic
      properties:
        mnemonic:
          type: string
          description: The unique series mnemonic identifier.
          example: example_value
        freq:
          type: string
          description: Desired output frequency.
          enum:
          - A
          - Q
          - M
          - W
          - D
          example: A
        trans:
          type: string
          description: Mathematical transformation to apply.
          enum:
          - Level
          - SimpleDifference
          - PercentChange
          - AnnualizedGrowth
          - YearOverYearPercentChange
          - CompoundAnnualGrowthRate
          example: Level
        startDate:
          type: string
          format: date
          description: Start date for the data range.
          example: '2026-01-15'
        endDate:
          type: string
          format: date
          description: End date for the data range.
          example: '2026-01-15'
        vintage:
          type: string
          format: date
          description: Vintage date for historical data revisions.
          example: '2026-01-15'
  parameters:
    basketId:
      name: basketId
      in: path
      description: The unique identifier of the basket.
      required: true
      schema:
        type: string
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://api.economy.com/oauth2/token
          scopes:
            read: Read access to entitled Moody's Analytics products
            write: Write access for job submission and basket / order management
    hmac:
      type: apiKey
      in: header
      name: Authorization
      description: HMAC-SHA256 request signing scheme used as an alternative to OAuth2 on legacy Moody's Analytics product APIs (Data Buffet, Scenario Studio).
externalDocs:
  description: Moody's Analytics Developer Portal
  url: https://developer.moodys.com/