{ "swagger": "2.0", "info": { "title": "buf:lint:ignore PACKAGE_LOWER_SNAKE_CASE", "version": "version not set" }, "tags": [ { "name": "Service" } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "paths": { "/mtprm.api.portfolio.resources.entities.v1.Service/Read": { "post": { "summary": "Retrieve details of a specific entity being monitored.", "operationId": "Service_Read", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/mtprm.api.portfolio.resources.entities.v1.ReadResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/mtprm.api.portfolio.resources.entities.v1.ReadRequest" } } ], "tags": [ "Service" ] } }, "/mtprm.api.portfolio.resources.entities.v1.Service/Update": { "post": { "summary": "Update an entity", "operationId": "Service_Update", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/mtprm.api.portfolio.resources.entities.v1.UpdateResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/mtprm.api.portfolio.resources.entities.v1.UpdateRequest" } } ], "tags": [ "Service" ] } }, "/mtprm.api.portfolio.resources.entities.v1.Service/List": { "post": { "summary": "Retrieve a list of all entities being monitored.", "operationId": "Service_List", "responses": { "200": { "description": "A successful response.(streaming responses)", "schema": { "type": "object", "properties": { "result": { "$ref": "#/definitions/mtprm.api.portfolio.resources.entities.v1.ListResponse" }, "error": { "$ref": "#/definitions/google.rpc.Status" } }, "title": "Stream result of mtprm.api.portfolio.resources.entities.v1.ListResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/mtprm.api.portfolio.resources.entities.v1.ListRequest" } } ], "tags": [ "Service" ] } }, "/mtprm.api.portfolio.resources.entities__0__reports__combined__xlsx.v1.Service/Get": { "post": { "summary": "Retrieve the combined report for a specific entity. Produces a spreadsheet with the summary report details and the issues report details.", "operationId": "Service_Get", "responses": { "200": { "description": "A successful response.(streaming responses)", "schema": { "type": "object", "properties": { "result": { "$ref": "#/definitions/mtprm.api.portfolio.resources.entities__0__reports__combined__xlsx.v1.GetResponse" }, "error": { "$ref": "#/definitions/google.rpc.Status" } }, "title": "Stream result of mtprm.api.portfolio.resources.entities__0__reports__combined__xlsx.v1.GetResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/mtprm.api.portfolio.resources.entities__0__reports__combined__xlsx.v1.GetRequest" } } ], "tags": [ "Service" ] } }, "/mtprm.api.portfolio.resources.entity_inquiries.v1.Service/Create": { "post": { "summary": "Create an inquiry to have an entity manually added for monitoring.", "operationId": "Service_Create", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/mtprm.api.portfolio.resources.entity_inquiries.v1.CreateResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/mtprm.api.portfolio.resources.entity_inquiries.v1.CreateRequest" } } ], "tags": [ "Service" ] } }, "/mtprm.api.portfolio.resources.entity_inquiries.v1.Service/Read": { "post": { "summary": "Retrieve details of a specific inquiry.", "operationId": "Service_Read", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/mtprm.api.portfolio.resources.entity_inquiries.v1.ReadResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/mtprm.api.portfolio.resources.entity_inquiries.v1.ReadRequest" } } ], "tags": [ "Service" ] } }, "/mtprm.api.portfolio.resources.entity_inquiries.v1.Service/List": { "post": { "summary": "Retrieve a list of all inquiries.", "operationId": "Service_List", "responses": { "200": { "description": "A successful response.(streaming responses)", "schema": { "type": "object", "properties": { "result": { "$ref": "#/definitions/mtprm.api.portfolio.resources.entity_inquiries.v1.ListResponse" }, "error": { "$ref": "#/definitions/google.rpc.Status" } }, "title": "Stream result of mtprm.api.portfolio.resources.entity_inquiries.v1.ListResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/google.rpc.Status" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/mtprm.api.portfolio.resources.entity_inquiries.v1.ListRequest" } } ], "tags": [ "Service" ] } } }, "definitions": { "google.protobuf.Any": { "type": "object", "properties": { "@type": { "type": "string" } }, "additionalProperties": {} }, "google.rpc.Status": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32" }, "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/google.protobuf.Any" } } } }, "mtprm.api.portfolio.resources.entities.v1.ListRequest": { "type": "object", "properties": { "resolved": { "$ref": "#/definitions/mtprm.core.entity_performance.v1.ResolvedRiskRatingGrade" } } }, "mtprm.api.portfolio.resources.entities.v1.ListResponse": { "type": "object", "properties": { "entities": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/mtprm.core.entity.v3.SummaryEntity" } } } }, "mtprm.api.portfolio.resources.entities.v1.ReadRequest": { "type": "object", "properties": { "entityId": { "$ref": "#/definitions/mtprm.core.id.v1.PrefixedId" } }, "required": [ "entityId" ] }, "mtprm.api.portfolio.resources.entities.v1.ReadResponse": { "type": "object", "properties": { "entity": { "$ref": "#/definitions/mtprm.core.entity.v3.Entity" } } }, "mtprm.api.portfolio.resources.entities.v1.UpdateRequest": { "type": "object", "properties": { "entityId": { "$ref": "#/definitions/mtprm.core.id.v1.PrefixedId" }, "submitted": { "$ref": "#/definitions/mtprm.core.entity.v3.EntityData" } }, "required": [ "entityId", "submitted" ] }, "mtprm.api.portfolio.resources.entities.v1.UpdateResponse": { "type": "object" }, "mtprm.api.portfolio.resources.entities__0__reports__combined__xlsx.v1.GetRequest": { "type": "object", "properties": { "entityId": { "$ref": "#/definitions/mtprm.core.id.v1.PrefixedId" } }, "required": [ "entityId" ] }, "mtprm.api.portfolio.resources.entities__0__reports__combined__xlsx.v1.GetResponse": { "type": "object", "properties": { "chunk": { "type": "string", "format": "byte" } }, "description": "This is a binary data.\nThe mime type is `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`." }, "mtprm.api.portfolio.resources.entity_inquiries.v1.CreateRequest": { "type": "object", "properties": { "submitted": { "$ref": "#/definitions/mtprm.core.entity.v3.EntityData" } }, "required": [ "submitted" ] }, "mtprm.api.portfolio.resources.entity_inquiries.v1.CreateResponse": { "type": "object", "properties": { "inquiryId": { "$ref": "#/definitions/mtprm.core.id.v1.PrefixedId" } } }, "mtprm.api.portfolio.resources.entity_inquiries.v1.ListRequest": { "type": "object" }, "mtprm.api.portfolio.resources.entity_inquiries.v1.ListResponse": { "type": "object", "properties": { "inquiries": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/mtprm.core.entity_inquiry.v4.InquiryData" } } } }, "mtprm.api.portfolio.resources.entity_inquiries.v1.ReadRequest": { "type": "object", "properties": { "inquiryId": { "$ref": "#/definitions/mtprm.core.id.v1.PrefixedId" } }, "required": [ "inquiryId" ] }, "mtprm.api.portfolio.resources.entity_inquiries.v1.ReadResponse": { "type": "object", "properties": { "inquiry": { "$ref": "#/definitions/mtprm.core.entity_inquiry.v4.InquiryData" } } }, "mtprm.core.entity.v3.Entity": { "type": "object", "properties": { "entityId": { "$ref": "#/definitions/mtprm.core.id.v1.PrefixedId" }, "submitted": { "$ref": "#/definitions/mtprm.core.entity.v3.EntityData" }, "resolved": { "$ref": "#/definitions/mtprm.core.entity.v3.ThirdPartyEntityData" }, "lastUpdatedDate": { "$ref": "#/definitions/mtprm.core.time.v1.IsoDateTime", "example": { "value": "2024-10-31T01:30:00.000-05:00" } }, "riskRatingScore": { "type": "number", "format": "double", "example": 8.4 }, "riskRatingGrade": { "$ref": "#/definitions/mtprm.core.entity_performance.v1.GradeLetter", "example": "GRADE_LETTER_B" }, "riskDomainPerformance": { "type": "array", "example": [ { "riskDomain": { "id": "RISK_DOMAIN_ID_APP_SECURITY", "name": "Application Security" }, "riskDomainGrade": "GRADE_LETTER_C", "issuesMetrics": { "numCritIssues": 10, "numHighIssues": 11, "numMedIssues": 12 } }, { "riskDomain": { "id": "RISK_DOMAIN_ID_BREACH_EVENTS", "name": "Breach Events" }, "riskDomainGrade": "GRADE_LETTER_B", "issuesMetrics": { "numCritIssues": 10, "numHighIssues": 11, "numMedIssues": 11 } }, { "riskDomain": { "id": "RISK_DOMAIN_ID_DNS_SECURITY", "name": "DNS Security" }, "riskDomainGrade": "GRADE_LETTER_C", "issuesMetrics": { "numCritIssues": 12, "numHighIssues": 12, "numMedIssues": 12 } }, { "riskDomain": { "id": "RISK_DOMAIN_ID_EMAIL_SECURITY", "name": "Email Security" }, "riskDomainGrade": "GRADE_LETTER_B", "issuesMetrics": { "numCritIssues": 7, "numHighIssues": 8, "numMedIssues": 9 } }, { "riskDomain": { "id": "RISK_DOMAIN_ID_NETWORK_FILTERING", "name": "Network Filtering" }, "riskDomainGrade": "GRADE_LETTER_B", "issuesMetrics": { "numCritIssues": 8, "numHighIssues": 9, "numMedIssues": 9 } }, { "riskDomain": { "id": "RISK_DOMAIN_ID_SOFTWARE_PATCHING", "name": "Software Patching" }, "riskDomainGrade": "GRADE_LETTER_A", "issuesMetrics": { "numCritIssues": 1, "numHighIssues": 1, "numMedIssues": 2 } }, { "riskDomain": { "id": "RISK_DOMAIN_ID_SYSTEM_HOSTING", "name": "System Hosting" }, "riskDomainGrade": "GRADE_LETTER_C", "issuesMetrics": { "numCritIssues": 10, "numHighIssues": 11, "numMedIssues": 12 } }, { "riskDomain": { "id": "RISK_DOMAIN_ID_SYSTEM_REPUTATION", "name": "System Reputation" }, "riskDomainGrade": "GRADE_LETTER_C", "issuesMetrics": { "numCritIssues": 13, "numHighIssues": 14, "numMedIssues": 15 } }, { "riskDomain": { "id": "RISK_DOMAIN_ID_WEB_ENCRYPTION", "name": "Web Encryption" }, "riskDomainGrade": "GRADE_LETTER_B", "issuesMetrics": { "numCritIssues": 10, "numHighIssues": 10, "numMedIssues": 10 } } ], "items": { "type": "object", "$ref": "#/definitions/mtprm.core.entity_performance.v1.RiskDomainPerformance" } } }, "required": [ "entityId", "submitted" ] }, "mtprm.core.entity.v3.EntityData": { "type": "object", "properties": { "name": { "type": "string", "example": "Company, Inc." }, "domain": { "type": "string", "example": "company.com" }, "dunsNumber": { "type": "string", "example": "123456789" }, "lastAssessmentDate": { "$ref": "#/definitions/mtprm.core.time.v1.IsoDateTime", "example": { "value": "2024-10-31T01:30:00.000-05:00" } }, "dssLevel": { "type": "string", "example": "FOUR" }, "inherentRiskRating": { "type": "string", "example": "VERY_HIGH" }, "contactEmailPrimary": { "type": "string", "example": "john.doe@company.com" }, "contactEmailSecondary": { "type": "string", "example": "jane.doe@company.com" }, "caseNumber": { "type": "string", "format": "uint64", "example": 123456 }, "portfolioNames": { "type": "array", "example": [ "Portfolio1", "Portfolio2" ], "items": { "type": "string" } } }, "required": [ "name", "domain", "inherentRiskRating", "contactEmailPrimary" ] }, "mtprm.core.entity.v3.SummaryEntity": { "type": "object", "properties": { "entityId": { "$ref": "#/definitions/mtprm.core.id.v1.PrefixedId" }, "resolved": { "$ref": "#/definitions/mtprm.core.entity_performance.v1.ResolvedRiskRatingGrade" } } }, "mtprm.core.entity.v3.ThirdPartyEntityData": { "type": "object", "properties": { "name": { "type": "string", "example": "Resolved Company, Inc." }, "domain": { "type": "string", "example": "resolved-company.com" }, "dunsNumber": { "type": "array", "example": "123456789", "items": { "type": "string" } }, "lastAssessmentDate": { "$ref": "#/definitions/mtprm.core.time.v1.IsoDateTime", "example": { "value": "2024-10-31T01:30:00.000-05:00" } } } }, "mtprm.core.entity_inquiry.v4.InquiryData": { "type": "object", "properties": { "inquiryId": { "$ref": "#/definitions/mtprm.core.id.v1.PrefixedId" }, "createdDate": { "$ref": "#/definitions/mtprm.core.time.v1.IsoDateTime", "example": { "value": "2024-10-31T01:30:00.000-05:00" } }, "status": { "$ref": "#/definitions/mtprm.core.entity_inquiry.v4.InquiryStatus" }, "entityId": { "$ref": "#/definitions/mtprm.core.id.v1.PrefixedId", "example": { "value": "foo_0123456789lmnopqrs" } } }, "required": [ "inquiryId", "createdDate", "status" ] }, "mtprm.core.entity_inquiry.v4.InquiryState": { "type": "string", "enum": [ "INQUIRY_STATE_PENDING", "INQUIRY_STATE_COMPLETE", "INQUIRY_STATE_DUPLICATE", "INQUIRY_STATE_MISSING_DATA", "INQUIRY_STATE_NONEXISTENT", "INQUIRY_STATE_OTHER_ERROR" ] }, "mtprm.core.entity_inquiry.v4.InquiryStatus": { "type": "object", "properties": { "state": { "$ref": "#/definitions/mtprm.core.entity_inquiry.v4.InquiryState", "example": "INQUIRY_STATE_COMPLETE" }, "updatedAt": { "$ref": "#/definitions/mtprm.core.time.v1.IsoDateTime", "example": { "value": "2024-10-31T01:30:00.000-05:00" } } }, "required": [ "state", "updatedAt" ] }, "mtprm.core.entity_performance.v1.GradeLetter": { "type": "string", "enum": [ "GRADE_LETTER_A", "GRADE_LETTER_B", "GRADE_LETTER_C", "GRADE_LETTER_D", "GRADE_LETTER_F" ] }, "mtprm.core.entity_performance.v1.IssuesMetrics": { "type": "object", "properties": { "numCritIssues": { "type": "integer", "format": "int64", "example": 10 }, "numHighIssues": { "type": "integer", "format": "int64", "example": 11 }, "numMedIssues": { "type": "integer", "format": "int64", "example": 12 } } }, "mtprm.core.entity_performance.v1.ResolvedRiskRatingGrade": { "type": "object", "properties": { "riskRatingGrade": { "$ref": "#/definitions/mtprm.core.entity_performance.v1.GradeLetter", "example": "GRADE_LETTER_C" } } }, "mtprm.core.entity_performance.v1.RiskDomain": { "type": "object", "properties": { "id": { "$ref": "#/definitions/mtprm.core.entity_performance.v1.RiskDomainId", "example": "RISK_DOMAIN_ID_APP_SECURITY" }, "name": { "type": "string", "example": "Application Security" } } }, "mtprm.core.entity_performance.v1.RiskDomainId": { "type": "string", "enum": [ "RISK_DOMAIN_ID_APP_SECURITY", "RISK_DOMAIN_ID_BREACH_EVENTS", "RISK_DOMAIN_ID_DNS_SECURITY", "RISK_DOMAIN_ID_EMAIL_SECURITY", "RISK_DOMAIN_ID_NETWORK_FILTERING", "RISK_DOMAIN_ID_SOFTWARE_PATCHING", "RISK_DOMAIN_ID_SYSTEM_HOSTING", "RISK_DOMAIN_ID_SYSTEM_REPUTATION", "RISK_DOMAIN_ID_WEB_ENCRYPTION" ] }, "mtprm.core.entity_performance.v1.RiskDomainPerformance": { "type": "object", "properties": { "riskDomain": { "$ref": "#/definitions/mtprm.core.entity_performance.v1.RiskDomain" }, "riskDomainGrade": { "$ref": "#/definitions/mtprm.core.entity_performance.v1.GradeLetter", "example": "GRADE_LETTER_C" }, "issuesMetrics": { "$ref": "#/definitions/mtprm.core.entity_performance.v1.IssuesMetrics" } } }, "mtprm.core.id.v1.PrefixedId": { "type": "object", "example": { "value": "foo_0123456789abcdefg" }, "properties": { "value": { "type": "string", "title": "E.G. `foo_123456`" } }, "description": "An identifier that happens to have a human-readable prefix.", "required": [ "value" ] }, "mtprm.core.time.v1.IsoDateTime": { "type": "object", "properties": { "value": { "type": "string" } }, "required": [ "value" ] } } }