Moody's RMS Portfolio V2 API

The PortfolioV2 API from Moody's RMS — 16 operation(s) for portfoliov2.

Operations 20

GET /v2/portfolios Get portfolios #
POST /v2/portfolios Create portfolio #
GET /v2/portfolios/count Count portfolios #
GET /v2/portfolios/{id} Get portfolio #
PUT /v2/portfolios/{id} Update portfolio #
DELETE /v2/portfolios/{id} Delete portfolio #
GET /v2/portfolios/{id}/accounts Get accounts by portfolio #
PUT /v2/portfolios/{id}/accounts Manage accounts by portfolio #
GET /v2/portfolios/{id}/analyses Get results by portfolio #
POST /v2/portfolios/{id}/convertcurrency Convert currency by portfolio #
GET /v2/portfolios/{id}/coordinate Get portfolio locations #
GET /v2/portfolios/{id}/coordinates Get location coordinates by portfolio #
PUT /v2/portfolios/{id}/filteredaccounts Manage filtered accounts by portfolio #
POST /v2/portfolios/{id}/copy Copy portfolio #
POST /v2/portfolios/{id}/geohaz Geohazard portfolio #
GET /v2/portfolios/{id}/metrics Get metrics by portfolio #
POST /v2/portfolios/{id}/process Analyze portfolio #
GET /v2/portfolios/{id}/reports Get portfolio reports #
POST /v2/portfolios/{id}/summary_report Generate summary report by portfolio #
POST /v2/exposurebatches Manage portfolio exposures in batch #

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-rms-portfoliov2-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-rms-portfoliov2-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Risk Modeler Portfolio V2 API
  description: This documentation provides information on the Risk Modeler 2.0 public API.
  version: March, 2023
servers:
- url: https://{host}/riskmodeler
  description: Risk Intelligence Analytics Platform
  variables:
    host:
      enum:
      - api-euw1.rms.com
      - api-use1.rms.com
      default: api-euw1.rms.com
      description: 'Data center that hosts the tenant instance: api-euw1.rms.com or api-use1.rms.com.'
