openapi: 3.0.3 info: title: Mastercard Riskrecon API version: '1.0' description: >- RiskRecon provides organizations with frequent, comprehensive, actionable visibility into the security quality of their business partners. RiskRecon does this by automatically measuring the security performance of any enterprise across security domains and criteria, providing visibility into security programs. All of the security discovery and analytics are based on public information with no inside access required. The RiskRecon service requires an account with RiskRecon. contact: name: API Support email: support@riskrecon.com url: 'https://riskrecon.zendesk.com/hc/en-us' servers: - url: 'https://api.sandbox.riskrecon.com' description: Sandbox server - url: 'https://api.riskrecon.com' description: Production server tags: - name: Action Plans description: Operations related to Action Plans - name: Alerts description: Operations related to Alerts - name: Analyses description: Operations related to Analyses - name: Compliance description: Operations related to Compliance - name: Data Loss Events description: Operations related to Data Loss Events - name: Display Name description: Operations related to Display Names - name: Findings description: Operations related to Findings - name: Hosts description: Operations related to Hosts - name: Integration Routes description: Operations related to Integration Routes - name: Portfolio description: Operations related to the users Portfolio - name: Subsidiaries description: Operations related to a TOEs subsidiaries - name: Target Of Evaluation TOE description: Operations related to TOEs (Target of Evaluation) - name: Users description: Operations related to Users - name: TOE Reports description: Operations related to TOE Reports - name: Reports description: Operations related to Reporting data - name: Privacy description: Operations related to Privacy paths: '/v1/action_plan/{toe_id}': get: tags: - Action Plans summary: >- This resource returns action plan configurations both automated and manual for a given TOE. description: >- This API returns action plan configurations both automated and manual for a given TOE. The end-user needs to input the TOE ID (toe_id) for a given action plan in the API request. operationId: getActionPlanConfig parameters: - $ref: '#/components/parameters/ToeId' responses: '200': $ref: '#/components/responses/GetActionPlanConfigResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '404': $ref: '#/components/responses/NotFoundErrorResponse' post: tags: - Action Plans summary: This resource sends action plan email to recipients of a TOE. description: >- This API sends action plan findings to internal and external recipients. The end-user needs to input the TOE ID (toe_id) for a given action plan in the API request. Recipients and frequency are optional. If recipients are not provided, the action plan will be shared with previously shared recipients. If frequency is not provided, the action plan will be shared manually. Users can retrieve action plan configuration from ```(GET) /v1/action_plan/{toe_id} ``` API. * recipients: An Array of first_name, last_name, email, internal (true/false) for each recipient. See schema for more details. * frequency: 0 (default) is for manual/one-off, where 30/60/90 sets periodic automated action plan emails. operationId: shareActionPlan parameters: - $ref: '#/components/parameters/ToeId' requestBody: $ref: '#/components/requestBodies/ShareActionPlanRequest' responses: '201': $ref: '#/components/responses/AddShareActionPlanResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '422': $ref: '#/components/responses/UnprocessableEntityResponse' '/v1/action_plan/findings/{toe_id}': get: tags: - Action Plans summary: >- This resource returns a list of finding details from an action plan of a TOE. description: >- This API returns a list of findings for a given action plan of a TOE. The end-user needs to input the TOE ID (toe_id) for a given action plan in the API request. operationId: getActionPlanFindings parameters: - $ref: '#/components/parameters/ToeId' - $ref: '#/components/parameters/Page' - $ref: '#/components/parameters/PerPage250' - $ref: '#/components/parameters/FindingsSortAttribute' - $ref: '#/components/parameters/SortMethod' - $ref: '#/components/parameters/Severity' - $ref: '#/components/parameters/AssetValue' - $ref: '#/components/parameters/SecurityDomain' - $ref: '#/components/parameters/SecurityCriteria' - $ref: '#/components/parameters/CveIds' responses: '200': $ref: '#/components/responses/GetPaginatedFindings' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '403': $ref: '#/components/responses/ForbiddenErrorResponse' '404': $ref: '#/components/responses/NotFoundErrorResponse' '/v1/action_plan/issue_progress/{toe_id}': get: tags: - Action Plans summary: >- This resource tracks and reports a vendors progress in addressing action plan issues. description: >- RiskRecon automatically reports each vendor’s progress in addressing their action plan issues. This API returns issue progress for a given action plan. operationId: actionPlanIssueProgress parameters: - $ref: '#/components/parameters/ToeId' responses: '200': $ref: '#/components/responses/ActionPlanIssueProgress' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '404': $ref: '#/components/responses/NotFoundErrorResponse' '/v1/action_plan/issue_summary/{toe_id}': get: tags: - Action Plans summary: This resource returns a vendor's action plan issue summary. description: >- This API returns a list of issue summaries for a given action plan. There are no parameters for this use case. The end-user needs to input the TOE ID (toe_id) for a given action plan in the API request. operationId: getActionPlanIssueSummary parameters: - $ref: '#/components/parameters/ToeId' responses: '200': $ref: '#/components/responses/GetActionPlanIssueSummaryResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '404': $ref: '#/components/responses/NotFoundErrorResponse' '/v1/action_plan/priority_matrix_counts/{toe_id}': get: tags: - Action Plans summary: >- This API returns the count of current action plan issues per their severity and priority. description: > This API returns the counts of action plans as per their severity and priority. Found issues are assigned a Priority and Severity index. The end-user needs to input the TOE ID (toe_id) for a given action plan in the API request. In this scenario, the following are returned in the response: * the asset value starting from 1 to 4, where 1 = Idle, 2 = Low, 3 = Medium, 4 = High * total count of issues for each asset value * total count of issues by severity. The severity values can be Low, Medium, High, and Critical. operationId: getActionPlanPriorityMatrix parameters: - $ref: '#/components/parameters/ToeId' responses: '200': $ref: '#/components/responses/GetActionPlanPriorityMatrixResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '404': $ref: '#/components/responses/NotFoundErrorResponse' '/v1/action_plan/vendor_status_summary_counts/{toe_id}': get: tags: - Action Plans summary: >- This API returns the vendor status summary counts of a given action plan. description: > This API returns the vendor status summary counts of a given action plan. The end-user needs to input the TOE ID (toe_id) for a given action plan in the API request. In this scenario, the following are returned in the response: * total action plans provided to the vendor * the label of the action plans * the status of the action plans operationId: getActionPlanVendorStatusSummaryCounts parameters: - $ref: '#/components/parameters/ToeId' responses: '200': $ref: '#/components/responses/GetActionPlanVendorStatusSummaryCounts' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '404': $ref: '#/components/responses/NotFoundErrorResponse' /v1/alerting/issues: get: tags: - Alerts summary: >- This resource returns Alerting Issues from new scans in their portfolio based on the users alert settings. description: >- This resource returns Alerting Issues from new scans in their portfolio based on the users alert settings. Alert settings can be changed at https://portal.riskrecon.com/portal/alert-center/alert-settings. operationId: getAlertingNewIssues parameters: - $ref: '#/components/parameters/Page' - $ref: '#/components/parameters/PerPage' - $ref: '#/components/parameters/SortMethod' - $ref: '#/components/parameters/StartDate' - $ref: '#/components/parameters/EndDate' - $ref: '#/components/parameters/Priorities' - $ref: '#/components/parameters/AlertingIssuesSortAttribute' responses: '200': $ref: '#/components/responses/GetAlertingNewIssues' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' /v1/alerting/rating_changes: get: tags: - Alerts summary: >- This resource returns any rating/score changes from new scans in the users portfolio based on the users alert settings. description: >- This resource returns any rating/score changes from new scans in the users portfolio based on the users alert settings. Alert settings can be changed at https://portal.riskrecon.com/portal/alert-center/alert-settings. operationId: getAlertingScoreChanges parameters: - $ref: '#/components/parameters/Page' - $ref: '#/components/parameters/PerPage' - $ref: '#/components/parameters/SortMethod' - $ref: '#/components/parameters/StartDate' - $ref: '#/components/parameters/EndDate' - $ref: '#/components/parameters/AlertTypes' - $ref: '#/components/parameters/AlertingScoreChangesSortAttribute' responses: '200': $ref: '#/components/responses/GetAlertingScoreChanges' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '/v1/analysis/current/{toe_id}': get: tags: - Analyses summary: >- :: Legacy Route Please use getToeRatings :: This resource returns the most recent `Analysis` object by the TOE identifier. Trend data is only included if `include_trend` query param is added. description: >- :: Legacy Route Please use getToeRatings :: This resource returns the most recent `Analysis` object by the TOE identifier. This includes the security domain and criteria ratings. Trend data is only included if `include_trend` query param is added. operationId: getAnalysisRatings parameters: - $ref: '#/components/parameters/ToeId' - $ref: '#/components/parameters/IncludeTrend' responses: '200': $ref: '#/components/responses/GetAnalysisRatingsResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '404': $ref: '#/components/responses/NotFoundErrorResponse' '/v1/analysis/history/{toe_id}': get: tags: - Analyses summary: >- :: Legacy Route Please use getToeRatings :: This resource returns a collection of historical `Analysis` objects by the TOE identifier. description: >- :: Legacy Route Please use getTOERatings :: This resource returns a collection of historical `Analysis` objects by the TOE identifier. This includes the security domain and criteria ratings for each analysis. operationId: getHistoricalAnalysisRatings parameters: - $ref: '#/components/parameters/ToeId' responses: '200': $ref: '#/components/responses/GetHistoricalAnalysisRatingsResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '404': $ref: '#/components/responses/NotFoundErrorResponse' /v1/portfolio_data_loss_events: get: tags: - Data Loss Events summary: This resource returns a collection of `BreachEvent` objects. description: >- This resource returns a collection of `DataLossEvent` objects for a portfolio. This is for the entire portfolio and has pagination unlike the data_loss_events route. operationId: getBreachEvents parameters: - $ref: '#/components/parameters/BreachEventsSortAttribute' - $ref: '#/components/parameters/BreachEventDateStart' - $ref: '#/components/parameters/ToeIdQuery' - $ref: '#/components/parameters/CreatedAtStart' - $ref: '#/components/parameters/Page' - $ref: '#/components/parameters/PerPage' - $ref: '#/components/parameters/PublicEventDateStart' - $ref: '#/components/parameters/RiskRelationshipSlugs' - $ref: '#/components/parameters/SortMethod' responses: '200': $ref: '#/components/responses/GetBreachEvents' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '/v1/compliance/{toe_id}': get: tags: - Compliance summary: This resource returns an list of custom and industry standards. description: >- This resource returns an list of custom and industry standards. Each standard has a number of controls. Some of these will be mapped to RiskRecon security domain and criteria and will have the associated ratings. operationId: getRiskStandards parameters: - $ref: '#/components/parameters/ToeId' - $ref: '#/components/parameters/RiskDimension' responses: '200': $ref: '#/components/responses/GetRiskStandards' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '403': $ref: '#/components/responses/ForbiddenErrorResponse' '404': $ref: '#/components/responses/NotFoundErrorResponse' '/v1/compliance/controls/{toe_id}': get: tags: - Compliance summary: >- This resource returns risk standard controls associated with a TOE id and a particular custom or industry standard. description: >- This resource returns risk standard controls associated with a TOE id and a particular custom or industry standard. The risk standard id can be obtained from the /v1/compliance/{toe_id} response. Some will be mapped to RiskRecon security domain and criteria so will include the ratings for these domain/criteria and the TOE being queried. operationId: getRiskStandardsControls parameters: - $ref: '#/components/parameters/ToeId' - $ref: '#/components/parameters/RiskStandardId' responses: '200': $ref: '#/components/responses/GetRiskStandardsControlsResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '404': $ref: '#/components/responses/NotFoundErrorResponse' '/v1/data_loss_events/{toe_id}': get: tags: - Data Loss Events summary: >- :: Legacy Route :: This resource returns a collection of `DataLossEvent` objects. description: >- "::Legacy Route please use portfolio_data_loss_events:: This resource returns a collection of `DataLossEvent` objects for a given TOE id. This are referred to as Breach Events in the RiskRecon site." operationId: getDataLossEvents parameters: - $ref: '#/components/parameters/ToeId' responses: '200': $ref: '#/components/responses/GetDataLossEventsResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '403': $ref: '#/components/responses/ForbiddenErrorResponse' '404': $ref: '#/components/responses/NotFoundErrorResponse' /v1/display_names/security_criteria: get: tags: - Display Name summary: >- This resource returns a mapping of security_criteria labels and their current display names in the RiskRecon portal. description: >- This resource returns a mapping of security_criteria labels and their current display names in the RiskRecon portal. It also includes if the security_criteria is currently rated and if it is deprecated. operationId: getCriteriaDisplayNames parameters: - $ref: '#/components/parameters/RiskDimensions' responses: '200': $ref: '#/components/responses/GetDisplayNameResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '403': $ref: '#/components/responses/ForbiddenErrorResponse' /v1/display_names/security_domain: get: tags: - Display Name summary: >- This resource returns a mapping of security_domain labels and their current display names in the RiskRecon portal. description: >- This resource returns a mapping of security_domain labels and their current display names in the RiskRecon portal. It also includes if the security_domain is currently rated and if it is deprecated. operationId: getDomainDisplayNames parameters: - $ref: '#/components/parameters/RiskDimensions' responses: '200': $ref: '#/components/responses/GetDisplayNameResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '403': $ref: '#/components/responses/ForbiddenErrorResponse' '/v1/findings_paginated/{toe_id}': get: tags: - Findings summary: >- This resource returns a list of findings for latest analysis for a given TOE. description: >- This use case describes how the Findings API is used to retrieve a list of findings for the latest analysis for a TOE. The toe_id is passed in the API request. In this scenario, all findings for that TOE are returned in the response. To limit or filter the data returned in the response, you can use various parameters in the API request: * Filter by an asset value: You can use the asset_value parameter to search for findings with high, medium, or low asset value. * Filter by severity: You can use the severity parameter to search for findings with high, medium, or low severity. * Filter by asset value and severity: You can use asset_value and severity parameters to search for findings with high, medium, or low asset value and severity. * Filter by page: You can use the page parameter to search for findings pages. * Sort by Findings Attribute: You can use the sort attribute to sort results of alerting issues by available sort attributes. operationId: getPaginatedFindings parameters: - $ref: '#/components/parameters/ToeId' - $ref: '#/components/parameters/Page' - $ref: '#/components/parameters/PerPage250' - $ref: '#/components/parameters/FindingsSortAttribute' - $ref: '#/components/parameters/SortMethod' - $ref: '#/components/parameters/Severity' - $ref: '#/components/parameters/AssetValue' - $ref: '#/components/parameters/SecurityDomain' - $ref: '#/components/parameters/SecurityCriteria' - $ref: '#/components/parameters/CveIds' - $ref: '#/components/parameters/RiskDimension' responses: '200': $ref: '#/components/responses/GetPaginatedFindings' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '403': $ref: '#/components/responses/ForbiddenErrorResponse' '404': $ref: '#/components/responses/NotFoundErrorResponse' '/v1/findings/{toe_id}': get: tags: - Findings summary: >- :: Legacy Route :: This resource returns a list of findings for latest analysis for a given TOE. description: >- ::Legacy Route please use findings_paginated:: This use case describes how the Findings API is used to retrieve a list of findings for the latest analysis for a TOE. The toe_id is passed in the API request. In this scenario, all findings for that TOE are returned in the response. To limit or filter the data returned in the response, you can use various parameters in the API request: * Filter by an asset value: You can use the asset_value parameter to search for findings with high, medium, or low asset value. * Filter by severity: You can use the severity parameter to search for findings with high, medium, or low severity. * Filter by asset value and severity: You can use asset_value and severity parameters to search for findings with high, medium, or low asset value and severity. * Filter by multiple asset values: You can use the asset_value parameter multiple times to search for findings with multiple asset values. operationId: getFindings parameters: - $ref: '#/components/parameters/ToeId' - $ref: '#/components/parameters/RiskPolicy' - $ref: '#/components/parameters/SecurityDomain' - $ref: '#/components/parameters/SecurityCriteria' - $ref: '#/components/parameters/AssetValues' - $ref: '#/components/parameters/NumericAssetValues' - $ref: '#/components/parameters/Priority' - $ref: '#/components/parameters/Severities' responses: '200': $ref: '#/components/responses/GetFindingResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '404': $ref: '#/components/responses/NotFoundErrorResponse' '/v1/hosts/{toe_id}': get: tags: - Hosts summary: >- This resource returns a list of Hosts for latest analysis for a given TOE. description: >- This resource returns a list of Hosts for latest analysis for a given TOE. This includes domain and netblock information as well. operationId: getHosts parameters: - $ref: '#/components/parameters/ToeId' responses: '200': $ref: '#/components/responses/GetHostsResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '403': $ref: '#/components/responses/ForbiddenErrorResponse' '404': $ref: '#/components/responses/NotFoundErrorResponse' '/v1/integration/routes/{toe_id}': get: tags: - Integration Routes summary: >- The Integration Routes API provides a list of URLs for the security domains within the Security Profile section of the RiskRecon Portal. description: >- The Integration Routes API provides a list of URLs for the security domains within the Security Profile section of the RiskRecon Portal. If one of the URLs is followed by an unauthenticated user, they will be prompted to authenticate before they are redirected to the requested URL. The only parameter for this API is the TOE ID, which is required. operationId: getIntegrationRoutes parameters: - $ref: '#/components/parameters/ToeId' responses: '200': $ref: '#/components/responses/GetIntegrationRoutes' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '404': $ref: '#/components/responses/NotFoundErrorResponse' '/v1/integration/routes/{toe_id}/details': get: tags: - Integration Routes summary: >- The Integration Routes Details API provides a list of URLs for the detailed views within each security domain in the Security Profile and its corresponding risk_dimensions section of the RiskRecon Portal. description: >- The Integration Routes Details API provides a list of URLs for the detailed views within each security domain in the Security Profile and its corresponding risk_dimensions section of the RiskRecon Portal. API will also check if the customer has access and subscription enabled for requested risk dimensions and toes. The only parameter for this API is the TOE ID, which is required. operationId: getIntegrationRoutesDetails parameters: - $ref: '#/components/parameters/ToeId' - $ref: '#/components/parameters/RiskDimensions' responses: '200': $ref: '#/components/responses/GetIntegrationRoutesDetails' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '404': $ref: '#/components/responses/NotFoundErrorResponse' /v1/portfolio/bulk_add: post: tags: - Portfolio summary: >- This endpoint is for requesting to add new TOEs (targets of evaluation) to your portfolio. description: >- This is a bulk request for requesting to add new TOEs (targets of evaluation) to your portfolio. The request must have at least one item but no more than 25 per request. operationId: bulkToeRequest requestBody: $ref: '#/components/requestBodies/CreateToeRequest' responses: '200': $ref: '#/components/responses/SubmittedResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '/v1/toes/{toe_id}/subscriptions': post: tags: - Portfolio summary: This endpoint adds and updates subscription licenses for a TOE. description: >- This request sets the list of subscription licenses that determine whether a TOE appears in your portfolio, and for which risk dimensions. The currently available Risk Dimensions are CYBER and PRIVACY. The available license types are ADVISOR, DISCOVER, and SNAPSHOT. A cyber license of ADVISOR or DISCOVER is a prerequisite of any privacy license. SNAPSHOT licenses are not available for the privacy risk dimension at this time. operationId: changeSubscription parameters: - $ref: '#/components/parameters/ToeId' requestBody: $ref: '#/components/requestBodies/ChangeSubscriptionRequest' responses: '201': $ref: '#/components/responses/ChangeSubscriptionResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' /v1/portfolio/risk_relationships_folders: get: tags: - Portfolio summary: >- This resource gets the customer's risk relationship folders names and slugs. description: >- This resource gets the customer's risk relationship folders names and slugs. The slug will be used in requests that require the risk relationship. Risk relationships can be updated here https://portal.riskrecon.com/portal/risk-configuration if you have necessary permissions. operationId: getRiskRelationshipsFolders responses: '200': $ref: '#/components/responses/GetRiskRelationshipsFoldersResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '404': $ref: '#/components/responses/NotFoundErrorResponse' /v1/portfolio/subscription_level_config: get: tags: - Portfolio summary: >- This resource returns the default subscription_level for bulk toe requests for your customer. description: >- This resource returns the default subscription_level for bulk toe requests for your customer if it has been set. This can be set if you want all /v1/portfolio/bulk_add requests to have the same subscription level. Options are 1 (Discover) or 2 (Advisor) operationId: getSubscriptionLevelConfig responses: '200': $ref: '#/components/responses/SubscriptionLevelConfigResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '404': $ref: '#/components/responses/NotFoundErrorResponse' put: tags: - Portfolio summary: >- This resource sets the default subscription_level for bulk toe requests for your customer. description: >- This resource sets the default subscription_level for bulk toe requests for your customer if it has been set. This can be set if you want all /v1/portfolio/bulk_add requests to have the same subscription level. Options are 1 (Discover) or 2 (Advisor) operationId: setSubscriptionLevelConfig requestBody: $ref: '#/components/requestBodies/UpdateSubscriptionLevelConfig' responses: '200': $ref: '#/components/responses/SubscriptionLevelConfigResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '404': $ref: '#/components/responses/NotFoundErrorResponse' '/v1/subsidiaries/toe_id/{toe_id}': get: tags: - Subsidiaries summary: >- This route returns a collection of `Subsidiary` objects associated with a toe. description: >- This route returns a collection of `Subsidiary` objects associated with a toe. Any TOEs that appear to be a subsidiary of the provided TOE id are returned in the response. operationId: getSubsidiariesByToeId parameters: - $ref: '#/components/parameters/ToeId' responses: '200': $ref: '#/components/responses/GetSubsidiariesResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '404': $ref: '#/components/responses/NotFoundErrorResponse' /v1/toes: get: tags: - Target Of Evaluation TOE summary: >- This resource returns a collection of `TOE` objects mapped to a customer. description: >- This API retrieves a collection of TOE objects mapped to a customer. This include overall ratings and some domain rating information for the current analysis of the provided TOE id. As a TOE can have multiple internal IDs, this API filters if the internal ID is one among the multiple internal IDs. operationId: getToes parameters: - $ref: '#/components/parameters/InternalId' - $ref: '#/components/parameters/LastRetrieved' responses: '200': $ref: '#/components/responses/GetToesResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '/v1/toe/{toe_id}': get: tags: - Target Of Evaluation TOE summary: This resource gets a `TOE` object by its identifier. description: >- This resource gets a `TOE` object by its identifier. This include overall ratings and some domain rating information for the current analysis of the provided TOE id. operationId: getToesByToeId parameters: - $ref: '#/components/parameters/ToeId' responses: '200': $ref: '#/components/responses/GetToeResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '404': $ref: '#/components/responses/NotFoundErrorResponse' post: tags: - Target Of Evaluation TOE summary: This endpoint adds an existing TOE to the users portfolio. description: >- This endpoint adds an existing TOE to the users portfolio. The toe_id and other information can be obtained from the /v1/toes/by_domains response. operationId: addCompanyToToeByToeId parameters: - $ref: '#/components/parameters/ToeId' requestBody: $ref: '#/components/requestBodies/AddCompanyToPortfolioRequest' responses: '201': $ref: '#/components/responses/AddExistingToeResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '403': $ref: '#/components/responses/ForbiddenErrorResponse' '422': $ref: '#/components/responses/UnprocessableEntityResponse' put: tags: - Target Of Evaluation TOE summary: >- This endpoint allows a user to update the internal_ids and/or internal_name of an existing `TOE` by its identifier. description: >- This endpoint allows a user to update the internal_ids and/or internal_name of an existing `TOE` by its identifier. These can be used to map a TOE in the RiskRecon system to an entity in the users system. operationId: updateToesByToeId parameters: - $ref: '#/components/parameters/ToeId' requestBody: $ref: '#/components/requestBodies/UpdateToeRequest' responses: '200': $ref: '#/components/responses/UpdatedToeResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '404': $ref: '#/components/responses/NotFoundErrorResponse' delete: tags: - Target Of Evaluation TOE summary: This endpoint deletes an existing TOE to the users portfolio. description: >- User can delete a TOE from their portfolio by providing the toe_id in endpoint. operationId: deleteToeByToeId parameters: - $ref: '#/components/parameters/ToeId' responses: '200': $ref: '#/components/responses/EmptyArrayResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '422': $ref: '#/components/responses/UnprocessableEntityResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' '/v1/toes_paginated': get: tags: - Target Of Evaluation TOE summary: >- This resource returns a collection of `TOE` objects mapped to a customer. description: >- This API retrieves a collection of TOE objects mapped to a customer. This include overall ratings and some domain rating information for the current analysis of the provided TOE id. As a TOE can have multiple internal IDs, this API filters if the internal ID is one among the multiple internal IDs. operationId: getPaginatedToes parameters: - $ref: '#/components/parameters/InternalId' - $ref: '#/components/parameters/LastRetrieved' - $ref: '#/components/parameters/Page' - $ref: '#/components/parameters/PerPage250' - $ref: '#/components/parameters/RiskDimensions' - $ref: '#/components/parameters/SortMethod' - $ref: '#/components/parameters/ToeIdQuery' - $ref: '#/components/parameters/ToeSortAttribute' responses: '200': $ref: '#/components/responses/GetPaginatedToes' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '403': $ref: '#/components/responses/ForbiddenErrorResponse' /v1/toes/by_domains: get: tags: - Target Of Evaluation TOE summary: >- This endpoint allows the user to search for a TOE by a valid domain or hostname. description: >- This endpoint allows the user to search for a TOE by a valid domain or hostname. The user must provide a valid domain or hostname in domain query param. operationId: getToeByDomain parameters: - $ref: '#/components/parameters/Domain' responses: '200': $ref: '#/components/responses/GetToeSearchResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' /v1/toes/by_cve: get: tags: - Target Of Evaluation TOE summary: >- This endpoint allows the user to search for Company name, TOE ID by a valid CVE. description: >- This endpoint allows the user to search for Company name, TOE ID by a valid CVE. The user must provide a valid cve in query param. operationId: getToeByCve parameters: - $ref: '#/components/parameters/CveId' responses: '200': $ref: '#/components/responses/GetCveSearchResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '/v1/toes/{toe_id}/ratings': get: tags: - Target Of Evaluation TOE summary: >- Get the current or historical overall, domain and criteria ratings for a given TOE and a given risk dimension. description: >- Get the current or historical overall, domain and criteria ratings for a given TOE and a given risk dimension. Privacy can only be returned if privacy is enabled for your customer and you have a privacy license for the given TOE. operationId: getToeRatings parameters: - $ref: '#/components/parameters/ToeId' - $ref: '#/components/parameters/RiskDimensions' - $ref: '#/components/parameters/CurrentRatingOnly' - $ref: '#/components/parameters/Page' - $ref: '#/components/parameters/PerPage250' responses: '200': $ref: '#/components/responses/GetToeRatingsResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '403': $ref: '#/components/responses/ForbiddenErrorResponse' /v1/toes/risk_relationships: put: tags: - Target Of Evaluation TOE summary: >- This endpoint moves an existing TOE from one risk relationship folder to another description: >- User can move a TOE from one risk relationship folder to another by providing the toe_id and relationship folder slug in request. Relationship folder slug can be retrieved from [/v1/portfolio/risk_relationships_folders](#/Portfolio/getRiskRelationshipsFolders). operationId: moveToeRequest requestBody: $ref: '#/components/requestBodies/MoveToeRequest' responses: '200': $ref: '#/components/responses/MoveToeResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '422': $ref: '#/components/responses/UnprocessableEntityResponse' /v1/user_mgmt: get: tags: - Users summary: The User route is used to get all the user data for one’s organization. description: |- The User route is used to get all the user data for one’s organization. There currently are no filters or params. operationId: getUserData responses: '200': $ref: '#/components/responses/GetUserMgmtResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '404': $ref: '#/components/responses/NotFoundErrorResponse' /v1/toe_reports: post: tags: - TOE Reports summary: This resource allows the ordering and downloading of toe reports description: |- This endpoint provides the ordering of the following toe reports: - Executive Report - The Executive Report (executive-report) provides an executive summary of the RiskRecon ratings and security performance metrics. - Summary Report - The RiskRecon Summary Report (summary-report) provides the summary RiskRecon ratings and security performance metrics. - Detailed Report - The RiskRecon Detailed Report (detailed-report) provides the RiskRecon ratings, security performance metrics, and detailed findings and recommendations. - Action Plan - The action plan (action-plan) on this toe. operationId: requestPdfReport requestBody: $ref: '#/components/requestBodies/OrderToeReportRequest' responses: '200': $ref: '#/components/responses/ToeReportOrderedResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '422': $ref: '#/components/responses/UnprocessableEntityResponse' get: tags: - TOE Reports summary: This resource returns the list of active report request. description: >- This resource returns all report requests submitted in the last 24 hours by the client. operationId: requestPdfReportStatus responses: '200': $ref: '#/components/responses/ActiveToeReportOrders' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '/v1/toe_reports/{request_id}': get: tags: - TOE Reports summary: This resource returns the PDF report. description: This resource gets the PDF report. operationId: downloadPdfReport parameters: - $ref: '#/components/parameters/RequestId' responses: '200': $ref: '#/components/responses/PdfReportResponse' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' /v1/reports/portfolio_ratings: get: summary: Get portfolio ratings report description: >- Retrieves a paginated list of portfolio ratings with their changes over time tags: - Reports operationId: getPaginatedPortfolioRatingsReport parameters: - $ref: '#/components/parameters/Page' - $ref: '#/components/parameters/PerPage250' - $ref: '#/components/parameters/PortfolioRatingReportSortAttribute' - $ref: '#/components/parameters/SortMethod' - $ref: '#/components/parameters/DaysAgo' responses: '200': $ref: '#/components/responses/GetPaginatedPortfolioRatingsReport' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '403': $ref: '#/components/responses/ForbiddenErrorResponse' '404': $ref: '#/components/responses/NotFoundErrorResponse' /v1/privacy/portfolio_enforcement_actions: get: tags: - Privacy summary: This resource returns a collection of `EnforcementAction` objects. description: This resource returns a collection of `EnforcementAction` in portfolio. operationId: getEnforcementActions parameters: - $ref: '#/components/parameters/EnforcementActionsSortAttribute' - $ref: '#/components/parameters/EnforcementActionStartDate' - $ref: '#/components/parameters/ToeIdQuery' - $ref: '#/components/parameters/Page' - $ref: '#/components/parameters/PerPage' - $ref: '#/components/parameters/RiskRelationshipSlugs' - $ref: '#/components/parameters/SortMethod' responses: '200': $ref: '#/components/responses/GetEnforcementActions' '400': $ref: '#/components/responses/BadRequestErrorResponse' '401': $ref: '#/components/responses/UnauthorizedErrorResponse' '422': $ref: '#/components/responses/UnprocessableEntityResponse' components: headers: Location: description: The URL to check on status of resource schema: type: string example: /v1/toe/1234 parameters: AlertingIssuesSortAttribute: name: sort_attribute in: query description: >- This parameter is optional but allows the user to sort results of alerting issues by available sort attributes. required: false schema: type: string default: last_seen example: last_seen enum: - priority - last_seen - security_criteria AlertingScoreChangesSortAttribute: name: sort_attribute in: query description: >- This parameter is optional but allows the user to sort results of alerting issues by available sort attributes. required: false schema: type: string default: date example: date enum: - company - security_domain - previous_rating - new_rating - rating_change - date AlertTypes: in: query name: 'alert_types[]' description: >- type of score change alert This parameter is optional but allows the user to filter results by available alert_types. example: - rating_improved required: false style: form explode: true schema: type: array items: type: string example: rating_improved enum: - rating_improved - low_threshold - high_threshold - rating_dropped AssetValue: in: query name: asset_value description: This parameter filters finding results by asset_value. example: high required: false schema: enum: - high - medium - low - idle - key type: string AssetValues: name: 'asset_value[]' in: query description: >- This parameter filters finding results by asset_values. An example of a query string with multiple asset_values would look like: ?asset_value[]=high&asset_value[]=low style: form explode: true schema: type: array items: type: string example: high BreachEventDateStart: in: query name: breach_event_start_date description: Filter results after the provided date string in format YYYY-MM-DD. example: '2023-01-03' style: form explode: true schema: type: string format: date BreachEventsSortAttribute: name: sort_attribute in: query description: >- This parameter is optional but allows the user to sort results of breach events by available sort attributes. required: false schema: type: string default: public_event_date example: public_event_date enum: - breach_event_date - public_event_date - created_at CreatedAtStart: in: query name: created_at_start_date description: Filter results after the provided date string in format YYYY-MM-DD. example: '2023-01-03' style: form explode: true schema: type: string format: date CurrentRatingOnly: name: current_rating_only in: query example: true description: >- Option to return only the current most recent rating. Pretty much another way to set per_page to 1. schema: type: boolean CveIds: name: 'cve_ids[]' in: query description: >- This parameter filters finding results by array of Common Vulnerabilities and Exposures (CVE). An example of a query string with multiple cves would look like: ?cve_ids[]=CVE-1999-0001&cve_ids[]=CVE-1999-0002 style: form required: false explode: true schema: type: array items: type: string example: CVE-1999-0001 CveId: name: cve_id in: query description: >- This parameter filters finding results by single Common Vulnerabilities and Exposures (CVE). For example: ?cve_id=CVE-1999-0001 required: true schema: type: string example: CVE-1999-0001 DaysAgo: name: days_ago in: query description: >- This parameter filters results by the number of days ago. This is optional but allows the user to filter results by the number of days ago. required: false schema: type: integer example: 360 default: 360 Domain: in: query name: domain description: >- Search TOEs by domain or hostname. This must be a valid domain or hostname. required: true schema: type: string example: riskrecon.com EndDate: in: query name: end_date description: >- This parameter filters results before the provided date string in format YYYY-MM-DD. Defaults to current date. Must be after start_date. example: '2023-01-03' style: form explode: true schema: type: string format: date EnforcementActionsSortAttribute: name: sort_attribute in: query description: >- This parameter is optional but allows the user to sort results of enforcement actions by available sort attributes. required: false schema: type: string default: enforcement_action_date example: enforcement_action_date enum: - enforcement_action_date EnforcementActionStartDate: in: query name: enforcement_action_start_date description: >- This parameter filters enforcement actions starting from the provided date string in format YYYY-MM-DD. example: '2023-01-01' style: form explode: true schema: type: string format: date FindingsSortAttribute: name: sort_attribute in: query description: >- This parameter is optional but allows the user to sort results of alerting issues by available sort attributes. required: false schema: type: string default: priority example: priority enum: - days_open - security_criteria - asset_value - severity - priority PortfolioRatingReportSortAttribute: name: sort_attribute in: query description: >- This parameter is optional but allows the user to sort results of portfolio ratings by available sort attributes. required: false schema: type: string default: rating_change example: rating_change enum: - start_date - end_date - vendor_name - folder - criticality - start_rating - end_rating - rating_change InternalId: name: 'internal_id[]' in: query description: >- This parameter filters results by internal_id. A TOE can actually have multiple internal_ids so it will filter if the given internal_id is one of them (if there are multiple). style: form explode: true schema: type: array items: example: '12345' type: string IncludeTrend: name: include_trend in: query example: true description: >- This parameter gives the option to include trending data for current analysis request. Normally, this is only included when looking at the historical analyses. schema: type: boolean LastRetrieved: name: last_retrieved in: query description: >- Filter results published or updated after the provided date string in format YYYY-MM-DD. An example request would like like ?last_retrieved=2020-11-20 and this would grab results updated on or after 2020-11-20. style: form explode: true schema: type: string example: '2020-11-20' NumericAssetValues: name: 'asset_value_numeric[]' in: query description: >- Filter results by asset_value_numeric. An example of a query string with multiple asset_value_numeric values would look like ?asset_value_numeric[]=1&asset_value_numeric[]=3 style: form explode: true schema: type: array items: type: string example: '1' RequestId: name: request_id in: path description: This parameter is the report request ID. required: true schema: type: integer example: 1 default: 1 minimum: 1 Page: name: page in: query description: This parameter is the page number in routes that have pagination. required: false schema: type: integer example: 1 default: 1 minimum: 1 PerPage: name: per_page in: query description: >- This parameter sets the results limit per page. This defaults to 20 and currently has a max of 50. required: false schema: type: integer default: 20 minimum: 1 example: 20 maximum: 50 PerPage250: name: per_page in: query description: >- This parameter sets the results limit per page. This defaults to 20 and currently has a max of 250. required: false schema: type: integer default: 20 minimum: 1 example: 20 maximum: 250 Priority: name: 'priority[]' in: query description: >- Filter results by priority. An example of a query string with multiple priority values would look like ?priority[]=1&priority[]=3. style: form explode: true schema: type: array items: type: integer example: 1 minimum: 1 maximum: 6 Priorities: in: query name: 'priorities[]' description: >- Filter findings based on priority. Priority is based on asset_value and severity. example: - 5 required: false style: form explode: true schema: type: array items: type: integer example: 5 minimum: 1 maximum: 6 PublicEventDateStart: in: query name: public_event_start_date description: Filter results after the provided date string in format YYYY-MM-DD. example: '2023-01-03' style: form explode: true schema: type: string format: date RiskDimension: name: risk_dimension in: query description: >- This parameter filters results by RiskDimension. The default value is cyber. privacy is a new option for customers with privacy licenses. schema: type: string example: cyber default: cyber enum: - cyber - privacy RiskDimensions: name: 'risk_dimensions[]' in: query description: >- This parameter filters results by array of RiskDimensions. Defaults to cyber. privacy is a new option for customers with privacy licenses. ?risk_dimensions[]=privacy&risk_dimensions[]=cyber style: form required: false explode: true schema: type: array items: type: string example: cyber default: cyber enum: - cyber - privacy RiskPolicy: name: risk_policy in: query description: >- Filter findings based on customer risk policy. This can be setup at https://portal.riskrecon.com/portal/risk-policy. schema: type: boolean example: true RiskRelationshipSlugs: in: query name: 'risk_relationship_slugs[]' description: >- filter results based on customer risk_relationship_slugs, which are returned from /v1/portfolio/risk_relationships_folders. This is optional. required: false style: form explode: true schema: type: array items: type: string example: ownenterprise_critical RiskStandardId: name: risk_standard_id in: query description: Filter by the risk standard id. required: true schema: type: integer example: 12345 SecurityDomain: name: security_domain in: query description: Filter results by the Security Domain. schema: type: string example: software_patching SecurityCriteria: name: security_criteria in: query description: Filter results by the Security Criteria. schema: type: string example: patching_app_server Severity: in: query name: severity description: Filter finding results by severity. required: false schema: enum: - critical - high - medium - low type: string example: high Severities: name: 'severity[]' in: query description: >- Filter results by severity. An example of a query string with multiple severities would look like ?severity[]=low&severity[]=medium&severity[]=high. style: form explode: true schema: type: array items: example: high type: string enum: - critical - high - medium - low SortMethod: name: sort_method in: query description: Sort results by ascending or descending order. required: false schema: type: string default: DESC example: DESC enum: - ASC - DESC StartDate: in: query name: start_date description: >- Filter results after the provided date string in format YYYY-MM-DD. Can't search back further than 1 month. example: '2023-01-03' style: form explode: true schema: type: string format: date ToeId: name: toe_id in: path description: Filter by the Toe ID. required: true schema: type: string example: 5976423a-ee35-11e3-8569-14109ff1a304 ToeIdQuery: name: toe_id in: query description: Filter by the Toe ID. required: false schema: type: string example: 5976423a-ee35-11e3-8569-14109ff1a304 ToeSortAttribute: name: sort_attribute in: query description: >- This parameter is optional but allows the user to sort results of paginated TOEs by available sort attributes. required: false schema: type: string example: toe_short_name enum: - toe_short_name - date_updated responses: AddShareActionPlanResponse: description: OK content: text/plain: schema: type: string example: Created ActionPlanIssueProgress: description: OK content: application/json: schema: $ref: '#/components/schemas/ArrayOfActionPlanIssueProgress' PdfReportResponse: description: OK content: application/pdf: schema: $ref: '#/components/schemas/ToeReportPdf' ToeReportOrderedResponse: description: OK content: application/json: schema: $ref: '#/components/schemas/ToeReportOrdered' ActiveToeReportOrders: description: OK content: application/json: schema: $ref: '#/components/schemas/ArrayOfToeReportOrdered' AddExistingToeResponse: description: OK content: application/json: schema: $ref: '#/components/schemas/TOEUpdated' headers: Location: $ref: '#/components/headers/Location' BadRequestErrorResponse: description: Something was wrong with the request content: application/json: schema: $ref: '#/components/schemas/ErrorWrapper' examples: BadRequestExample: $ref: '#/components/examples/BadRequestExample' EmptyArrayResponse: description: OK content: application/json: schema: $ref: '#/components/schemas/EmptyArray' GetActionPlanConfigResponse: description: OK content: application/json: schema: $ref: '#/components/schemas/ActionPlanConfig' GetPaginatedFindings: description: OK content: application/json: schema: $ref: '#/components/schemas/PaginatedFindings' GetPaginatedPortfolioRatingsReport: description: OK content: application/json: schema: $ref: '#/components/schemas/PaginatedPortfolioRatingsReport' GetPaginatedToes: description: OK content: application/json: schema: $ref: '#/components/schemas/PaginatedToes' GetActionPlanIssueSummaryResponse: description: OK content: application/json: schema: $ref: '#/components/schemas/ActionPlanIssueSummary' GetActionPlanPriorityMatrixResponse: description: OK content: application/json: schema: $ref: '#/components/schemas/PriorityMetricCounts' GetActionPlanVendorStatusSummaryCounts: description: OK content: application/json: schema: $ref: '#/components/schemas/VendorStatusSummaryCounts' GetAlertingNewIssues: description: OK content: application/json: schema: $ref: '#/components/schemas/AlertingNewIssues' GetAlertingScoreChanges: description: OK content: application/json: schema: $ref: '#/components/schemas/AlertingScoreChanges' GetAnalysisRatingsResponse: description: OK content: application/json: schema: $ref: '#/components/schemas/Analysis' GetBreachEvents: description: OK content: application/json: schema: $ref: '#/components/schemas/BreachEvents' GetCveSearchResponse: description: OK content: application/json: schema: $ref: '#/components/schemas/CveSearchResults' GetDataLossEventsResponse: description: OK content: application/json: schema: $ref: '#/components/schemas/DataLossEvents' GetDisplayNameResponse: description: OK content: application/json: schema: $ref: '#/components/schemas/DisplayNameMappings' GetEnforcementActions: description: OK content: application/json: schema: $ref: '#/components/schemas/EnforcementActions' GetIntegrationRoutes: description: OK content: application/json: schema: $ref: '#/components/schemas/IntegrationRoute' GetIntegrationRoutesDetails: description: OK content: application/json: schema: $ref: '#/components/schemas/IntegrationRouteDetails' GetRiskStandards: description: OK content: application/json: schema: $ref: '#/components/schemas/RiskStandards' GetSubsidiariesResponse: description: OK content: application/json: schema: $ref: '#/components/schemas/Subsidiaries' GetToeSearchResponse: description: OK content: application/json: schema: $ref: '#/components/schemas/TOESearchResults' GetFindingResponse: description: OK content: application/json: schema: $ref: '#/components/schemas/Findings' GetHostsResponse: description: OK content: application/json: schema: $ref: '#/components/schemas/Hosts' GetHistoricalAnalysisRatingsResponse: description: OK content: application/json: schema: $ref: '#/components/schemas/Analyses' GetRiskRelationshipsFoldersResponse: description: OK content: application/json: schema: $ref: '#/components/schemas/RiskRelationshipsFolders' GetRiskStandardsControlsResponse: description: OK content: application/json: schema: $ref: '#/components/schemas/RiskStandardControls' GetUserMgmtResponse: description: OK content: application/json: schema: $ref: '#/components/schemas/Users' GetToeResponse: description: OK content: application/json: schema: $ref: '#/components/schemas/Toe' GetToeRatingsResponse: description: OK content: application/json: schema: $ref: '#/components/schemas/ToeRatings' GetToesResponse: description: OK content: application/json: schema: $ref: '#/components/schemas/Toes' MoveToeResponse: description: OK content: application/json: schema: $ref: '#/components/schemas/MoveToe' NotFoundErrorResponse: description: The URI didn't match an existing resource. content: application/json: schema: $ref: '#/components/schemas/ErrorWrapper' examples: NotFoundExample: $ref: '#/components/examples/NotFoundExample' SubscriptionLevelConfigResponse: description: OK content: application/json: schema: $ref: '#/components/schemas/SubscriptionLevelConfig' SubmittedResponse: description: OK content: {} TooManyRequestsResponse: description: User has sent too many requests in a given amount of time content: application/json: schema: $ref: '#/components/schemas/ErrorWrapper' examples: TooManyRequestsExample: $ref: '#/components/examples/TooManyRequestsExample' ChangeSubscriptionResponse: description: ChangeSubscription list of affected subscriptions and success message. content: application/json: schema: $ref: '#/components/schemas/ChangedSubscriptions' UnauthorizedErrorResponse: description: >- Authentication information was missing or invalid or the user is not authorized to access resource or perform the associated action. content: application/json: schema: $ref: '#/components/schemas/ErrorWrapper' examples: UnauthorizedExample: $ref: '#/components/examples/UnauthorizedExample' ForbiddenErrorResponse: description: FORBIDDEN content: application/json: schema: $ref: '#/components/schemas/ErrorWrapper' examples: UnauthorizedExample: $ref: '#/components/examples/ForbiddenExample' UnprocessableEntityResponse: description: >- The syntax of the request entity is correct, but server was unable to process the contained instructions. content: application/json: schema: $ref: '#/components/schemas/ErrorWrapper' examples: UnprocessableEntityExample: $ref: '#/components/examples/UnprocessableEntityExample' UpdatedToeResponse: description: OK content: application/json: schema: $ref: '#/components/schemas/TOEUpdated' examples: BadRequestExample: value: Errors: Error: - Source: RISKRECON_API ReasonCode: BAD_REQUEST Description: We couldn't handle your request. Recoverable: false Details: Invalid JSON payload NotFoundExample: value: Errors: Error: - Source: RISKRECON_API ReasonCode: NOT_FOUND Description: Resource Not found. Recoverable: false Details: Resource Not found. TooManyRequestsExample: value: Errors: Error: - Source: RISKRECON_API ReasonCode: TOO_MANY_REQUESTS Description: Too many requests sent for given period. Recoverable: false Details: Try again later. ForbiddenExample: value: Errors: Error: - Source: RISKRECON_API ReasonCode: FORBIDDEN Description: Forbidden request Recoverable: false UnauthorizedExample: value: Errors: Error: - Source: RISKRECON_API ReasonCode: UNAUTHORIZED Description: Unauthorized request Recoverable: false UnprocessableEntityExample: value: Errors: Error: - Source: RISKRECON_API ReasonCode: UNPROCESSABLE_ENTITY Description: >- The syntax of the request entity is correct, but server was unable to process the contained instructions. Recoverable: false Details: server is unable to process the instructions. requestBodies: OrderToeReportRequest: content: application/json: schema: $ref: '#/components/schemas/OrderToeReport' required: true AddCompanyToPortfolioRequest: content: application/json: schema: $ref: '#/components/schemas/CompanyAddToPortfolio' required: true CreateToeRequest: content: application/json: schema: $ref: '#/components/schemas/CreateTOEs' required: true ChangeSubscriptionRequest: content: application/json: schema: $ref: '#/components/schemas/ChangeSubscriptions' required: true MoveToeRequest: content: application/json: schema: $ref: '#/components/schemas/MoveToe' required: true ShareActionPlanRequest: content: application/json: schema: $ref: '#/components/schemas/ShareActionPlan' required: true UpdateSubscriptionLevelConfig: content: application/json: schema: $ref: '#/components/schemas/SubscriptionLevelConfig' required: true UpdateToeRequest: content: application/json: schema: $ref: '#/components/schemas/TOEUpdate' required: true schemas: ActionPlanConfig: type: object properties: automatic_action_plan_config: $ref: '#/components/schemas/AutomaticActionPlanConfig' issue_summary: $ref: '#/components/schemas/IssueSummary' manual_action_plan_config: $ref: '#/components/schemas/ManualActionPlanConfig' AlertingScoreChange: type: object description: AlertingScoreChange response data. properties: id: type: integer description: The alert identifier. example: 20 new: type: boolean description: Is this alert new? Was it found in the most recent scan? example: true seen: type: boolean description: Has this alert been marked as seen on the riskrecon site? example: true company_name: $ref: '#/components/schemas/CompanyName' security_domain_key: description: The security_domain category for the finding. example: software_patching type: string risk_structure: type: string description: The category of the TOE. Uncategorized by default. example: Uncategorized alert_type: type: string description: The type of score change alert. example: rating_improved previous_rating: type: object properties: letter: type: string description: The letter rating of the previous rating. example: a value: type: string description: The numeric rating of the previous rating. example: '10' new_rating: type: object properties: letter: type: string description: The letter rating of the new rating. example: a value: type: string description: The numeric rating of the new rating. example: '10' rating_change: type: string nullable: true description: The rating change from the previous and new ratings. example: '5' date: type: string description: The date of the alert. example: '2023-01-03' current_analysis: type: string description: The current analysis_id for the TOE. example: '15' AlertingScoreChanges: type: object properties: meta: allOf: - $ref: '#/components/schemas/PaginationMeta' - type: object properties: total_new: example: 37 description: The total number of new score changes. type: integer rating_change_alerts: type: array items: $ref: '#/components/schemas/AlertingScoreChange' AlertingNewIssue: type: object description: AlertingNewIssue data. properties: id: type: string description: The alert identifier. example: 5976423a-ee35-11e3-8569-14109ff1a304 toe_id: $ref: '#/components/schemas/ToeId' internal_id: $ref: '#/components/schemas/InternalId' new: type: boolean description: Is this alert new? Was it found in the most recent scan? example: true seen: type: boolean description: Has this alert been marked seen on the riskrecon site? example: true company_name: $ref: '#/components/schemas/CompanyName' security_domain_key: type: string description: The security_domain category for the finding. example: software_patching security_criteria_key: type: string description: The security_criteria category for the finding. example: patching_app_server risk_structure: type: string description: The category of the TOE. Defaults to Uncategorized. example: Uncategorized analysis_id: type: string description: The current analysis_id for the TOE. example: '15' date: type: string description: The last_seen date of the alert. example: '2023-01-03' resolved: type: boolean description: Has this issue been resolved? example: false first_seen: type: string description: The first_seen date of the alert. example: '2023-01-03' finding_id: description: The unique identifier for the finding. example: 5976423a-ee35-11e3-8569-14109ff1a304 type: string issue: nullable: true type: string description: A description of the issue. example: Missing Security Headers finding_context: type: string nullable: true description: Any additional context related to the finding. example: >- The domain is missing one or more domain hijacking flags (clientTransferProhibited, clientDeleteProhibited, clientUpdateProhibited). asset_value: type: string description: The asset_value for the finding. example: high priority: type: integer description: The finding priority is based on the asset_value and severity. example: 5 severity: description: The severity for the finding. example: critical type: string host_name: $ref: '#/components/schemas/HostName' ip_address: example: 40.14.1.146 nullable: true description: The ip address associated with host. domain_name: type: string nullable: true example: thiel.name description: The domain name if available. AlertingNewIssues: type: object properties: meta: allOf: - $ref: '#/components/schemas/PaginationMeta' - type: object properties: total_new: example: 37 description: The total number of new issues. type: integer issue_alerts: type: array items: $ref: '#/components/schemas/AlertingNewIssue' ActionPlanIssueSummary: type: object properties: action_plan_last_shared_on: description: The date the action plan was shared with the vendor. example: '2021-10-01T22:18:57+00:00' nullable: true type: string current_action_plan_issues_count: type: integer description: The current issue count for the action plan. example: 5 current_open_issues_count: type: integer description: The current open issue count for the action plan. example: 5 current_shared_issues_count: type: integer description: The current shared issue count for the action plan. example: 5 latest_analysis_published_on: description: The date the last analysis was published. example: '2021-10-01T22:18:57+00:00' nullable: true type: string new_open_issues_count: type: integer description: The new open issue count for the action plan. example: 5 total_resolved_issues_count: type: integer description: The resolved issues count. example: 20 total_shared_issues_count: type: integer description: The total shared issues count. example: 20 vendor_shared_with_customer: nullable: true type: boolean description: Was action plan shared with the customer? example: true ArrayOfActionPlanIssueProgress: title: ArrayOfActionPlanIssueProgress type: array description: A collection of ActionPlanIssueProgress objects. items: $ref: '#/components/schemas/ActionPlanIssueProgress' ArrayOfToeReportOrdered: title: ArrayOfToeReportOrdered type: array description: All toe report requests by customer in the last 24 hours. items: $ref: '#/components/schemas/ToeReportOrdered' ActionPlanIssueProgress: type: object properties: current_action_plan_issues_count: type: number description: The current issue count for an action plan. example: 5 current_shared_issues_count: type: number description: The current shared issue count for an action plan. example: 5 event_name: type: string description: The event description. example: AnalysisPublishedToCustomers occurred_on: type: string description: The date associated with issue counts. example: '2021-10-01T22:18:57+00:00' total_resolved_issues_count: type: number description: The total resolved issue count for an action plan. example: 5 total_shared_issues_count: type: number description: The total shared issue count for an action plan. example: 5 description: Action Plan Issue Progress items. Analysis: title: Analysis type: object properties: security_domain_ratings: $ref: '#/components/schemas/SecurityDomainRating' analysis_ts: description: The date an analysis was updated. example: '2021-10-01T22:18:57+00:00' type: string analysis_id: description: The unique identifier for an analysis. example: '12345' type: string trend: nullable: true example: 1.9 description: Increase or decrease from the previous analysis rating. type: number rating_v2: example: a description: >- The rating label of an analysis or of some domain or criteria of the analysis. type: string rating_numeric: example: 5 description: >- The numeric rating of an analysis or of some domain or criteria of the analysis. type: number rating: example: proceed description: >- The legacy Rating label of an analysis or of some domain or criteria of the analysis. type: string Analyses: title: Analyses type: array description: A collection of Analysis objects. items: $ref: '#/components/schemas/Analysis' AutomaticActionPlanConfig: type: object properties: automated: type: boolean description: Is the action plan automated? example: true frequency: type: integer description: The frequency of the action plan. example: 30 enum: - 30 - 60 - 90 recipients: type: array description: An array of recipients. items: $ref: '#/components/schemas/Recipient' BreachEvent: title: Breach Event type: object required: - id - uuid - analysis_id - updated_at - toe_id - toe_short_name - internal_name - internal_id - threat_vector - threat_actor - threat_action - records_exposed - public_event_date - source_urls - description - created_at - compromised_info - breach_event_date properties: id: type: integer example: 12345 description: The identifier associated with response object. uuid: nullable: true type: string description: The unique identifier for a data loss event. example: 3976423a-ee35-11e3-8569-14109ff1a307 format: uuid analysis_id: description: The analysis_id associated with the finding. example: '12345' type: string updated_at: type: string description: The date a data loss event was updated. example: '2021-10-01T22:18:57+00:00' toe_id: $ref: '#/components/schemas/ToeId' toe_short_name: type: string description: The Company or entity name. example: 'Riskrecon, CO.' internal_name: type: array nullable: true description: The user defined names for the TOE. items: type: string example: 'Riskrecon, Inc' internal_id: $ref: '#/components/schemas/InternalId' threat_vector: type: string description: The threat vector associated with the Data Loss or Breach event. example: malware nullable: true threat_actor: type: string description: The threat actor if available. example: external nullable: true threat_action: type: array description: The threat action if available. items: type: string example: malware records_exposed: type: integer description: The number of records exposed if applicable. nullable: true example: 32 public_event_date: type: string description: The date the breach was made public. nullable: true example: '2021-10-01' source_urls: type: array description: Source url for the Data Loss Event. nullable: true items: type: string example: riskrecon.com description: type: string description: A long description of data loss event. example: 'On August 2020, a breach was detected and data was leaked.' created_at: type: string description: The date the data loss event was created. example: '2021-10-01T22:18:57+00:00' compromised_info: type: array items: type: string description: Compromised Info from the breach event. example: financial accounts breach_event_date: type: string nullable: true description: The date of the breach. example: '2021-10-01' BreachEvents: type: object required: - meta - data properties: meta: $ref: '#/components/schemas/PaginationMeta' data: type: array description: Data associated with response object. items: type: object required: - attributes - id - type properties: attributes: $ref: '#/components/schemas/BreachEvent' id: type: integer example: 12345 description: The identifier associated with response object. type: type: string description: The type of object returned. example: breach_event OrderToeReport: title: Order a TOE PDF Report type: object required: - report_type - toe_id properties: toe_id: type: string description: 'The TOE to use to get pdf report ' example: 5976423a-ee35-11e3-8569-14109ff1a304 report_type: type: string description: >- Executive Report (executive-report), Summary Report (summary-report), Detailed Report (detailed-report), Action Plan (action-plan) example: summary-report enum: - executive-report - summary-report - detailed-report - action-plan CompanyAddToPortfolio: title: Add a company to portfolio type: object required: - subscription_level - assessment_frequency properties: risk_relationship_slugs: type: array description: >- Risk relationship slugs which are returned from /v1/portfolio/risk_relationships_folders. This is optional. items: type: string example: ownenterprise_critical subscription_level: type: integer default: 2 description: >- The SubscriptionLevelConfig. 1 (Discover) or 2 (Advisor). This defaults to 2. example: 2 enum: - 1 - 2 privacy_subscription_level: type: integer default: 2 description: >- The SubscriptionLevelConfig for privacy. Only 2 (Advisor) is available and this is only available if your customer has privacy enabled. example: 2 enum: - 2 internal_names: $ref: '#/components/schemas/InternalName' internal_ids: $ref: '#/components/schemas/InternalId' assessment_frequency: type: string default: continuous description: >- Scan frequency. This must be either one_time or continuous. The default is continuous. example: continuous enum: - one_time - continuous CompanyName: type: string description: The name of the company. example: 'Riskrecon, Co.' CountryName: type: string nullable: true example: Luxembourg description: The name of country if available. CreateTOEs: title: Customer Toe Requests type: object properties: customer_toe_requests: maxItems: 25 minItems: 1 type: array items: $ref: '#/components/schemas/CreateTOE' description: A collection of CustomerToeRequest request objects. CreateTOE: title: Customer Toe Request description: A request to add a company or TOE to the users portfolio required: - assessment_frequency - company_domains - company_name type: object properties: subscription_level: type: string description: >- The SubscriptionLevelConfig must be 1 (Discover) or 2 (Advisor). Either this or a subscription level config are required. example: '2' enum: - '1' - '2' internal_name: $ref: '#/components/schemas/InternalName' internal_id: $ref: '#/components/schemas/InternalId' company_name: type: string description: The Name of the Company. This is required. example: 'Riskrecon, Co.' company_domains: type: array description: An array of domains. There must include at least one. items: type: string example: riskrecon.domain.org assessment_frequency: type: string description: >- The Scan frequency. This is required and must be either one_time or continuous. example: continuous enum: - one_time - continuous risk_relationship_slugs: type: array description: >- Risk relationship slugs which are returned from /v1/portfolio/risk_relationships_folders. This is optional. items: type: string example: ownenterprise_critical ChangeSubscriptions: title: Change Subscription Request description: A request to add or modify portfolio subscriptions for a TOE type: object properties: licenses: description: >- The list of licenses to which this user wishes to subscribe for this TOE type: array items: $ref: '#/components/schemas/PortfolioLicense' ChangedSubscription: title: Change Subscription Response Item required: - customerId - newLicense - oldLicense - riskDimension - subscriptionAdjustedOn description: Information about a successfully modified subscription for a TOE type: object properties: customerId: type: string description: The customer Id of the user. example: 5976423a-ee35-11e3-8569-14109ff1a304 format: uuid toeId: $ref: '#/components/schemas/ToeId' newLicense: type: string minLength: 0 maxLength: 10 description: The license level of a newly added subscription example: ADVISOR enum: - ADVISOR - DISCOVER - ENTERPRISE - SNAPSHOT oldLicense: type: string minLength: 0 maxLength: 10 nullable: true description: The license level of a subscription that has been replaced example: ADVISOR enum: - ADVISOR - DISCOVER - ENTERPRISE - SNAPSHOT - null riskDimension: type: string minLength: 0 maxLength: 10 description: >- Category of security domain or criteria. Can currently be cyber or privacy. example: CYBER enum: - CYBER - PRIVACY subscriptionAdjustedOn: type: string description: The date at which this subscription was updated example: '2021-10-01T22:18:57+00:00' ChangedSubscriptions: title: Change Subscription Response required: - message - events description: >- Response object when the list of subscriptions for a TOE has been updated type: object properties: message: type: string minLength: 0 maxLength: 240 description: Success message or info about modified subscriptions example: >- portfolio subscription for toe_id: 7db00def-832f-43bd-83a2-6eefb8638491 adjusted successfully events: type: array items: $ref: '#/components/schemas/ChangedSubscription' CveSearchResults: type: array description: A collection of CveSearchResult objects. items: $ref: '#/components/schemas/CveSearchResult' CveSearchResult: type: object properties: toe_id: $ref: '#/components/schemas/ToeId' company_name: $ref: '#/components/schemas/CompanyName' DataLossEvents: title: Data Loss Events type: array description: A collection of Data Loss Events. items: $ref: '#/components/schemas/DataLossEvent' DataLossEvent: title: Data Loss Event type: object properties: uuid: nullable: true type: string description: The unique identifier for a data loss event. example: 3976423a-ee35-11e3-8569-14109ff1a307 format: uuid updated_at: type: string description: The date a data loss event was updated. example: '2021-10-01T22:18:57+00:00' toe_id: $ref: '#/components/schemas/ToeId' threat_vector: type: string description: The threat vector associated with the Data Loss or Breach event. example: malware threat_actor: type: string description: The threat actor if available. example: external threat_action: type: string description: The threat action if available. example: malware records_exposed: type: string description: The number of records exposed if applicable. example: '32' public_date: type: string description: The date the breach was made public. example: '2021-10-01T22:18:57+00:00' data_loss_event_source_url: type: string description: Source url for the Data Loss Event. example: riskrecon.com data_loss_event_long_desc: type: string description: A long description of data loss event. example: 'On September 2020, a breach was detected and data was leaked.' created_at: type: string description: The date the data loss event was created. example: '2021-10-01T22:18:57+00:00' compromised_info: type: array items: type: string description: Compromised Info from the breach event. example: financial accounts breach_date: type: string description: The date of the breach. example: '2021-10-01T22:18:57+00:00' DisplayNameMappings: title: DisplayNameMappings type: array description: A collection of DisplayNameMapping objects. items: $ref: '#/components/schemas/DisplayNameMapping' DisplayNameMapping: type: object properties: name: type: string example: patching_openssl description: The name or key used throughout RiskRecon APIs. display_name: type: string example: OpenSSL Patching description: The display name seen on RiskRecon portal site. rated: type: boolean description: Is this domain or criteria rated? example: true deprecated: type: boolean description: Is this domain or criteria deprecated? example: false description: A field name and the accompanying customer portal display name. DomainRating: description: The numeric rating for given security_domain. type: number example: 1 minimum: 0 maximum: 10 EnforcementActions: type: object required: - data - meta properties: meta: $ref: '#/components/schemas/PaginationMeta' data: type: array description: Data associated with response object. items: type: object properties: description: type: string description: The description of the enforcement action. example: Enforcement action description sources: type: array description: The sources for the enforcement action. items: type: string example: 'https://example.com/source1' toe_id: $ref: '#/components/schemas/ToeId' toe_short_name: type: string description: The Company or entity name. example: 'Riskrecon, CO.' regulation: type: string description: The regulation associated with the enforcement action. example: GDPR analysis_id: type: string description: The current analysis_id for the TOE. example: '15' enforcement_action_date: type: string description: The date of the enforcement action. example: '2021-10-01' regulatory_body: type: string description: The regulatory body associated with the enforcement action. example: Regulatory Body Name EmptyArray: title: EmptyArray type: array description: An empty array. items: type: string maxItems: 0 Error: type: object description: Error Object properties: Source: description: The application or component that generated this error. example: RISKRECON_API type: string minLength: 0 maxLength: 200 ReasonCode: description: >- Reason code is a unique constant identifying the error case encountered during request processing. example: UNAUTHORIZED type: string minLength: 0 maxLength: 200 Description: description: Human-readable short description of the reasonCode example: Unauthorized request type: string minLength: 0 maxLength: 350 Recoverable: description: >- Recoverable flag indicates whether this error is always returned for this request, or retrying could change the outcome. For example, 'true' or 'false'. example: false type: boolean Details: description: >- Optional detailed description provides information about data received and calculated during request processing. This helps the user to diagnose errors. example: Some optional detailed human readable explanation for the error. type: string nullable: true minLength: 0 maxLength: 350 Errors: title: Errors required: - Error type: object properties: Error: type: array description: Errors array wrapped in an error object items: $ref: '#/components/schemas/Error' ErrorWrapper: title: Error Response required: - Errors type: object properties: Errors: $ref: '#/components/schemas/Errors' Findings: title: Findings type: array description: A collection of Findings. items: $ref: '#/components/schemas/Finding' Finding: title: Finding type: object properties: country_iso_code: type: string nullable: true example: AW description: The country ISO code if available. first_seen: nullable: true description: The date the finding was first discovered. example: '2021-10-01T22:18:57+00:00' type: string tech_country: nullable: true description: The tech country associated with host if provided. example: Luxembourg type: string shared_ip: type: string nullable: true description: The use of shared ip address hosting. example: 40.14.1.146 registrant_street: type: string nullable: true description: The registrant street associated with host if available. example: 11185 street security_criteria: type: string description: The security_criteria associated with the finding. example: threatintel_phishing_site continent_code: type: string nullable: true example: SA description: The continent code if available. registrar_expire_date: type: string nullable: true example: '2021-10-01T22:18:57+00:00' description: The registrar_expire_date if available. registrar_abuse_phone: type: string nullable: true example: '+44348154931' description: The registrar_abuse_phone if available. tech_street: type: string nullable: true description: The tech street associated with host if available. example: Sampson street state_name: type: string nullable: true description: The state name associated with host if available or applicable. example: NY finding_extra_data_value: type: string nullable: true description: Any additional data associated with the finding. example: shared_hosting toe_id: $ref: '#/components/schemas/ToeId' finding_data_value: nullable: true example: shared_hosting type: string description: The type of finding data. service: nullable: true example: dns type: string description: >- The type of service detected. This could be dns, email, web or blank. is_web: type: string example: '0' description: Was a web server found? The value could be 0 or 1. admin_org: type: string example: 'Riskrecon, Co.' nullable: true description: The admin org if available. industry: type: string example: Industrials nullable: true description: The industry if available. longitude: type: string example: '46.9302' nullable: true description: The latitude associated with host if available. registrar: type: string nullable: true description: The registrar if available. example: 'Riskrecon, Co.' severity: description: The severity for the finding. example: high type: string hosting_type: description: The hosting type can be internal or external hosting. example: internal type: string admin_phone_ext: nullable: true example: '5323' description: The admin phone extension if available or applicable. admin_country: type: string nullable: true example: Luxembourg description: The name of the admin country if available. registrant_email: type: string nullable: true example: jordan.jacobi@wilkinson.name description: The registrant_email if available. record_load_timestamp: type: string example: '2022-02-09 21:04:47.429380' description: The timestamp for when record was loaded. admin_name: type: string nullable: true example: domain administrator description: The admin_name if available. asset_value: type: string example: high description: 'asset value associated with host. high, medium, low or idle' admin_zip: type: string nullable: true example: '12348' description: The admin_zip if available. auto_status: type: string nullable: true example: fail description: The auto status of the finding. finding_context: type: string nullable: true description: Any additional context related to the finding. example: >- The domain is missing one or more domain hijacking flags (clientTransferProhibited, clientDeleteProhibited, clientUpdateProhibited). tech_zip: type: string nullable: true example: '12348' description: The tech_zip if available or applicable. form_field_types_detected: type: string nullable: true example: token;email address description: Any form fields detected. admin_city: type: string nullable: true example: Aileen description: The admin city name if available. finding_id: description: The unique identifier for the finding. example: 5976423a-ee35-11e3-8569-14109ff1a304 type: string registrant_country: type: string nullable: true example: Luxembourg description: The name of registrant_country if available. analysis_id: description: The analysis_id associated with the finding. example: '12345' type: string host_name: $ref: '#/components/schemas/HostName' registrar_iana: type: string nullable: true example: '12349832749' description: The registrar_iana if available. finding: type: string nullable: true example: DNS Hijacking protection configuration description: High level finding information. registrar_abuse_email: type: string nullable: true example: jordan.jacobi@wilkinson.name description: The registrar_abuse_email if available. expires_on: type: string nullable: true example: '2022-09-08 00:00:00 UTC' description: The expires_on date if applicable. registrar_id: type: string nullable: true example: '12349832749' description: The registrar_id if available. tech_org: type: string nullable: true description: The tech_org if available. example: 'Riskrecon, Co.' analyst_status: type: string nullable: true example: fail description: The analyst status of the finding. ip_address: type: string example: 40.14.1.146 description: The ip address associated with host. tech_email: type: string nullable: true example: jordan.jacobi@wilkinson.name description: The tech_email if available. finding_detail: description: The details about the finding. nullable: true example: shared_hosting type: string state_abbrev: description: The state_abbrev if available or applicable. nullable: true example: NY type: string admin_phone: type: string nullable: true example: '+44348154931' description: The admin_phone if available. domain_name: type: string nullable: true example: thiel.name description: The domain name if available. postal_code: type: string example: '75524' nullable: true description: The postal code associated with host if available. vendor: type: string nullable: true description: vendor if available example: 'Riskrecon, Co.' security_domain: description: The security_domain category for the finding. example: patching_app_server type: string registrant_phone: type: string nullable: true example: '+44348154931' description: The registrant_phone if available. registrant_name: type: string nullable: true example: domain administrator description: The registrant_phone if available. finding_type: type: string nullable: true example: dns description: The type of finding. latitude: type: string example: '-112.3351' nullable: true description: The longitude associated with host if available. hosting_provider: $ref: '#/components/schemas/HostingProvider' priority: description: The finding priority based on the asset_value and severity. example: 5 type: integer last_seen: description: The date the finding was last seen. example: '2020-10-10' type: string country_name: $ref: '#/components/schemas/CountryName' false_positive: type: string nullable: true example: 'false' description: Was the finding determined to be a false positive? registrant_org: type: string nullable: true description: The registrant_org if available. example: 'Riskrecon, Co.' registrant_phone_ext: nullable: true example: '5323' description: The registrant_phone_ext if available or applicable. finding_auto_comments: type: string example: Certificate subject is invalid description: The finding_auto_comments if available or applicable. scan: type: string description: The scan number. example: '1' tech_phone: type: string nullable: true example: '+44348154931' description: The tech_phone if available. name_server: type: string nullable: true example: thiel.name description: The name server if available. tech_city: type: string nullable: true example: Aileen description: The tech city name if available. tech_name: type: string nullable: true description: The tech name if available. example: 'Riskrecon, Co.' admin_street: type: string nullable: true description: The admin street associated with host if available. example: Sampson street auth_detected: type: string nullable: true description: Any authentication detected? example: 'no' admin_email: type: string nullable: true example: jordan.jacobi@wilkinson.name description: The admin_email if available. continent_name: type: string nullable: true example: South America description: The continent if available. finding_subtype: type: string nullable: true example: application server description: The finding subtype. finding_data_description: type: string nullable: true example: Missing Security Headers description: The finding data description. finding_short_description: type: string nullable: true example: Missing Security Headers description: The finding data description. severity_numeric: type: string example: '3.5' description: The numeric severity for a finding. registry_tech_id: type: string nullable: true description: The registry_tech_id if available. example: '5' metro_code: type: string nullable: true description: The metro_code if available. example: '12345' asset_value_numeric: type: string example: '3.5' description: The numeric asset_value associated with a findings host. registrant_zip: type: string example: '75524' nullable: true description: The registrant_zip if available. city_name: type: string nullable: true example: Aileen description: The city name if available. registrant_city: type: string nullable: true example: Aileen description: The registrant_city if available. how_to_fix_it: type: string nullable: true example: Add security headers description: How to fix the finding. support_site: type: string nullable: true example: 'https://support.riskrecon.com' description: The support site if available. who_should_fix_it: type: string nullable: true example: Security Team description: Who should fix the finding. Hosts: title: Hosts type: array description: A collection of Hosts. items: $ref: '#/components/schemas/Host' Host: title: Host type: object properties: subdivision_1_name: type: string nullable: true example: Virginia description: The subdivision name if applicable. subdivision_1_iso_code: type: string nullable: true example: VA description: The subdivision ISO if applicable. service: type: string example: dns description: The type of service associated with host. scan_http: type: string example: '0' description: >- The company owns this resource and it should be scanned if possible. The value can be 0 or 1. record_load_timestamp: type: string example: '2022-02-09 21:04:47.429380' description: The timestamp for when record was loaded. postal_code: type: string example: '75524' nullable: true description: The postal code associated with host if available. netblock_scan_status: type: string example: '0' nullable: true description: The status of the netblock scan. netblock_id: type: string example: 131.153.117.136/13 nullable: true description: The netblock id associated with the host. metro_code: type: string example: '511' nullable: true description: The metro code associated with the host if available. longitude: type: string example: '46.9302' nullable: true description: The latitude associated with the host if available. latitude: type: string example: '-112.3351' nullable: true description: The longitude associated with the host if available. is_web: type: string example: '0' description: Was a web server found? The value can be 0 or 1. ip_addr: type: string example: 40.14.1.146 description: The ip address associated with the host. hosting_type: type: string example: external description: >- Is it hosted internally or externally? The value can be internal or external. hosting_provider: $ref: '#/components/schemas/HostingProvider' host_name: $ref: '#/components/schemas/HostName' form_field_types_detected: type: string nullable: true example: password description: Any form fields detected. domain_name: type: string nullable: true example: thiel.name description: The domain name if available. country_name: $ref: '#/components/schemas/CountryName' country_iso_code: type: string nullable: true example: AW description: The country ISO code if available. continent_name: type: string nullable: true example: South America description: The continent if available. continent_code: type: string nullable: true example: SA description: The continent code if available. city_name: type: string nullable: true example: Aileen description: The city name if available. auth_detected: type: string example: 'yes' description: Was the host auto detected? The value can be yes or no. asset_value_numeric: type: string example: '4' description: The numeric asset value associated with the host. asset_value: type: string example: high description: >- The asset value associated with host. The value can be high, medium, low or idle. analysis_id: type: string example: '1234' description: The unique identifier for an Analysis. HostName: type: string nullable: true example: riskrecon.com description: The name of the host. HostingProvider: type: string nullable: true example: 'Riskrecon, Co.' description: The hosting provider if available. IntegrationRoute: title: Integration Route type: object properties: toe_short_name: type: string description: The Company or entity name. example: 'Riskrecon, CO.' toe_id: $ref: '#/components/schemas/ToeId' links: $ref: '#/components/schemas/IntegrationLinks' description: An object containing the available portal routes. IntegrationRouteDetails: title: Integration Route Details type: object properties: toe_short_name: type: string description: The Company or entity name. example: 'Riskrecon, CO.' toe_id: $ref: '#/components/schemas/ToeId' links: $ref: '#/components/schemas/IntegrationLinksDetails' description: An object containing the available portal routes. IntegrationLinks: title: Integration Route Links required: - overview type: object properties: web_encryption: type: string description: >- A link to the relevant page on the RiskRecon site for the given security domain and TOE id. example: >- https://portal.riskrecon.com/portal/vendor/1234/cyber/security-profile/web_encryption web_app_security: type: string description: >- A link to the relevant page on the RiskRecon site for the given security domain and TOE id. example: >- https://portal.riskrecon.com/portal/vendor/1234/cyber/security-profile/web_app_security threat_intel: type: string description: >- A link to the relevant page on the RiskRecon site for the given security domain and TOE id. example: >- https://portal.riskrecon.com/portal/vendor/1234/cyber/security-profile/threat_intell system_hosting: type: string description: >- A link to the relevant page on the RiskRecon site for the given security domain and TOE id. example: >- https://portal.riskrecon.com/portal/vendor/1234/cyber/security-profile/system_hosting software_patching: type: string description: >- A link to the relevant page on the RiskRecon site for the given security domain and TOE id. example: >- https://portal.riskrecon.com/portal/vendor/1234/cyber/security-profile/software_patching overview: type: string description: >- A link to the relevant page on the RiskRecon site for the given security domain and TOE id. example: 'https://portal.riskrecon.com/portal/vendor/1234/cyber/overview' network_filtering: type: string description: >- A link to the relevant page on the RiskRecon site for the given security domain and TOE id. example: >- https://portal.riskrecon.com/portal/vendor/1234/cyber/security-profile/network_filtering governance: type: string description: >- A link to the relevant page on the RiskRecon site for the given security domain and TOE id. example: >- https://portal.riskrecon.com/portal/vendor/1234/cyber/security-profile/governance email_security: type: string description: >- A link to the relevant page on the RiskRecon site for the given security domain and TOE id. example: >- https://portal.riskrecon.com/portal/vendor/1234/cyber/security-profile/email_security dns_security: type: string description: >- A link to the relevant page on the RiskRecon site for the given security domain and TOE id. example: >- https://portal.riskrecon.com/portal/vendor/1234/cyber/security-profile/dns_security defensibility: type: string description: >- A link to the relevant page on the RiskRecon site for the given security domain and TOE id. example: >- https://portal.riskrecon.com/portal/vendor/1234/cyber/security-profile/defensibility data_loss: type: string description: >- A link to the relevant page on the RiskRecon site for the given security domain and TOE id. example: >- https://portal.riskrecon.com/portal/vendor/1234/cyber/security-profile/data_loss description: An object containing the available portal routes. IntegrationLinksDetails: title: Integration Route Links Details type: array description: >- An array of link objects with optional security domain, risk dimension and URL items: type: object required: - risk_dimension - link properties: security_domain: type: string description: >- The security domain category (only present for security profile links) example: data_loss risk_dimension: type: string description: The risk dimension category example: cyber enum: - cyber - privacy link: type: string format: uri description: URL to the RiskRecon portal page example: security_domain: data_loss risk_dimension: cyber link: >- https://portal.example.com/vendor/123/cyber/security-profile/data_loss InternalId: type: array description: >- The user defined identifiers for the TOE. These can be used to query the TOE. nullable: true items: type: string example: '1234' InternalName: type: array nullable: true description: The user defined names for the TOE. items: type: string example: Riskrecon IssueSummary: type: object properties: action_plan_last_shared_on: type: string description: The date and time the action plan was last shared. example: '2021-10-01T22:18:57+00:00' current_open_issues_count: type: integer description: The count of currently open issues. example: 8 total_resolved_issues_count: type: integer description: The count of resolved issues. example: 17 total_shared_issues_count: type: integer description: The count of shared issues. example: 25 MoveToe: title: Move Toe to slug type: object required: - toe_id - risk_relationship_slugs properties: toe_id: $ref: '#/components/schemas/ToeId' risk_relationship_slugs: type: array description: >- Risk relationship slugs which are returned from [/v1/portfolio/risk_relationships_folders](#/Portfolio/getRiskRelationshipsFolders) items: type: string example: ownenterprise_critical ManualActionPlanConfig: type: object properties: recipients: type: array description: An array of recipients. items: $ref: '#/components/schemas/Recipient' PaginatedFinding: type: object required: - analysis_id - asset_value - domain_name - finding_data_description - finding_data_value - finding_detail - finding_extra_data_value - finding_id - finding_short_description - first_seen - host_name - hosting_provider - how_to_fix_it - ip_address - last_seen - security_criteria - security_domain - severity - priority - support_site - who_should_fix_it description: finding details properties: analysis_id: description: The unique identifier for an Analysis. example: '12345' type: string asset_value: description: The numeric asset_value associated with a findings host. example: '4' type: string cve_ids: nullable: true description: The CVE ids associated with the finding. type: array items: type: string description: The CVE ids associated with the finding. example: CVE-1999-0001 domain_name: description: The domain name associated with a finding. nullable: true example: riskrecon.com type: string finding_data_description: description: The description of the finding data. example: Missing Security Headers type: string finding_data_value: description: The type of finding data. nullable: true example: shared_hosting type: string finding_detail: description: Details about the finding. nullable: true example: shared_hosting type: string finding_extra_data_value: type: string nullable: true description: Any additional data associated with finding. example: shared_hosting finding_id: type: string description: Unique identifier for the finding. example: 5976423a-ee35-11e3-8569-14109ff1a304 finding_short_description: type: string nullable: true example: Missing Security Headers description: The finding data description. first_seen: description: The date the finding was first seen. example: '2020-10-10' type: string host_name: $ref: '#/components/schemas/HostName' hosting_provider: $ref: '#/components/schemas/HostingProvider' how_to_fix_it: type: string description: How to fix the finding. example: Update the software ip_address: type: string description: The ip address for the finding if available. example: 127.0.0.1 nullable: true last_seen: description: The date the finding was last seen. example: '2020-10-10' type: string privacy_criteria: description: >- If the finding matches one of our categories in the privacy risk dimension, this field will contain the key of that security_criteria category. example: privacy_unencrypted_sensitive_systems type: string nullable: true security_criteria: description: The security_criteria category associated with the finding. example: software_patching type: string security_domain: description: The security_domain category associated with the finding. example: patching_app_server type: string severity: description: The severity for a finding. example: '4' type: string priority: description: The finding priority based on asset_value and severity. example: 5 type: integer support_site: type: string description: The support site for the finding. example: 'https://support.riskrecon.com' who_should_fix_it: type: string description: Who should fix the finding. example: The system administrator PaginatedFindings: type: object properties: meta: $ref: '#/components/schemas/PaginationMeta' data: type: array description: Data associated with response object. items: type: object properties: attributes: $ref: '#/components/schemas/PaginatedFinding' id: type: string example: '12345' description: The identifier associated with response object. type: type: string description: The type of object returned. example: finding PaginationMeta: type: object properties: current_page: type: integer example: 2 description: The current page of paginated responses. next_page: type: integer nullable: true example: 3 description: The next page of paginated responses if applicable. prev_page: type: integer nullable: true example: 1 description: The previous page of paginated responses if applicable. total_count: type: integer example: 52 description: The total count of items. total_pages: type: integer example: 10 description: The total number of pages for paginated responses. PaginatedPortfolioRatingsReport: type: object properties: meta: $ref: '#/components/schemas/PaginationMeta' data: type: array description: Data associated with response object. items: $ref: '#/components/schemas/PortfolioRating' PaginatedToe: title: PaginatedToe required: - toe_short_name - toe_id - ticker_symbols - analysis_id - date_updated - seed_hostnames - risk_configurations - internal_name - internal_id - duns_numbers - frequency - subscription_level - cyber_rating - cyber_rating_numeric - security_domain_ratings type: object properties: toe_short_name: description: The Company or entity name. example: 'Riskrecon, CO.' type: string toe_id: $ref: '#/components/schemas/ToeId' ticker_symbols: $ref: '#/components/schemas/TickerSymbols' analysis_id: description: The unique identifier for analysis. example: '12345' type: string date_updated: type: string description: The date a data loss event was updated. example: '2020-07-24T02:35:58Z' seed_hostnames: type: array description: >- The seed hostnames are the hostnames used to start the scan. This doesn't include all hostnames from the scan results items: description: The hostname used to start scan. example: riskrecon.com type: string risk_configurations: $ref: '#/components/schemas/RiskConfigurations' internal_name: $ref: '#/components/schemas/InternalName' internal_id: $ref: '#/components/schemas/InternalId' duns_numbers: type: array description: The DUNS number for the TOE. This may or may not be populated. items: example: '12345' type: string frequency: type: string description: Is this TOE setup for a one_time or continuous scan? example: continuous subscription_level: type: string description: The subscription level for the TOE. example: 'advisor' privacy_subscription_level: type: string description: The privacy subscription level for the TOE. example: 'advisor' nullable: true cyber_rating: example: a description: >- The rating label of an analysis or of some domain or criteria of the analysis. type: string nullable: true cyber_rating_numeric: example: 9 description: >- The numeric rating of an analysis or of some domain or criteria of the analysis. type: number nullable: true privacy_rating: example: a description: >- The rating label of an analysis or of some domain or criteria of the analysis. type: string nullable: true privacy_rating_numeric: example: 9 description: >- The numeric rating of an analysis or of some domain or criteria of the analysis. type: number nullable: true security_domain_ratings: type: array description: array of security_domain_ratings items: type: object properties: security_domain: description: The security_domain category rating example: patching_app_server type: string rating: example: a description: >- The rating label of an analysis or of some domain or criteria of the analysis. type: string nullable: true rating_numeric: example: 9 description: >- The numeric rating of an analysis or of some domain or criteria of the analysis. type: number nullable: true risk_dimension: example: cyber description: >- Category of security domain or criteria. Can currently be cyber or privacy. type: string display_name: type: string example: OpenSSL Patching description: The display name seen on RiskRecon portal site. nullable: true rated: type: boolean description: Is this domain or criteria rated? example: true nullable: true PaginatedToes: type: object properties: meta: $ref: '#/components/schemas/PaginationMeta' data: type: array description: Data associated with response object. items: type: object properties: attributes: $ref: '#/components/schemas/PaginatedToe' id: type: string example: 5976423a-ee35-11e3-8569-14109ff1a304 description: The identifier associated with response object. type: type: string description: The type of object returned. example: toe PortfolioLicense: title: PortfolioLicense type: object required: - name - riskDimension properties: name: type: string minLength: 0 maxLength: 10 description: >- Name indicating a Riskrecon subscription level purchased by the customer example: ADVISOR enum: - ADVISOR - DISCOVER - SNAPSHOT riskDimension: type: string minLength: 0 maxLength: 10 description: >- Category of security domain or criteria. Can currently be cyber or privacy. example: CYBER enum: - CYBER - PRIVACY PortfolioRating: type: object properties: criticality: type: string description: Criticality level of the portfolio item example: Uncategorized end_date: type: string description: End date of the rating period example: '2021-10-01T22:18:57+00:00' end_rating: type: string description: Final rating score example: '0.6' folder: type: string description: Portfolio folder name example: Uncategorized industry: type: string description: The category of the industry. example: Healthcare internal_id: type: string description: The user defined identifiers for the TOE. example: '1234' nullable: true internal_name: $ref: '#/components/schemas/InternalName' rating_change: type: string description: Change in rating between start and end dates example: '-8.8' start_date: type: string description: Start date of the rating period example: '2021-10-01T22:18:57+00:00' start_rating: type: string description: Initial rating score example: '9.4' vendor_name: type: string description: Name of the vendor example: 'Riskrecon, Co.' PriorityMetricCounts: title: PriorityMetricCounts type: array description: A collection of PriorityMetricCount objects. items: $ref: '#/components/schemas/PriorityMetricCount' PriorityMetricCount: type: object properties: severity: type: string description: The severity for findings. example: '4' asset_value: type: string description: The asset_value for findings. example: '4' count: type: number description: The count of findings for given asset_value and severity. example: 37 description: The priority metric count by severity and priority. Rating: description: >- Trend data is available for historical analysis or if the `include_trend` is passed in as a param for current analysis request. type: object properties: trend: nullable: true example: 1.9 description: Increase or decrease from the previous analysis rating. type: number rating_v2: example: a description: >- The rating label of an analysis or of some domain or criteria of the analysis. type: string rating_numeric: example: 5 description: >- The numeric rating of an analysis or of some domain or criteria of the analysis. type: number rating: example: proceed description: >- The legacy Rating label of an analysis or of some domain or criteria of the analysis. type: string Recipient: type: object required: - first_name - last_name - email - internal properties: first_name: type: string description: The first name of the recipient. example: John last_name: type: string description: The last name of the recipient. example: Doe email: type: string description: >- The email address of the recipient. External recipients domain checked against the TOE domain. example: john.doe@external.com internal: type: boolean description: >- Is the recipient internal? Internal recipients only receives confirmation emails when action plan is shared. At least one external recipient is required if not previously shared. example: false RiskConfigurations: title: RiskConfigurations type: array description: A collection of RiskConfigurations. items: type: object properties: risk_relationship: description: The Custom Category for a TOE in the current customers portfolio. example: Own Enterprise type: string inherent_risk: description: >- A Risk Rating Scheme associated with TOE in current customers portfolio. example: Critical type: string RiskRelationshipsFolders: title: RiskRelationshipsFolders type: array description: A collection of RiskRelationshipsFolder objects. items: type: object properties: slug: description: A Slug that uniquely identifies the risk relationship folder. example: ownenterprise_critical type: string name: description: The Name of the risk relationship folder. example: Own Enterprise > Critical type: string RiskStandard: description: A custom or industry risk standard. type: object properties: assess_count: type: integer description: The Assess Count. example: 25 description: type: string nullable: true description: The Risk Standard description. example: Legacy Custom Standard id: type: integer description: The unique identifier for a Risk Standard. example: 1234 inform_count: type: integer description: The inform Count. example: 5 is_public: type: boolean description: Is the standard public? example: true name: type: string description: The risk standard name. example: Secure Controls Framework 2023_2 type: type: string description: The type of risk standard. example: 'RiskStandard::CustomStandard' version: type: string nullable: true description: The risk standard version if applicable. example: '1.0' rating_counts: type: array description: The rating counts by rating label/range. items: type: object properties: rating: type: string description: The rating. example: '3' count: type: integer description: The rating counts. example: 5 RiskStandards: description: A collection of risk standards. type: object properties: data: description: A collection of risk standards. type: array items: type: object properties: attributes: $ref: '#/components/schemas/RiskStandard' id: type: integer example: 12345 description: The id associated with the response object. type: type: string description: The type of object returned. example: risk_standard RiskStandardControl: type: object properties: id: type: integer description: The unique identifier for the RiskStandardControl. example: 1234 risk_standard_control: type: string description: The risk Standard Control name. example: Secure Controls Framework 2023_2 description: type: string nullable: true description: A description of the risk standard control. example: >- Mechanisms exist to facilitate the implementation of cybersecurity and privacy governance controls. security_domains: type: array items: $ref: '#/components/schemas/RiskStandardControlDomainCriteriaRatingCounts' security_criteria: type: array items: $ref: '#/components/schemas/RiskStandardControlDomainCriteriaRatingCounts' RiskStandardControlDomainCriteriaRatingCounts: description: >- An array of the securityCriteria and securityDomains under RiskStandardControls. type: object properties: name: type: string description: The Domain or Criteria name. example: GOV-01 rating: type: string description: The Domain or Criteria rating. example: '3.0' rated: type: boolean description: Is this Domain or Criteria rated? example: true rating_numeric: type: number description: The Domain or Criteria rating Numeric. example: 5 issue_count: type: integer nullable: true description: The issue count. example: 5 total_count: type: integer nullable: true description: The total count. example: 5 issue_rate: type: number nullable: true description: The issue rate. example: 5 RiskStandardControls: type: object properties: data: type: object description: Risk response data. properties: id: type: integer description: The unique identifier for the RiskStandard. example: 1234 type: type: string description: The type of object returned. example: risk_standard attributes: type: object properties: id: type: integer description: The unique identifier for the RiskStandard. example: 1234 risk_standard: type: string nullable: true description: The risk Standard name. example: Secure Controls Framework 2023_2 risk_standard_controls: description: An array of risk standard controls. type: array items: $ref: '#/components/schemas/RiskStandardControl' Scope: type: object properties: updated_at: type: string description: Last updated timestamp. example: '2021-10-01T22:18:57+00:00' name: type: string description: The scope name. example: AddCompany id: type: number description: The unique identifier for the scope. example: 1234 display_name: type: string nullable: true description: The display name. example: Add Company description: type: string nullable: true description: The scope description. example: Provides the ability to Add Companies to a Portfolio. created_at: type: string description: The created at timestamp. example: '2021-10-01T22:18:57+00:00' SecurityDomainRating: title: Security Domain Rating type: object properties: web_encryption: allOf: - $ref: '#/components/schemas/Rating' - type: object properties: web_encryption_subject: $ref: '#/components/schemas/Rating' web_encryption_protocol: $ref: '#/components/schemas/Rating' web_encryption_key_length: $ref: '#/components/schemas/Rating' web_encryption_hash: $ref: '#/components/schemas/Rating' web_encryption_date_valid: $ref: '#/components/schemas/Rating' web_encryption_date_expire: $ref: '#/components/schemas/Rating' web_app_security: allOf: - $ref: '#/components/schemas/Rating' - type: object properties: web_http_security_headers: $ref: '#/components/schemas/Rating' threat_intel_alert_external: $ref: '#/components/schemas/Rating' config_web_cms_authentication: $ref: '#/components/schemas/Rating' threat_intell: allOf: - $ref: '#/components/schemas/Rating' - type: object properties: threatintel_spamming_host: $ref: '#/components/schemas/Rating' threatintel_phishing_site: $ref: '#/components/schemas/Rating' threatintel_other: $ref: '#/components/schemas/Rating' threatintel_hostile_host_scanning: $ref: '#/components/schemas/Rating' threatintel_hostile_host_hacking: $ref: '#/components/schemas/Rating' threatintel_cc_server: $ref: '#/components/schemas/Rating' threatintel_botnet_host: $ref: '#/components/schemas/Rating' system_hosting: allOf: - $ref: '#/components/schemas/Rating' - type: object properties: hosting_countries: $ref: '#/components/schemas/Rating' host_hosting_providers: $ref: '#/components/schemas/Rating' software_patching: allOf: - $ref: '#/components/schemas/Rating' - type: object properties: patching_web_server: $ref: '#/components/schemas/Rating' patching_web_cms: $ref: '#/components/schemas/Rating' patching_vuln_open_ssl: $ref: '#/components/schemas/Rating' patching_app_server: $ref: '#/components/schemas/Rating' network_filtering: allOf: - $ref: '#/components/schemas/Rating' - type: object properties: unsafe_network_services: $ref: '#/components/schemas/Rating' iot_devices: $ref: '#/components/schemas/Rating' governance: allOf: - $ref: '#/components/schemas/Rating' - type: object properties: governance_security_certifications: $ref: '#/components/schemas/Rating' governance_regulatory_requirements: $ref: '#/components/schemas/Rating' governance_customer_base: $ref: '#/components/schemas/Rating' email_security: allOf: - $ref: '#/components/schemas/Rating' - type: object properties: email_hosting_providers: $ref: '#/components/schemas/Rating' email_encryption_enabled: $ref: '#/components/schemas/Rating' email_authentication: $ref: '#/components/schemas/Rating' dns_security: allOf: - $ref: '#/components/schemas/Rating' - type: object properties: domain_hijacking_protection: $ref: '#/components/schemas/Rating' dns_hosting_providers: $ref: '#/components/schemas/Rating' defensibility: allOf: - $ref: '#/components/schemas/Rating' - type: object properties: shared_hosting: $ref: '#/components/schemas/Rating' defensibility_hosting_providers: $ref: '#/components/schemas/Rating' attack_surface_web_ip: $ref: '#/components/schemas/Rating' attack_surface_web_hostname: $ref: '#/components/schemas/Rating' data_loss: allOf: - $ref: '#/components/schemas/Rating' - type: object properties: data_loss_6: $ref: '#/components/schemas/Rating' data_loss_36: $ref: '#/components/schemas/Rating' data_loss_24: $ref: '#/components/schemas/Rating' data_loss_12: $ref: '#/components/schemas/Rating' ShareActionPlan: title: Share Action Plan type: object properties: recipients: description: A collection of recipients. type: array items: $ref: '#/components/schemas/Recipient' frequency: type: integer description: The frequency of the action plan. default: 0 example: 0 enum: - 0 - 30 - 60 - 90 SubscriptionLevelConfig: title: SubscriptionLevelConfig required: - subscription_level type: object properties: subscription_level: type: string description: >- The customer SubscriptionLevelConfig. Options are 1 (Discover) or 2 (Advisor). example: '1' enum: - '1' - '2' Subsidiaries: title: Subsidiaries type: array description: A collection of subsidiaries. items: $ref: '#/components/schemas/Subsidiary' Subsidiary: title: Subsidiary type: object properties: verified: type: string description: Is this subsidiary verified? Valid options are 1 or 0. example: '1' validation_status: nullable: true type: string description: Has the subsidiary been validated? example: 'true' validation_artifacts: nullable: true type: string description: Any validation artifacts. example: Logo updated_at: type: string description: An updated timestamp. example: '2021-10-01T22:18:57+00:00' toe_id: $ref: '#/components/schemas/ToeId' support_email: nullable: true type: string description: An email for support if available. example: support@riskrecon.com secondary_evidence: nullable: true type: string description: Any secondary evidence. example: 'Factset, About Us, Hoovers etc.' scan: type: string description: The scan number. example: '1' primary_evidence_reference: nullable: true type: string description: The Primary Evidence Reference. example: url primary_evidence: nullable: true type: string description: The Primary Evidence. example: 'Copyright, Logo, Page Reference etc' possible_own_toe_ids: type: array items: type: string description: The unique identifier for the Target Of Evaluation (TOE). example: 5976423a-ee35-11e3-8569-14109ff1a304 format: uuid own_toe_id: nullable: true type: string description: The unique identifier for the Target Of Evaluation (TOE). example: 5976423a-ee35-11e3-8569-14109ff1a304 format: uuid note: nullable: true type: string description: Any additional notes. example: No Linking Evidence name: type: string description: The entity name. example: Riskrecon is_scannable: type: boolean description: Is this scannable? example: true is_removed: type: boolean description: Is this removed? example: true id: type: number description: Unique identifier for subsidiary record. example: 43 factset_id: nullable: true type: string description: The associated factsetId. example: '12345' domains: type: array items: type: string description: The subsidiaries domain url. example: riskrecon.com date_updated: nullable: true type: string description: An updated timestamp. example: '2021-10-01T22:18:57+00:00' created_at: type: string description: A created at timestamp. example: '2021-10-01T22:18:57+00:00' TickerSymbols: title: TickerSymbols type: array description: A collection of TickerSymbols items: type: object properties: ticker_symbol: type: string description: A ticker symbol associated with the TOE if available. example: 0023.HK exchange_name: type: string description: The exchange the ticker symbol is associated with. example: NYSE Toe: title: Target of Evaluation (TOE) type: object properties: web_encryption_rating: $ref: '#/components/schemas/DomainRating' web_app_security_rating: $ref: '#/components/schemas/DomainRating' toe_short_name: description: The Company or entity name. example: 'Riskrecon, CO.' type: string toe_id: $ref: '#/components/schemas/ToeId' ticker_symbols: $ref: '#/components/schemas/TickerSymbols' threat_intell_rating: $ref: '#/components/schemas/DomainRating' system_hosting_rating: $ref: '#/components/schemas/DomainRating' subscription_level: type: string description: The subscription level for the TOE. example: '3' software_patching_rating: $ref: '#/components/schemas/DomainRating' seed_hostnames: type: array description: >- The seed hostnames are the hostnames used to start the scan. This doesn't include all hostnames from the scan results items: description: The hostname used to start scan. example: riskrecon.com type: string risk_configurations: $ref: '#/components/schemas/RiskConfigurations' rating_v2: description: The overall rating for the most recent analysis for the TOE. example: b type: string rating_numeric: description: The overall numeric rating for the most recent analysis for the TOE. minimum: 0 maximum: 10 example: 1 type: number rating: type: string description: The legacy overall rating for the most recent analysis for the TOE. example: fix network_filtering_rating: $ref: '#/components/schemas/DomainRating' internal_name: $ref: '#/components/schemas/InternalName' internal_id: $ref: '#/components/schemas/InternalId' governance_rating: $ref: '#/components/schemas/DomainRating' email_security_rating: $ref: '#/components/schemas/DomainRating' duns_numbers: type: array description: The DUNS number for the TOE. This may or may not be populated. items: example: '12345' type: string dns_security_rating: $ref: '#/components/schemas/DomainRating' defensibility_rating: $ref: '#/components/schemas/DomainRating' data_loss_rating: $ref: '#/components/schemas/DomainRating' analysis_type: type: string description: Is this TOE setup for a one_time or continuous scan? example: continuous analysis_ts: type: string description: The date the analysis was updated. example: '2021-10-01T22:18:57+00:00' analysis_id: description: The unique identifier for analysis. example: '12345' type: string ToeId: description: The unique identifier for the Target Of Evaluation (TOE). example: 5976423a-ee35-11e3-8569-14109ff1a304 type: string format: uuid Toes: title: Toes type: array description: A collection of Toes. items: $ref: '#/components/schemas/Toe' ToeRating: title: ToeRating required: - analysis_id - updated_at - cyber_rating - cyber_rating_numeric - security_domain_ratings - security_criteria_ratings type: object properties: analysis_id: description: The unique identifier for analysis. example: '12345' type: string updated_at: type: string description: The date a data loss event was updated. example: '2021-10-01T22:18:57+00:00' cyber_rating: example: a description: >- The rating label of an analysis or of some domain or criteria of the analysis. type: string nullable: true cyber_rating_numeric: example: 9 description: >- The numeric rating of an analysis or of some domain or criteria of the analysis. type: number nullable: true cyber_trend: nullable: true example: 1.9 description: Increase or decrease from the previous analysis rating. type: number privacy_rating: example: a description: >- The rating label of an analysis or of some domain or criteria of the analysis. type: string nullable: true privacy_rating_numeric: example: 9 description: >- The numeric rating of an analysis or of some domain or criteria of the analysis. type: number nullable: true privacy_trend: nullable: true example: 1.9 description: Increase or decrease from the previous analysis rating. type: number security_domain_ratings: type: array description: array of security_domain_ratings items: type: object properties: security_domain: description: The security_domain category rating example: patching_app_server type: string rating: example: a description: >- The rating label of an analysis or of some domain or criteria of the analysis. type: string nullable: true rating_numeric: example: 9 description: >- The numeric rating of an analysis or of some domain or criteria of the analysis. type: number nullable: true risk_dimension: example: cyber description: >- Category of security domain or criteria. Can currently be cyber or privacy. type: string display_name: type: string example: OpenSSL Patching description: The display name seen on RiskRecon portal site. nullable: true rated: type: boolean description: Is this domain or criteria rated? example: true nullable: true trend: nullable: true example: 1.9 description: Increase or decrease from the previous analysis rating. type: number security_criteria_ratings: type: array description: array of security_criteria_ratings items: type: object properties: security_domain: description: The security_domain category for the criterion. example: patching_app_server type: string security_criteria: type: string description: The security_criteria associated with the rating. example: patching_openssl rating: example: a description: >- The rating label of an analysis or of some domain or criteria of the analysis. type: string nullable: true rating_numeric: example: 9 description: >- The numeric rating of an analysis or of some domain or criteria of the analysis. type: number nullable: true risk_dimension: example: cyber description: >- Category of security domain or criteria. Can currently be cyber or privacy. type: string display_name: type: string example: OpenSSL Patching description: The display name seen on RiskRecon portal site. nullable: true rated: type: boolean description: Is this domain or criteria rated? example: true nullable: true trend: nullable: true example: 1.9 description: Increase or decrease from the previous analysis rating. type: number ToeRatings: type: object properties: meta: $ref: '#/components/schemas/PaginationMeta' data: type: array description: Data associated with response object. items: type: object properties: attributes: $ref: '#/components/schemas/ToeRating' id: type: string example: '12345' description: The identifier associated with response object. type: type: string description: The type of object returned. example: analysis TOESearchResult: type: object properties: toe_id: $ref: '#/components/schemas/ToeId' toe_name: description: The Company or entity name. example: 'Riskrecon, CO.' type: string seed_hostnames: description: >- The seed hostnames are the hostnames used to start the scan. This doesn't include all hostnames from the scan results. type: array items: description: hostname used to start scan example: riskrecon.com type: string toe_type: description: The TOE category. example: parent nullable: true type: string subscribed: description: Is the current user subscribed?. example: false type: boolean subscription_level: type: string nullable: true description: The subscription level for the TOE. example: '2' enum: - AUTO - '1' - '2' - '3' assessment_frequency: type: string default: continuous nullable: true description: >- Scan frequency. This must be either one_time or continuous. The default is continuous. example: continuous enum: - one_time - continuous hq_location: description: The location of company headquarters if available. example: Sampson street type: string nullable: true duns_numbers: description: The DUNS number for the TOE. This may or may not be populated. type: array items: example: '12345' type: string toe_size: description: The text description of TOE size. example: xl type: string nullable: true TOESearchResults: type: array description: A collection of TOESearchResult objects. items: $ref: '#/components/schemas/TOESearchResult' ToeReportPdf: title: TOE Report PDF type: string format: binary description: A PDF file ToeReportOrdered: title: TOE Report Ordered Response type: object description: 'When a report has been successfully ordered. ' properties: request_id: type: number description: The unique ID of the request. example: 123 toe_id: type: string description: TEO on which report was requested example: 5976423a-ee35-11e3-8569-14109ff1a304 toe_name: type: string description: The Company or entity name. example: 'Sample Enterprises, USA' analysis_id: type: number description: The unique analysis Id example: 51233544 report_type: type: string description: The unique name of the report. example: executive-report report_key: type: string description: The unique name of the report. example: >- company-overview-report-Sample-Enterprises,-USA-4635645253-2024-1-9:10-21-18.pdf status: type: string description: The current status of the request. example: pending TOEUpdated: title: TOE Update Response type: object description: >- The response for updating values for a given TOE. Only internal_id and internal_name are allowed to be updated by a user. properties: toe_short_name: type: string description: The Company or entity name. example: Riskrecon toe_id: $ref: '#/components/schemas/ToeId' internal_name: $ref: '#/components/schemas/InternalName' internal_id: $ref: '#/components/schemas/InternalId' TOEUpdate: title: TOE Update description: >- This is for updating the internal_id and/or internal_name of a TOE in a portfolio. type: object properties: internal_name: $ref: '#/components/schemas/InternalName' internal_id: $ref: '#/components/schemas/InternalId' User: type: object properties: scopes: type: array description: The user scopes. nullable: true items: $ref: '#/components/schemas/Scope' primary_user_id: type: number nullable: true description: >- The primary user id if the user has multiple accounts and this isn't the primary one. example: 1 last_sign_in_at: type: string example: '2021-10-01T22:18:57+00:00' description: The last RiskRecon portal sign in timestamp. nullable: true last_name: type: string description: The last Name of the user. example: Sampson is_active: type: boolean description: Is the user active? example: true first_name: type: string description: The first name of the user. example: Bob eula_accepted_on: type: string nullable: true description: The EULA accepted date. example: '2021-10-01T22:18:57+00:00' employee_id: type: string nullable: true description: The employee Id. example: '1234' email: type: string description: The listed email address of the user. example: bob@riskrecon.com customer_id: type: string description: The customer Id of the user. example: 5976423a-ee35-11e3-8569-14109ff1a304 format: uuid current_sign_in_at: type: string nullable: true description: The current sign in timestamp. example: '2021-10-01T22:18:57+00:00' company_id: type: number nullable: true description: >- The company id of the user. This is a legacy field and the customer_id should be used instead. example: 1234 cell_phone: type: string nullable: true description: The cell phone of the user if available. example: '18001231234' Users: type: object properties: users: type: array description: A collection of User objects. items: $ref: '#/components/schemas/User' VendorStatusSummaryCounts: title: VendorStatusSummaryCounts type: array description: A collection of Vendor Status Summary Count objects. items: $ref: '#/components/schemas/VendorStatusSummaryCount' VendorStatusSummaryCount: type: object properties: count: type: number description: The issue count by current vendor status. example: 37 label: type: string description: The display name for vendor status. example: Investigating status: type: string description: The current vendor status. example: investigating description: The Vendor Status Summary Count items. securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT security: - bearerAuth: []