openapi: 3.2.0 info: title: Automated Spreading and Analysis Data Views API version: 1.3.1 description: This REST API allows you to interact with the Automated Spreading processing and insights engine. x-logo: url: https://manual-public-web-static-resources.s3.amazonaws.com/public-api/Moodys-icon.svg contact: name: Moody's Automated Spreading Customer Support email: MA_NMR_Support@moodys.com security: - API_Key: [] tags: - name: data views paths: /v1/data-view/from_document_file/{document_file_uuid}: get: operationId: retrieveDataViewFromDocumentFile description: Retrieve a DataView from the standardized output of a DocumentFile submitted to Fincura parameters: - name: document_file_uuid in: path required: true description: '' schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/DataView' description: '' tags: - data views summary: Get DataView from a DocumentFile /v1/data-view/from_document_file/{document_file_uuid}/creditlens: get: operationId: creditlensDataViewFromDocumentFile description: Retrieve a DataView from the standardized output of a DocumentFile submitted to Fincura in CreditLens format parameters: - name: document_file_uuid in: path required: true description: '' schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/DataView' description: '' tags: - data views summary: Get DataView from a DocumentFile in CreditLens format /v1/data-view/most_recent/{borrower_uuid}: get: operationId: retrieveMostRecentDataView description: Retrieve a DataView from the most recent standardized data for a borrower parameters: - name: borrower_uuid in: path required: true description: '' schema: type: string - name: reporting_interval required: false in: query description: Reporting Interval of the financial data schema: type: string enum: - MONTHLY - QUARTERLY - SEMI_ANNUALLY - ANNUALLY - FISCAL_YTD - TTM - name: preparation_type required: false in: query description: Preparation Type of the finanical data schema: type: string enum: - UNQUALIFIED - QUALIFIED - TAX_RETURN - REVIEWED - CPA_PREP - NTR - MANAGEMENT - COMBINED - UNKNOWN - CALCULATED - ANALYST - UNQUALIFIED_IMPORT - QUALIFIED_IMPORT - TAX_RETURN_IMPORT - REVIEWED_IMPORT - CPA_PREP_IMPORT - NTR_IMPORT - MANAGEMENT_IMPORT - ANALYST_IMPORT - IMPORTED - FORECASTED - ANNUALIZED - name: column_limit required: false in: query description: Number of columns of dataview data to return. Defaults to 1 if not provided schema: type: integer responses: '200': content: application/json: schema: $ref: '#/components/schemas/DataView' description: '' tags: - data views summary: Get the most recent period of data for a Borrower /v1/data-view/all/{uuid_or_labeled_key}: get: operationId: retrieveAllDataViews description: 'Retrieve DataViews for all standardized data for a borrower, by primary or secondary key The path variable `uuid_or_labeled_key`, can either be a uuid or a label:key (label=key is also accepted). The labels `borrower_uuid` and `external_id` are supported. examples of path variables: 1. 2dfefa9c-c91e-4cc1-b783-363659e596f5 2. borrower_uuid:2dfefa9c-c91e-4cc1-b783-363659e596f5 3. borrower_uuid=2dfefa9c-c91e-4cc1-b783-363659e596f5 4. external_id=1000882211 values 1..3 are equivalent, and if the DataView has that external_id, so is 4.' parameters: - name: uuid_or_labeled_key in: path required: true description: '' schema: type: string - name: reporting_interval required: false in: query description: Reporting Interval of the financial data schema: type: string enum: - MONTHLY - QUARTERLY - SEMI_ANNUALLY - ANNUALLY - FISCAL_YTD - TTM - name: preparation_type required: false in: query description: Preparation Type of the finanical data schema: type: string enum: - UNQUALIFIED - QUALIFIED - TAX_RETURN - REVIEWED - CPA_PREP - NTR - MANAGEMENT - COMBINED - UNKNOWN - CALCULATED - ANALYST - UNQUALIFIED_IMPORT - QUALIFIED_IMPORT - TAX_RETURN_IMPORT - REVIEWED_IMPORT - CPA_PREP_IMPORT - NTR_IMPORT - MANAGEMENT_IMPORT - ANALYST_IMPORT - IMPORTED - FORECASTED - ANNUALIZED - name: period_key_uuid required: false in: query description: Period in a dataview to return. schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/DataView' description: '' tags: - data views summary: Get all dataviews for a specific borrower, using a primary or secondary key /v1/data-view/all/{uuid_or_labeled_key}/download_pdf: get: operationId: downloadPdfAllDataViews description: 'Download a PDF overview summarizing all standardized data for a borrower, by primary or secondary key This supports the same label:key scheme as the method above.' parameters: - name: uuid_or_labeled_key in: path required: true description: '' schema: type: string responses: '200': content: application/pdf: schema: $ref: '#/components/schemas/DataView' description: '' tags: - data views summary: Get a PDF for all dataviews for a specific borrower, using a primary or… /v1/data-view/metadata/{borrower_uuid}/periods: get: operationId: periodsDataViewMetadata description: Retrieve the metadata for all periods for a borrower parameters: - name: borrower_uuid in: path required: true description: '' schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/AllPeriodsList' description: '' tags: - data views summary: Get a list of metadata for all dataview periods for a specific borrower /v1/data-view/create-dataview-from-orbis: post: operationId: createDataViewFromOrbis description: 'Create a DataView by fetching financial data from Orbis API. Accepts an Orbis company ID and returns annual financial statements in standardized DataView format. **Request Parameters:** - **orbis_id** (required): The Orbis company identifier to fetch financial data for. - **spreading_template_uuid** (optional): UUID of the spreading template to use for calculations. If not provided, the borrower''s default template is used. - **num_periods** (optional, default=1): Number of annual periods to return (1-100). Each period becomes a column in the DataView. Orbis returns all available periods up to this number. - **lookback_window** (optional, default=12): Data freshness check in months (1-120). If the most recent Orbis financial data is older than this window, an error is returned. For example, with a 12-month lookback, data dated before 12 months ago will be rejected. - **refs_to_exclude** (optional): List of REF names to exclude from calculations. **Response:** - **dataview**: Full DataView structure with calculated values and multiple columns (one per period requested) - **metadata**: Orbis company information, fiscal period details, currency, etc. - **statistics**: Completeness metrics showing data coverage - **warnings**: Any validation warnings (optional) **Error Responses:** - **OrbisCompanyNotFoundError**: The Orbis ID does not exist or has no data - **OrbisDataTooStaleError**: Most recent data is older than the lookback window - **OrbisAPIKeyError**: API key is missing or invalid - **OrbisAPIConnectionError**: Unable to connect to Orbis API This is an ephemeral operation - no data is persisted to the database. The spreading calculations are performed in real-time using the Orbis data.' parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/OrbisDataViewRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/OrbisDataViewRequest' multipart/form-data: schema: $ref: '#/components/schemas/OrbisDataViewRequest' responses: '201': content: application/json: schema: $ref: '#/components/schemas/OrbisDataViewRequest' description: '' tags: - data views summary: Create DataView from Orbis company data components: schemas: AllPeriodsList: type: object properties: borrower_uuid: type: string format: uuid periods: type: array items: type: object properties: value: type: string label: type: string interval: type: string year: type: integer interval_index: type: integer preparation_type: type: string fiscal_year_end: type: string scenario: type: string projection_name: type: string period_key_uuid: type: string currency_format: type: string required: - value - label - interval - year - interval_index - preparation_type - fiscal_year_end - scenario required: - borrower_uuid - periods OrbisDataViewRequest: type: object properties: orbis_id: type: string description: Orbis company identifier spreading_template_uuid: type: - string - 'null' format: uuid description: 'Optional: UUID of the spreading template to use. If not provided, uses the borrower''s default template.' num_periods: type: integer maximum: 100 minimum: 1 default: 1 description: Number of annual periods to fetch (1-100). Defaults to 1. Orbis returns all available periods up to this number. lookback_window: type: integer maximum: 120 minimum: 1 default: 12 description: Lookback window in months (1-120). Defaults to 12. If the most recent Orbis financial data is older than this window, an error is returned. refs_to_exclude: type: array items: type: string description: 'Optional: List of REF names to exclude from calculations' is_ephemeral: type: boolean default: true description: When true (default), returns an ephemeral DataView without persisting data. When false, translates Orbis data into a financial statement submission and pushes it through the spreading pipeline to completion. Requires external_company_id. external_company_id: type: - string - 'null' description: Required when is_ephemeral=false. The borrower external identifier to attach the submission to. preparation_type: enum: - UNQUALIFIED - QUALIFIED - TAX_RETURN - REVIEWED - CPA_PREP - NTR - MANAGEMENT - COMBINED - UNKNOWN - CALCULATED - ANALYST - UNQUALIFIED_IMPORT - QUALIFIED_IMPORT - TAX_RETURN_IMPORT - REVIEWED_IMPORT - CPA_PREP_IMPORT - NTR_IMPORT - MANAGEMENT_IMPORT - ANALYST_IMPORT - IMPORTED - FORECASTED - ANNUALIZED type: string default: UNQUALIFIED description: Financial statement preparation type for the submission. Only used when is_ephemeral=false. Defaults to UNQUALIFIED. required: - orbis_id DataView: type: object properties: title: type: string borrower_uuid: type: string format: uuid description: UUID of the borrower for this DataView. (see [Borrowers](#tag/Borrowers)) template_uuid: type: string format: uuid description: UUID of the template used for spreading for the given company. columns: type: array items: type: object properties: label: type: string statement_date: type: string format: date-time reporting_interval: type: string preparation_type: type: string prepared_by: type: string months_in_interval: type: integer scenario: type: string scenario_label: type: string fiscal_year_end: type: string currency_format: type: string modified_date: type: string format: date modified_by: type: string cells: type: array items: type: object properties: calculated_value: type: object properties: value: type: number multipleOf: 0.01 error: type: string error_message: type: string line_item: type: object properties: id: type: integer label: type: string ref: type: string standardized_name: type: string required: - id - label - ref - standardized_name source_items: type: array items: type: object properties: label: type: string value: type: integer required: - label - value source_comments: type: array items: type: object properties: comment: type: string created_by: type: - string - 'null' created_date: type: - string - 'null' format: date-time changed_by: type: - string - 'null' changed_date: type: - string - 'null' format: date-time stmt_name: type: - string - 'null' line_item_label: type: - string - 'null' required: - comment required: - value - error - error_message - line_item - source_items required: - calculated_value source_comments: type: array items: type: object properties: comment: type: string created_by: type: - string - 'null' created_date: type: - string - 'null' format: date-time changed_by: type: - string - 'null' changed_date: type: - string - 'null' format: date-time stmt_name: type: - string - 'null' line_item_label: type: - string - 'null' required: - comment required: - label - statement_date - reporting_interval - preparation_type - prepared_by - months_in_interval - scenario - scenario_label - fiscal_year_end - currency_format - cells rows: type: array items: type: object properties: label: type: string line_item: type: object properties: id: type: integer label: type: string ref: type: string required: - id - label - ref indentation: type: integer row_format: type: object properties: header: type: boolean bold: type: boolean is_parent: type: boolean required: - header - bold - is_parent cell_format: type: object properties: text_format: enum: - PERCENT - CURRENCY - RATIO - DAYS type: string required: - text_format excludeFromRoundingAndMultiplication: type: boolean default: false required: - label - line_item - indentation - row_format - cell_format required: - title - borrower_uuid - columns - rows securitySchemes: API_Key: type: http scheme: bearer bearerFormat: JWT x-tagGroups: - name: Tenant tags: - Api-Key - TenantSettings - name: Templates tags: - SpreadingTemplate - DscrTemplate - GlobalCashflowTemplate - name: Borrower tags: - Borrowers - Files - Loans - Requirements - Portfolios - name: Normalized Data tags: - DataViews - Templates - name: Analysis tags: - DscrAnalysis - GlobalCashflowAnalysis - name: Events tags: - Webhooks - name: Embedded UI tags: - EmbeddedDocument - EmbeddedFinancials - EmbeddedDscrAnalysis - EmbeddedGlobalCashflowAnalysis