security:
- RMS_Auth: []
tags:
- name: PortfolioV2
paths:
  /v2/portfolios:
    get:
      operationId: searchPortfoliosv2
      summary: Get portfolios
      description: ''
      parameters:
      - name: datasource
        in: query
        description: Name of the EDM.
        schema:
          type: string
      - name: q
        in: query
        description: 'Filters query results by evaluating the value of expressions. Supports four types of operators:

          * Comparison: `q=[attribute][comparison operator][value]` e.g. `id=100`, `id!=100`, `id>100`

          * Logical: `q=[expression][logical operator][expression]` e.g. `id=100 AND name="xyz"` , `id=100 OR type="abc"`

          * List: `q=[attribute][list operator][values list]` e.g. `id IN (1,2,3]`, `name NOT IN ("abc","xyz")`

          * Matching: `q=[attribute][comparison operator][pattern]`, e.g. `name LIKE "abc "` , `type NOT LIKE " xyz* "`

          To learn more, see [Query Exposure Data](https://developer.rms.com/rms-developers/docs/query-exposure-data).'
        schema:
          type: string
      - name: sort
        in: query
        description: Specify `ASC` to display the results in alphabetical or numerical ascending order or `DESC` to display the results in descending order.
        schema:
          type: string
      - name: limit
        in: query
        description: Number of records displayed per page.
        schema:
          type: integer
          format: int32
      - name: offset
        in: query
        description: 'Number of pages offset before the first page of returned records. By default, _0_.

          '
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: List of portfolios retrieved.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PortfolioSearchResult'
        '400':
          description: 'Bad Request: Please check that you are provided all required values.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '403':
          description: 'Forbidden: Access to this resource is denied or not authorized to perform the "View Portfolios" action.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
      - RMS_Auth: []
      tags:
      - PortfolioV2
    post:
      operationId: createPortfoliov2
      summary: Create portfolio
      description: ''
      parameters:
      - name: datasource
        in: query
        description: Name of the EDM.
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Portfolio'
        required: true
      responses:
        '201':
          description: Portfolio created.
          headers:
            Location:
              description: Portfolio resource
              style: simple
              schema:
                type: string
                format: URI
        '400':
          description: 'Bad Request: Please check that you are provided all required values.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '403':
          description: 'Forbidden: Access to this resource is denied or not authorized to perform the "Edit Portfolios" action.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
      - RMS_Auth: []
      tags:
      - PortfolioV2
  /v2/portfolios/count:
    get:
      operationId: getExposureCountPortfoliov2
      summary: Count portfolios
      description: ''
      parameters:
      - name: datasource
        in: query
        description: Name of the EDM.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Portfolio count successfully retrieved.
          content:
            application/json:
              schema:
                type: integer
                format: int64
        '400':
          description: 'Bad Request: Please check that you are provided all required values.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '403':
          description: 'Forbidden: Access to this resource is denied or not authorized to perform the "View Portfolios" action.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
      - RMS_Auth: []
      tags:
      - PortfolioV2
  /v2/portfolios/{id}:
    get:
      operationId: getPortfoliov2
      summary: Get portfolio
      description: ''
      parameters:
      - name: id
        in: path
        description: ID number of the portfolio.
        required: true
        schema:
          type: integer
          format: int32
          minimum: 1
      - name: datasource
        in: query
        description: Name of the EDM.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Portfolio information retrieved.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Portfolio'
        '400':
          description: 'Bad Request: Please check that you are provided all required values.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '403':
          description: 'Forbidden: Access to this resource is denied or not authorized to perform the "View Portfolios" action.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '404':
          description: The requested resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
      - RMS_Auth: []
      tags:
      - PortfolioV2
    put:
      operationId: updatePortfoliov2
      summary: Update portfolio
      description: ''
      parameters:
      - name: id
        in: path
        description: ID number of the portfolio.
        required: true
        schema:
          type: integer
          format: int32
          minimum: 1
      - name: datasource
        in: query
        description: Name of the EDM.
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Portfolio'
        required: true
      responses:
        '204':
          description: Portfolio successfully updated.
        '400':
          description: 'Bad Request: Please check that you are provided all required values.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '403':
          description: 'Forbidden: Access to this resource is denied or not authorized to perform the "Edit Portfolios" action.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
      - RMS_Auth: []
      tags:
      - PortfolioV2
    delete:
      operationId: deletePortfoliov2
      summary: Delete portfolio
      description: ''
      parameters:
      - name: id
        in: path
        description: ID number of the portfolio.
        required: true
        schema:
          type: integer
          format: int32
          minimum: 1
      - name: deleteType
        in: query
        description: 'The scope of the data deleted: `PORTFOLIO_INFO`, `PORTFOLIO_ALL_ACCOUNTS`, or `PORTFOLIO_EXCEPT_ACCOUNTS`'
        required: true
        schema:
          type: string
          enum:
          - PORTFOLIO_INFO
          - PORTFOLIO_ALL_ACCOUNTS
          - PORTFOLIO_EXCEPT_ACCOUNTS
      - name: datasource
        in: query
        description: Name of the EDM.
        required: true
        schema:
          type: string
      responses:
        '202':
          description: 'Accepted: A job with the specified ID has been added to the workflow engine queue for processing. Send periodic HTTP GET requests to the URI for the job status. See [Workflow Engine Jobs](https://developer.rms.com/rms-developers/docs/workflow-engine).'
          headers:
            Location:
              description: url containing identifier of the submitted workflow.
              style: simple
              schema:
                type: string
                format: URI
        '400':
          description: 'Bad Request: Please check that you are provided all required values.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '403':
          description: 'Forbidden: Access to this resource is denied or not authorized to perform the "Edit Portfolios" action.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
      - RMS_Auth: []
      tags:
      - PortfolioV2
  /v2/portfolios/{id}/accounts:
    get:
      operationId: searchPortfolioAccountsv2
      summary: Get accounts by portfolio
      description: ''
      parameters:
      - name: id
        in: path
        description: ID of the portfolio.
        required: true
        schema:
          type: integer
          format: int32
          minimum: 1
      - name: datasource
        in: query
        description: Name of the EDM.
        schema:
          type: string
      - name: q
        in: query
        description: 'Filters query results by evaluating the value of expressions. Supports four types of operators:

          * Comparison: `q=[attribute][comparison operator][value]` e.g. `id=100`, `id!=100`, `id>100`

          * Logical: `q=[expression][logical operator][expression]` e.g. `id=100 AND name="xyz"` , `id=100 OR type="abc"`

          * List: `q=[attribute][list operator][values list]` e.g. `id IN (1,2,3]`, `name NOT IN ("abc","xyz")`

          * Matching: `q=[attribute][comparison operator][pattern]`, e.g. `name LIKE "abc "` , `type NOT LIKE " xyz* "`

          To learn more, see [Query Exposure Data](https://developer.rms.com/rms-developers/docs/query-exposure-data).'
        schema:
          type: string
      - name: sort
        in: query
        description: Specify `ASC` to display the results in alphabetical or numerical ascending order or `DESC` to display the results in descending order.
        schema:
          type: string
      - name: limit
        in: query
        description: Number of records displayed per page.
        schema:
          type: integer
          format: int32
      - name: offset
        in: query
        description: 'Number of pages offset before the first page of returned records. By default, _0_.

          '
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: List of accounts retrieved.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountSearchResult'
        '400':
          description: 'Bad Request: Please check that you are provided all required values.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '403':
          description: 'Forbidden: Access to this resource is denied or not authorized to perform the "View Portfolios" action.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '404':
          description: The requested resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
      - RMS_Auth: []
      tags:
      - PortfolioV2
    put:
      operationId: managePortfolioAccountsv2
      summary: Manage accounts by portfolio
      description: ''
      parameters:
      - name: id
        in: path
        description: ID number of the portfolio.
        required: true
        schema:
          type: integer
          format: int32
          minimum: 1
      - name: datasource
        in: query
        description: Name of the EDM.
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PortfolioAccountsInput'
        required: true
      responses:
        '202':
          description: 'Accepted: A job with the specified ID has been added to the workflow engine queue for processing. Send periodic HTTP GET requests to the URI for the job status. See [Workflow Engine Jobs](https://developer.rms.com/rms-developers/docs/workflow-engine).'
        '400':
          description: 'Bad Request: Please check that you are provided all required values.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '403':
          description: 'Forbidden: Access to this resource is denied or not authorized to perform the "Edit Portfolios" action.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
      - RMS_Auth: []
      tags:
      - PortfolioV2
  /v2/portfolios/{id}/analyses:
    get:
      operationId: getPortfolioAnalysesResultsV2
      summary: Get results by portfolio
      description: ''
      parameters:
      - name: id
        in: path
        description: ID number of the portfolio.
        required: true
        schema:
          type: integer
          format: int32
          minimum: 1
      - name: datasource
        in: query
        description: Name of the EDM.
        required: true
        schema:
          type: string
      - name: q
        in: query
        description: 'Filters query results by evaluating the value of expressions. Supports four types of operators:

          * Comparison: `q=[attribute][comparison operator][value]` e.g. `id=100`, `id!=100`, `id>100`

          * Logical: `q=[expression][logical operator][expression]` e.g. `id=100 AND name="xyz"` , `id=100 OR type="abc"`

          * List: `q=[attribute][list operator][values list]` e.g. `id IN (1,2,3]`, `name NOT IN ("abc","xyz")`

          * Matching: `q=[attribute][comparison operator][pattern]`, e.g. `name LIKE "abc "` , `type NOT LIKE " xyz* "`

          To learn more, see [Query Exposure Data](https://developer.rms.com/rms-developers/docs/query-exposure-data).'
        schema:
          type: string
      - name: sort
        in: query
        description: Specify `ASC` to display the results in alphabetical or numerical ascending order or `DESC` to display the results in descending order.
        schema:
          type: string
      - name: limit
        in: query
        description: Number of records displayed per page.
        schema:
          type: integer
          format: int32
      - name: offset
        in: query
        description: Number of pages offset before the first page returned records. By default, _0_.
        schema:
          type: integer
          format: int32
      - name: userName
        in: query
        description: Name of <<glossary:principal>> that submitted the workflow.
        schema:
          type: string
      - name: runDate
        in: query
        description: Date that the analysis was run.
        schema:
          type: string
      responses:
        '200':
          description: Analyses for exposure successfully retrieved.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnalysisSearchResultV2'
        '400':
          description: 'Bad Request: Please check that you are provided all required values.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '403':
          description: 'Forbidden: Access to this resource is denied or not authorized to perform the "View Results" action.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
      - RMS_Auth: []
      tags:
      - PortfolioV2
  /v2/portfolios/{id}/convertcurrency:
    post:
      operationId: convertPortfolioCurrencyv2
      summary: Convert currency by portfolio
      description: ''
      parameters:
      - name: id
        in: path
        description: ID number of the portfolio.
        required: true
        schema:
          type: integer
          format: int32
          minimum: 1
      - name: datasource
        in: query
        description: Name of the EDM.
        required: true
        schema:
          type: string
      requestBody:
        content:
          '*/*':
            schema:
              $ref: '#/components/schemas/Currency'
        required: true
      responses:
        '202':
          description: 'Accepted: A job with the specified ID has been added to the workflow engine queue for processing. Send periodic HTTP GET requests to the URI for the job status. See [Workflow Engine Jobs](https://developer.rms.com/rms-developers/docs/workflow-engine).'
          headers:
            Location:
              description: url containing identifier of the submitted workflow.
              style: simple
              schema:
                type: string
                format: URI
        '400':
          description: Bad Request. The input data is invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '403':
          description: 'Forbidden: Access to this resource is denied or not authorized to perform the "Edit Portfolios" action.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
      - RMS_Auth: []
      tags:
      - PortfolioV2
  /v2/portfolios/{id}/coordinate:
    get:
      operationId: getCoordinateByLatitudeAndLongitudePortfoliov2
      summary: Get portfolio locations
      description: ''
      parameters:
      - name: id
        in: path
        description: ID number of the portfolio.
        required: true
        schema:
          type: integer
          format: int32
          minimum: 1
      - name: datasource
        in: query
        description: Name of the EDM.
        required: true
        schema:
          type: string
      - name: latitude
        in: query
        description: Latitude coordinates.
        schema:
          type: number
          format: double
      - name: longitude
        in: query
        description: Longitude coordinates.
        schema:
          type: number
          format: double
      responses:
        '200':
          description: Location coordinate retrieved.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Coordinate'
        '403':
          description: 'Forbidden: Access to this resource is denied or not authorized to perform the "View Portfolios" action.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
      - RMS_Auth: []
      tags:
      - PortfolioV2
  /v2/portfolios/{id}/coordinates:
    get:
      operationId: getCoordinatesByPortfoliov2
      summary: Get location coordinates by portfolio
      description: ''
      parameters:
      - name: id
        in: path
        description: ID number of the portfolio.
        required: true
        schema:
          type: integer
          format: int32
          minimum: 1
      - name: datasource
        in: query
        description: Name of the EDM.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Location coordinates retrieved.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Coordinate'
        '403':
          description: 'Forbidden: Access to this resource is denied or not authorized to perform the "View Portfolios" action.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
      - RMS_Auth: []
      tags:
      - PortfolioV2
  /v2/portfolios/{id}/filteredaccounts:
    put:
      operationId: manageFilteredAccountsv2
      summary: Manage filtered accounts by portfolio
      description: ''
      parameters:
      - name: id
        in: path
        description: ID number of the portfolio.
        required: true
        schema:
          type: integer
          format: int32
          minimum: 1
      - name: datasource
        in: query
        description: Name of the EDM.
        required: true
        schema:
          type: string
      requestBody:
        content:
          '*/*':
            schema:
              $ref: '#/components/schemas/PortfolioFilteredAccountsInput'
        required: true
      responses:
        '202':
          description: 'Accepted: A job with the specified ID has been added to the workflow engine queue for processing. Send periodic HTTP GET requests to the URI for the job status. See [Workflow Engine Jobs](https://developer.rms.com/rms-developers/docs/workflow-engine).'
        '400':
          description: 'Bad Request: Please check that you are provided all required values.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '403':
          description: 'Forbidden: Access to this resource is denied or not authorized to perform the "Edit Portfolios" action.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
      - RMS_Auth: []
      tags:
      - PortfolioV2
  /v2/portfolios/{id}/copy:
    post:
      operationId: copyPortfoliov2
      summary: Copy portfolio
      description: ''
      parameters:
      - name: id
        in: path
        description: ID number of the portfolio.
        required: true
        schema:
          type: integer
          format: int32
          minimum: 1
      - name: datasource
        in: query
        description: Name of the EDM.
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CopyPortfolioInfo'
        required: true
      responses:
        '202':
          description: 'Accepted: A job with the specified ID has been added to the workflow engine queue for processing. Send periodic HTTP GET requests to the URI for the job status. See [Workflow Engine Jobs](https://developer.rms.com/rms-developers/docs/workflow-engine).'
          headers:
            Location:
              description: url containing identifier of the submitted workflow.
              style: simple
              schema:
                type: string
                format: URI
        '400':
          description: 'Bad Request: Please check that you are provided all required values.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '403':
          description: 'Forbidden: Access to this resource is denied or not authorized to perform the "Edit Portfolios" action.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '404':
          description: The requested resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
      - RMS_Auth: []
      tags:
      - PortfolioV2
  /v2/portfolios/{id}/geohaz:
    post:
      operationId: geohazPortfoliov2
      summary: Geohazard portfolio
      description: ''
      parameters:
      - name: id
        in: path
        description: ID number of the portfolio.
        required: true
        schema:
          type: integer
          format: int32
          minimum: 1
      - name: datasource
        in: query
        description: Name of the EDM.
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/LayerInfo'
        required: true
      responses:
        '202':
          description: 'Accepted: A job with the specified ID has been added to the workflow engine queue for processing. Send periodic HTTP GET requests to the URI for the job status. See [Workflow Engine Jobs](https://developer.rms.com/rms-developers/docs/workflow-engine).'
          headers:
            Location:
              description: url containing identifier of the submitted workflow.
              style: simple
              schema:
                type: string
                format: URI
        '400':
          description: 'Bad Request: Please check that you are provided all required values.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '403':
          description: 'Forbidden: Access to this resource is denied or not authorized to perform the "Edit Portfolios" action.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
      - RMS_Auth: []
      tags:
      - PortfolioV2
  /v2/portfolios/{id}/metrics:
    get:
      operationId: getPortfolioMetricsv2
      summary: Get metrics by portfolio
      description: ''
      parameters:
      - name: id
        in: path
        description: ID number of the portfolio.
        required: true
        schema:
          type: integer
          format: int32
          minimum: 1
      - name: datasource
        in: query
        description: Name of the EDM.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Metrics for a specified portfolio are successfully retrieved.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PortfolioMetrics'
        '400':
          description: 'Bad Request: Please check that you are provided all required values.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '403':
          description: 'Forbidden: Access to this resource is denied or not authorized to perform the "View Portfolios" action.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
      - RMS_Auth: []
      tags:
      - PortfolioV2
  /v2/portfolios/{id}/process:
    post:
      operationId: processPortfolioV2
      summary: Analyze portfolio
      description: ''
      parameters:
      - name: id
        in: path
        description: ID number of the portfolio.
        required: true
        schema:
          type: integer
          format: int32
          minimum: 1
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProcessInputV2'
        required: true
      responses:
        '202':
          description: 'Accepted: A job with the specified ID has been added to the workflow engine queue for processing. Send periodic HTTP GET requests to the URI for the job status. See [Workflow Engine Jobs](https://developer.rms.com/rms-developers/docs/workflow-engine).'
          headers:
            Location:
              description: url containing identifier of the submitted workflow.
              style: simple
              schema:
                type: string
                format: URI
        '400':
          description: 'Bad Request: Please check that you are provided all required values.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '403':
          description: 'Forbidden: Access to this resource is denied or not authorized to perform the "Add to Analysis Builder" action.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
      - RMS_Auth: []
      tags:
      - PortfolioV2
  /v2/portfolios/{id}/reports:
    get:
      tags:
      - PortfolioV2
      summary: Get portfolio reports
      description: ''
      operationId: portfolioReportsv2
      parameters:
      - name: id
        in: path
        description: ID number of the portfolio.
        required: true
        schema:
          minimum: 1
          type: integer
          format: int32
      - name: datasource
        in: query
        description: Name of the EDM.
        required: true
        schema:
          type: string
      - name: q
        in: query
        description: 'Filters query results by evaluating the value of expressions. Supports four types of operators:

          * Comparison: `q=[attribute][comparison operator][value]` e.g. `id=100`, `id!=100`, `id>100`

          * Logical: `q=[expression][logical operator][expression]` e.g. `id=100 AND name="xyz"` , `id=100 OR type="abc"`

          * List: `q=[attribute][list operator][values list]` e.g. `id IN (1,2,3]`, `name NOT IN ("abc","xyz")`

          * Matching: `q=[attribute][comparison operator][pattern]`, e.g. `name LIKE "abc "` , `type NOT LIKE " xyz* "`

          To learn more, see [Query Exposure Data](https://developer.rms.com/rms-developers/docs/query-exposure-data).'
        schema:
          type: string
      - name: sort
        in: query
        description: 'Specify `ASC` to display the results in alphabetical or numerical ascending order or `DESC` to display the results in descending order.

          '
        schema:
          type: string
      - name: limit
        in: query
        description: Number of records displayed per page.
        schema:
          type: integer
          format: int32
      - name: offset
        in: query
        description: 'Number of pages offset before the first page of returned records. By default, _0_.

          '
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: List of reports successfully retrieved.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportListSearchResult'
        '400':
          description: 'Bad Request: Please check that you are provided all required values.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
        '403':
          description: 'Forbidden: Access to this resource is denied or not authorized to perform the "View Portfolios" action.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessage'
      security:
      - RMS_Auth: []
  /v2/portfolios/{id}/summary

# --- truncated at 32 KB (48 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/moodys-rms/refs/heads/main/openapi/moodys-rms-portfoliov2-api-openapi.yml