From 898a0261357dbc38178c60df8c9965ac0317cf80 Mon Sep 17 00:00:00 2001 From: Iman Hassanein Date: Fri, 28 Aug 2026 18:25:08 -0400 Subject: [PATCH] add post-processing steps for schema order and http method order to lessen openapi.json diffs --- .../spec/firework-v2-openapi.json | 2120 ++++++++--------- .../spec/firework-v2-swagger.json | 626 ++--- .../spec/firework-v3-openapi.json | 368 +-- .../spec/firework-v3-swagger.json | 40 +- .../spec/firework-v4-openapi.json | 244 +- scripts/openapi-post-process.py | 23 +- 6 files changed, 1721 insertions(+), 1700 deletions(-) diff --git a/docs/api-reference/spec/firework-v2-openapi.json b/docs/api-reference/spec/firework-v2-openapi.json index 786930c..db3faff 100644 --- a/docs/api-reference/spec/firework-v2-openapi.json +++ b/docs/api-reference/spec/firework-v2-openapi.json @@ -602,8 +602,8 @@ } }, "/firework/v2/activities/{index}/{source}/{id_}/user_metadata/tags": { - "delete": { - "operationId": "delete_activity_user_metadata_tags_/activities////user_metadata/tags", + "get": { + "operationId": "get_activity_user_metadata_tags_/activities////user_metadata/tags", "parameters": [ { "in": "path", @@ -632,7 +632,13 @@ ], "responses": { "200": { - "content": {}, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ActivityUserMetadata" + } + } + }, "description": "Success" } }, @@ -640,8 +646,8 @@ "activities" ] }, - "get": { - "operationId": "get_activity_user_metadata_tags_/activities////user_metadata/tags", + "put": { + "operationId": "put_activity_user_metadata_tags_/activities////user_metadata/tags", "parameters": [ { "in": "path", @@ -668,6 +674,16 @@ } } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ActivityUserTags" + } + } + }, + "required": true + }, "responses": { "200": { "content": { @@ -678,14 +694,25 @@ } }, "description": "Success" + }, + "400": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HttpError" + } + } + }, + "description": "Query is invalid." } }, "tags": [ "activities" - ] + ], + "x-codegen-request-body-name": "payload" }, - "put": { - "operationId": "put_activity_user_metadata_tags_/activities////user_metadata/tags", + "delete": { + "operationId": "delete_activity_user_metadata_tags_/activities////user_metadata/tags", "parameters": [ { "in": "path", @@ -712,42 +739,15 @@ } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ActivityUserTags" - } - } - }, - "required": true - }, "responses": { "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ActivityUserMetadata" - } - } - }, + "content": {}, "description": "Success" - }, - "400": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HttpError" - } - } - }, - "description": "Query is invalid." } }, "tags": [ "activities" - ], - "x-codegen-request-body-name": "payload" + ] } }, "/firework/v2/activities/{index}/{source}/{id}": { @@ -1246,24 +1246,6 @@ } }, "/firework/v2/assets/": { - "get": { - "operationId": "get_assets_/assets/", - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/get_assets__assets__200_response" - } - } - }, - "description": "Success" - } - }, - "tags": [ - "Identifiers" - ] - }, "post": { "operationId": "post_assets_/assets/", "requestBody": { @@ -1302,17 +1284,15 @@ "Identifiers" ], "x-codegen-request-body-name": "payload" - } - }, - "/firework/v2/assets/groups/": { + }, "get": { - "operationId": "get_assets_groups_/assets/groups/", + "operationId": "get_assets_/assets/", "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/get_assets_groups__assets_groups__200_response" + "$ref": "#/components/schemas/get_assets__assets__200_response" } } }, @@ -1322,7 +1302,9 @@ "tags": [ "Identifiers" ] - }, + } + }, + "/firework/v2/assets/groups/": { "post": { "operationId": "post_assets_groups_/assets/groups/", "requestBody": { @@ -1361,31 +1343,27 @@ "Identifiers" ], "x-codegen-request-body-name": "payload" - } - }, - "/firework/v2/assets/groups/{assets_group_id}": { - "delete": { - "operationId": "delete_assets_group_api_/assets/groups/", - "parameters": [ - { - "in": "path", - "name": "assets_group_id", - "required": true, - "schema": { - "type": "integer" - } - } - ], + }, + "get": { + "operationId": "get_assets_groups_/assets/groups/", "responses": { "200": { - "content": {}, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/get_assets_groups__assets_groups__200_response" + } + } + }, "description": "Success" } }, "tags": [ "Identifiers" ] - }, + } + }, + "/firework/v2/assets/groups/{assets_group_id}": { "get": { "operationId": "get_assets_group_api_/assets/groups/", "parameters": [ @@ -1462,11 +1440,9 @@ "Identifiers" ], "x-codegen-request-body-name": "payload" - } - }, - "/firework/v2/assets/groups/{assets_group_id}/alerts": { - "get": { - "operationId": "get_assets_group_alerts_/assets/groups//alerts", + }, + "delete": { + "operationId": "delete_assets_group_api_/assets/groups/", "parameters": [ { "in": "path", @@ -1479,20 +1455,16 @@ ], "responses": { "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/get_assets_group_alerts__assets_groups__int_assets_group_id__alerts_200_response" - } - } - }, + "content": {}, "description": "Success" } }, "tags": [ "Identifiers" ] - }, + } + }, + "/firework/v2/assets/groups/{assets_group_id}/alerts": { "post": { "operationId": "post_assets_group_alerts_/assets/groups//alerts", "parameters": [ @@ -1531,11 +1503,9 @@ "Identifiers" ], "x-codegen-request-body-name": "payload" - } - }, - "/firework/v2/assets/groups/{assets_group_id}/alerts/{alert_id}": { - "delete": { - "operationId": "delete_assets_group_alert_/assets/groups//alerts/", + }, + "get": { + "operationId": "get_assets_group_alerts_/assets/groups//alerts", "parameters": [ { "in": "path", @@ -1544,26 +1514,26 @@ "schema": { "type": "integer" } - }, - { - "in": "path", - "name": "alert_id", - "required": true, - "schema": { - "type": "integer" - } } ], "responses": { "200": { - "content": {}, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/get_assets_group_alerts__assets_groups__int_assets_group_id__alerts_200_response" + } + } + }, "description": "Success" } }, "tags": [ "Identifiers" ] - }, + } + }, + "/firework/v2/assets/groups/{assets_group_id}/alerts/{alert_id}": { "put": { "operationId": "put_assets_group_alert_/assets/groups//alerts/", "parameters": [ @@ -1610,11 +1580,41 @@ "Identifiers" ], "x-codegen-request-body-name": "payload" + }, + "delete": { + "operationId": "delete_assets_group_alert_/assets/groups//alerts/", + "parameters": [ + { + "in": "path", + "name": "assets_group_id", + "required": true, + "schema": { + "type": "integer" + } + }, + { + "in": "path", + "name": "alert_id", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "content": {}, + "description": "Success" + } + }, + "tags": [ + "Identifiers" + ] } }, "/firework/v2/assets/groups/{assets_group_id}/feed": { - "get": { - "operationId": "get_assets_group_feed_/assets/groups//feed", + "post": { + "operationId": "post_assets_group_feed_/assets/groups//feed", "parameters": [ { "in": "path", @@ -1692,7 +1692,7 @@ } }, { - "description": "\nType of activities to search through.\n\n*Expected values* : attachment, listing, ransomleak, forum_post, forum_topic, forum_profile, blog_post, seller, paste, leak, chat_message, domain, bot, stealer_log, infected_devices, driller, driller_forum_topic, driller_forum_post, driller_profile, cc, ccbin, financial_data, leaked_data, leaked_file, document, account, actor, forum_content, blog_content, profile, leaked_credential, valid_credential, invalid_credential, mitigated_credential, illicit_networks, open_web, domains, intelligence_object, leaks, social_media_account, social_media, source_code, source_code_secrets_np, source_code_secrets, source_code_files, docker, stack_exchange, google, service, driller_host, buckets, bucket, bucket_object, whois, cookie, pii, experimental\n\n*Some search types contain others*\n- illicit_networks: financial_data, ransomleak, stealer_log, chat_message, forum_profile, blog_post, listing, bot, seller, forum_post, forum_topic\n- open_web: service, stack_exchange, google, source_code_secrets, social_media_account, source_code_files, paste, docker, bucket_object, bucket\n- leaks: mitigated_credential, valid_credential, leak, invalid_credential\n- domains: domain\n", + "description": "\nType of activities to search through.\n\n*Expected values* : attachment, listing, ransomleak, forum_post, forum_topic, forum_profile, blog_post, seller, paste, leak, chat_message, domain, bot, stealer_log, infected_devices, driller, driller_forum_topic, driller_forum_post, driller_profile, cc, ccbin, financial_data, leaked_data, leaked_file, document, account, actor, forum_content, blog_content, profile, leaked_credential, valid_credential, invalid_credential, mitigated_credential, illicit_networks, open_web, domains, intelligence_object, leaks, social_media_account, social_media, source_code, source_code_secrets_np, source_code_secrets, source_code_files, docker, stack_exchange, google, service, driller_host, buckets, bucket, bucket_object, whois, cookie, pii, experimental\n\n*Some search types contain others*\n- illicit_networks: blog_post, chat_message, financial_data, seller, forum_profile, listing, forum_topic, stealer_log, ransomleak, forum_post, bot\n- open_web: bucket_object, docker, bucket, stack_exchange, source_code_files, paste, social_media_account, service, source_code_secrets, google\n- leaks: leak, mitigated_credential, valid_credential, invalid_credential\n- domains: domain\n", "explode": true, "in": "query", "name": "types", @@ -1937,8 +1937,8 @@ "Identifiers" ] }, - "post": { - "operationId": "post_assets_group_feed_/assets/groups//feed", + "get": { + "operationId": "get_assets_group_feed_/assets/groups//feed", "parameters": [ { "in": "path", @@ -2016,7 +2016,7 @@ } }, { - "description": "\nType of activities to search through.\n\n*Expected values* : attachment, listing, ransomleak, forum_post, forum_topic, forum_profile, blog_post, seller, paste, leak, chat_message, domain, bot, stealer_log, infected_devices, driller, driller_forum_topic, driller_forum_post, driller_profile, cc, ccbin, financial_data, leaked_data, leaked_file, document, account, actor, forum_content, blog_content, profile, leaked_credential, valid_credential, invalid_credential, mitigated_credential, illicit_networks, open_web, domains, intelligence_object, leaks, social_media_account, social_media, source_code, source_code_secrets_np, source_code_secrets, source_code_files, docker, stack_exchange, google, service, driller_host, buckets, bucket, bucket_object, whois, cookie, pii, experimental\n\n*Some search types contain others*\n- illicit_networks: financial_data, ransomleak, stealer_log, chat_message, forum_profile, blog_post, listing, bot, seller, forum_post, forum_topic\n- open_web: service, stack_exchange, google, source_code_secrets, social_media_account, source_code_files, paste, docker, bucket_object, bucket\n- leaks: mitigated_credential, valid_credential, leak, invalid_credential\n- domains: domain\n", + "description": "\nType of activities to search through.\n\n*Expected values* : attachment, listing, ransomleak, forum_post, forum_topic, forum_profile, blog_post, seller, paste, leak, chat_message, domain, bot, stealer_log, infected_devices, driller, driller_forum_topic, driller_forum_post, driller_profile, cc, ccbin, financial_data, leaked_data, leaked_file, document, account, actor, forum_content, blog_content, profile, leaked_credential, valid_credential, invalid_credential, mitigated_credential, illicit_networks, open_web, domains, intelligence_object, leaks, social_media_account, social_media, source_code, source_code_secrets_np, source_code_secrets, source_code_files, docker, stack_exchange, google, service, driller_host, buckets, bucket, bucket_object, whois, cookie, pii, experimental\n\n*Some search types contain others*\n- illicit_networks: blog_post, chat_message, financial_data, seller, forum_profile, listing, forum_topic, stealer_log, ransomleak, forum_post, bot\n- open_web: bucket_object, docker, bucket, stack_exchange, source_code_files, paste, social_media_account, service, source_code_secrets, google\n- leaks: leak, mitigated_credential, valid_credential, invalid_credential\n- domains: domain\n", "explode": true, "in": "query", "name": "types", @@ -2263,28 +2263,6 @@ } }, "/firework/v2/assets/{asset_id}": { - "delete": { - "operationId": "delete_asset_api_/assets/", - "parameters": [ - { - "in": "path", - "name": "asset_id", - "required": true, - "schema": { - "type": "integer" - } - } - ], - "responses": { - "200": { - "content": {}, - "description": "Success" - } - }, - "tags": [ - "Identifiers" - ] - }, "get": { "operationId": "get_asset_api_/assets/", "parameters": [ @@ -2361,11 +2339,9 @@ "Identifiers" ], "x-codegen-request-body-name": "payload" - } - }, - "/firework/v2/assets/{asset_id}/alerts": { - "get": { - "operationId": "get_asset_alerts_/assets//alerts", + }, + "delete": { + "operationId": "delete_asset_api_/assets/", "parameters": [ { "in": "path", @@ -2378,20 +2354,16 @@ ], "responses": { "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/get_assets_group_alerts__assets_groups__int_assets_group_id__alerts_200_response" - } - } - }, + "content": {}, "description": "Success" } }, "tags": [ "Identifiers" ] - }, + } + }, + "/firework/v2/assets/{asset_id}/alerts": { "post": { "operationId": "post_asset_alerts_/assets//alerts", "parameters": [ @@ -2430,11 +2402,9 @@ "Identifiers" ], "x-codegen-request-body-name": "payload" - } - }, - "/firework/v2/assets/{asset_id}/alerts/{alert_id}": { - "delete": { - "operationId": "delete_asset_alert_/assets//alerts/", + }, + "get": { + "operationId": "get_asset_alerts_/assets//alerts", "parameters": [ { "in": "path", @@ -2443,26 +2413,26 @@ "schema": { "type": "integer" } - }, - { - "in": "path", - "name": "alert_id", - "required": true, - "schema": { - "type": "integer" - } } ], "responses": { "200": { - "content": {}, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/get_assets_group_alerts__assets_groups__int_assets_group_id__alerts_200_response" + } + } + }, "description": "Success" } }, "tags": [ "Identifiers" ] - }, + } + }, + "/firework/v2/assets/{asset_id}/alerts/{alert_id}": { "put": { "operationId": "put_asset_alert_/assets//alerts/", "parameters": [ @@ -2509,11 +2479,41 @@ "Identifiers" ], "x-codegen-request-body-name": "payload" + }, + "delete": { + "operationId": "delete_asset_alert_/assets//alerts/", + "parameters": [ + { + "in": "path", + "name": "asset_id", + "required": true, + "schema": { + "type": "integer" + } + }, + { + "in": "path", + "name": "alert_id", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "content": {}, + "description": "Success" + } + }, + "tags": [ + "Identifiers" + ] } }, "/firework/v2/assets/{asset_id}/feed": { - "get": { - "operationId": "get_asset_feed_/assets//feed", + "post": { + "operationId": "post_asset_feed_/assets//feed", "parameters": [ { "in": "path", @@ -2591,7 +2591,7 @@ } }, { - "description": "\nType of activities to search through.\n\n*Expected values* : attachment, listing, ransomleak, forum_post, forum_topic, forum_profile, blog_post, seller, paste, leak, chat_message, domain, bot, stealer_log, infected_devices, driller, driller_forum_topic, driller_forum_post, driller_profile, cc, ccbin, financial_data, leaked_data, leaked_file, document, account, actor, forum_content, blog_content, profile, leaked_credential, valid_credential, invalid_credential, mitigated_credential, illicit_networks, open_web, domains, intelligence_object, leaks, social_media_account, social_media, source_code, source_code_secrets_np, source_code_secrets, source_code_files, docker, stack_exchange, google, service, driller_host, buckets, bucket, bucket_object, whois, cookie, pii, experimental\n\n*Some search types contain others*\n- illicit_networks: financial_data, ransomleak, stealer_log, chat_message, forum_profile, blog_post, listing, bot, seller, forum_post, forum_topic\n- open_web: service, stack_exchange, google, source_code_secrets, social_media_account, source_code_files, paste, docker, bucket_object, bucket\n- leaks: mitigated_credential, valid_credential, leak, invalid_credential\n- domains: domain\n", + "description": "\nType of activities to search through.\n\n*Expected values* : attachment, listing, ransomleak, forum_post, forum_topic, forum_profile, blog_post, seller, paste, leak, chat_message, domain, bot, stealer_log, infected_devices, driller, driller_forum_topic, driller_forum_post, driller_profile, cc, ccbin, financial_data, leaked_data, leaked_file, document, account, actor, forum_content, blog_content, profile, leaked_credential, valid_credential, invalid_credential, mitigated_credential, illicit_networks, open_web, domains, intelligence_object, leaks, social_media_account, social_media, source_code, source_code_secrets_np, source_code_secrets, source_code_files, docker, stack_exchange, google, service, driller_host, buckets, bucket, bucket_object, whois, cookie, pii, experimental\n\n*Some search types contain others*\n- illicit_networks: blog_post, chat_message, financial_data, seller, forum_profile, listing, forum_topic, stealer_log, ransomleak, forum_post, bot\n- open_web: bucket_object, docker, bucket, stack_exchange, source_code_files, paste, social_media_account, service, source_code_secrets, google\n- leaks: leak, mitigated_credential, valid_credential, invalid_credential\n- domains: domain\n", "explode": true, "in": "query", "name": "types", @@ -2836,8 +2836,8 @@ "Identifiers" ] }, - "post": { - "operationId": "post_asset_feed_/assets//feed", + "get": { + "operationId": "get_asset_feed_/assets//feed", "parameters": [ { "in": "path", @@ -2915,7 +2915,7 @@ } }, { - "description": "\nType of activities to search through.\n\n*Expected values* : attachment, listing, ransomleak, forum_post, forum_topic, forum_profile, blog_post, seller, paste, leak, chat_message, domain, bot, stealer_log, infected_devices, driller, driller_forum_topic, driller_forum_post, driller_profile, cc, ccbin, financial_data, leaked_data, leaked_file, document, account, actor, forum_content, blog_content, profile, leaked_credential, valid_credential, invalid_credential, mitigated_credential, illicit_networks, open_web, domains, intelligence_object, leaks, social_media_account, social_media, source_code, source_code_secrets_np, source_code_secrets, source_code_files, docker, stack_exchange, google, service, driller_host, buckets, bucket, bucket_object, whois, cookie, pii, experimental\n\n*Some search types contain others*\n- illicit_networks: financial_data, ransomleak, stealer_log, chat_message, forum_profile, blog_post, listing, bot, seller, forum_post, forum_topic\n- open_web: service, stack_exchange, google, source_code_secrets, social_media_account, source_code_files, paste, docker, bucket_object, bucket\n- leaks: mitigated_credential, valid_credential, leak, invalid_credential\n- domains: domain\n", + "description": "\nType of activities to search through.\n\n*Expected values* : attachment, listing, ransomleak, forum_post, forum_topic, forum_profile, blog_post, seller, paste, leak, chat_message, domain, bot, stealer_log, infected_devices, driller, driller_forum_topic, driller_forum_post, driller_profile, cc, ccbin, financial_data, leaked_data, leaked_file, document, account, actor, forum_content, blog_content, profile, leaked_credential, valid_credential, invalid_credential, mitigated_credential, illicit_networks, open_web, domains, intelligence_object, leaks, social_media_account, social_media, source_code, source_code_secrets_np, source_code_secrets, source_code_files, docker, stack_exchange, google, service, driller_host, buckets, bucket, bucket_object, whois, cookie, pii, experimental\n\n*Some search types contain others*\n- illicit_networks: blog_post, chat_message, financial_data, seller, forum_profile, listing, forum_topic, stealer_log, ransomleak, forum_post, bot\n- open_web: bucket_object, docker, bucket, stack_exchange, source_code_files, paste, social_media_account, service, source_code_secrets, google\n- leaks: leak, mitigated_credential, valid_credential, invalid_credential\n- domains: domain\n", "explode": true, "in": "query", "name": "types", @@ -3271,8 +3271,8 @@ } }, "/firework/v2/me/feed": { - "get": { - "operationId": "get_current_user_home_feed_/me/feed", + "post": { + "operationId": "post_current_user_home_feed_/me/feed", "parameters": [ { "description": " The `time` parameter is used to limit results to those found in the provided time span. \n\n *Expected format* : from@to \n\n *Example value* : 2019-09-03T04:00:00.000Z@2019-09-14T04:00:00.000Z", @@ -3329,7 +3329,7 @@ } }, { - "description": "\nType of activities to search through.\n\n*Expected values* : attachment, listing, ransomleak, forum_post, forum_topic, forum_profile, blog_post, seller, paste, leak, chat_message, domain, bot, stealer_log, infected_devices, driller, driller_forum_topic, driller_forum_post, driller_profile, cc, ccbin, financial_data, leaked_data, leaked_file, document, account, actor, forum_content, blog_content, profile, leaked_credential, valid_credential, invalid_credential, mitigated_credential, illicit_networks, open_web, domains, intelligence_object, leaks, social_media_account, social_media, source_code, source_code_secrets_np, source_code_secrets, source_code_files, docker, stack_exchange, google, service, driller_host, buckets, bucket, bucket_object, whois, cookie, pii, experimental\n\n*Some search types contain others*\n- illicit_networks: financial_data, ransomleak, stealer_log, chat_message, forum_profile, blog_post, listing, bot, seller, forum_post, forum_topic\n- open_web: service, stack_exchange, google, source_code_secrets, social_media_account, source_code_files, paste, docker, bucket_object, bucket\n- leaks: mitigated_credential, valid_credential, leak, invalid_credential\n- domains: domain\n", + "description": "\nType of activities to search through.\n\n*Expected values* : attachment, listing, ransomleak, forum_post, forum_topic, forum_profile, blog_post, seller, paste, leak, chat_message, domain, bot, stealer_log, infected_devices, driller, driller_forum_topic, driller_forum_post, driller_profile, cc, ccbin, financial_data, leaked_data, leaked_file, document, account, actor, forum_content, blog_content, profile, leaked_credential, valid_credential, invalid_credential, mitigated_credential, illicit_networks, open_web, domains, intelligence_object, leaks, social_media_account, social_media, source_code, source_code_secrets_np, source_code_secrets, source_code_files, docker, stack_exchange, google, service, driller_host, buckets, bucket, bucket_object, whois, cookie, pii, experimental\n\n*Some search types contain others*\n- illicit_networks: blog_post, chat_message, financial_data, seller, forum_profile, listing, forum_topic, stealer_log, ransomleak, forum_post, bot\n- open_web: bucket_object, docker, bucket, stack_exchange, source_code_files, paste, social_media_account, service, source_code_secrets, google\n- leaks: leak, mitigated_credential, valid_credential, invalid_credential\n- domains: domain\n", "explode": true, "in": "query", "name": "types", @@ -3554,8 +3554,8 @@ "me" ] }, - "post": { - "operationId": "post_current_user_home_feed_/me/feed", + "get": { + "operationId": "get_current_user_home_feed_/me/feed", "parameters": [ { "description": " The `time` parameter is used to limit results to those found in the provided time span. \n\n *Expected format* : from@to \n\n *Example value* : 2019-09-03T04:00:00.000Z@2019-09-14T04:00:00.000Z", @@ -3612,7 +3612,7 @@ } }, { - "description": "\nType of activities to search through.\n\n*Expected values* : attachment, listing, ransomleak, forum_post, forum_topic, forum_profile, blog_post, seller, paste, leak, chat_message, domain, bot, stealer_log, infected_devices, driller, driller_forum_topic, driller_forum_post, driller_profile, cc, ccbin, financial_data, leaked_data, leaked_file, document, account, actor, forum_content, blog_content, profile, leaked_credential, valid_credential, invalid_credential, mitigated_credential, illicit_networks, open_web, domains, intelligence_object, leaks, social_media_account, social_media, source_code, source_code_secrets_np, source_code_secrets, source_code_files, docker, stack_exchange, google, service, driller_host, buckets, bucket, bucket_object, whois, cookie, pii, experimental\n\n*Some search types contain others*\n- illicit_networks: financial_data, ransomleak, stealer_log, chat_message, forum_profile, blog_post, listing, bot, seller, forum_post, forum_topic\n- open_web: service, stack_exchange, google, source_code_secrets, social_media_account, source_code_files, paste, docker, bucket_object, bucket\n- leaks: mitigated_credential, valid_credential, leak, invalid_credential\n- domains: domain\n", + "description": "\nType of activities to search through.\n\n*Expected values* : attachment, listing, ransomleak, forum_post, forum_topic, forum_profile, blog_post, seller, paste, leak, chat_message, domain, bot, stealer_log, infected_devices, driller, driller_forum_topic, driller_forum_post, driller_profile, cc, ccbin, financial_data, leaked_data, leaked_file, document, account, actor, forum_content, blog_content, profile, leaked_credential, valid_credential, invalid_credential, mitigated_credential, illicit_networks, open_web, domains, intelligence_object, leaks, social_media_account, social_media, source_code, source_code_secrets_np, source_code_secrets, source_code_files, docker, stack_exchange, google, service, driller_host, buckets, bucket, bucket_object, whois, cookie, pii, experimental\n\n*Some search types contain others*\n- illicit_networks: blog_post, chat_message, financial_data, seller, forum_profile, listing, forum_topic, stealer_log, ransomleak, forum_post, bot\n- open_web: bucket_object, docker, bucket, stack_exchange, source_code_files, paste, social_media_account, service, source_code_secrets, google\n- leaks: leak, mitigated_credential, valid_credential, invalid_credential\n- domains: domain\n", "explode": true, "in": "query", "name": "types", @@ -3839,6 +3839,35 @@ } }, "/firework/v2/me/feed/credentials": { + "post": { + "operationId": "post_leaked_credentials_feed_endpoint_/me/feed/credentials", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserUpdate" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PaginatedCredentials" + } + } + }, + "description": "Success" + } + }, + "tags": [ + "me" + ], + "x-codegen-request-body-name": "payload" + }, "get": { "operationId": "get_leaked_credentials_feed_endpoint_/me/feed/credentials", "parameters": [ @@ -3885,35 +3914,6 @@ "tags": [ "me" ] - }, - "post": { - "operationId": "post_leaked_credentials_feed_endpoint_/me/feed/credentials", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UserUpdate" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PaginatedCredentials" - } - } - }, - "description": "Success" - } - }, - "tags": [ - "me" - ], - "x-codegen-request-body-name": "payload" } }, "/firework/v2/me/profile": { @@ -3984,8 +3984,8 @@ } }, "/firework/v2/organizations/{organization_id}/members": { - "get": { - "operationId": "get_organization_members_api_/organizations//members", + "post": { + "operationId": "post_organization_members_api_/organizations//members", "parameters": [ { "in": "path", @@ -3994,30 +3994,18 @@ "schema": { "type": "integer" } - }, - { - "in": "query", - "name": "size", - "schema": { - "default": 20, - "type": "integer" - } - }, - { - "in": "query", - "name": "from", - "schema": { - "type": "string" - } - }, - { - "in": "query", - "name": "q", - "schema": { - "type": "string" - } } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/OrganizationMemberData" + } + } + }, + "required": true + }, "responses": { "404": { "content": { @@ -4033,7 +4021,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/OrganizationMemberPage" + "$ref": "#/components/schemas/post_organization_members_api__organizations__int_organization_id__members_200_response" } } }, @@ -4042,10 +4030,11 @@ }, "tags": [ "organizations" - ] + ], + "x-codegen-request-body-name": "payload" }, - "post": { - "operationId": "post_organization_members_api_/organizations//members", + "get": { + "operationId": "get_organization_members_api_/organizations//members", "parameters": [ { "in": "path", @@ -4054,18 +4043,30 @@ "schema": { "type": "integer" } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OrganizationMemberData" - } + }, + { + "in": "query", + "name": "size", + "schema": { + "default": 20, + "type": "integer" } }, - "required": true - }, + { + "in": "query", + "name": "from", + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "q", + "schema": { + "type": "string" + } + } + ], "responses": { "404": { "content": { @@ -4081,7 +4082,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/post_organization_members_api__organizations__int_organization_id__members_200_response" + "$ref": "#/components/schemas/OrganizationMemberPage" } } }, @@ -4090,8 +4091,7 @@ }, "tags": [ "organizations" - ], - "x-codegen-request-body-name": "payload" + ] } }, "/firework/v2/organizations/{organization_id}/members/count": { @@ -4436,8 +4436,8 @@ } }, "/firework/v2/organizations/{organization_id}/tenants": { - "get": { - "operationId": "get_organization_tenants_api_/organizations//tenants", + "post": { + "operationId": "post_organization_tenants_api_/organizations//tenants", "parameters": [ { "in": "path", @@ -4448,12 +4448,22 @@ } } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NewTenantInfo" + } + } + }, + "required": true + }, "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/TenantWithCounts" + "$ref": "#/components/schemas/Tenant" } } }, @@ -4462,10 +4472,11 @@ }, "tags": [ "organizations" - ] + ], + "x-codegen-request-body-name": "payload" }, - "post": { - "operationId": "post_organization_tenants_api_/organizations//tenants", + "get": { + "operationId": "get_organization_tenants_api_/organizations//tenants", "parameters": [ { "in": "path", @@ -4476,22 +4487,12 @@ } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/NewTenantInfo" - } - } - }, - "required": true - }, "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Tenant" + "$ref": "#/components/schemas/TenantWithCounts" } } }, @@ -4500,23 +4501,10 @@ }, "tags": [ "organizations" - ], - "x-codegen-request-body-name": "payload" + ] } }, "/firework/v2/reporting/reports": { - "get": { - "operationId": "get_reports_endpoint_/reporting/reports", - "responses": { - "200": { - "content": {}, - "description": "Lists reports for the current tenant, ordered from newest to oldest." - } - }, - "tags": [ - "reporting" - ] - }, "post": { "operationId": "post_reports_endpoint_/reporting/reports", "requestBody": { @@ -4539,31 +4527,21 @@ "reporting" ], "x-codegen-request-body-name": "payload" - } - }, - "/firework/v2/reporting/reports/{report_id}": { - "delete": { - "operationId": "delete_report_endpoint_/reporting/reports/", - "parameters": [ - { - "in": "path", - "name": "report_id", - "required": true, - "schema": { - "type": "integer" - } - } - ], + }, + "get": { + "operationId": "get_reports_endpoint_/reporting/reports", "responses": { "200": { "content": {}, - "description": "Deletes a report." + "description": "Lists reports for the current tenant, ordered from newest to oldest." } }, "tags": [ "reporting" ] - }, + } + }, + "/firework/v2/reporting/reports/{report_id}": { "get": { "operationId": "get_report_endpoint_/reporting/reports/", "parameters": [ @@ -4618,6 +4596,28 @@ "reporting" ], "x-codegen-request-body-name": "payload" + }, + "delete": { + "operationId": "delete_report_endpoint_/reporting/reports/", + "parameters": [ + { + "in": "path", + "name": "report_id", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "content": {}, + "description": "Deletes a report." + } + }, + "tags": [ + "reporting" + ] } }, "/firework/v2/reporting/reports/{report_id}/archive": { @@ -4669,8 +4669,8 @@ } }, "/firework/v2/search/": { - "get": { - "operationId": "get_search_/search/", + "post": { + "operationId": "post_search_/search/", "parameters": [ { "description": "Fields to includes in the results in a dotted form. For example, \"data.actor_name\" will include items similar to:```json\n \"items\": [{\n \"data\": {\n \"actor_name\": \"Seller123\"\n }\n }]\n ```\n\n By default, all fields are included in the response.\n ", @@ -4740,7 +4740,7 @@ } }, { - "description": "\nType of activities to search through.\n\n*Expected values* : attachment, listing, ransomleak, forum_post, forum_topic, forum_profile, blog_post, seller, paste, leak, chat_message, domain, bot, stealer_log, infected_devices, driller, driller_forum_topic, driller_forum_post, driller_profile, cc, ccbin, financial_data, leaked_data, leaked_file, document, account, actor, forum_content, blog_content, profile, leaked_credential, valid_credential, invalid_credential, mitigated_credential, illicit_networks, open_web, domains, intelligence_object, leaks, social_media_account, social_media, source_code, source_code_secrets_np, source_code_secrets, source_code_files, docker, stack_exchange, google, service, driller_host, buckets, bucket, bucket_object, whois, cookie, pii, experimental\n\n*Some search types contain others*\n- illicit_networks: financial_data, ransomleak, stealer_log, chat_message, forum_profile, blog_post, listing, bot, seller, forum_post, forum_topic\n- open_web: service, stack_exchange, google, source_code_secrets, social_media_account, source_code_files, paste, docker, bucket_object, bucket\n- leaks: mitigated_credential, valid_credential, leak, invalid_credential\n- domains: domain\n", + "description": "\nType of activities to search through.\n\n*Expected values* : attachment, listing, ransomleak, forum_post, forum_topic, forum_profile, blog_post, seller, paste, leak, chat_message, domain, bot, stealer_log, infected_devices, driller, driller_forum_topic, driller_forum_post, driller_profile, cc, ccbin, financial_data, leaked_data, leaked_file, document, account, actor, forum_content, blog_content, profile, leaked_credential, valid_credential, invalid_credential, mitigated_credential, illicit_networks, open_web, domains, intelligence_object, leaks, social_media_account, social_media, source_code, source_code_secrets_np, source_code_secrets, source_code_files, docker, stack_exchange, google, service, driller_host, buckets, bucket, bucket_object, whois, cookie, pii, experimental\n\n*Some search types contain others*\n- illicit_networks: blog_post, chat_message, financial_data, seller, forum_profile, listing, forum_topic, stealer_log, ransomleak, forum_post, bot\n- open_web: bucket_object, docker, bucket, stack_exchange, source_code_files, paste, social_media_account, service, source_code_secrets, google\n- leaks: leak, mitigated_credential, valid_credential, invalid_credential\n- domains: domain\n", "explode": true, "in": "query", "name": "types", @@ -4973,8 +4973,8 @@ "search" ] }, - "post": { - "operationId": "post_search_/search/", + "get": { + "operationId": "get_search_/search/", "parameters": [ { "description": "Fields to includes in the results in a dotted form. For example, \"data.actor_name\" will include items similar to:```json\n \"items\": [{\n \"data\": {\n \"actor_name\": \"Seller123\"\n }\n }]\n ```\n\n By default, all fields are included in the response.\n ", @@ -5044,7 +5044,7 @@ } }, { - "description": "\nType of activities to search through.\n\n*Expected values* : attachment, listing, ransomleak, forum_post, forum_topic, forum_profile, blog_post, seller, paste, leak, chat_message, domain, bot, stealer_log, infected_devices, driller, driller_forum_topic, driller_forum_post, driller_profile, cc, ccbin, financial_data, leaked_data, leaked_file, document, account, actor, forum_content, blog_content, profile, leaked_credential, valid_credential, invalid_credential, mitigated_credential, illicit_networks, open_web, domains, intelligence_object, leaks, social_media_account, social_media, source_code, source_code_secrets_np, source_code_secrets, source_code_files, docker, stack_exchange, google, service, driller_host, buckets, bucket, bucket_object, whois, cookie, pii, experimental\n\n*Some search types contain others*\n- illicit_networks: financial_data, ransomleak, stealer_log, chat_message, forum_profile, blog_post, listing, bot, seller, forum_post, forum_topic\n- open_web: service, stack_exchange, google, source_code_secrets, social_media_account, source_code_files, paste, docker, bucket_object, bucket\n- leaks: mitigated_credential, valid_credential, leak, invalid_credential\n- domains: domain\n", + "description": "\nType of activities to search through.\n\n*Expected values* : attachment, listing, ransomleak, forum_post, forum_topic, forum_profile, blog_post, seller, paste, leak, chat_message, domain, bot, stealer_log, infected_devices, driller, driller_forum_topic, driller_forum_post, driller_profile, cc, ccbin, financial_data, leaked_data, leaked_file, document, account, actor, forum_content, blog_content, profile, leaked_credential, valid_credential, invalid_credential, mitigated_credential, illicit_networks, open_web, domains, intelligence_object, leaks, social_media_account, social_media, source_code, source_code_secrets_np, source_code_secrets, source_code_files, docker, stack_exchange, google, service, driller_host, buckets, bucket, bucket_object, whois, cookie, pii, experimental\n\n*Some search types contain others*\n- illicit_networks: blog_post, chat_message, financial_data, seller, forum_profile, listing, forum_topic, stealer_log, ransomleak, forum_post, bot\n- open_web: bucket_object, docker, bucket, stack_exchange, source_code_files, paste, social_media_account, service, source_code_secrets, google\n- leaks: leak, mitigated_credential, valid_credential, invalid_credential\n- domains: domain\n", "explode": true, "in": "query", "name": "types", @@ -5372,8 +5372,8 @@ } }, "/firework/v2/tenants/{tenant_id}/users": { - "get": { - "operationId": "get_tenant_users_api_/tenants//users", + "post": { + "operationId": "post_tenant_users_api_/tenants//users", "parameters": [ { "in": "path", @@ -5384,24 +5384,29 @@ } } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserTenantAccessRequest" + } + } + }, + "required": true + }, "responses": { "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TenantUsers" - } - } - }, - "description": "Success" + "content": {}, + "description": "Users were successfully added to tenant." } }, "tags": [ "tenants" - ] + ], + "x-codegen-request-body-name": "payload" }, - "post": { - "operationId": "post_tenant_users_api_/tenants//users", + "get": { + "operationId": "get_tenant_users_api_/tenants//users", "parameters": [ { "in": "path", @@ -5412,26 +5417,21 @@ } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UserTenantAccessRequest" - } - } - }, - "required": true - }, "responses": { "200": { - "content": {}, - "description": "Users were successfully added to tenant." + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TenantUsers" + } + } + }, + "description": "Success" } }, "tags": [ "tenants" - ], - "x-codegen-request-body-name": "payload" + ] } }, "/firework/v2/tenants/{tenant_id}/users/{user_id}": { @@ -5483,120 +5483,246 @@ } }, "schemas": { - "HttpError": { + "ActivityAiAssistance": { "properties": { - "message": { + "uid": { "type": "string" }, - "code": { + "prompt": { + "type": "string" + }, + "response": { "type": "string" } }, "type": "object" }, - "Search": { + "ActivityUserMetadata": { "properties": { - "items": { + "uid": { + "type": "string" + }, + "tags": { "items": { - "properties": {}, - "type": "object" + "type": "string" }, "type": "array" }, - "nb_hits": { - "type": "integer" + "risk_score_updated_at": { + "format": "date-time", + "type": "string" }, - "links": { - "$ref": "#/components/schemas/SearchLinks" + "remediated_at": { + "format": "date-time", + "type": "string" }, - "search_after": { + "ignored_at": { + "format": "date-time", + "type": "string" + }, + "remediated_asset_uuid": { "type": "string" } }, "type": "object" }, - "SearchLinks": { + "ActivityUserMetadataIgnored": { "properties": { - "next": { + "is_ignored": { + "type": "boolean" + }, + "identifier_id": { + "type": "integer" + } + }, + "required": [ + "is_ignored" + ], + "type": "object" + }, + "ActivityUserMetadataRemediated": { + "properties": { + "is_remediated": { + "type": "boolean" + }, + "identifier_id": { + "type": "integer" + } + }, + "required": [ + "is_remediated" + ], + "type": "object" + }, + "ActivityUserNotes": { + "properties": { + "notes": { "type": "string" } }, + "required": [ + "notes" + ], + "type": "object" + }, + "ActivityUserRiskScore": { + "properties": { + "risk_score": { + "type": "integer" + } + }, + "required": [ + "risk_score" + ], "type": "object" }, - "IdentifierCreate": { + "ActivityUserTags": { + "properties": { + "tags": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "tags" + ], + "type": "object" + }, + "EnableState": { + "properties": { + "is_disabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "FeedAlert": { "properties": { "name": { - "minLength": 1, "type": "string" }, + "id": { + "type": "integer" + }, "type": { "enum": [ - "domain", - "name", - "keyword", - "github_repository", - "username", "email", - "search_query", - "bin", - "ip", - "secret", - "azure_tenant", - "identity", - "ransomleak", - "external_id", - "address_data", - "birth_year", - "role", - "phone_number" - ], - "example": "domain", - "type": "string" - }, - "search_types": { - "items": { - "enum": [ - "leak", - "invalid_credential", - "stealer_log", - "domain", - "mitigated_credential", - "chat_message", - "forum_profile", - "stack_exchange", + "channel", + "azure_sentinel", + "azure_sentinel_v2", + "slack", + "discord", + "splunk", + "jira", + "teams", + "servicenow", + "webhook" + ], + "example": "email", + "type": "string" + }, + "feed_url": { + "type": "string" + }, + "feed_target_type": { + "enum": [ + "assets/groups", + "assets", + "home" + ], + "example": "assets/groups", + "type": "string" + }, + "feed_target_id": { + "type": "integer" + }, + "frequency": { + "type": "integer" + }, + "start_at": { + "format": "date-time", + "type": "string" + }, + "created_at": { + "format": "date-time", + "type": "string" + }, + "params": { + "properties": {}, + "type": "object" + }, + "tenant_id": { + "type": "integer" + }, + "organization_id": { + "type": "integer" + }, + "search_types": { + "items": { + "enum": [ + "attachment", + "listing", + "ransomleak", "forum_post", + "forum_topic", + "forum_profile", + "blog_post", + "seller", "paste", - "docker", + "leak", + "chat_message", + "domain", + "bot", + "stealer_log", + "infected_devices", + "driller", + "driller_forum_topic", + "driller_forum_post", + "driller_profile", + "cc", + "ccbin", + "financial_data", + "leaked_data", + "leaked_file", + "document", + "account", + "actor", + "forum_content", + "blog_content", + "profile", + "leaked_credential", "valid_credential", - "service", + "invalid_credential", + "mitigated_credential", + "illicit_networks", + "open_web", + "domains", + "intelligence_object", + "leaks", "social_media_account", - "financial_data", - "bucket", - "ad", - "ransomleak", - "blog_post", - "listing", - "google", - "bot", - "seller", + "social_media", + "source_code", + "source_code_secrets_np", "source_code_secrets", "source_code_files", - "forum_topic", - "bucket_object", - "illicit_networks", - "open_web", + "docker", + "stack_exchange", + "google", + "service", + "driller_host", "buckets", - "source_code", - "leaks", - "domains", - "forum_content", - "blog_content", - "profile", + "bucket", + "bucket_object", + "whois", + "ad", "ads", - "infected_devices", - "social_media" + "cookie", + "pii", + "experimental" ], - "example": "leak", + "example": "attachment", "type": "string" }, "type": "array" @@ -5613,19 +5739,43 @@ }, "type": "array" }, - "data": { - "properties": {}, - "type": "object" + "tenant_alert_channel_id": { + "type": "integer" } }, "required": [ - "data", - "name", - "search_types", + "frequency", + "params", + "start_at", "type" ], "type": "object" }, + "HighlightPayload": { + "properties": { + "query_string": { + "type": "string" + }, + "identifier_ids": { + "items": { + "type": "integer" + }, + "type": "array" + } + }, + "type": "object" + }, + "HttpError": { + "properties": { + "message": { + "type": "string" + }, + "code": { + "type": "string" + } + }, + "type": "object" + }, "Identifier": { "properties": { "id": { @@ -5664,32 +5814,32 @@ "search_types": { "items": { "enum": [ - "leak", - "invalid_credential", - "stealer_log", - "domain", + "docker", "mitigated_credential", - "chat_message", - "forum_profile", + "forum_topic", "stack_exchange", - "forum_post", - "paste", - "docker", + "leak", + "stealer_log", "valid_credential", - "service", "social_media_account", - "financial_data", - "bucket", "ransomleak", - "blog_post", - "listing", + "source_code_secrets", "google", - "bot", "seller", - "source_code_secrets", + "chat_message", + "financial_data", + "domain", "source_code_files", - "forum_topic", + "service", + "forum_post", + "bot", + "blog_post", "bucket_object", + "forum_profile", + "bucket", + "listing", + "invalid_credential", + "paste", "illicit_networks", "open_web", "buckets", @@ -5702,7 +5852,7 @@ "infected_devices", "social_media" ], - "example": "leak", + "example": "docker", "type": "string" }, "type": "array" @@ -5768,152 +5918,80 @@ ], "type": "object" }, - "V3_Refs": { - "properties": { - "asset_uuid": { - "type": "string" - } - }, - "type": "object" - }, - "IdentifierToggle": { - "properties": { - "is_disabled": { - "default": true, - "description": "The `is_disabled` parameter is used to toggle the asset as either enabled or disabled.", - "type": "boolean" - } - }, - "required": [ - "is_disabled" - ], - "type": "object" - }, - "FeedAlert": { + "IdentifierCreate": { "properties": { "name": { + "minLength": 1, "type": "string" }, - "id": { - "type": "integer" - }, "type": { "enum": [ + "domain", + "name", + "keyword", + "github_repository", + "username", "email", - "channel", - "azure_sentinel", - "azure_sentinel_v2", - "slack", - "discord", - "splunk", - "jira", - "teams", - "servicenow", - "webhook" - ], - "example": "email", - "type": "string" - }, - "feed_url": { - "type": "string" - }, - "feed_target_type": { - "enum": [ - "assets/groups", - "assets", - "home" + "search_query", + "bin", + "ip", + "secret", + "azure_tenant", + "identity", + "ransomleak", + "external_id", + "address_data", + "birth_year", + "role", + "phone_number" ], - "example": "assets/groups", - "type": "string" - }, - "feed_target_id": { - "type": "integer" - }, - "frequency": { - "type": "integer" - }, - "start_at": { - "format": "date-time", - "type": "string" - }, - "created_at": { - "format": "date-time", + "example": "domain", "type": "string" }, - "params": { - "properties": {}, - "type": "object" - }, - "tenant_id": { - "type": "integer" - }, - "organization_id": { - "type": "integer" - }, "search_types": { "items": { "enum": [ - "attachment", - "listing", - "ransomleak", - "forum_post", + "docker", + "mitigated_credential", "forum_topic", - "forum_profile", - "blog_post", - "seller", - "paste", + "stack_exchange", "leak", - "chat_message", - "domain", - "bot", "stealer_log", - "infected_devices", - "driller", - "driller_forum_topic", - "driller_forum_post", - "driller_profile", - "cc", - "ccbin", - "financial_data", - "leaked_data", - "leaked_file", - "document", - "account", - "actor", - "forum_content", - "blog_content", - "profile", - "leaked_credential", "valid_credential", - "invalid_credential", - "mitigated_credential", - "illicit_networks", - "open_web", - "domains", - "intelligence_object", - "leaks", "social_media_account", - "social_media", - "source_code", - "source_code_secrets_np", + "ransomleak", "source_code_secrets", - "source_code_files", - "docker", - "stack_exchange", "google", + "seller", + "chat_message", + "financial_data", + "domain", + "source_code_files", "service", - "driller_host", - "buckets", - "bucket", + "forum_post", + "bot", + "blog_post", "bucket_object", - "whois", + "forum_profile", + "bucket", + "listing", + "invalid_credential", "ad", + "paste", + "illicit_networks", + "open_web", + "buckets", + "source_code", + "leaks", + "domains", + "forum_content", + "blog_content", + "profile", "ads", - "cookie", - "pii", - "experimental" + "infected_devices", + "social_media" ], - "example": "attachment", + "example": "docker", "type": "string" }, "type": "array" @@ -5930,14 +6008,15 @@ }, "type": "array" }, - "tenant_alert_channel_id": { - "type": "integer" + "data": { + "properties": {}, + "type": "object" } }, "required": [ - "frequency", - "params", - "start_at", + "data", + "name", + "search_types", "type" ], "type": "object" @@ -5966,12 +6045,92 @@ }, "type": "object" }, - "UpdateGroupData": { + "IdentifierToggle": { "properties": { - "name": { + "is_disabled": { + "default": true, + "description": "The `is_disabled` parameter is used to toggle the asset as either enabled or disabled.", + "type": "boolean" + } + }, + "required": [ + "is_disabled" + ], + "type": "object" + }, + "LeakActivityCredential": { + "properties": { + "id": { + "type": "integer" + }, + "source_id": { + "type": "string" + }, + "imported_at": { + "type": "string" + }, + "identity_name": { + "type": "string" + }, + "hash": { + "type": "string" + }, + "domain": { + "type": "string" + }, + "source": { + "$ref": "#/components/schemas/source" + }, + "remediated_at": { + "format": "date-time", + "type": "string" + }, + "ignored_at": { + "format": "date-time", + "type": "string" + }, + "known_password_id": { + "type": "integer" + }, + "credential_hash": { + "type": "string" + } + }, + "required": [ + "id", + "identity_name", + "imported_at", + "source_id" + ], + "type": "object" + }, + "NewReport": { + "properties": { + "title": { + "type": "string" + }, + "author": { + "type": "string" + }, + "elements": { + "items": { + "$ref": "#/components/schemas/ReportElementUpdate" + }, + "type": "array" + }, + "audience": { + "enum": [ + "technical", + "general" + ], + "example": "technical", "type": "string" } }, + "required": [ + "author", + "title" + ], "type": "object" }, "NewTenantInfo": { @@ -6001,93 +6160,46 @@ }, "type": "object" }, - "Tenant": { + "OrganizationMember": { "properties": { "id": { - "description": "Tenant ID", "type": "integer" }, "name": { - "description": "Tenant name", "type": "string" }, - "type": { - "description": "Tenant type", + "surname": { "type": "string" }, - "description": { - "description": "This tenant's purpose", + "email": { "type": "string" }, - "organization_id": { - "description": "ID of the owner organization", - "type": "integer" + "organization_member_permissions": { + "$ref": "#/components/schemas/OrganizationMemberPermission" + }, + "is_disabled": { + "type": "boolean" + }, + "registered_at": { + "format": "date-time", + "type": "string" }, "urn": { - "description": "The uniform resource name of the tenant.", + "description": "The uniform resource name of the member.", + "type": "string" + } + }, + "type": "object" + }, + "OrganizationMemberData": { + "properties": { + "name": { "type": "string" }, - "number_of_employees": { - "description": "The number of employees for the tenant.", - "type": "integer" + "surname": { + "type": "string" }, - "industry": { - "description": "The industry of the tenant.", - "type": "string" - }, - "is_disabled": { - "description": "Indicates if the tenant is disabled", - "type": "boolean" - }, - "is_archived": { - "description": "Indicates if the tenant is archived", - "type": "boolean" - }, - "feed_id": { - "description": "ID of the feed", - "type": "integer" - }, - "permissions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "prevent_global_search": { - "description": "Indicates if the tenant can perform global searches", - "type": "boolean" - } - }, - "type": "object" - }, - "TenantWithCounts": { - "properties": { - "next": { - "type": "string" - }, - "items": { - "$ref": "#/components/schemas/TenantWithCounts" - } - }, - "type": "object" - }, - "UpdatedPermission": { - "properties": { - "updated_value": { - "type": "boolean" - } - }, - "type": "object" - }, - "OrganizationMemberData": { - "properties": { - "name": { - "type": "string" - }, - "surname": { - "type": "string" - }, - "email": { + "email": { "type": "string" }, "organization_member_permissions": { @@ -6117,67 +6229,13 @@ ], "type": "object" }, - "UserTenantMembership": { - "properties": { - "tenant_id": { - "type": "integer" - }, - "is_readonly": { - "type": "boolean" - }, - "role": { - "enum": [ - "viewer", - "editor", - "admin" - ], - "example": "viewer", - "type": "string" - } - }, - "required": [ - "tenant_id" - ], - "type": "object" - }, - "OrganizationMemberWithMetadata": { - "properties": { - "user": { - "$ref": "#/components/schemas/OrganizationMember" - }, - "tenant_count": { - "type": "integer" - } - }, - "type": "object" - }, - "OrganizationMember": { + "OrganizationMemberPage": { "properties": { - "id": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "surname": { - "type": "string" - }, - "email": { - "type": "string" - }, - "organization_member_permissions": { - "$ref": "#/components/schemas/OrganizationMemberPermission" - }, - "is_disabled": { - "type": "boolean" - }, - "registered_at": { - "format": "date-time", - "type": "string" - }, - "urn": { - "description": "The uniform resource name of the member.", - "type": "string" + "members": { + "items": { + "$ref": "#/components/schemas/OrganizationMemberWithMetadata" + }, + "type": "array" } }, "type": "object" @@ -6193,13 +6251,13 @@ }, "type": "object" }, - "OrganizationMemberPage": { + "OrganizationMemberWithMetadata": { "properties": { - "members": { - "items": { - "$ref": "#/components/schemas/OrganizationMemberWithMetadata" - }, - "type": "array" + "user": { + "$ref": "#/components/schemas/OrganizationMember" + }, + "tenant_count": { + "type": "integer" } }, "type": "object" @@ -6212,10 +6270,13 @@ }, "type": "object" }, - "EnableState": { + "PaginatedCredentials": { "properties": { - "is_disabled": { - "type": "boolean" + "next": { + "type": "string" + }, + "items": { + "$ref": "#/components/schemas/LeakActivityCredential" } }, "type": "object" @@ -6235,205 +6296,262 @@ ], "type": "object" }, - "HighlightPayload": { + "ReportElementUpdate": { "properties": { - "query_string": { + "id": { + "type": "integer" + }, + "position": { + "type": "integer" + }, + "enabled": { + "type": "boolean" + }, + "sort_by": { + "enum": [ + "custom", + "alphabetical", + "date" + ], + "example": "custom", "type": "string" }, - "identifier_ids": { + "time_interval": { + "type": "string" + } + }, + "type": "object" + }, + "Search": { + "properties": { + "items": { "items": { - "type": "integer" + "properties": {}, + "type": "object" }, "type": "array" + }, + "nb_hits": { + "type": "integer" + }, + "links": { + "$ref": "#/components/schemas/SearchLinks" + }, + "search_after": { + "type": "string" } }, "type": "object" }, - "ActivityUserNotes": { + "SearchLinks": { "properties": { - "notes": { + "next": { "type": "string" } }, - "required": [ - "notes" - ], "type": "object" }, - "ActivityUserMetadata": { + "Tenant": { "properties": { - "uid": { + "id": { + "description": "Tenant ID", + "type": "integer" + }, + "name": { + "description": "Tenant name", "type": "string" }, - "tags": { + "type": { + "description": "Tenant type", + "type": "string" + }, + "description": { + "description": "This tenant's purpose", + "type": "string" + }, + "organization_id": { + "description": "ID of the owner organization", + "type": "integer" + }, + "urn": { + "description": "The uniform resource name of the tenant.", + "type": "string" + }, + "number_of_employees": { + "description": "The number of employees for the tenant.", + "type": "integer" + }, + "industry": { + "description": "The industry of the tenant.", + "type": "string" + }, + "is_disabled": { + "description": "Indicates if the tenant is disabled", + "type": "boolean" + }, + "is_archived": { + "description": "Indicates if the tenant is archived", + "type": "boolean" + }, + "feed_id": { + "description": "ID of the feed", + "type": "integer" + }, + "permissions": { "items": { "type": "string" }, "type": "array" }, - "risk_score_updated_at": { - "format": "date-time", + "prevent_global_search": { + "description": "Indicates if the tenant can perform global searches", + "type": "boolean" + } + }, + "type": "object" + }, + "TenantData": { + "properties": { + "name": { + "description": "The Tenant display name", "type": "string" }, - "remediated_at": { - "format": "date-time", + "description": { + "description": "The Tenant's purpose / description", "type": "string" }, - "ignored_at": { - "format": "date-time", + "number_of_employees": { + "description": "The number of employees for the tenant", + "type": "integer" + }, + "industry": { + "description": "The Tenant's industry", + "enum": [ + "global", + "transport", + "education", + "energy", + "finance", + "healthcare", + "manufacturing", + "retail", + "software", + "telecommunication" + ], + "example": "global", + "type": "string" + }, + "global_search_calls_limit": { + "description": "The number of API calls allowed for the tenant.", + "type": "integer" + }, + "prevent_global_search": { + "type": "boolean" + } + }, + "required": [ + "description", + "industry", + "name", + "number_of_employees" + ], + "type": "object" + }, + "TenantUser": { + "properties": { + "id": { + "type": "integer" + }, + "name": { + "type": "string" + }, + "surname": { + "type": "string" + }, + "email": { + "type": "string" + }, + "is_readonly": { + "type": "boolean" + }, + "role": { + "enum": [ + "viewer", + "editor", + "admin" + ], + "example": "viewer", "type": "string" }, - "remediated_asset_uuid": { - "type": "string" + "is_disabled": { + "type": "boolean" } }, "type": "object" }, - "ActivityUserRiskScore": { + "TenantUsers": { "properties": { - "risk_score": { + "next": { "type": "integer" - } - }, - "required": [ - "risk_score" - ], - "type": "object" - }, - "ActivityUserMetadataRemediated": { - "properties": { - "is_remediated": { - "type": "boolean" }, - "identifier_id": { - "type": "integer" + "items": { + "$ref": "#/components/schemas/TenantUser" } }, - "required": [ - "is_remediated" - ], "type": "object" }, - "ActivityUserMetadataIgnored": { + "TenantWithCounts": { "properties": { - "is_ignored": { - "type": "boolean" + "next": { + "type": "string" }, - "identifier_id": { - "type": "integer" + "items": { + "$ref": "#/components/schemas/TenantWithCounts" } }, - "required": [ - "is_ignored" - ], "type": "object" }, - "ActivityAiAssistance": { + "UpdateGroupData": { "properties": { - "uid": { - "type": "string" - }, - "prompt": { - "type": "string" - }, - "response": { + "name": { "type": "string" } }, "type": "object" }, - "ActivityUserTags": { + "UpdatedPermission": { "properties": { - "tags": { - "items": { - "type": "string" - }, - "type": "array" + "updated_value": { + "type": "boolean" } }, - "required": [ - "tags" - ], "type": "object" }, - "UserUpdate": { + "UpdatedReport": { "properties": { - "name": { + "title": { "type": "string" }, - "surname": { + "author": { "type": "string" }, - "settings": { - "properties": {}, - "type": "object" - }, - "language": { - "type": "string" + "elements": { + "items": { + "$ref": "#/components/schemas/ReportElementUpdate" + }, + "type": "array" }, - "color_scheme": { + "audience": { "enum": [ - "auto", - "light", - "dark" + "technical", + "general" ], - "example": "auto", + "example": "technical", "type": "string" } }, - "required": [ - "color_scheme", - "name", - "settings", - "surname" - ], "type": "object" }, - "UserProfile": { - "allOf": [ - { - "$ref": "#/components/schemas/User" - }, - { - "properties": { - "settings": { - "$ref": "#/components/schemas/UserSettings" - }, - "feature_flags": { - "$ref": "#/components/schemas/UserProfile_allOf_feature_flags" - }, - "tenants": { - "items": { - "$ref": "#/components/schemas/Tenant" - }, - "type": "array" - }, - "is_sso_mandatory": { - "type": "boolean" - }, - "has_password": { - "type": "boolean" - }, - "urn": { - "type": "string" - }, - "needs_eusa": { - "type": "boolean" - }, - "domain": { - "type": "string" - }, - "language": { - "type": "string" - }, - "should_provide_signup_intent": { - "type": "boolean" - } - }, - "type": "object" - } - ] - }, "User": { "properties": { "id": { @@ -6502,159 +6620,98 @@ ], "type": "object" }, - "UserSettings": { - "properties": { - "default_search": { - "type": "string" - }, - "permissions": { - "items": { - "type": "string" - }, - "type": "array" + "UserProfile": { + "allOf": [ + { + "$ref": "#/components/schemas/User" }, - "organization_member_permissions": { - "items": { - "type": "string" + { + "properties": { + "settings": { + "$ref": "#/components/schemas/UserSettings" + }, + "feature_flags": { + "$ref": "#/components/schemas/UserProfile_allOf_feature_flags" + }, + "tenants": { + "items": { + "$ref": "#/components/schemas/Tenant" + }, + "type": "array" + }, + "is_sso_mandatory": { + "type": "boolean" + }, + "has_password": { + "type": "boolean" + }, + "urn": { + "type": "string" + }, + "needs_eusa": { + "type": "boolean" + }, + "domain": { + "type": "string" + }, + "language": { + "type": "string" + }, + "should_provide_signup_intent": { + "type": "boolean" + } }, - "type": "array" - } - }, - "type": "object" - }, - "PaginatedCredentials": { - "properties": { - "next": { - "type": "string" - }, - "items": { - "$ref": "#/components/schemas/LeakActivityCredential" + "type": "object" } - }, - "type": "object" + ] }, - "LeakActivityCredential": { - "properties": { - "id": { - "type": "integer" - }, - "source_id": { - "type": "string" - }, - "imported_at": { - "type": "string" - }, - "identity_name": { - "type": "string" - }, - "hash": { - "type": "string" - }, - "domain": { - "type": "string" - }, - "source": { - "$ref": "#/components/schemas/source" - }, - "remediated_at": { - "format": "date-time", - "type": "string" - }, - "ignored_at": { - "format": "date-time", - "type": "string" - }, - "known_password_id": { - "type": "integer" - }, - "credential_hash": { - "type": "string" - } - }, - "required": [ - "id", - "identity_name", - "imported_at", - "source_id" - ], + "UserProfile_allOf_feature_flags": { + "properties": {}, "type": "object" }, - "source": { + "UserSettings": { "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "description_en": { - "type": "string" - }, - "description_fr": { - "type": "string" - }, - "breached_at": { + "default_search": { "type": "string" }, - "leaked_at": { - "type": "string" + "permissions": { + "items": { + "type": "string" + }, + "type": "array" }, - "pii_tags": { + "organization_member_permissions": { "items": { "type": "string" }, "type": "array" } }, - "required": [ - "id" - ], "type": "object" }, - "TenantData": { + "UserTenantAccess": { "properties": { - "name": { - "description": "The Tenant display name", - "type": "string" - }, - "description": { - "description": "The Tenant's purpose / description", - "type": "string" - }, - "number_of_employees": { - "description": "The number of employees for the tenant", + "user_id": { + "description": "The ID of the user to add to the tenant", "type": "integer" }, - "industry": { - "description": "The Tenant's industry", + "is_readonly": { + "description": "Access given to the user for the tenant", + "type": "boolean" + }, + "role": { + "description": "Role given to the user for the tenant", "enum": [ - "global", - "transport", - "education", - "energy", - "finance", - "healthcare", - "manufacturing", - "retail", - "software", - "telecommunication" + "viewer", + "editor", + "admin" ], - "example": "global", + "example": "viewer", "type": "string" - }, - "global_search_calls_limit": { - "description": "The number of API calls allowed for the tenant.", - "type": "integer" - }, - "prevent_global_search": { - "type": "boolean" } }, "required": [ - "description", - "industry", - "name", - "number_of_employees" + "user_id" ], "type": "object" }, @@ -6675,18 +6732,15 @@ }, "type": "object" }, - "UserTenantAccess": { + "UserTenantMembership": { "properties": { - "user_id": { - "description": "The ID of the user to add to the tenant", + "tenant_id": { "type": "integer" }, "is_readonly": { - "description": "Access given to the user for the tenant", "type": "boolean" }, "role": { - "description": "Role given to the user for the tenant", "enum": [ "viewer", "editor", @@ -6697,128 +6751,46 @@ } }, "required": [ - "user_id" + "tenant_id" ], "type": "object" }, - "TenantUsers": { - "properties": { - "next": { - "type": "integer" - }, - "items": { - "$ref": "#/components/schemas/TenantUser" - } - }, - "type": "object" - }, - "TenantUser": { + "UserUpdate": { "properties": { - "id": { - "type": "integer" - }, "name": { "type": "string" }, "surname": { "type": "string" }, - "email": { - "type": "string" - }, - "is_readonly": { - "type": "boolean" - }, - "role": { - "enum": [ - "viewer", - "editor", - "admin" - ], - "example": "viewer", - "type": "string" - }, - "is_disabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "NewReport": { - "properties": { - "title": { - "type": "string" + "settings": { + "properties": {}, + "type": "object" }, - "author": { + "language": { "type": "string" }, - "elements": { - "items": { - "$ref": "#/components/schemas/ReportElementUpdate" - }, - "type": "array" - }, - "audience": { + "color_scheme": { "enum": [ - "technical", - "general" + "auto", + "light", + "dark" ], - "example": "technical", + "example": "auto", "type": "string" } }, "required": [ - "author", - "title" + "color_scheme", + "name", + "settings", + "surname" ], "type": "object" }, - "ReportElementUpdate": { - "properties": { - "id": { - "type": "integer" - }, - "position": { - "type": "integer" - }, - "enabled": { - "type": "boolean" - }, - "sort_by": { - "enum": [ - "custom", - "alphabetical", - "date" - ], - "example": "custom", - "type": "string" - }, - "time_interval": { - "type": "string" - } - }, - "type": "object" - }, - "UpdatedReport": { + "V3_Refs": { "properties": { - "title": { - "type": "string" - }, - "author": { - "type": "string" - }, - "elements": { - "items": { - "$ref": "#/components/schemas/ReportElementUpdate" - }, - "type": "array" - }, - "audience": { - "enum": [ - "technical", - "general" - ], - "example": "technical", + "asset_uuid": { "type": "string" } }, @@ -6840,10 +6812,10 @@ }, "type": "object" }, - "post_assets__assets__200_response": { + "get_assets_group_alerts__assets_groups__int_assets_group_id__alerts_200_response": { "properties": { - "asset": { - "$ref": "#/components/schemas/Identifier" + "alerts": { + "$ref": "#/components/schemas/FeedAlert" } }, "type": "object" @@ -6856,6 +6828,14 @@ }, "type": "object" }, + "post_assets__assets__200_response": { + "properties": { + "asset": { + "$ref": "#/components/schemas/Identifier" + } + }, + "type": "object" + }, "post_assets_groups__assets_groups__200_response": { "properties": { "assets_group": { @@ -6864,10 +6844,10 @@ }, "type": "object" }, - "get_assets_group_alerts__assets_groups__int_assets_group_id__alerts_200_response": { + "post_organization_members_api__organizations__int_organization_id__members_200_response": { "properties": { - "alerts": { - "$ref": "#/components/schemas/FeedAlert" + "member": { + "$ref": "#/components/schemas/OrganizationMemberWithMetadata" } }, "type": "object" @@ -6880,16 +6860,36 @@ }, "type": "object" }, - "post_organization_members_api__organizations__int_organization_id__members_200_response": { + "source": { "properties": { - "member": { - "$ref": "#/components/schemas/OrganizationMemberWithMetadata" + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "description_en": { + "type": "string" + }, + "description_fr": { + "type": "string" + }, + "breached_at": { + "type": "string" + }, + "leaked_at": { + "type": "string" + }, + "pii_tags": { + "items": { + "type": "string" + }, + "type": "array" } }, - "type": "object" - }, - "UserProfile_allOf_feature_flags": { - "properties": {}, + "required": [ + "id" + ], "type": "object" } }, diff --git a/docs/api-reference/spec/firework-v2-swagger.json b/docs/api-reference/spec/firework-v2-swagger.json index 06c1efc..cba3d37 100644 --- a/docs/api-reference/spec/firework-v2-swagger.json +++ b/docs/api-reference/spec/firework-v2-swagger.json @@ -462,6 +462,17 @@ "type": "string" } ], + "delete": { + "responses": { + "200": { + "description": "Success" + } + }, + "operationId": "delete_activity_user_metadata_tags_/activities////user_metadata/tags", + "tags": [ + "activities" + ] + }, "put": { "responses": { "200": { @@ -492,17 +503,6 @@ "activities" ] }, - "delete": { - "responses": { - "200": { - "description": "Success" - } - }, - "operationId": "delete_activity_user_metadata_tags_/activities////user_metadata/tags", - "tags": [ - "activities" - ] - }, "get": { "responses": { "200": { @@ -914,6 +914,24 @@ } }, "/firework/v2/assets/": { + "get": { + "responses": { + "200": { + "description": "Success", + "schema": { + "properties": { + "assets": { + "$ref": "#/definitions/Identifier" + } + } + } + } + }, + "operationId": "get_assets_/assets/", + "tags": [ + "Identifiers" + ] + }, "post": { "responses": { "200": { @@ -947,27 +965,27 @@ "tags": [ "Identifiers" ] - }, + } + }, + "/firework/v2/assets/groups/": { "get": { "responses": { "200": { "description": "Success", "schema": { "properties": { - "assets": { - "$ref": "#/definitions/Identifier" + "assets_groups": { + "$ref": "#/definitions/IdentifierGroup" } } } } }, - "operationId": "get_assets_/assets/", + "operationId": "get_assets_groups_/assets/groups/", "tags": [ "Identifiers" ] - } - }, - "/firework/v2/assets/groups/": { + }, "post": { "responses": { "200": { @@ -1001,24 +1019,6 @@ "tags": [ "Identifiers" ] - }, - "get": { - "responses": { - "200": { - "description": "Success", - "schema": { - "properties": { - "assets_groups": { - "$ref": "#/definitions/IdentifierGroup" - } - } - } - } - }, - "operationId": "get_assets_groups_/assets/groups/", - "tags": [ - "Identifiers" - ] } }, "/firework/v2/assets/groups/{assets_group_id}": { @@ -1030,6 +1030,17 @@ "type": "integer" } ], + "delete": { + "responses": { + "200": { + "description": "Success" + } + }, + "operationId": "delete_assets_group_api_/assets/groups/", + "tags": [ + "Identifiers" + ] + }, "put": { "responses": { "200": { @@ -1064,17 +1075,6 @@ "Identifiers" ] }, - "delete": { - "responses": { - "200": { - "description": "Success" - } - }, - "operationId": "delete_assets_group_api_/assets/groups/", - "tags": [ - "Identifiers" - ] - }, "get": { "responses": { "200": { @@ -1103,6 +1103,24 @@ "type": "integer" } ], + "get": { + "responses": { + "200": { + "description": "Success", + "schema": { + "properties": { + "alerts": { + "$ref": "#/definitions/FeedAlert" + } + } + } + } + }, + "operationId": "get_assets_group_alerts_/assets/groups//alerts", + "tags": [ + "Identifiers" + ] + }, "post": { "responses": { "200": { @@ -1126,24 +1144,6 @@ "tags": [ "Identifiers" ] - }, - "get": { - "responses": { - "200": { - "description": "Success", - "schema": { - "properties": { - "alerts": { - "$ref": "#/definitions/FeedAlert" - } - } - } - } - }, - "operationId": "get_assets_group_alerts_/assets/groups//alerts", - "tags": [ - "Identifiers" - ] } }, "/firework/v2/assets/groups/{assets_group_id}/alerts/{alert_id}": { @@ -1161,6 +1161,17 @@ "type": "integer" } ], + "delete": { + "responses": { + "200": { + "description": "Success" + } + }, + "operationId": "delete_assets_group_alert_/assets/groups//alerts/", + "tags": [ + "Identifiers" + ] + }, "put": { "responses": { "200": { @@ -1184,17 +1195,6 @@ "tags": [ "Identifiers" ] - }, - "delete": { - "responses": { - "200": { - "description": "Success" - } - }, - "operationId": "delete_assets_group_alert_/assets/groups//alerts/", - "tags": [ - "Identifiers" - ] } }, "/firework/v2/assets/groups/{assets_group_id}/feed": { @@ -1206,7 +1206,7 @@ "type": "integer" } ], - "post": { + "get": { "responses": { "404": { "description": "Identifier group does not exist.", @@ -1227,7 +1227,7 @@ } } }, - "operationId": "post_assets_group_feed_/assets/groups//feed", + "operationId": "get_assets_group_feed_/assets/groups//feed", "parameters": [ { "name": "fields", @@ -1284,7 +1284,7 @@ "name": "types", "in": "query", "type": "array", - "description": "\nType of activities to search through.\n\n*Expected values* : attachment, listing, ransomleak, forum_post, forum_topic, forum_profile, blog_post, seller, paste, leak, chat_message, domain, bot, stealer_log, infected_devices, driller, driller_forum_topic, driller_forum_post, driller_profile, cc, ccbin, financial_data, leaked_data, leaked_file, document, account, actor, forum_content, blog_content, profile, leaked_credential, valid_credential, invalid_credential, mitigated_credential, illicit_networks, open_web, domains, intelligence_object, leaks, social_media_account, social_media, source_code, source_code_secrets_np, source_code_secrets, source_code_files, docker, stack_exchange, google, service, driller_host, buckets, bucket, bucket_object, whois, cookie, pii, experimental\n\n*Some search types contain others*\n- illicit_networks: financial_data, ransomleak, stealer_log, chat_message, forum_profile, blog_post, listing, bot, seller, forum_post, forum_topic\n- open_web: service, stack_exchange, google, source_code_secrets, social_media_account, source_code_files, paste, docker, bucket_object, bucket\n- leaks: mitigated_credential, valid_credential, leak, invalid_credential\n- domains: domain\n", + "description": "\nType of activities to search through.\n\n*Expected values* : attachment, listing, ransomleak, forum_post, forum_topic, forum_profile, blog_post, seller, paste, leak, chat_message, domain, bot, stealer_log, infected_devices, driller, driller_forum_topic, driller_forum_post, driller_profile, cc, ccbin, financial_data, leaked_data, leaked_file, document, account, actor, forum_content, blog_content, profile, leaked_credential, valid_credential, invalid_credential, mitigated_credential, illicit_networks, open_web, domains, intelligence_object, leaks, social_media_account, social_media, source_code, source_code_secrets_np, source_code_secrets, source_code_files, docker, stack_exchange, google, service, driller_host, buckets, bucket, bucket_object, whois, cookie, pii, experimental\n\n*Some search types contain others*\n- illicit_networks: blog_post, chat_message, financial_data, seller, forum_profile, listing, forum_topic, stealer_log, ransomleak, forum_post, bot\n- open_web: bucket_object, docker, bucket, stack_exchange, source_code_files, paste, social_media_account, service, source_code_secrets, google\n- leaks: leak, mitigated_credential, valid_credential, invalid_credential\n- domains: domain\n", "items": { "type": "string" }, @@ -1466,7 +1466,7 @@ "Identifiers" ] }, - "get": { + "post": { "responses": { "404": { "description": "Identifier group does not exist.", @@ -1487,7 +1487,7 @@ } } }, - "operationId": "get_assets_group_feed_/assets/groups//feed", + "operationId": "post_assets_group_feed_/assets/groups//feed", "parameters": [ { "name": "fields", @@ -1544,7 +1544,7 @@ "name": "types", "in": "query", "type": "array", - "description": "\nType of activities to search through.\n\n*Expected values* : attachment, listing, ransomleak, forum_post, forum_topic, forum_profile, blog_post, seller, paste, leak, chat_message, domain, bot, stealer_log, infected_devices, driller, driller_forum_topic, driller_forum_post, driller_profile, cc, ccbin, financial_data, leaked_data, leaked_file, document, account, actor, forum_content, blog_content, profile, leaked_credential, valid_credential, invalid_credential, mitigated_credential, illicit_networks, open_web, domains, intelligence_object, leaks, social_media_account, social_media, source_code, source_code_secrets_np, source_code_secrets, source_code_files, docker, stack_exchange, google, service, driller_host, buckets, bucket, bucket_object, whois, cookie, pii, experimental\n\n*Some search types contain others*\n- illicit_networks: financial_data, ransomleak, stealer_log, chat_message, forum_profile, blog_post, listing, bot, seller, forum_post, forum_topic\n- open_web: service, stack_exchange, google, source_code_secrets, social_media_account, source_code_files, paste, docker, bucket_object, bucket\n- leaks: mitigated_credential, valid_credential, leak, invalid_credential\n- domains: domain\n", + "description": "\nType of activities to search through.\n\n*Expected values* : attachment, listing, ransomleak, forum_post, forum_topic, forum_profile, blog_post, seller, paste, leak, chat_message, domain, bot, stealer_log, infected_devices, driller, driller_forum_topic, driller_forum_post, driller_profile, cc, ccbin, financial_data, leaked_data, leaked_file, document, account, actor, forum_content, blog_content, profile, leaked_credential, valid_credential, invalid_credential, mitigated_credential, illicit_networks, open_web, domains, intelligence_object, leaks, social_media_account, social_media, source_code, source_code_secrets_np, source_code_secrets, source_code_files, docker, stack_exchange, google, service, driller_host, buckets, bucket, bucket_object, whois, cookie, pii, experimental\n\n*Some search types contain others*\n- illicit_networks: blog_post, chat_message, financial_data, seller, forum_profile, listing, forum_topic, stealer_log, ransomleak, forum_post, bot\n- open_web: bucket_object, docker, bucket, stack_exchange, source_code_files, paste, social_media_account, service, source_code_secrets, google\n- leaks: leak, mitigated_credential, valid_credential, invalid_credential\n- domains: domain\n", "items": { "type": "string" }, @@ -1736,6 +1736,17 @@ "type": "integer" } ], + "delete": { + "responses": { + "200": { + "description": "Success" + } + }, + "operationId": "delete_asset_api_/assets/", + "tags": [ + "Identifiers" + ] + }, "put": { "responses": { "400": { @@ -1770,17 +1781,6 @@ "Identifiers" ] }, - "delete": { - "responses": { - "200": { - "description": "Success" - } - }, - "operationId": "delete_asset_api_/assets/", - "tags": [ - "Identifiers" - ] - }, "get": { "responses": { "200": { @@ -1809,6 +1809,24 @@ "type": "integer" } ], + "get": { + "responses": { + "200": { + "description": "Success", + "schema": { + "properties": { + "alerts": { + "$ref": "#/definitions/FeedAlert" + } + } + } + } + }, + "operationId": "get_asset_alerts_/assets//alerts", + "tags": [ + "Identifiers" + ] + }, "post": { "responses": { "200": { @@ -1832,24 +1850,6 @@ "tags": [ "Identifiers" ] - }, - "get": { - "responses": { - "200": { - "description": "Success", - "schema": { - "properties": { - "alerts": { - "$ref": "#/definitions/FeedAlert" - } - } - } - } - }, - "operationId": "get_asset_alerts_/assets//alerts", - "tags": [ - "Identifiers" - ] } }, "/firework/v2/assets/{asset_id}/alerts/{alert_id}": { @@ -1867,6 +1867,17 @@ "type": "integer" } ], + "delete": { + "responses": { + "200": { + "description": "Success" + } + }, + "operationId": "delete_asset_alert_/assets//alerts/", + "tags": [ + "Identifiers" + ] + }, "put": { "responses": { "200": { @@ -1890,17 +1901,6 @@ "tags": [ "Identifiers" ] - }, - "delete": { - "responses": { - "200": { - "description": "Success" - } - }, - "operationId": "delete_asset_alert_/assets//alerts/", - "tags": [ - "Identifiers" - ] } }, "/firework/v2/assets/{asset_id}/feed": { @@ -1912,7 +1912,7 @@ "type": "integer" } ], - "post": { + "get": { "responses": { "404": { "description": "Identifier does not exist.", @@ -1933,7 +1933,7 @@ } } }, - "operationId": "post_asset_feed_/assets//feed", + "operationId": "get_asset_feed_/assets//feed", "parameters": [ { "name": "fields", @@ -1990,7 +1990,7 @@ "name": "types", "in": "query", "type": "array", - "description": "\nType of activities to search through.\n\n*Expected values* : attachment, listing, ransomleak, forum_post, forum_topic, forum_profile, blog_post, seller, paste, leak, chat_message, domain, bot, stealer_log, infected_devices, driller, driller_forum_topic, driller_forum_post, driller_profile, cc, ccbin, financial_data, leaked_data, leaked_file, document, account, actor, forum_content, blog_content, profile, leaked_credential, valid_credential, invalid_credential, mitigated_credential, illicit_networks, open_web, domains, intelligence_object, leaks, social_media_account, social_media, source_code, source_code_secrets_np, source_code_secrets, source_code_files, docker, stack_exchange, google, service, driller_host, buckets, bucket, bucket_object, whois, cookie, pii, experimental\n\n*Some search types contain others*\n- illicit_networks: financial_data, ransomleak, stealer_log, chat_message, forum_profile, blog_post, listing, bot, seller, forum_post, forum_topic\n- open_web: service, stack_exchange, google, source_code_secrets, social_media_account, source_code_files, paste, docker, bucket_object, bucket\n- leaks: mitigated_credential, valid_credential, leak, invalid_credential\n- domains: domain\n", + "description": "\nType of activities to search through.\n\n*Expected values* : attachment, listing, ransomleak, forum_post, forum_topic, forum_profile, blog_post, seller, paste, leak, chat_message, domain, bot, stealer_log, infected_devices, driller, driller_forum_topic, driller_forum_post, driller_profile, cc, ccbin, financial_data, leaked_data, leaked_file, document, account, actor, forum_content, blog_content, profile, leaked_credential, valid_credential, invalid_credential, mitigated_credential, illicit_networks, open_web, domains, intelligence_object, leaks, social_media_account, social_media, source_code, source_code_secrets_np, source_code_secrets, source_code_files, docker, stack_exchange, google, service, driller_host, buckets, bucket, bucket_object, whois, cookie, pii, experimental\n\n*Some search types contain others*\n- illicit_networks: blog_post, chat_message, financial_data, seller, forum_profile, listing, forum_topic, stealer_log, ransomleak, forum_post, bot\n- open_web: bucket_object, docker, bucket, stack_exchange, source_code_files, paste, social_media_account, service, source_code_secrets, google\n- leaks: leak, mitigated_credential, valid_credential, invalid_credential\n- domains: domain\n", "items": { "type": "string" }, @@ -2172,7 +2172,7 @@ "Identifiers" ] }, - "get": { + "post": { "responses": { "404": { "description": "Identifier does not exist.", @@ -2193,7 +2193,7 @@ } } }, - "operationId": "get_asset_feed_/assets//feed", + "operationId": "post_asset_feed_/assets//feed", "parameters": [ { "name": "fields", @@ -2250,7 +2250,7 @@ "name": "types", "in": "query", "type": "array", - "description": "\nType of activities to search through.\n\n*Expected values* : attachment, listing, ransomleak, forum_post, forum_topic, forum_profile, blog_post, seller, paste, leak, chat_message, domain, bot, stealer_log, infected_devices, driller, driller_forum_topic, driller_forum_post, driller_profile, cc, ccbin, financial_data, leaked_data, leaked_file, document, account, actor, forum_content, blog_content, profile, leaked_credential, valid_credential, invalid_credential, mitigated_credential, illicit_networks, open_web, domains, intelligence_object, leaks, social_media_account, social_media, source_code, source_code_secrets_np, source_code_secrets, source_code_files, docker, stack_exchange, google, service, driller_host, buckets, bucket, bucket_object, whois, cookie, pii, experimental\n\n*Some search types contain others*\n- illicit_networks: financial_data, ransomleak, stealer_log, chat_message, forum_profile, blog_post, listing, bot, seller, forum_post, forum_topic\n- open_web: service, stack_exchange, google, source_code_secrets, social_media_account, source_code_files, paste, docker, bucket_object, bucket\n- leaks: mitigated_credential, valid_credential, leak, invalid_credential\n- domains: domain\n", + "description": "\nType of activities to search through.\n\n*Expected values* : attachment, listing, ransomleak, forum_post, forum_topic, forum_profile, blog_post, seller, paste, leak, chat_message, domain, bot, stealer_log, infected_devices, driller, driller_forum_topic, driller_forum_post, driller_profile, cc, ccbin, financial_data, leaked_data, leaked_file, document, account, actor, forum_content, blog_content, profile, leaked_credential, valid_credential, invalid_credential, mitigated_credential, illicit_networks, open_web, domains, intelligence_object, leaks, social_media_account, social_media, source_code, source_code_secrets_np, source_code_secrets, source_code_files, docker, stack_exchange, google, service, driller_host, buckets, bucket, bucket_object, whois, cookie, pii, experimental\n\n*Some search types contain others*\n- illicit_networks: blog_post, chat_message, financial_data, seller, forum_profile, listing, forum_topic, stealer_log, ransomleak, forum_post, bot\n- open_web: bucket_object, docker, bucket, stack_exchange, source_code_files, paste, social_media_account, service, source_code_secrets, google\n- leaks: leak, mitigated_credential, valid_credential, invalid_credential\n- domains: domain\n", "items": { "type": "string" }, @@ -2523,7 +2523,7 @@ } }, "/firework/v2/me/feed": { - "post": { + "get": { "responses": { "200": { "description": "The user's home feed activities", @@ -2532,7 +2532,7 @@ } } }, - "operationId": "post_current_user_home_feed_/me/feed", + "operationId": "get_current_user_home_feed_/me/feed", "parameters": [ { "name": "time", @@ -2579,7 +2579,7 @@ "name": "types", "in": "query", "type": "array", - "description": "\nType of activities to search through.\n\n*Expected values* : attachment, listing, ransomleak, forum_post, forum_topic, forum_profile, blog_post, seller, paste, leak, chat_message, domain, bot, stealer_log, infected_devices, driller, driller_forum_topic, driller_forum_post, driller_profile, cc, ccbin, financial_data, leaked_data, leaked_file, document, account, actor, forum_content, blog_content, profile, leaked_credential, valid_credential, invalid_credential, mitigated_credential, illicit_networks, open_web, domains, intelligence_object, leaks, social_media_account, social_media, source_code, source_code_secrets_np, source_code_secrets, source_code_files, docker, stack_exchange, google, service, driller_host, buckets, bucket, bucket_object, whois, cookie, pii, experimental\n\n*Some search types contain others*\n- illicit_networks: financial_data, ransomleak, stealer_log, chat_message, forum_profile, blog_post, listing, bot, seller, forum_post, forum_topic\n- open_web: service, stack_exchange, google, source_code_secrets, social_media_account, source_code_files, paste, docker, bucket_object, bucket\n- leaks: mitigated_credential, valid_credential, leak, invalid_credential\n- domains: domain\n", + "description": "\nType of activities to search through.\n\n*Expected values* : attachment, listing, ransomleak, forum_post, forum_topic, forum_profile, blog_post, seller, paste, leak, chat_message, domain, bot, stealer_log, infected_devices, driller, driller_forum_topic, driller_forum_post, driller_profile, cc, ccbin, financial_data, leaked_data, leaked_file, document, account, actor, forum_content, blog_content, profile, leaked_credential, valid_credential, invalid_credential, mitigated_credential, illicit_networks, open_web, domains, intelligence_object, leaks, social_media_account, social_media, source_code, source_code_secrets_np, source_code_secrets, source_code_files, docker, stack_exchange, google, service, driller_host, buckets, bucket, bucket_object, whois, cookie, pii, experimental\n\n*Some search types contain others*\n- illicit_networks: blog_post, chat_message, financial_data, seller, forum_profile, listing, forum_topic, stealer_log, ransomleak, forum_post, bot\n- open_web: bucket_object, docker, bucket, stack_exchange, source_code_files, paste, social_media_account, service, source_code_secrets, google\n- leaks: leak, mitigated_credential, valid_credential, invalid_credential\n- domains: domain\n", "items": { "type": "string" }, @@ -2761,7 +2761,7 @@ "me" ] }, - "get": { + "post": { "responses": { "200": { "description": "The user's home feed activities", @@ -2770,7 +2770,7 @@ } } }, - "operationId": "get_current_user_home_feed_/me/feed", + "operationId": "post_current_user_home_feed_/me/feed", "parameters": [ { "name": "time", @@ -2817,7 +2817,7 @@ "name": "types", "in": "query", "type": "array", - "description": "\nType of activities to search through.\n\n*Expected values* : attachment, listing, ransomleak, forum_post, forum_topic, forum_profile, blog_post, seller, paste, leak, chat_message, domain, bot, stealer_log, infected_devices, driller, driller_forum_topic, driller_forum_post, driller_profile, cc, ccbin, financial_data, leaked_data, leaked_file, document, account, actor, forum_content, blog_content, profile, leaked_credential, valid_credential, invalid_credential, mitigated_credential, illicit_networks, open_web, domains, intelligence_object, leaks, social_media_account, social_media, source_code, source_code_secrets_np, source_code_secrets, source_code_files, docker, stack_exchange, google, service, driller_host, buckets, bucket, bucket_object, whois, cookie, pii, experimental\n\n*Some search types contain others*\n- illicit_networks: financial_data, ransomleak, stealer_log, chat_message, forum_profile, blog_post, listing, bot, seller, forum_post, forum_topic\n- open_web: service, stack_exchange, google, source_code_secrets, social_media_account, source_code_files, paste, docker, bucket_object, bucket\n- leaks: mitigated_credential, valid_credential, leak, invalid_credential\n- domains: domain\n", + "description": "\nType of activities to search through.\n\n*Expected values* : attachment, listing, ransomleak, forum_post, forum_topic, forum_profile, blog_post, seller, paste, leak, chat_message, domain, bot, stealer_log, infected_devices, driller, driller_forum_topic, driller_forum_post, driller_profile, cc, ccbin, financial_data, leaked_data, leaked_file, document, account, actor, forum_content, blog_content, profile, leaked_credential, valid_credential, invalid_credential, mitigated_credential, illicit_networks, open_web, domains, intelligence_object, leaks, social_media_account, social_media, source_code, source_code_secrets_np, source_code_secrets, source_code_files, docker, stack_exchange, google, service, driller_host, buckets, bucket, bucket_object, whois, cookie, pii, experimental\n\n*Some search types contain others*\n- illicit_networks: blog_post, chat_message, financial_data, seller, forum_profile, listing, forum_topic, stealer_log, ransomleak, forum_post, bot\n- open_web: bucket_object, docker, bucket, stack_exchange, source_code_files, paste, social_media_account, service, source_code_secrets, google\n- leaks: leak, mitigated_credential, valid_credential, invalid_credential\n- domains: domain\n", "items": { "type": "string" }, @@ -3001,30 +3001,6 @@ } }, "/firework/v2/me/feed/credentials": { - "post": { - "responses": { - "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/PaginatedCredentials" - } - } - }, - "operationId": "post_leaked_credentials_feed_endpoint_/me/feed/credentials", - "parameters": [ - { - "name": "payload", - "required": true, - "in": "body", - "schema": { - "$ref": "#/definitions/UserUpdate" - } - } - ], - "tags": [ - "me" - ] - }, "get": { "responses": { "200": { @@ -3061,6 +3037,30 @@ "tags": [ "me" ] + }, + "post": { + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/PaginatedCredentials" + } + } + }, + "operationId": "post_leaked_credentials_feed_endpoint_/me/feed/credentials", + "parameters": [ + { + "name": "payload", + "required": true, + "in": "body", + "schema": { + "$ref": "#/definitions/UserUpdate" + } + } + ], + "tags": [ + "me" + ] } }, "/firework/v2/me/profile": { @@ -3132,7 +3132,7 @@ "type": "integer" } ], - "post": { + "get": { "responses": { "404": { "description": "Organization not found", @@ -3143,30 +3143,34 @@ "200": { "description": "Success", "schema": { - "properties": { - "member": { - "$ref": "#/definitions/OrganizationMemberWithMetadata" - } - } + "$ref": "#/definitions/OrganizationMemberPage" } } }, - "operationId": "post_organization_members_api_/organizations//members", + "operationId": "get_organization_members_api_/organizations//members", "parameters": [ { - "name": "payload", - "required": true, - "in": "body", - "schema": { - "$ref": "#/definitions/OrganizationMemberData" - } + "name": "size", + "in": "query", + "type": "integer", + "default": 20 + }, + { + "name": "from", + "in": "query", + "type": "string" + }, + { + "name": "q", + "in": "query", + "type": "string" } ], "tags": [ "organizations" ] }, - "get": { + "post": { "responses": { "404": { "description": "Organization not found", @@ -3177,27 +3181,23 @@ "200": { "description": "Success", "schema": { - "$ref": "#/definitions/OrganizationMemberPage" + "properties": { + "member": { + "$ref": "#/definitions/OrganizationMemberWithMetadata" + } + } } } }, - "operationId": "get_organization_members_api_/organizations//members", + "operationId": "post_organization_members_api_/organizations//members", "parameters": [ { - "name": "size", - "in": "query", - "type": "integer", - "default": 20 - }, - { - "name": "from", - "in": "query", - "type": "string" - }, - { - "name": "q", - "in": "query", - "type": "string" + "name": "payload", + "required": true, + "in": "body", + "schema": { + "$ref": "#/definitions/OrganizationMemberData" + } } ], "tags": [ @@ -3480,6 +3480,20 @@ "type": "integer" } ], + "get": { + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/TenantWithCounts" + } + } + }, + "operationId": "get_organization_tenants_api_/organizations//tenants", + "tags": [ + "organizations" + ] + }, "post": { "responses": { "200": { @@ -3503,23 +3517,20 @@ "tags": [ "organizations" ] - }, + } + }, + "/firework/v2/reporting/reports": { "get": { "responses": { "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/TenantWithCounts" - } + "description": "Lists reports for the current tenant, ordered from newest to oldest." } }, - "operationId": "get_organization_tenants_api_/organizations//tenants", + "operationId": "get_reports_endpoint_/reporting/reports", "tags": [ - "organizations" + "reporting" ] - } - }, - "/firework/v2/reporting/reports": { + }, "post": { "responses": { "200": { @@ -3540,17 +3551,6 @@ "tags": [ "reporting" ] - }, - "get": { - "responses": { - "200": { - "description": "Lists reports for the current tenant, ordered from newest to oldest." - } - }, - "operationId": "get_reports_endpoint_/reporting/reports", - "tags": [ - "reporting" - ] } }, "/firework/v2/reporting/reports/{report_id}": { @@ -3562,6 +3562,17 @@ "type": "integer" } ], + "delete": { + "responses": { + "200": { + "description": "Deletes a report." + } + }, + "operationId": "delete_report_endpoint_/reporting/reports/", + "tags": [ + "reporting" + ] + }, "patch": { "responses": { "200": { @@ -3583,17 +3594,6 @@ "reporting" ] }, - "delete": { - "responses": { - "200": { - "description": "Deletes a report." - } - }, - "operationId": "delete_report_endpoint_/reporting/reports/", - "tags": [ - "reporting" - ] - }, "get": { "responses": { "200": { @@ -3649,7 +3649,7 @@ } }, "/firework/v2/search/": { - "post": { + "get": { "responses": { "400": { "description": "Query is invalid.", @@ -3664,7 +3664,7 @@ } } }, - "operationId": "post_search_/search/", + "operationId": "get_search_/search/", "parameters": [ { "name": "fields", @@ -3721,7 +3721,7 @@ "name": "types", "in": "query", "type": "array", - "description": "\nType of activities to search through.\n\n*Expected values* : attachment, listing, ransomleak, forum_post, forum_topic, forum_profile, blog_post, seller, paste, leak, chat_message, domain, bot, stealer_log, infected_devices, driller, driller_forum_topic, driller_forum_post, driller_profile, cc, ccbin, financial_data, leaked_data, leaked_file, document, account, actor, forum_content, blog_content, profile, leaked_credential, valid_credential, invalid_credential, mitigated_credential, illicit_networks, open_web, domains, intelligence_object, leaks, social_media_account, social_media, source_code, source_code_secrets_np, source_code_secrets, source_code_files, docker, stack_exchange, google, service, driller_host, buckets, bucket, bucket_object, whois, cookie, pii, experimental\n\n*Some search types contain others*\n- illicit_networks: financial_data, ransomleak, stealer_log, chat_message, forum_profile, blog_post, listing, bot, seller, forum_post, forum_topic\n- open_web: service, stack_exchange, google, source_code_secrets, social_media_account, source_code_files, paste, docker, bucket_object, bucket\n- leaks: mitigated_credential, valid_credential, leak, invalid_credential\n- domains: domain\n", + "description": "\nType of activities to search through.\n\n*Expected values* : attachment, listing, ransomleak, forum_post, forum_topic, forum_profile, blog_post, seller, paste, leak, chat_message, domain, bot, stealer_log, infected_devices, driller, driller_forum_topic, driller_forum_post, driller_profile, cc, ccbin, financial_data, leaked_data, leaked_file, document, account, actor, forum_content, blog_content, profile, leaked_credential, valid_credential, invalid_credential, mitigated_credential, illicit_networks, open_web, domains, intelligence_object, leaks, social_media_account, social_media, source_code, source_code_secrets_np, source_code_secrets, source_code_files, docker, stack_exchange, google, service, driller_host, buckets, bucket, bucket_object, whois, cookie, pii, experimental\n\n*Some search types contain others*\n- illicit_networks: blog_post, chat_message, financial_data, seller, forum_profile, listing, forum_topic, stealer_log, ransomleak, forum_post, bot\n- open_web: bucket_object, docker, bucket, stack_exchange, source_code_files, paste, social_media_account, service, source_code_secrets, google\n- leaks: leak, mitigated_credential, valid_credential, invalid_credential\n- domains: domain\n", "items": { "type": "string" }, @@ -3901,7 +3901,7 @@ "search" ] }, - "get": { + "post": { "responses": { "400": { "description": "Query is invalid.", @@ -3916,7 +3916,7 @@ } } }, - "operationId": "get_search_/search/", + "operationId": "post_search_/search/", "parameters": [ { "name": "fields", @@ -3973,7 +3973,7 @@ "name": "types", "in": "query", "type": "array", - "description": "\nType of activities to search through.\n\n*Expected values* : attachment, listing, ransomleak, forum_post, forum_topic, forum_profile, blog_post, seller, paste, leak, chat_message, domain, bot, stealer_log, infected_devices, driller, driller_forum_topic, driller_forum_post, driller_profile, cc, ccbin, financial_data, leaked_data, leaked_file, document, account, actor, forum_content, blog_content, profile, leaked_credential, valid_credential, invalid_credential, mitigated_credential, illicit_networks, open_web, domains, intelligence_object, leaks, social_media_account, social_media, source_code, source_code_secrets_np, source_code_secrets, source_code_files, docker, stack_exchange, google, service, driller_host, buckets, bucket, bucket_object, whois, cookie, pii, experimental\n\n*Some search types contain others*\n- illicit_networks: financial_data, ransomleak, stealer_log, chat_message, forum_profile, blog_post, listing, bot, seller, forum_post, forum_topic\n- open_web: service, stack_exchange, google, source_code_secrets, social_media_account, source_code_files, paste, docker, bucket_object, bucket\n- leaks: mitigated_credential, valid_credential, leak, invalid_credential\n- domains: domain\n", + "description": "\nType of activities to search through.\n\n*Expected values* : attachment, listing, ransomleak, forum_post, forum_topic, forum_profile, blog_post, seller, paste, leak, chat_message, domain, bot, stealer_log, infected_devices, driller, driller_forum_topic, driller_forum_post, driller_profile, cc, ccbin, financial_data, leaked_data, leaked_file, document, account, actor, forum_content, blog_content, profile, leaked_credential, valid_credential, invalid_credential, mitigated_credential, illicit_networks, open_web, domains, intelligence_object, leaks, social_media_account, social_media, source_code, source_code_secrets_np, source_code_secrets, source_code_files, docker, stack_exchange, google, service, driller_host, buckets, bucket, bucket_object, whois, cookie, pii, experimental\n\n*Some search types contain others*\n- illicit_networks: blog_post, chat_message, financial_data, seller, forum_profile, listing, forum_topic, stealer_log, ransomleak, forum_post, bot\n- open_web: bucket_object, docker, bucket, stack_exchange, source_code_files, paste, social_media_account, service, source_code_secrets, google\n- leaks: leak, mitigated_credential, valid_credential, invalid_credential\n- domains: domain\n", "items": { "type": "string" }, @@ -4232,6 +4232,20 @@ "type": "integer" } ], + "get": { + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/TenantUsers" + } + } + }, + "operationId": "get_tenant_users_api_/tenants//users", + "tags": [ + "tenants" + ] + }, "post": { "responses": { "200": { @@ -4252,20 +4266,6 @@ "tags": [ "tenants" ] - }, - "get": { - "responses": { - "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/TenantUsers" - } - } - }, - "operationId": "get_tenant_users_api_/tenants//users", - "tags": [ - "tenants" - ] } }, "/firework/v2/tenants/{tenant_id}/users/{user_id}": { @@ -4429,35 +4429,35 @@ "type": "array", "items": { "type": "string", - "example": "leak", + "example": "docker", "enum": [ - "leak", - "invalid_credential", - "stealer_log", - "domain", + "docker", "mitigated_credential", - "chat_message", - "forum_profile", + "forum_topic", "stack_exchange", - "forum_post", - "paste", - "docker", + "leak", + "stealer_log", "valid_credential", - "service", "social_media_account", - "financial_data", - "bucket", - "ad", "ransomleak", - "blog_post", - "listing", + "source_code_secrets", "google", - "bot", "seller", - "source_code_secrets", + "chat_message", + "financial_data", + "domain", "source_code_files", - "forum_topic", + "service", + "forum_post", + "bot", + "blog_post", "bucket_object", + "forum_profile", + "bucket", + "listing", + "invalid_credential", + "ad", + "paste", "illicit_networks", "open_web", "buckets", @@ -4536,34 +4536,34 @@ "type": "array", "items": { "type": "string", - "example": "leak", + "example": "docker", "enum": [ - "leak", - "invalid_credential", - "stealer_log", - "domain", + "docker", "mitigated_credential", - "chat_message", - "forum_profile", + "forum_topic", "stack_exchange", - "forum_post", - "paste", - "docker", + "leak", + "stealer_log", "valid_credential", - "service", "social_media_account", - "financial_data", - "bucket", "ransomleak", - "blog_post", - "listing", + "source_code_secrets", "google", - "bot", "seller", - "source_code_secrets", + "chat_message", + "financial_data", + "domain", "source_code_files", - "forum_topic", + "service", + "forum_post", + "bot", + "blog_post", "bucket_object", + "forum_profile", + "bucket", + "listing", + "invalid_credential", + "paste", "illicit_networks", "open_web", "buckets", @@ -5110,6 +5110,24 @@ }, "type": "object" }, + "TenantWithCounts": { + "properties": { + "next": { + "type": "string" + }, + "items": { + "$ref": "#/definitions/TenantWithCounts" + }, + "total_count": { + "type": [ + "integer", + "null" + ], + "example": "nullable integer" + } + }, + "type": "object" + }, "Tenant": { "properties": { "id": { @@ -5194,24 +5212,6 @@ }, "type": "object" }, - "TenantWithCounts": { - "properties": { - "next": { - "type": "string" - }, - "items": { - "$ref": "#/definitions/TenantWithCounts" - }, - "total_count": { - "type": [ - "integer", - "null" - ], - "example": "nullable integer" - } - }, - "type": "object" - }, "UpdatedPermission": { "properties": { "updated_value": { @@ -5319,6 +5319,24 @@ }, "type": "object" }, + "OrganizationMemberPage": { + "properties": { + "members": { + "type": "array", + "items": { + "$ref": "#/definitions/OrganizationMemberWithMetadata" + } + }, + "next": { + "type": [ + "string", + "null" + ], + "example": "nullable string" + } + }, + "type": "object" + }, "OrganizationMemberWithMetadata": { "properties": { "user": { @@ -5386,24 +5404,6 @@ }, "type": "object" }, - "OrganizationMemberPage": { - "properties": { - "members": { - "type": "array", - "items": { - "$ref": "#/definitions/OrganizationMemberWithMetadata" - } - }, - "next": { - "type": [ - "string", - "null" - ], - "example": "nullable string" - } - }, - "type": "object" - }, "OrganizationMembersCount": { "properties": { "count": { diff --git a/docs/api-reference/spec/firework-v3-openapi.json b/docs/api-reference/spec/firework-v3-openapi.json index f97a2c1..e72b990 100644 --- a/docs/api-reference/spec/firework-v3-openapi.json +++ b/docs/api-reference/spec/firework-v3-openapi.json @@ -490,8 +490,8 @@ } }, "/firework/v3/assets/{asset_uuid}/feed": { - "get": { - "operationId": "get_asset_feeds_api_/assets//feed", + "post": { + "operationId": "post_asset_feeds_api_/assets//feed", "parameters": [ { "in": "path", @@ -569,7 +569,7 @@ } }, { - "description": "\nType of activities to search through.\n\n*Expected values* : attachment, listing, ransomleak, forum_post, forum_topic, forum_profile, blog_post, seller, paste, leak, chat_message, domain, bot, stealer_log, infected_devices, driller, driller_forum_topic, driller_forum_post, driller_profile, cc, ccbin, financial_data, leaked_data, leaked_file, document, account, actor, forum_content, blog_content, profile, leaked_credential, valid_credential, invalid_credential, mitigated_credential, illicit_networks, open_web, domains, intelligence_object, leaks, social_media_account, social_media, source_code, source_code_secrets_np, source_code_secrets, source_code_files, docker, stack_exchange, google, service, driller_host, buckets, bucket, bucket_object, whois, cookie, pii, experimental\n\n*Some search types contain others*\n- illicit_networks: financial_data, ransomleak, stealer_log, chat_message, forum_profile, blog_post, listing, bot, seller, forum_post, forum_topic\n- open_web: service, stack_exchange, google, source_code_secrets, social_media_account, source_code_files, paste, docker, bucket_object, bucket\n- leaks: mitigated_credential, valid_credential, leak, invalid_credential\n- domains: domain\n", + "description": "\nType of activities to search through.\n\n*Expected values* : attachment, listing, ransomleak, forum_post, forum_topic, forum_profile, blog_post, seller, paste, leak, chat_message, domain, bot, stealer_log, infected_devices, driller, driller_forum_topic, driller_forum_post, driller_profile, cc, ccbin, financial_data, leaked_data, leaked_file, document, account, actor, forum_content, blog_content, profile, leaked_credential, valid_credential, invalid_credential, mitigated_credential, illicit_networks, open_web, domains, intelligence_object, leaks, social_media_account, social_media, source_code, source_code_secrets_np, source_code_secrets, source_code_files, docker, stack_exchange, google, service, driller_host, buckets, bucket, bucket_object, whois, cookie, pii, experimental\n\n*Some search types contain others*\n- illicit_networks: financial_data, stealer_log, forum_post, ransomleak, seller, listing, bot, forum_profile, forum_topic, chat_message, blog_post\n- open_web: bucket_object, paste, stack_exchange, docker, service, bucket, social_media_account, google, source_code_secrets, source_code_files\n- leaks: mitigated_credential, valid_credential, invalid_credential, leak\n- domains: domain\n", "explode": true, "in": "query", "name": "types", @@ -814,8 +814,8 @@ "assets" ] }, - "post": { - "operationId": "post_asset_feeds_api_/assets//feed", + "get": { + "operationId": "get_asset_feeds_api_/assets//feed", "parameters": [ { "in": "path", @@ -893,7 +893,7 @@ } }, { - "description": "\nType of activities to search through.\n\n*Expected values* : attachment, listing, ransomleak, forum_post, forum_topic, forum_profile, blog_post, seller, paste, leak, chat_message, domain, bot, stealer_log, infected_devices, driller, driller_forum_topic, driller_forum_post, driller_profile, cc, ccbin, financial_data, leaked_data, leaked_file, document, account, actor, forum_content, blog_content, profile, leaked_credential, valid_credential, invalid_credential, mitigated_credential, illicit_networks, open_web, domains, intelligence_object, leaks, social_media_account, social_media, source_code, source_code_secrets_np, source_code_secrets, source_code_files, docker, stack_exchange, google, service, driller_host, buckets, bucket, bucket_object, whois, cookie, pii, experimental\n\n*Some search types contain others*\n- illicit_networks: financial_data, ransomleak, stealer_log, chat_message, forum_profile, blog_post, listing, bot, seller, forum_post, forum_topic\n- open_web: service, stack_exchange, google, source_code_secrets, social_media_account, source_code_files, paste, docker, bucket_object, bucket\n- leaks: mitigated_credential, valid_credential, leak, invalid_credential\n- domains: domain\n", + "description": "\nType of activities to search through.\n\n*Expected values* : attachment, listing, ransomleak, forum_post, forum_topic, forum_profile, blog_post, seller, paste, leak, chat_message, domain, bot, stealer_log, infected_devices, driller, driller_forum_topic, driller_forum_post, driller_profile, cc, ccbin, financial_data, leaked_data, leaked_file, document, account, actor, forum_content, blog_content, profile, leaked_credential, valid_credential, invalid_credential, mitigated_credential, illicit_networks, open_web, domains, intelligence_object, leaks, social_media_account, social_media, source_code, source_code_secrets_np, source_code_secrets, source_code_files, docker, stack_exchange, google, service, driller_host, buckets, bucket, bucket_object, whois, cookie, pii, experimental\n\n*Some search types contain others*\n- illicit_networks: financial_data, stealer_log, forum_post, ransomleak, seller, listing, bot, forum_profile, forum_topic, chat_message, blog_post\n- open_web: bucket_object, paste, stack_exchange, docker, service, bucket, social_media_account, google, source_code_secrets, source_code_files\n- leaks: mitigated_credential, valid_credential, invalid_credential, leak\n- domains: domain\n", "explode": true, "in": "query", "name": "types", @@ -1716,8 +1716,8 @@ } }, "/firework/v3/identifiers/{identifier_id}/feed/credentials": { - "get": { - "operationId": "get_leaked_credentials_feed_endpoint_/identifiers//feed/credentials", + "post": { + "operationId": "post_leaked_credentials_feed_endpoint_/identifiers//feed/credentials", "parameters": [ { "in": "path", @@ -1726,21 +1726,6 @@ "schema": { "type": "integer" } - }, - { - "in": "query", - "name": "size", - "schema": { - "default": 20, - "type": "integer" - } - }, - { - "in": "query", - "name": "from", - "schema": { - "type": "string" - } } ], "responses": { @@ -1759,8 +1744,8 @@ "identifiers" ] }, - "post": { - "operationId": "post_leaked_credentials_feed_endpoint_/identifiers//feed/credentials", + "get": { + "operationId": "get_leaked_credentials_feed_endpoint_/identifiers//feed/credentials", "parameters": [ { "in": "path", @@ -1769,6 +1754,21 @@ "schema": { "type": "integer" } + }, + { + "in": "query", + "name": "size", + "schema": { + "default": 20, + "type": "integer" + } + }, + { + "in": "query", + "name": "from", + "schema": { + "type": "string" + } } ], "responses": { @@ -2062,20 +2062,6 @@ }, "type": "object" }, - "AssetRelations": { - "properties": { - "items": { - "items": { - "$ref": "#/components/schemas/AssetRelation" - }, - "type": "array" - }, - "next": { - "type": "string" - } - }, - "type": "object" - }, "AssetRelation": { "properties": { "uuid": { @@ -2197,67 +2183,27 @@ }, "type": "object" }, - "HttpError": { - "properties": { - "message": { - "type": "string" - }, - "code": { - "type": "string" - } - }, - "type": "object" - }, - "Search": { + "AssetRelations": { "properties": { "items": { "items": { - "properties": {}, - "type": "object" + "$ref": "#/components/schemas/AssetRelation" }, "type": "array" }, - "nb_hits": { - "type": "integer" - }, - "links": { - "$ref": "#/components/schemas/SearchLinks" - }, - "search_after": { - "type": "string" - } - }, - "type": "object" - }, - "SearchLinks": { - "properties": { "next": { "type": "string" } }, "type": "object" }, - "IdentifierChildren": { + "HttpError": { "properties": { - "items": { - "items": { - "$ref": "#/components/schemas/IdentifierChild" - }, - "type": "array" - }, - "next": { + "message": { "type": "string" - } - }, - "type": "object" - }, - "IdentifierChild": { - "properties": { - "metadata": { - "$ref": "#/components/schemas/AssetRelationMetadata" }, - "child_identifier": { - "$ref": "#/components/schemas/Identifier" + "code": { + "type": "string" } }, "type": "object" @@ -2447,70 +2393,51 @@ ], "type": "object" }, - "IdentifierRateLimits": { + "IdentifierChild": { "properties": { - "first_rate_limited_at": { - "format": "date-time", - "type": "string" - }, - "last_rate_limited_at": { - "format": "date-time", - "type": "string" - }, - "activity_types": { - "items": { - "type": "string" - }, - "type": "array" + "metadata": { + "$ref": "#/components/schemas/AssetRelationMetadata" }, - "items": { - "items": { - "$ref": "#/components/schemas/IdentifierRateLimit" - }, - "type": "array" + "child_identifier": { + "$ref": "#/components/schemas/Identifier" } }, "type": "object" }, - "IdentifierRateLimit": { + "IdentifierChildren": { "properties": { - "first_rate_limited_at": { - "format": "date-time", - "type": "string" - }, - "last_rate_limited_at": { - "format": "date-time", - "type": "string" + "items": { + "items": { + "$ref": "#/components/schemas/IdentifierChild" + }, + "type": "array" }, - "activity_type": { - "type": "string" - } - }, - "required": [ - "activity_type", - "first_rate_limited_at", - "last_rate_limited_at" - ], - "type": "object" - }, - "PaginatedIdentifiers": { - "properties": { "next": { "type": "string" - }, - "items": { - "$ref": "#/components/schemas/Identifier" } }, "type": "object" }, - "PaginatedIdentifierGroupsWithCounts": { + "IdentifierGroup": { "properties": { - "next": { + "id": { + "type": "integer" + }, + "tenant_id": { + "type": "integer" + }, + "feed_id": { + "type": "integer" + }, + "feed_owner_id": { + "type": "integer" + }, + "name": { "type": "string" }, - "items": { - "$ref": "#/components/schemas/IdentifierGroupWithCounts" + "urn": { + "description": "The uniform resource name of the identifier group.", + "type": "string" } }, "type": "object" @@ -2535,48 +2462,48 @@ }, "type": "object" }, - "IdentifierGroup": { + "IdentifierRateLimit": { "properties": { - "id": { - "type": "integer" - }, - "tenant_id": { - "type": "integer" - }, - "feed_id": { - "type": "integer" - }, - "feed_owner_id": { - "type": "integer" + "first_rate_limited_at": { + "format": "date-time", + "type": "string" }, - "name": { + "last_rate_limited_at": { + "format": "date-time", "type": "string" }, - "urn": { - "description": "The uniform resource name of the identifier group.", + "activity_type": { "type": "string" } }, + "required": [ + "activity_type", + "first_rate_limited_at", + "last_rate_limited_at" + ], "type": "object" }, - "PaginatedIdentifierRelations": { + "IdentifierRateLimits": { "properties": { - "next": { + "first_rate_limited_at": { + "format": "date-time", "type": "string" }, - "items": { - "$ref": "#/components/schemas/Identifier" - } - }, - "type": "object" - }, - "PaginatedCredentials": { - "properties": { - "next": { + "last_rate_limited_at": { + "format": "date-time", "type": "string" }, + "activity_types": { + "items": { + "type": "string" + }, + "type": "array" + }, "items": { - "$ref": "#/components/schemas/LeakActivityCredential" + "items": { + "$ref": "#/components/schemas/IdentifierRateLimit" + }, + "type": "array" } }, "type": "object" @@ -2624,59 +2551,92 @@ ], "type": "object" }, - "source": { + "PaginatedCredentials": { "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "description_en": { - "type": "string" - }, - "description_fr": { + "next": { "type": "string" }, - "breached_at": { + "items": { + "$ref": "#/components/schemas/LeakActivityCredential" + } + }, + "type": "object" + }, + "PaginatedCursoredCredentials": { + "properties": { + "next": { "type": "string" }, - "leaked_at": { - "type": "string" + "items": { + "$ref": "#/components/schemas/LeakActivityCredential" }, - "pii_tags": { + "cursors": { "items": { "type": "string" }, "type": "array" } }, - "required": [ - "id" - ], "type": "object" }, - "PaginatedCursoredCredentials": { + "PaginatedIdentifierGroupsWithCounts": { "properties": { "next": { "type": "string" }, "items": { - "$ref": "#/components/schemas/LeakActivityCredential" + "$ref": "#/components/schemas/IdentifierGroupWithCounts" + } + }, + "type": "object" + }, + "PaginatedIdentifierRelations": { + "properties": { + "next": { + "type": "string" }, - "cursors": { + "items": { + "$ref": "#/components/schemas/Identifier" + } + }, + "type": "object" + }, + "PaginatedIdentifiers": { + "properties": { + "next": { + "type": "string" + }, + "items": { + "$ref": "#/components/schemas/Identifier" + } + }, + "type": "object" + }, + "Search": { + "properties": { + "items": { "items": { - "type": "string" + "properties": {}, + "type": "object" }, "type": "array" + }, + "nb_hits": { + "type": "integer" + }, + "links": { + "$ref": "#/components/schemas/SearchLinks" + }, + "search_after": { + "type": "string" } }, "type": "object" }, - "post_asset_by_data_api__assets__by_data_200_response": { + "SearchLinks": { "properties": { - "asset": { - "$ref": "#/components/schemas/Asset" + "next": { + "type": "string" } }, "type": "object" @@ -2688,6 +2648,46 @@ } }, "type": "object" + }, + "post_asset_by_data_api__assets__by_data_200_response": { + "properties": { + "asset": { + "$ref": "#/components/schemas/Asset" + } + }, + "type": "object" + }, + "source": { + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "description_en": { + "type": "string" + }, + "description_fr": { + "type": "string" + }, + "breached_at": { + "type": "string" + }, + "leaked_at": { + "type": "string" + }, + "pii_tags": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "id" + ], + "type": "object" } }, "securitySchemes": { diff --git a/docs/api-reference/spec/firework-v3-swagger.json b/docs/api-reference/spec/firework-v3-swagger.json index 87d68bc..f8cb89f 100644 --- a/docs/api-reference/spec/firework-v3-swagger.json +++ b/docs/api-reference/spec/firework-v3-swagger.json @@ -409,7 +409,7 @@ "type": "string" } ], - "post": { + "get": { "responses": { "403": { "description": "Forbidden.", @@ -430,7 +430,7 @@ } } }, - "operationId": "post_asset_feeds_api_/assets//feed", + "operationId": "get_asset_feeds_api_/assets//feed", "parameters": [ { "name": "fields", @@ -487,7 +487,7 @@ "name": "types", "in": "query", "type": "array", - "description": "\nType of activities to search through.\n\n*Expected values* : attachment, listing, ransomleak, forum_post, forum_topic, forum_profile, blog_post, seller, paste, leak, chat_message, domain, bot, stealer_log, infected_devices, driller, driller_forum_topic, driller_forum_post, driller_profile, cc, ccbin, financial_data, leaked_data, leaked_file, document, account, actor, forum_content, blog_content, profile, leaked_credential, valid_credential, invalid_credential, mitigated_credential, illicit_networks, open_web, domains, intelligence_object, leaks, social_media_account, social_media, source_code, source_code_secrets_np, source_code_secrets, source_code_files, docker, stack_exchange, google, service, driller_host, buckets, bucket, bucket_object, whois, cookie, pii, experimental\n\n*Some search types contain others*\n- illicit_networks: financial_data, ransomleak, stealer_log, chat_message, forum_profile, blog_post, listing, bot, seller, forum_post, forum_topic\n- open_web: service, stack_exchange, google, source_code_secrets, social_media_account, source_code_files, paste, docker, bucket_object, bucket\n- leaks: mitigated_credential, valid_credential, leak, invalid_credential\n- domains: domain\n", + "description": "\nType of activities to search through.\n\n*Expected values* : attachment, listing, ransomleak, forum_post, forum_topic, forum_profile, blog_post, seller, paste, leak, chat_message, domain, bot, stealer_log, infected_devices, driller, driller_forum_topic, driller_forum_post, driller_profile, cc, ccbin, financial_data, leaked_data, leaked_file, document, account, actor, forum_content, blog_content, profile, leaked_credential, valid_credential, invalid_credential, mitigated_credential, illicit_networks, open_web, domains, intelligence_object, leaks, social_media_account, social_media, source_code, source_code_secrets_np, source_code_secrets, source_code_files, docker, stack_exchange, google, service, driller_host, buckets, bucket, bucket_object, whois, cookie, pii, experimental\n\n*Some search types contain others*\n- illicit_networks: financial_data, stealer_log, forum_post, ransomleak, seller, listing, bot, forum_profile, forum_topic, chat_message, blog_post\n- open_web: bucket_object, paste, stack_exchange, docker, service, bucket, social_media_account, google, source_code_secrets, source_code_files\n- leaks: mitigated_credential, valid_credential, invalid_credential, leak\n- domains: domain\n", "items": { "type": "string" }, @@ -669,7 +669,7 @@ "assets" ] }, - "get": { + "post": { "responses": { "403": { "description": "Forbidden.", @@ -690,7 +690,7 @@ } } }, - "operationId": "get_asset_feeds_api_/assets//feed", + "operationId": "post_asset_feeds_api_/assets//feed", "parameters": [ { "name": "fields", @@ -747,7 +747,7 @@ "name": "types", "in": "query", "type": "array", - "description": "\nType of activities to search through.\n\n*Expected values* : attachment, listing, ransomleak, forum_post, forum_topic, forum_profile, blog_post, seller, paste, leak, chat_message, domain, bot, stealer_log, infected_devices, driller, driller_forum_topic, driller_forum_post, driller_profile, cc, ccbin, financial_data, leaked_data, leaked_file, document, account, actor, forum_content, blog_content, profile, leaked_credential, valid_credential, invalid_credential, mitigated_credential, illicit_networks, open_web, domains, intelligence_object, leaks, social_media_account, social_media, source_code, source_code_secrets_np, source_code_secrets, source_code_files, docker, stack_exchange, google, service, driller_host, buckets, bucket, bucket_object, whois, cookie, pii, experimental\n\n*Some search types contain others*\n- illicit_networks: financial_data, ransomleak, stealer_log, chat_message, forum_profile, blog_post, listing, bot, seller, forum_post, forum_topic\n- open_web: service, stack_exchange, google, source_code_secrets, social_media_account, source_code_files, paste, docker, bucket_object, bucket\n- leaks: mitigated_credential, valid_credential, leak, invalid_credential\n- domains: domain\n", + "description": "\nType of activities to search through.\n\n*Expected values* : attachment, listing, ransomleak, forum_post, forum_topic, forum_profile, blog_post, seller, paste, leak, chat_message, domain, bot, stealer_log, infected_devices, driller, driller_forum_topic, driller_forum_post, driller_profile, cc, ccbin, financial_data, leaked_data, leaked_file, document, account, actor, forum_content, blog_content, profile, leaked_credential, valid_credential, invalid_credential, mitigated_credential, illicit_networks, open_web, domains, intelligence_object, leaks, social_media_account, social_media, source_code, source_code_secrets_np, source_code_secrets, source_code_files, docker, stack_exchange, google, service, driller_host, buckets, bucket, bucket_object, whois, cookie, pii, experimental\n\n*Some search types contain others*\n- illicit_networks: financial_data, stealer_log, forum_post, ransomleak, seller, listing, bot, forum_profile, forum_topic, chat_message, blog_post\n- open_web: bucket_object, paste, stack_exchange, docker, service, bucket, social_media_account, google, source_code_secrets, source_code_files\n- leaks: mitigated_credential, valid_credential, invalid_credential, leak\n- domains: domain\n", "items": { "type": "string" }, @@ -1432,20 +1432,6 @@ "type": "integer" } ], - "post": { - "responses": { - "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/PaginatedCredentials" - } - } - }, - "operationId": "post_leaked_credentials_feed_endpoint_/identifiers//feed/credentials", - "tags": [ - "identifiers" - ] - }, "get": { "responses": { "200": { @@ -1472,6 +1458,20 @@ "tags": [ "identifiers" ] + }, + "post": { + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/PaginatedCredentials" + } + } + }, + "operationId": "post_leaked_credentials_feed_endpoint_/identifiers//feed/credentials", + "tags": [ + "identifiers" + ] } }, "/firework/v3/identifiers/{identifier_id}/relations": { diff --git a/docs/api-reference/spec/firework-v4-openapi.json b/docs/api-reference/spec/firework-v4-openapi.json index 3d1d099..b1884c2 100644 --- a/docs/api-reference/spec/firework-v4-openapi.json +++ b/docs/api-reference/spec/firework-v4-openapi.json @@ -167,6 +167,46 @@ } }, "/firework/v4/alerts/channels": { + "post": { + "tags": [ + "public", + "team=integration" + ], + "summary": "Create Channel", + "operationId": "create_channel_alerts_channels_post", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateAlertChannel" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AlertChannel" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + }, "get": { "tags": [ "public", @@ -251,46 +291,6 @@ } } } - }, - "post": { - "tags": [ - "public", - "team=integration" - ], - "summary": "Create Channel", - "operationId": "create_channel_alerts_channels_post", - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateAlertChannel" - } - } - } - }, - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AlertChannel" - } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - } - } - } } }, "/firework/v4/threat_flow/intel/requests": { @@ -1605,13 +1605,13 @@ } }, "/firework/v4/identifiers/{identifier_id}": { - "put": { + "get": { "tags": [ "public", "team=experience" ], - "summary": "Update Identifier", - "operationId": "update_identifier_by_id_public_identifiers__identifier_id__put", + "summary": "Get Identifier", + "operationId": "get_identifier_public_identifiers__identifier_id__get", "parameters": [ { "name": "identifier_id", @@ -1623,16 +1623,6 @@ } } ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PublicIdentifierUpdateRequestBody" - } - } - } - }, "responses": { "200": { "description": "Successful Response", @@ -1656,13 +1646,13 @@ } } }, - "get": { + "put": { "tags": [ "public", "team=experience" ], - "summary": "Get Identifier", - "operationId": "get_identifier_public_identifiers__identifier_id__get", + "summary": "Update Identifier", + "operationId": "update_identifier_by_id_public_identifiers__identifier_id__put", "parameters": [ { "name": "identifier_id", @@ -1674,6 +1664,16 @@ } } ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PublicIdentifierUpdateRequestBody" + } + } + } + }, "responses": { "200": { "description": "Successful Response", @@ -1866,13 +1866,13 @@ } }, "/firework/v4/matching-policies/{policy_uuid}": { - "put": { + "get": { "tags": [ "public", "team=data-engineering" ], - "summary": "Update Matching Policy", - "operationId": "update_matching_policy_matching_policies__policy_uuid__put", + "summary": "Get Matching Policy", + "operationId": "get_matching_policy_matching_policies__policy_uuid__get", "parameters": [ { "name": "policy_uuid", @@ -1885,16 +1885,6 @@ } } ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateMatchingPolicyBody" - } - } - } - }, "responses": { "200": { "description": "Successful Response", @@ -1918,13 +1908,13 @@ } } }, - "get": { + "put": { "tags": [ "public", "team=data-engineering" ], - "summary": "Get Matching Policy", - "operationId": "get_matching_policy_matching_policies__policy_uuid__get", + "summary": "Update Matching Policy", + "operationId": "update_matching_policy_matching_policies__policy_uuid__put", "parameters": [ { "name": "policy_uuid", @@ -1937,6 +1927,16 @@ } } ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateMatchingPolicyBody" + } + } + } + }, "responses": { "200": { "description": "Successful Response", @@ -2049,6 +2049,56 @@ } }, "/firework/v4/matching-policies/{policy_uuid}/assignments": { + "post": { + "tags": [ + "public", + "team=data-engineering" + ], + "summary": "Assign Policy", + "operationId": "assign_policy_matching_policies__policy_uuid__assignments_post", + "parameters": [ + { + "name": "policy_uuid", + "in": "path", + "required": true, + "schema": { + "type": "string", + "format": "uuid", + "title": "Policy Uuid" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PolicyAssignmentsBody" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + }, "get": { "tags": [ "public", @@ -2127,56 +2177,6 @@ } } }, - "post": { - "tags": [ - "public", - "team=data-engineering" - ], - "summary": "Assign Policy", - "operationId": "assign_policy_matching_policies__policy_uuid__assignments_post", - "parameters": [ - { - "name": "policy_uuid", - "in": "path", - "required": true, - "schema": { - "type": "string", - "format": "uuid", - "title": "Policy Uuid" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PolicyAssignmentsBody" - } - } - } - }, - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": {} - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - } - } - } - }, "delete": { "tags": [ "public", diff --git a/scripts/openapi-post-process.py b/scripts/openapi-post-process.py index 220335a..d702039 100755 --- a/scripts/openapi-post-process.py +++ b/scripts/openapi-post-process.py @@ -6,7 +6,15 @@ from typing import Any -HTTP_METHODS = {"get", "put", "post", "delete", "options", "head", "patch", "trace"} +# CRUD order. +HTTP_METHODS = ("post", "get", "put", "patch", "delete", "options", "head", "trace") + + +def sort_path_item_methods(openapi_schema: dict) -> None: + for path_item in openapi_schema["paths"].values(): + for method in HTTP_METHODS: + if method in path_item: + path_item[method] = path_item.pop(method) def remove_private_operations(openapi_schema: dict) -> None: @@ -67,6 +75,17 @@ def remove_unused_schemas(openapi_schema: dict) -> None: del schemas[name] +def sort_schemas(openapi_schema: dict) -> None: + + schemas = openapi_schema.get("components", {}).get("schemas") + if schemas is None: + return + + openapi_schema["components"]["schemas"] = { + name: schemas[name] for name in sorted(schemas) + } + + def main() -> None: if len(sys.argv) != 2: raise Exception("Please pass only one path as the argument") @@ -78,6 +97,8 @@ def main() -> None: remove_private_operations(openapi_schema) remove_unused_schemas(openapi_schema) + sort_path_item_methods(openapi_schema) + sort_schemas(openapi_schema) openapi_schema["components"]["securitySchemes"] = { "BearerAuth": {