{
"swagger": "2.0",
"basePath": "\/api",
"paths": {
"\/browse\/": {
"get": {
"responses": {
"200": {
"description": "Success"
}
},
"summary": "Get the known vendors",
"description": "Get the known vendors.",
"operationId": "get_vendors",
"tags": [
"browse"
]
}
},
"\/browse\/{vendor}": {
"parameters": [
{
"name": "vendor",
"in": "path",
"required": true,
"type": "string"
}
],
"get": {
"responses": {
"200": {
"description": "Success"
}
},
"summary": "Get the known products for a vendor",
"description": "Get the known products for a vendor.",
"operationId": "get_vendor_products",
"tags": [
"browse"
]
}
},
"\/bundle\/": {
"post": {
"responses": {
"201": {
"description": "Success.",
"schema": {
"type": "array",
"items": {
"$ref": "#\/definitions\/BundlesList"
}
}
},
"400": {
"description": "JSON validation failed or incorrect payload to instantiate a bundle."
},
"403": {
"description": "Administrator permission required."
}
},
"description": "Create a bundle.",
"operationId": "post_bundles_list",
"parameters": [
{
"name": "payload",
"required": true,
"in": "body",
"schema": {
"$ref": "#\/definitions\/Bundle"
}
},
{
"name": "X-Fields",
"in": "header",
"type": "string",
"format": "mask",
"description": "An optional fields mask"
}
],
"tags": [
"bundle"
]
},
"get": {
"responses": {
"200": {
"description": "Success",
"schema": {
"type": "array",
"items": {
"$ref": "#\/definitions\/BundlesList"
}
}
}
},
"summary": "List all bundles",
"operationId": "list_bundles",
"parameters": [
{
"name": "page",
"in": "query",
"type": "integer",
"description": "Number of the page.",
"default": 1
},
{
"name": "per_page",
"in": "query",
"type": "integer",
"description": "Maximum number of elements to return.",
"default": 1000
},
{
"name": "uuid",
"in": "query",
"type": "string",
"description": "UUID of the bundle."
},
{
"name": "author",
"in": "query",
"type": "string",
"description": "Author (login) of the bundle."
},
{
"name": "vuln_id",
"in": "query",
"type": "string",
"description": "Id of a vulnerability referenced by the bundle."
},
{
"name": "meta",
"in": "query",
"type": "string",
"description": "Query for the meta JSON field. Example: meta=[{'tags': ['tcp']}]"
},
{
"name": "date_from",
"in": "query",
"type": "string",
"format": "date",
"description": "The date of the bundles must be bigger or equal than this value. Format: YYYY-MM-DD"
},
{
"name": "date_to",
"in": "query",
"type": "string",
"format": "date",
"description": "The date of the bundles must be smaller or equal than this value. Format: YYYY-MM-DD"
},
{
"name": "X-Fields",
"in": "header",
"type": "string",
"format": "mask",
"description": "An optional fields mask"
}
],
"tags": [
"bundle"
]
}
},
"\/bundle\/{bundle_uuid}": {
"parameters": [
{
"name": "bundle_uuid",
"in": "path",
"required": true,
"type": "string"
}
],
"delete": {
"responses": {
"204": {
"description": "Success."
},
"403": {
"description": "Administrator permission required or not the author of the bundle."
},
"404": {
"description": "Bundle not found."
}
},
"summary": "Endpoint for deleting a bundle",
"description": "Delete a bundle.\nOnly an admin can delete a bundle.",
"operationId": "delete_bundle_item",
"tags": [
"bundle"
]
},
"get": {
"responses": {
"200": {
"description": "Success.",
"schema": {
"$ref": "#\/definitions\/Bundle"
}
},
"404": {
"description": "Bundle not found."
}
},
"description": "Get a bundle with its UUID.",
"operationId": "get_bundle_item",
"parameters": [
{
"name": "X-Fields",
"in": "header",
"type": "string",
"format": "mask",
"description": "An optional fields mask"
}
],
"tags": [
"bundle"
]
}
},
"\/capec\/": {
"get": {
"responses": {
"200": {
"description": "Success",
"schema": {
"type": "array",
"items": {
"$ref": "#\/definitions\/CAPECsList"
}
}
}
},
"summary": "List all CAPECs",
"operationId": "list_capecs",
"parameters": [
{
"name": "page",
"in": "query",
"type": "integer",
"description": "Number of the page.",
"default": 1
},
{
"name": "per_page",
"in": "query",
"type": "integer",
"description": "Maximum number of elements to return.",
"default": 100
},
{
"name": "X-Fields",
"in": "header",
"type": "string",
"format": "mask",
"description": "An optional fields mask"
}
],
"tags": [
"capec"
]
}
},
"\/capec\/{capec_id}": {
"parameters": [
{
"name": "capec_id",
"in": "path",
"required": true,
"type": "string"
}
],
"get": {
"responses": {
"200": {
"description": "Success"
}
},
"summary": "Get detailed information about a CAPEC",
"description": "Get detailed information about a CAPEC.",
"operationId": "get_capec_item",
"tags": [
"capec"
]
}
},
"\/cisa_kev\/": {
"get": {
"responses": {
"200": {
"description": "Success",
"schema": {
"type": "array",
"items": {
"$ref": "#\/definitions\/KEVsList"
}
}
}
},
"summary": "List all CISA KEV",
"operationId": "list_kevs",
"parameters": [
{
"name": "page",
"in": "query",
"type": "integer",
"description": "Number of the page.",
"default": 1
},
{
"name": "per_page",
"in": "query",
"type": "integer",
"description": "Maximum number of elements to return.",
"default": 100
},
{
"name": "X-Fields",
"in": "header",
"type": "string",
"format": "mask",
"description": "An optional fields mask"
}
],
"tags": [
"cisa_kev"
]
}
},
"\/comment\/": {
"post": {
"responses": {
"201": {
"description": "Success.",
"schema": {
"type": "array",
"items": {
"$ref": "#\/definitions\/CommentsList"
}
}
},
"400": {
"description": "JSON validation failed or incorrect payload to instantiate a comment."
},
"403": {
"description": "Commenter permission required or not the author of the comment."
}
},
"summary": "Create a new comment related to a security advisory (vulnerability)",
"description": "Create a comment related to a security advisory.",
"operationId": "post_comments_list",
"parameters": [
{
"name": "payload",
"required": true,
"in": "body",
"schema": {
"$ref": "#\/definitions\/Comment"
}
},
{
"name": "X-Fields",
"in": "header",
"type": "string",
"format": "mask",
"description": "An optional fields mask"
}
],
"tags": [
"comment"
]
},
"get": {
"responses": {
"200": {
"description": "Success",
"schema": {
"type": "array",
"items": {
"$ref": "#\/definitions\/CommentsList"
}
}
}
},
"summary": "List all comments",
"operationId": "list_comments",
"parameters": [
{
"name": "page",
"in": "query",
"type": "integer",
"description": "Number of the page.",
"default": 1
},
{
"name": "per_page",
"in": "query",
"type": "integer",
"description": "Maximum number of elements to return.",
"default": 1000
},
{
"name": "uuid",
"in": "query",
"type": "string",
"description": "UUID of the comment."
},
{
"name": "vuln_id",
"in": "query",
"type": "string",
"description": "Vulnerability related to the comment."
},
{
"name": "author",
"in": "query",
"type": "string",
"description": "Author of the comment."
},
{
"name": "meta",
"in": "query",
"type": "string",
"description": "Query for the meta JSON field. Example: meta=[{'tags': ['PoC']}]"
},
{
"name": "date_from",
"in": "query",
"type": "string",
"format": "date",
"description": "The date of the comments must be bigger or equal than this value. Format: YYYY-MM-DD"
},
{
"name": "date_to",
"in": "query",
"type": "string",
"format": "date",
"description": "The date of the comments must be smaller or equal than this value. Format: YYYY-MM-DD"
},
{
"name": "X-Fields",
"in": "header",
"type": "string",
"format": "mask",
"description": "An optional fields mask"
}
],
"tags": [
"comment"
]
}
},
"\/comment\/{comment_uuid}": {
"parameters": [
{
"name": "comment_uuid",
"in": "path",
"required": true,
"type": "string"
}
],
"delete": {
"responses": {
"204": {
"description": "Success."
},
"403": {
"description": "Commenter permission required or not the author of the comment."
},
"404": {
"description": "Comment not found."
}
},
"summary": "Endpoint for deleting a comment",
"description": "Delete a comment.",
"operationId": "delete_comment_item",
"tags": [
"comment"
]
},
"get": {
"responses": {
"200": {
"description": "Success.",
"schema": {
"$ref": "#\/definitions\/Comment"
}
},
"404": {
"description": "Comment not found."
}
},
"description": "Get a comment with its UUID.",
"operationId": "get_comment_item",
"parameters": [
{
"name": "X-Fields",
"in": "header",
"type": "string",
"format": "mask",
"description": "An optional fields mask"
}
],
"tags": [
"comment"
]
}
},
"\/cwe\/": {
"get": {
"responses": {
"200": {
"description": "Success",
"schema": {
"type": "array",
"items": {
"$ref": "#\/definitions\/CWEsList"
}
}
}
},
"summary": "List all CWEs",
"operationId": "list_cwes",
"parameters": [
{
"name": "page",
"in": "query",
"type": "integer",
"description": "Number of the page.",
"default": 1
},
{
"name": "per_page",
"in": "query",
"type": "integer",
"description": "Maximum number of elements to return.",
"default": 100
},
{
"name": "X-Fields",
"in": "header",
"type": "string",
"format": "mask",
"description": "An optional fields mask"
}
],
"tags": [
"cwe"
]
}
},
"\/cwe\/{cwe_id}": {
"parameters": [
{
"name": "cwe_id",
"in": "path",
"required": true,
"type": "string"
}
],
"get": {
"responses": {
"200": {
"description": "Success"
}
},
"summary": "Get detailed information about a CWE",
"description": "Get detailed information about a CWE.",
"operationId": "get_cwe_item",
"tags": [
"cwe"
]
}
},
"\/emb3d\/": {
"get": {
"responses": {
"200": {
"description": "Success",
"schema": {
"type": "array",
"items": {
"$ref": "#\/definitions\/EMB3DsList"
}
}
}
},
"summary": "List all Adversarial Techniques from MITRE EMB3D",
"operationId": "list_emb3ds",
"parameters": [
{
"name": "page",
"in": "query",
"type": "integer",
"description": "Number of the page.",
"default": 1
},
{
"name": "per_page",
"in": "query",
"type": "integer",
"description": "Maximum number of elements to return.",
"default": 100
},
{
"name": "vuln_id",
"in": "query",
"type": "string",
"description": "Vulnerability identifier."
},
{
"name": "X-Fields",
"in": "header",
"type": "string",
"format": "mask",
"description": "An optional fields mask"
}
],
"tags": [
"emb3d"
]
}
},
"\/emb3d\/{emb3d_id}": {
"parameters": [
{
"name": "emb3d_id",
"in": "path",
"required": true,
"type": "string"
}
],
"get": {
"responses": {
"200": {
"description": "Success"
}
},
"summary": "Get detailed information about a MITRE EMB3D Adversarial Technique",
"description": "Get detailed information about a MITRE EMB3D Adversarial Technique.",
"operationId": "get_emb3_d_item",
"tags": [
"emb3d"
]
}
},
"\/epss\/{vulnerability_id}": {
"parameters": [
{
"name": "vulnerability_id",
"in": "path",
"required": true,
"type": "string"
}
],
"get": {
"responses": {
"200": {
"description": "Success."
},
"404": {
"description": "Problem when retrieving EPSS."
}
},
"description": "Experimental - Get the EPSS score of a vulnerability.",
"operationId": "get_epss_item",
"tags": [
"epss"
]
}
},
"\/gcve\/registry": {
"get": {
"responses": {
"200": {
"description": "Success",
"schema": {
"type": "array",
"items": {
"$ref": "#\/definitions\/GNAsList"
}
}
}
},
"summary": "List the GNAs from the local GCVE registry of the Vulnerability-Lookup instance",
"operationId": "List the GNAs from the local GCVE registry of the Vulnerability-Lookup instance.",
"parameters": [
{
"name": "page",
"in": "query",
"type": "integer",
"description": "Number of the page.",
"default": 1
},
{
"name": "per_page",
"in": "query",
"type": "integer",
"description": "Maximum number of elements to return.",
"default": 100
},
{
"name": "short_name",
"in": "query",
"type": "string",
"description": "Short name of the organization.",
"default": ""
},
{
"name": "X-Fields",
"in": "header",
"type": "string",
"format": "mask",
"description": "An optional fields mask"
}
],
"tags": [
"gcve"
]
}
},
"\/gcve\/registry\/integrity": {
"get": {
"responses": {
"200": {
"description": "Success"
}
},
"summary": "Verify the integrity of the local registry",
"operationId": "Verify the integrity of the registry.",
"tags": [
"gcve"
]
}
},
"\/organization\/": {
"get": {
"responses": {
"200": {
"description": "Success",
"schema": {
"type": "array",
"items": {
"$ref": "#\/definitions\/OrganizationsList"
}
}
}
},
"summary": "List all organizations",
"operationId": "list_organizations",
"parameters": [
{
"name": "page",
"in": "query",
"type": "integer",
"description": "Number of the page.",
"default": 1
},
{
"name": "per_page",
"in": "query",
"type": "integer",
"description": "Maximum number of elements to return.",
"default": 1000
},
{
"name": "id",
"in": "query",
"type": "integer",
"description": "ID of the organization."
},
{
"name": "uuid",
"in": "query",
"type": "string",
"description": "UUID of the organization."
},
{
"name": "name",
"in": "query",
"type": "string",
"description": "The name of the organization."
},
{
"name": "gna_id",
"in": "query",
"type": "integer",
"description": "The reserved GNA identifier of the organization."
},
{
"name": "X-Fields",
"in": "header",
"type": "string",
"format": "mask",
"description": "An optional fields mask"
}
],
"tags": [
"organization"
]
}
},
"\/product\/": {
"get": {
"responses": {
"200": {
"description": "Success",
"schema": {
"type": "array",
"items": {
"$ref": "#\/definitions\/ProductsList"
}
}
}
},
"summary": "List all products",
"operationId": "list_products",
"parameters": [
{
"name": "page",
"in": "query",
"type": "integer",
"description": "Number of the page.",
"default": 1
},
{
"name": "per_page",
"in": "query",
"type": "integer",
"description": "Maximum number of elements to return.",
"default": 1000
},
{
"name": "uuid",
"in": "query",
"type": "string",
"description": "UUID of the product."
},
{
"name": "name",
"in": "query",
"type": "string",
"description": "The name of the product."
},
{
"name": "organization_name",
"in": "query",
"type": "string",
"description": "The name of the organization related to the product."
},
{
"name": "organization_id",
"in": "query",
"type": "string",
"description": "The id of the organization related to the product."
},
{
"name": "organization_uuid",
"in": "query",
"type": "string",
"description": "The uuid of the organization related to the product."
},
{
"name": "X-Fields",
"in": "header",
"type": "string",
"format": "mask",
"description": "An optional fields mask"
}
],
"tags": [
"product"
]
}
},
"\/sighting": {
"post": {
"responses": {
"201": {
"description": "Success.",
"schema": {
"type": "array",
"items": {
"$ref": "#\/definitions\/SightingsList"
}
}
},
"400": {
"description": "Incorrect payload to instantiate a sighting."
},
"409": {
"description": "Duplicate sighting."
}
},
"summary": "Create a new sighting",
"description": "Create a new sighting.",
"operationId": "post_sightings_list",
"parameters": [
{
"name": "payload",
"required": true,
"in": "body",
"schema": {
"$ref": "#\/definitions\/Sighting"
}
},
{
"name": "X-Fields",
"in": "header",
"type": "string",
"format": "mask",
"description": "An optional fields mask"
}
],
"tags": [
"sighting"
]
},
"get": {
"responses": {
"200": {
"description": "Success",
"schema": {
"type": "array",
"items": {
"$ref": "#\/definitions\/SightingsList"
}
}
}
},
"summary": "List all sightings",
"operationId": "list_sightings",
"parameters": [
{
"name": "page",
"in": "query",
"type": "integer",
"description": "Number of the page.",
"default": 1
},
{
"name": "per_page",
"in": "query",
"type": "integer",
"description": "Maximum number of elements to return.",
"default": 1000
},
{
"name": "uuid",
"in": "query",
"type": "string",
"description": "UUID of the sighting."
},
{
"name": "type",
"in": "query",
"type": "string",
"description": "Type of sightings:\n - Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.\n - Exploited: This vulnerability was exploited and seen by the user reporting the sighting.\n - Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.\n - Confirmed: The vulnerability is confirmed from an analyst perspective.\n - Not confirmed: The user expresses doubt about the veracity of the vulnerability.\n - Patched: This vulnerability was successfully patched by the user reporting the sighting.\n - Not patched: This vulnerability was not successfully patched by the user reporting the sighting.",
"enum": [
"seen",
"exploited",
"not-exploited",
"confirmed",
"not-confirmed",
"patched",
"not-patched"
]
},
{
"name": "vuln_id",
"in": "query",
"type": "string",
"description": "Vulnerability related to the sighting."
},
{
"name": "author",
"in": "query",
"type": "string",
"description": "Author of the sighting (login)."
},
{
"name": "date_from",
"in": "query",
"type": "string",
"format": "date",
"description": "The date of the sightings must be bigger or equal than this value. Format: YYYY-MM-DD"
},
{
"name": "date_to",
"in": "query",
"type": "string",
"format": "date",
"description": "The date of the sightings must be smaller or equal than this value. Format: YYYY-MM-DD"
},
{
"name": "source",
"in": "query",
"type": "string",
"description": "Source of the sighting."
},
{
"name": "X-Fields",
"in": "header",
"type": "string",
"format": "mask",
"description": "An optional fields mask"
}
],
"tags": [
"sighting"
]
}
},
"\/sighting\/": {
"post": {
"responses": {
"201": {
"description": "Success.",
"schema": {
"type": "array",
"items": {
"$ref": "#\/definitions\/SightingsList"
}
}
},
"400": {
"description": "Incorrect payload to instantiate a sighting."
},
"409": {
"description": "Duplicate sighting."
}
},
"summary": "Create a new sighting",
"description": "Create a new sighting.",
"operationId": "post_sightings_list",
"parameters": [
{
"name": "payload",
"required": true,
"in": "body",
"schema": {
"$ref": "#\/definitions\/Sighting"
}
},
{
"name": "X-Fields",
"in": "header",
"type": "string",
"format": "mask",
"description": "An optional fields mask"
}
],
"tags": [
"sighting"
]
},
"get": {
"responses": {
"200": {
"description": "Success",
"schema": {
"type": "array",
"items": {
"$ref": "#\/definitions\/SightingsList"
}
}
}
},
"summary": "List all sightings",
"operationId": "list_sightings",
"parameters": [
{
"name": "page",
"in": "query",
"type": "integer",
"description": "Number of the page.",
"default": 1
},
{
"name": "per_page",
"in": "query",
"type": "integer",
"description": "Maximum number of elements to return.",
"default": 1000
},
{
"name": "uuid",
"in": "query",
"type": "string",
"description": "UUID of the sighting."
},
{
"name": "type",
"in": "query",
"type": "string",
"description": "Type of sightings:\n - Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.\n - Exploited: This vulnerability was exploited and seen by the user reporting the sighting.\n - Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.\n - Confirmed: The vulnerability is confirmed from an analyst perspective.\n - Not confirmed: The user expresses doubt about the veracity of the vulnerability.\n - Patched: This vulnerability was successfully patched by the user reporting the sighting.\n - Not patched: This vulnerability was not successfully patched by the user reporting the sighting.",
"enum": [
"seen",
"exploited",
"not-exploited",
"confirmed",
"not-confirmed",
"patched",
"not-patched"
]
},
{
"name": "vuln_id",
"in": "query",
"type": "string",
"description": "Vulnerability related to the sighting."
},
{
"name": "author",
"in": "query",
"type": "string",
"description": "Author of the sighting (login)."
},
{
"name": "date_from",
"in": "query",
"type": "string",
"format": "date",
"description": "The date of the sightings must be bigger or equal than this value. Format: YYYY-MM-DD"
},
{
"name": "date_to",
"in": "query",
"type": "string",
"format": "date",
"description": "The date of the sightings must be smaller or equal than this value. Format: YYYY-MM-DD"
},
{
"name": "source",
"in": "query",
"type": "string",
"description": "Source of the sighting."
},
{
"name": "X-Fields",
"in": "header",
"type": "string",
"format": "mask",
"description": "An optional fields mask"
}
],
"tags": [
"sighting"
]
}
},
"\/sighting\/{sighting_uuid}": {
"parameters": [
{
"name": "sighting_uuid",
"in": "path",
"required": true,
"type": "string"
}
],
"get": {
"responses": {
"200": {
"description": "Success.",
"schema": {
"$ref": "#\/definitions\/Sighting"
}
},
"404": {
"description": "Sighting not found."
}
},
"description": "Get a sighting with its UUID.",
"operationId": "get_sighting_item",
"parameters": [
{
"name": "X-Fields",
"in": "header",
"type": "string",
"format": "mask",
"description": "An optional fields mask"
}
],
"tags": [
"sighting"
]
}
},
"\/stats\/vulnerability\/most_commented": {
"get": {
"responses": {
"200": {
"description": "Success"
}
},
"description": "Returns the most commented vulnerabilities.",
"operationId": "get_vulnerability_most_commented",
"parameters": [
{
"name": "date_from",
"in": "query",
"type": "string",
"format": "date",
"description": "The date of the sightings must be bigger or equal than this value. Format: YYYY-MM-DD"
},
{
"name": "date_to",
"in": "query",
"type": "string",
"format": "date",
"description": "The date of the sightings must be smaller or equal than this value. Format: YYYY-MM-DD"
},
{
"name": "limit",
"in": "query",
"type": "integer",
"description": "The top elements to take into account in the query.",
"default": 10
},
{
"name": "output",
"in": "query",
"type": "string",
"description": "The format of the output.",
"default": "json",
"enum": [
"json",
"markdown"
]
}
],
"tags": [
"stats"
]
}
},
"\/stats\/vulnerability\/most_sighted": {
"get": {
"responses": {
"200": {
"description": "Success"
}
},
"description": "Returns the most sighted vulnerabilities.",
"operationId": "get_vulnerability_most_sighted",
"parameters": [
{
"name": "date_from",
"in": "query",
"type": "string",
"format": "date",
"description": "The date of the sightings must be bigger or equal than this value. Format: YYYY-MM-DD"
},
{
"name": "date_to",
"in": "query",
"type": "string",
"format": "date",
"description": "The date of the sightings must be smaller or equal than this value. Format: YYYY-MM-DD"
},
{
"name": "sighting_type",
"in": "query",
"type": "string",
"description": "The type of the sighting.",
"default": "",
"enum": [
"seen",
"exploited",
"not-exploited",
"confirmed",
"not-confirmed",
"patched",
"not-patched"
]
},
{
"name": "limit",
"in": "query",
"type": "integer",
"description": "The top elements to take into account in the query.",
"default": 10
},
{
"name": "output",
"in": "query",
"type": "string",
"description": "The format of the output.",
"default": "json",
"enum": [
"json",
"markdown"
]
}
],
"tags": [
"stats"
]
}
},
"\/system\/checkProcess": {
"get": {
"responses": {
"200": {
"description": "Success"
}
},
"summary": "Checks the hearbeats of the various processes",
"description": "Checks the hearbeats of the various processes.",
"operationId": "get_check_process",
"tags": [
"system"
]
}
},
"\/system\/checkSMTP": {
"get": {
"responses": {
"200": {
"description": "Success"
}
},
"summary": "Checks the SMTP connection",
"description": "Checks the SMTP connection.",
"operationId": "get_check_smtp",
"tags": [
"system"
]
}
},
"\/system\/configInfo": {
"get": {
"responses": {
"200": {
"description": "Success"
}
},
"summary": "Returns non-sensitive information about the configuration of the system",
"description": "Returns non-sensitive information about the configuration of the system.",
"operationId": "get_config_info",
"tags": [
"system"
]
}
},
"\/system\/dbInfo": {
"get": {
"responses": {
"200": {
"description": "Success"
}
},
"summary": "Returns information about the current sources in the Kvrocks database in use and when it was updated",
"description": "Returns information about the current sources in the Kvrocks database in use and when it was updated.",
"operationId": "get_info",
"tags": [
"system"
]
}
},
"\/system\/pgInfo": {
"get": {
"responses": {
"200": {
"description": "Success"
}
},
"summary": "Returns information about the PostgreSQL database",
"description": "Returns information about the PostgreSQL database.",
"operationId": "get_pg_info",
"tags": [
"system"
]
}
},
"\/system\/redis_up": {
"get": {
"responses": {
"200": {
"description": "Success"
}
},
"summary": "Check if Valkey\/Redis is up and running",
"description": "Check if Valkey\/Redis is up and running.",
"operationId": "get_redis_up",
"tags": [
"system"
]
}
},
"\/system\/valkey_up": {
"get": {
"responses": {
"200": {
"description": "Success"
}
},
"summary": "Check if Valkey\/Redis is up and running",
"description": "Check if Valkey\/Redis is up and running.",
"operationId": "get_redis_up",
"tags": [
"system"
]
}
},
"\/user\/": {
"post": {
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#\/definitions\/UserFull"
}
},
"201": {
"description": "Success."
}
},
"summary": "Create a non-admin user",
"description": "Create a non-admin user.\nThe user will be active but must have to confirm the account with the email sent by the instance.",
"operationId": "post_users_list",
"parameters": [
{
"name": "page",
"in": "query",
"type": "integer",
"description": "Number of the page.",
"default": 1
},
{
"name": "per_page",
"in": "query",
"type": "integer",
"description": "Maximum number of elements to return.",
"default": 10
},
{
"name": "payload",
"required": true,
"in": "body",
"schema": {
"type": "object",
"properties": {
"login": {
"type": "string"
},
"name": {
"type": "string"
},
"organisation": {
"type": "string"
},
"email": {
"type": "string"
}
}
}
},
{
"name": "X-Fields",
"in": "header",
"type": "string",
"format": "mask",
"description": "An optional fields mask"
}
],
"tags": [
"user"
]
},
"get": {
"responses": {
"200": {
"description": "Success.",
"schema": {
"type": "array",
"items": {
"$ref": "#\/definitions\/UsersList"
}
}
},
"403": {
"description": "Admin permission required."
}
},
"summary": "List all users",
"description": "Only available to administrators.",
"operationId": "list_users",
"parameters": [
{
"name": "page",
"in": "query",
"type": "integer",
"description": "Number of the page.",
"default": 1
},
{
"name": "per_page",
"in": "query",
"type": "integer",
"description": "Maximum number of elements to return.",
"default": 10
},
{
"name": "X-Fields",
"in": "header",
"type": "string",
"format": "mask",
"description": "An optional fields mask"
}
],
"tags": [
"user"
]
}
},
"\/user\/api_key": {
"post": {
"responses": {
"200": {
"description": "Success.",
"schema": {
"$ref": "#\/definitions\/UserFull"
}
},
"403": {
"description": "Wrong API key submitted."
},
"404": {
"description": "User not found."
}
},
"summary": "Regenerating the API key of the authenticated user with the current API key",
"description": "Regenerating the API key of the authenticated user with the current API key.",
"operationId": "post_user_new_api_key",
"parameters": [
{
"name": "payload",
"required": true,
"in": "body",
"schema": {
"$ref": "#\/definitions\/API%20Key"
}
},
{
"name": "X-Fields",
"in": "header",
"type": "string",
"format": "mask",
"description": "An optional fields mask"
}
],
"tags": [
"user"
]
}
},
"\/user\/me": {
"get": {
"responses": {
"200": {
"description": "Success.",
"schema": {
"$ref": "#\/definitions\/UserFull"
}
},
"404": {
"description": "User not found."
}
},
"summary": "Get information about the currently authenticated user",
"description": "Get information about the currently authenticated user.",
"operationId": "get_user_self",
"parameters": [
{
"name": "X-Fields",
"in": "header",
"type": "string",
"format": "mask",
"description": "An optional fields mask"
}
],
"tags": [
"user"
]
}
},
"\/user\/{user_id}": {
"parameters": [
{
"name": "user_id",
"in": "path",
"required": true,
"type": "integer"
}
],
"delete": {
"responses": {
"204": {
"description": "Success."
},
"403": {
"description": "Administrator permission required or not the current user."
},
"404": {
"description": "User not found."
}
},
"summary": "Endpoint for deleting a user",
"description": "Delete a user.",
"operationId": "delete_user_item",
"tags": [
"user"
]
}
},
"\/vlai\/severity-classification": {
"post": {
"responses": {
"200": {
"description": "Success."
},
"500": {
"description": "Unexpected error."
},
"503": {
"description": "Connection Error: Unable to reach ML-Gateway."
}
},
"description": "Involves a classification model aimed to assist in classifying vulnerabilities by severity based on their descriptions.",
"operationId": "post_vlai_severity_classification",
"parameters": [
{
"name": "payload",
"required": true,
"in": "body",
"schema": {
"type": "object",
"properties": {
"description": {
"type": "string"
}
}
}
}
],
"tags": [
"vlai"
]
}
},
"\/vulnerability\/": {
"post": {
"responses": {
"200": {
"description": "Success."
},
"400": {
"description": "JSON validation failed."
},
"403": {
"description": "Reporter permission required."
},
"422": {
"description": "Not possible to edit a vulnerability from the requested source."
}
},
"summary": "Endpoint for creating and editing vulnerabilities in the local source",
"description": "Create a vulnerability with the CVE version 5 format.",
"operationId": "post_vulnerabilities_list",
"parameters": [
{
"name": "payload",
"required": true,
"in": "body",
"schema": {
"type": "object",
"properties": {
"data": {
"type": "string"
}
}
}
}
],
"tags": [
"vulnerability"
]
}
},
"\/vulnerability\/browse\/": {
"get": {
"responses": {
"200": {
"description": "Success"
}
},
"summary": "Get the known vendors",
"description": "Get the known vendors.",
"operationId": "get_vendors",
"tags": [
"vulnerability"
]
}
},
"\/vulnerability\/cpesearch\/{cpe}": {
"parameters": [
{
"name": "cpe",
"in": "path",
"required": true,
"type": "string"
}
],
"get": {
"responses": {
"200": {
"description": "Success."
},
"404": {
"description": "No match found."
}
},
"summary": "Get vulnerabilities by CPE",
"description": "Get vulnerabilities by CPE.",
"operationId": "get_cpe_search",
"tags": [
"vulnerability"
]
}
},
"\/vulnerability\/last": {
"get": {
"responses": {
"200": {
"description": "Success"
}
},
"summary": "Retrieve the latest vulnerabilities, with optional filters for source and number of results",
"description": "Get the last vulnerabilities\nSupports light mode for minimal data and provides backward-compatible routes.",
"operationId": "get_last",
"tags": [
"vulnerability"
]
}
},
"\/vulnerability\/last\/{number}": {
"parameters": [
{
"name": "number",
"in": "path",
"required": true,
"type": "integer"
}
],
"get": {
"responses": {
"200": {
"description": "Success"
}
},
"summary": "Retrieve the latest vulnerabilities, with optional filters for source and number of results",
"description": "Get the last vulnerabilities\nSupports light mode for minimal data and provides backward-compatible routes.",
"operationId": "get_last",
"tags": [
"vulnerability"
]
}
},
"\/vulnerability\/last\/{source}": {
"parameters": [
{
"name": "source",
"in": "path",
"required": true,
"type": "string"
}
],
"get": {
"responses": {
"200": {
"description": "Success"
}
},
"summary": "Retrieve the latest vulnerabilities, with optional filters for source and number of results",
"description": "Get the last vulnerabilities\nSupports light mode for minimal data and provides backward-compatible routes.",
"operationId": "get_last",
"tags": [
"vulnerability"
]
}
},
"\/vulnerability\/last\/{source}\/{number}": {
"parameters": [
{
"name": "source",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "number",
"in": "path",
"required": true,
"type": "integer"
}
],
"get": {
"responses": {
"200": {
"description": "Success"
}
},
"summary": "Retrieve the latest vulnerabilities, with optional filters for source and number of results",
"description": "Get the last vulnerabilities\nSupports light mode for minimal data and provides backward-compatible routes.",
"operationId": "get_last",
"tags": [
"vulnerability"
]
}
},
"\/vulnerability\/recent": {
"get": {
"responses": {
"200": {
"description": "Success"
}
},
"summary": "Retrieve vulnerabilities reported after a specified date, with optional filters for source and number of results",
"description": "Retrieve vulnerabilities reported after a specified date, with optional filters for source and number of results. Defaults to the last 24 hours if no date is provided. Supports light mode for minimal data.\nDefaults to the last 24 hours if no date is provided. Supports light mode for minimal data.",
"operationId": "get_recent",
"tags": [
"vulnerability"
]
}
},
"\/vulnerability\/recent\/{date}": {
"parameters": [
{
"name": "date",
"in": "path",
"required": true,
"type": "string"
}
],
"get": {
"responses": {
"200": {
"description": "Success"
}
},
"summary": "Retrieve vulnerabilities reported after a specified date, with optional filters for source and number of results",
"description": "Retrieve vulnerabilities reported after a specified date, with optional filters for source and number of results. Defaults to the last 24 hours if no date is provided. Supports light mode for minimal data.\nDefaults to the last 24 hours if no date is provided. Supports light mode for minimal data.",
"operationId": "get_recent",
"tags": [
"vulnerability"
]
}
},
"\/vulnerability\/recent\/{date}\/{number}": {
"parameters": [
{
"name": "date",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "number",
"in": "path",
"required": true,
"type": "integer"
}
],
"get": {
"responses": {
"200": {
"description": "Success"
}
},
"summary": "Retrieve vulnerabilities reported after a specified date, with optional filters for source and number of results",
"description": "Retrieve vulnerabilities reported after a specified date, with optional filters for source and number of results. Defaults to the last 24 hours if no date is provided. Supports light mode for minimal data.\nDefaults to the last 24 hours if no date is provided. Supports light mode for minimal data.",
"operationId": "get_recent",
"tags": [
"vulnerability"
]
}
},
"\/vulnerability\/recent\/{date}\/{source}": {
"parameters": [
{
"name": "date",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "source",
"in": "path",
"required": true,
"type": "string"
}
],
"get": {
"responses": {
"200": {
"description": "Success"
}
},
"summary": "Retrieve vulnerabilities reported after a specified date, with optional filters for source and number of results",
"description": "Retrieve vulnerabilities reported after a specified date, with optional filters for source and number of results. Defaults to the last 24 hours if no date is provided. Supports light mode for minimal data.\nDefaults to the last 24 hours if no date is provided. Supports light mode for minimal data.",
"operationId": "get_recent",
"tags": [
"vulnerability"
]
}
},
"\/vulnerability\/recent\/{date}\/{source}\/{number}": {
"parameters": [
{
"name": "date",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "source",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "number",
"in": "path",
"required": true,
"type": "integer"
}
],
"get": {
"responses": {
"200": {
"description": "Success"
}
},
"summary": "Retrieve vulnerabilities reported after a specified date, with optional filters for source and number of results",
"description": "Retrieve vulnerabilities reported after a specified date, with optional filters for source and number of results. Defaults to the last 24 hours if no date is provided. Supports light mode for minimal data.\nDefaults to the last 24 hours if no date is provided. Supports light mode for minimal data.",
"operationId": "get_recent",
"tags": [
"vulnerability"
]
}
},
"\/vulnerability\/search\/{vendor}\/{product}": {
"parameters": [
{
"name": "vendor",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "product",
"in": "path",
"required": true,
"type": "string"
}
],
"get": {
"responses": {
"200": {
"description": "Success"
}
},
"summary": "Returns a list of vulnerabilities related to the vendor and product",
"description": "Returns a list of vulnerabilities related to the product.\nOptionnaly filter vulnerabilities published or updated after the specified date (format: YYYY-MM-DD).",
"operationId": "get_vendor_product_vulnerabilities",
"parameters": [
{
"name": "page",
"in": "query",
"type": "integer",
"description": "Number of the page.",
"default": 1
},
{
"name": "per_page",
"in": "query",
"type": "integer",
"description": "Maximum number of elements to return.",
"default": 10
},
{
"name": "since",
"in": "query",
"type": "string",
"description": "Filter vulnerabilities published or updated after the specified date (format: YYYY-MM-DD)."
}
],
"tags": [
"vulnerability"
]
}
},
"\/vulnerability\/{vulnerability_id}": {
"parameters": [
{
"name": "vulnerability_id",
"in": "path",
"required": true,
"type": "string"
}
],
"delete": {
"responses": {
"204": {
"description": "Success."
},
"403": {
"description": "Admin permission required."
},
"422": {
"description": "Not possible to edit a vulnerability from the requested source."
}
},
"summary": "Endpoint for deleting a vulnerability",
"description": "Delete a vulnerability from the local source.\nWe only accept to delete vulnerabilities from the local source.",
"operationId": "delete_vulnerability",
"tags": [
"vulnerability"
]
},
"get": {
"responses": {
"200": {
"description": "Success"
}
},
"summary": "Get a vulnerability with its id",
"description": "Get a vulnerability.",
"operationId": "get_vulnerability",
"parameters": [
{
"name": "with_meta",
"in": "query",
"type": "boolean",
"description": "Include metada.",
"default": false
},
{
"name": "with_linked",
"in": "query",
"type": "boolean",
"description": "Include the linked vulnerabilities.",
"default": false
},
{
"name": "with_comments",
"in": "query",
"type": "boolean",
"description": "Include the comments.",
"default": false
},
{
"name": "with_bundles",
"in": "query",
"type": "boolean",
"description": "Include the bundles.",
"default": false
},
{
"name": "with_sightings",
"in": "query",
"type": "boolean",
"description": "Include the sightings.",
"default": false
}
],
"tags": [
"vulnerability"
]
}
}
},
"info": {
"title": "Vulnerability-Lookup API",
"version": "2.10.1",
"description": "
<\/a>
API to query Vulnerability-Lookup<\/a>. A project from CIRCL<\/a>.
Back to the main page<\/a>
Official documentation<\/a> of the project.",
"license": {
"name": "GNU Affero General Public License version 3",
"url": "https:\/\/www.gnu.org\/licenses\/agpl-3.0.html"
}
},
"produces": [
"application\/json"
],
"consumes": [
"application\/json"
],
"securityDefinitions": {
"apikey": {
"type": "apiKey",
"in": "header",
"name": "X-API-KEY"
}
},
"security": [
{
"apikey": []
}
],
"tags": [
{
"name": "system",
"description": "Endpoints for retrieving various information about the system's status."
},
{
"name": "vulnerability",
"description": "Vulnerability related operations."
},
{
"name": "browse",
"description": "Endpoints for accessing vendor and product information."
},
{
"name": "stats",
"description": "Endpoint for retrieving various statistics."
},
{
"name": "comment",
"description": "Comment related operations."
},
{
"name": "user",
"description": "User related operations."
},
{
"name": "bundle",
"description": "Bundle related operations."
},
{
"name": "sighting",
"description": "Sighting related operations."
},
{
"name": "epss",
"description": "EPSS related operations."
},
{
"name": "cwe",
"description": "CWE related operations."
},
{
"name": "capec",
"description": "CAPEC related operations."
},
{
"name": "organization",
"description": "Organization related operations."
},
{
"name": "product",
"description": "Product related operations."
},
{
"name": "emb3d",
"description": "EMB3D related operations."
},
{
"name": "cisa_kev",
"description": "CISA KEV related operations."
},
{
"name": "gcve",
"description": "GCVE related operations."
},
{
"name": "vlai",
"description": "AI and NLP-driven services provided via the ML-Gateway."
}
],
"definitions": {
"Comment": {
"properties": {
"uuid": {
"type": "string",
"description": "Comment id."
},
"vulnerability_lookup_origin": {
"type": "string",
"description": "UUID of the Vulnerability-Lookup origin instance.",
"readOnly": true,
"default": "1a89b78e-f703-45f3-bb86-59eb712668bd"
},
"title": {
"type": "string",
"description": "Comment id."
},
"description": {
"type": "string",
"description": "Description."
},
"description_format": {
"type": "string",
"description": "Description format (markdown or text)."
},
"vulnerability": {
"type": "string",
"description": "Vulnerability id."
},
"creation_timestamp": {
"type": "string",
"format": "date-time",
"description": "Creation time of the comment.",
"readOnly": true
},
"timestamp": {
"type": "string",
"format": "date-time",
"description": "Updated time of the comment.",
"readOnly": true
},
"related_vulnerabilities": {
"type": "array",
"description": "One or more vulnerability references (CVE ID, GHSA-ID, PYSEC ID, etc.) for this comment.",
"items": {
"type": "string"
}
},
"meta": {
"type": "object",
"description": "Zero or more meta-fields."
},
"author": {
"readOnly": true,
"allOf": [
{
"$ref": "#\/definitions\/User"
}
]
}
},
"type": "object"
},
"User": {
"properties": {
"login": {
"type": "string",
"description": "Login of the user.",
"readOnly": true
}
},
"type": "object"
},
"CommentsList": {
"properties": {
"metadata": {
"description": "Metada related to the result.",
"allOf": [
{
"$ref": "#\/definitions\/metadata"
}
]
},
"data": {
"type": "array",
"description": "List of comments.",
"items": {
"$ref": "#\/definitions\/Comment"
}
}
},
"type": "object"
},
"metadata": {
"properties": {
"count": {
"type": "integer",
"description": "Total number of the items of the data.",
"readOnly": true
},
"page": {
"type": "integer",
"description": "Number of the page.",
"readOnly": true
},
"per_page": {
"type": "integer",
"description": "Requested limit data.",
"readOnly": true
}
},
"type": "object"
},
"UserFull": {
"properties": {
"id": {
"type": "integer",
"description": "User id."
},
"uuid": {
"type": "string",
"description": "User UUID."
},
"login": {
"type": "string",
"description": "User login."
},
"name": {
"type": "string",
"description": "User name."
},
"organisation": {
"type": "string",
"description": "User organisation."
},
"email": {
"type": "string",
"description": "User email."
},
"apikey": {
"type": "string",
"description": "User API key.",
"readOnly": true
},
"is_admin": {
"type": "boolean",
"description": "Boolean specifying whether the user is administrator."
},
"is_reporter": {
"type": "boolean",
"description": "Boolean specifying whether the user is reporter."
},
"is_commenter": {
"type": "boolean",
"description": "Boolean specifying whether the user is commenter."
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "Creation time of the user.",
"readOnly": true
},
"last_seen": {
"type": "string",
"format": "date-time",
"description": "Last seen time of the user.",
"readOnly": true
}
},
"type": "object"
},
"API Key": {
"properties": {
"apikey": {
"type": "string",
"description": "The current API key of the user."
}
},
"type": "object"
},
"UsersList": {
"properties": {
"metadata": {
"description": "Metada related to the result.",
"allOf": [
{
"$ref": "#\/definitions\/metadata"
}
]
},
"data": {
"type": "array",
"description": "List of users.",
"items": {
"$ref": "#\/definitions\/UserFull"
}
}
},
"type": "object"
},
"Bundle": {
"properties": {
"uuid": {
"type": "string",
"description": "Bundle id."
},
"vulnerability_lookup_origin": {
"type": "string",
"description": "UUID of the Vulnerability-Lookup origin instance.",
"readOnly": true,
"default": "1a89b78e-f703-45f3-bb86-59eb712668bd"
},
"name": {
"type": "string",
"description": "Bundle name."
},
"description": {
"type": "string",
"description": "Description."
},
"creation_timestamp": {
"type": "string",
"format": "date-time",
"description": "Creation time of the bundle.",
"readOnly": true
},
"timestamp": {
"type": "string",
"format": "date-time",
"description": "Updated time of the bundle.",
"readOnly": true
},
"related_vulnerabilities": {
"type": "array",
"description": "One or more vulnerability references (CVE ID, GHSA-ID, PYSEC ID, etc.) for this bundle.",
"items": {
"type": "string"
}
},
"meta": {
"type": "object",
"description": "Zero or more meta-fields."
},
"author": {
"readOnly": true,
"allOf": [
{
"$ref": "#\/definitions\/User"
}
]
}
},
"type": "object"
},
"BundlesList": {
"properties": {
"metadata": {
"description": "Metada related to the result.",
"allOf": [
{
"$ref": "#\/definitions\/metadata"
}
]
},
"data": {
"type": "array",
"description": "List of bundles.",
"items": {
"$ref": "#\/definitions\/Bundle"
}
}
},
"type": "object"
},
"Sighting": {
"properties": {
"uuid": {
"type": "string",
"description": "Sighting UUID.",
"readOnly": true
},
"creation_timestamp": {
"type": "string",
"format": "date-time",
"description": "Creation time of the sighting."
},
"type": {
"type": "string",
"description": "Type of the sighting."
},
"source": {
"type": "string",
"description": "The source of the sighting (Fediverse status URI, link, tool, etc.)."
},
"vulnerability": {
"type": "string",
"description": "Vulnerability id."
},
"author": {
"readOnly": true,
"allOf": [
{
"$ref": "#\/definitions\/User"
}
]
}
},
"type": "object"
},
"SightingsList": {
"properties": {
"metadata": {
"description": "Metada related to the result.",
"allOf": [
{
"$ref": "#\/definitions\/metadata"
}
]
},
"data": {
"type": "array",
"description": "List of sightings.",
"items": {
"$ref": "#\/definitions\/Sighting"
}
}
},
"type": "object"
},
"CWEsList": {
"properties": {
"metadata": {
"description": "Metada related to the result.",
"allOf": [
{
"$ref": "#\/definitions\/metadata"
}
]
},
"data": {
"type": "array",
"description": "List of CWEs.",
"items": {
"$ref": "#\/definitions\/CWE"
}
}
},
"type": "object"
},
"CWE": {
"required": [
"@Abstraction",
"@ID",
"@Name",
"@Status",
"@Structure",
"Description"
],
"properties": {
"@ID": {
"type": "string",
"description": "CWE ID"
},
"@Name": {
"type": "string",
"description": "Name of the CWE"
},
"@Abstraction": {
"type": "string",
"description": "Abstraction of the CWE"
},
"@Structure": {
"type": "string",
"description": "Structure of the CWE"
},
"@Status": {
"type": "string",
"description": "Status of the CWE"
},
"Description": {
"type": "string",
"description": "Description of the CWE"
},
"Related_Weaknesses": {
"description": "Related weaknesses",
"allOf": [
{
"$ref": "#\/definitions\/RelatedWeaknesses"
}
]
}
},
"type": "object"
},
"RelatedWeaknesses": {
"properties": {
"Related_Weakness": {
"type": "array",
"description": "List of related weaknesses",
"items": {
"$ref": "#\/definitions\/RelatedWeakness"
}
}
},
"type": "object"
},
"RelatedWeakness": {
"required": [
"@CWE_ID",
"@Nature",
"@Ordinal",
"@View_ID"
],
"properties": {
"@Nature": {
"type": "string",
"description": "Nature of the relationship"
},
"@CWE_ID": {
"type": "string",
"description": "CWE ID of the related weakness"
},
"@View_ID": {
"type": "string",
"description": "View ID of the related weakness"
},
"@Ordinal": {
"type": "string",
"description": "Ordinal of the relationship"
}
},
"type": "object"
},
"CAPECsList": {
"properties": {
"metadata": {
"description": "Metada related to the result.",
"allOf": [
{
"$ref": "#\/definitions\/metadata"
}
]
},
"data": {
"type": "array",
"description": "List of CAPECs.",
"items": {
"$ref": "#\/definitions\/CAPEC"
}
}
},
"type": "object"
},
"CAPEC": {
"properties": {
"@ID": {
"type": "string",
"description": "Identifiant.",
"readOnly": true
},
"@Name": {
"type": "string",
"description": "Name.",
"readOnly": true
},
"@Description": {
"type": "string",
"description": "Description.",
"readOnly": true
}
},
"type": "object"
},
"OrganizationsList": {
"properties": {
"metadata": {
"description": "Metada related to the result.",
"allOf": [
{
"$ref": "#\/definitions\/metadata"
}
]
},
"data": {
"type": "array",
"description": "List of organizations.",
"items": {
"$ref": "#\/definitions\/Organization"
}
}
},
"type": "object"
},
"Organization": {
"properties": {
"id": {
"type": "string",
"description": "Organization id."
},
"uuid": {
"type": "string",
"description": "Organization uuid."
},
"name": {
"type": "string",
"description": "Organization name."
},
"short_name": {
"type": "string",
"description": "Organization short name."
},
"description": {
"type": "string",
"description": "Description."
},
"gna_id": {
"type": "integer",
"description": "The reserved GNA identifier of the organization."
},
"creation_timestamp": {
"type": "string",
"format": "date-time",
"description": "Creation time of the organization.",
"readOnly": true
},
"updated_timestamp": {
"type": "string",
"format": "date-time",
"description": "Updated time of the organization.",
"readOnly": true
}
},
"type": "object"
},
"ProductsList": {
"properties": {
"metadata": {
"description": "Metada related to the result.",
"allOf": [
{
"$ref": "#\/definitions\/metadata"
}
]
},
"data": {
"type": "array",
"description": "List of products.",
"items": {
"$ref": "#\/definitions\/Product"
}
}
},
"type": "object"
},
"Product": {
"properties": {
"id": {
"type": "string",
"description": "Product id."
},
"uuid": {
"type": "string",
"description": "Product uuid."
},
"name": {
"type": "string",
"description": "Product name."
},
"description": {
"type": "string",
"description": "Description."
},
"creation_timestamp": {
"type": "string",
"format": "date-time",
"description": "Creation time of the product.",
"readOnly": true
},
"updated_timestamp": {
"type": "string",
"format": "date-time",
"description": "Updated time of the product.",
"readOnly": true
}
},
"type": "object"
},
"EMB3DsList": {
"properties": {
"metadata": {
"description": "Metada related to the result.",
"allOf": [
{
"$ref": "#\/definitions\/metadata"
}
]
},
"data": {
"type": "array",
"description": "List of Adversarial Techniques from MITRE EMB3D.",
"items": {
"$ref": "#\/definitions\/Emb3d"
}
}
},
"type": "object"
},
"Emb3d": {
"properties": {
"id": {
"type": "string",
"description": "Identifiant",
"readOnly": true
},
"Type": {
"type": "string",
"description": "Type",
"readOnly": true
},
"description": {
"type": "string",
"description": "Description",
"readOnly": true
},
"CWE": {
"type": "object",
"description": "CWE",
"readOnly": true
}
},
"type": "object"
},
"KEVsList": {
"properties": {
"metadata": {
"description": "Metada related to the result.",
"allOf": [
{
"$ref": "#\/definitions\/metadata"
}
]
},
"data": {
"type": "array",
"description": "List of KEVs.",
"items": {
"$ref": "#\/definitions\/KEV"
}
}
},
"type": "object"
},
"KEV": {
"required": [
"cveID",
"dateAdded",
"dueDate",
"id",
"knownRansomwareCampaignUse",
"product",
"requiredAction",
"shortDescription",
"vendorProject",
"vulnerabilityName"
],
"properties": {
"id": {
"type": "integer",
"description": "Internal ID"
},
"cveID": {
"type": "string",
"description": "CVE identifier"
},
"dateAdded": {
"type": "string",
"description": "Date the vulnerability was added to the KEV catalog (YYYY-MM-DD)"
},
"dueDate": {
"type": "string",
"description": "Due date for remediation (YYYY-MM-DD)"
},
"knownRansomwareCampaignUse": {
"type": "string",
"description": "Whether the vulnerability has been used in ransomware campaigns"
},
"notes": {
"type": "string",
"description": "Additional notes"
},
"product": {
"type": "string",
"description": "Product affected by the vulnerability"
},
"requiredAction": {
"type": "string",
"description": "Recommended action to remediate the vulnerability"
},
"shortDescription": {
"type": "string",
"description": "Short description of the vulnerability"
},
"vendorProject": {
"type": "string",
"description": "Vendor or project name"
},
"vulnerabilityName": {
"type": "string",
"description": "Human-readable name for the vulnerability"
},
"cwes": {
"type": "object",
"description": "List of associated CWE identifiers"
}
},
"type": "object"
},
"GNAsList": {
"properties": {
"metadata": {
"description": "Metada related to the result.",
"allOf": [
{
"$ref": "#\/definitions\/metadata"
}
]
},
"data": {
"type": "array",
"description": "List of GNAs.",
"items": {
"$ref": "#\/definitions\/GNA"
}
}
},
"type": "object"
},
"GNA": {
"properties": {
"id": {
"type": "string",
"description": "Unique identifier for the GCVE Numbering Authority.",
"readOnly": true
},
"short_name": {
"type": "string",
"description": "Short name of the organization.",
"readOnly": true
},
"full_name": {
"type": "string",
"description": "Full legal name of the organization.",
"readOnly": true
},
"cpe_vendor_name": {
"type": "string",
"description": "Official CPE vendor name.",
"readOnly": true
},
"gcve_url": {
"type": "string",
"description": "URL to the public vulnerability disclosure website.",
"readOnly": true
},
"gcve_api": {
"type": "string",
"description": "URL of the API endpoint providing vulnerability data.",
"readOnly": true
},
"gcve_dump": {
"type": "string",
"description": "URL to a machine-readable dump (e.g., JSON) of vulnerability information.",
"readOnly": true
},
"gcve_allocation": {
"type": "string",
"description": "URL of the interface used to allocate or register new vulnerabilities.",
"readOnly": true
},
"gcve_pull_api": {
"type": "string",
"description": "URL of the interface compatible to retrieve the local GNA publications.",
"readOnly": true
}
},
"type": "object"
}
},
"responses": {
"ParseError": {
"description": "When a mask can't be parsed"
},
"MaskError": {
"description": "When any error occurs on mask"
}
}
}