{"openapi":"3.0.0","info":{"title":"api.emailconsul.com API","version":"1.0"},"servers":[{"url":"https://api.emailconsul.com/api/v1.0/"}],"paths":{"/alerts":{"post":{"operationId":"postAlerts","tags":["Alerts"],"summary":"Create a new alert rule with specified conditions and notification settings","security":[{"ApiKeyAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertAlertBodyRequest"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserAlertBaseModel"}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}},"get":{"operationId":"getAlerts","tags":["Alerts"],"summary":"Retrieve all alert rules for the current user","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/PaginationOffset"},{"$ref":"#/components/parameters/PaginationLimit"},{"name":"sort","in":"query","schema":{"type":"string","enum":["name"]},"description":"Example: -name (desc) or name (asc)"},{"$ref":"#/components/parameters/AlertProfileIdFilter"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/UserAlertBaseModel"},{"type":"object","properties":{"stats":{"type":"object","description":"Statistics about alert triggers","properties":{"for_last_7_days":{"type":"number","description":"Number of times this alert was triggered in the last 7 days"}}}}}]}},"meta":{"$ref":"#/components/schemas/PaginationDefaultMetaResponse"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/alerts/{id}":{"get":{"operationId":"getAlertById","tags":["Alerts"],"summary":"Retrieve a specific alert rule by its ID","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"id","in":"path","schema":{"type":"string"},"description":"user alert id","required":true}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserAlertBaseModel"}}}},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"404":{"$ref":"#/components/responses/NotFoundResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}},"put":{"operationId":"putAlertById","tags":["Alerts"],"summary":"Update an existing alert rule by its ID","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"id","in":"path","schema":{"type":"string"},"description":"User alert ID","required":true}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertAlertBodyRequest"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserAlertBaseModel"}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}},"delete":{"operationId":"deleteAlertById","tags":["Alerts"],"summary":"Delete an alert rule by its ID","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"id","in":"path","schema":{"type":"string"},"description":"User alert ID","required":true}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"boolean"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"404":{"$ref":"#/components/responses/NotFoundResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/alerts/{id}/log":{"get":{"operationId":"getAlertLogById","tags":["Alerts"],"summary":"Retrieve the event logs triggered by a specific alert rule","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"id","in":"path","schema":{"type":"string"},"description":"User alert ID","required":true},{"$ref":"#/components/parameters/PaginationOffset"},{"$ref":"#/components/parameters/PaginationLimit"},{"name":"sort","in":"query","schema":{"type":"string","enum":["timestamp"]},"description":"Example: -timestamp (desc) or timestamp (asc)"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/AlertBaseModel"}},"meta":{"$ref":"#/components/schemas/PaginationDefaultMetaResponse"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"404":{"$ref":"#/components/responses/NotFoundResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/alerts/stats/timeseries":{"get":{"operationId":"getAlertsStatsTimeseries","tags":["Alerts"],"summary":"Retrieve timeseries statistics for alert trigger events grouped by time interval","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/PeriodFromParam"},{"$ref":"#/components/parameters/PeriodToParam"},{"$ref":"#/components/parameters/AlertProfileIdFilter"},{"$ref":"#/components/parameters/AlertIpFilter"},{"$ref":"#/components/parameters/AlertDomainFilter"}],"responses":{"200":{"description":"Returns timeseries stats","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","format":"date","description":"Date of the alert occurrences"},"count":{"type":"number","description":"Number of times the alert was triggered on this date"},"alert_name":{"type":"string","description":"Name of the alert"},"user_alert_id":{"type":"string","description":"ID of the user alert"}}}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/alerts/stats/aggregated":{"get":{"operationId":"getAlertsStatsAggregated","tags":["Alerts"],"summary":"Retrieve aggregated alert trigger statistics across all alert rules","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/PeriodFromParam"},{"$ref":"#/components/parameters/PeriodToParam"},{"$ref":"#/components/parameters/AlertProfileIdFilter"},{"$ref":"#/components/parameters/AlertIpFilter"},{"$ref":"#/components/parameters/AlertDomainFilter"}],"responses":{"200":{"description":"Returns aggregated stats","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Name of the alert"},"user_alert_id":{"type":"string","description":"ID of the user alert"},"count":{"type":"number","description":"Total number of times this alert was triggered in the specified period"}}}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/alerts/stats/aggregated/{user_alert_id}":{"get":{"operationId":"getAlertsStatsAggregatedByUserAlertId","tags":["Alerts"],"summary":"Retrieve aggregated alert trigger statistics for a specific alert rule","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/PeriodFromParam"},{"$ref":"#/components/parameters/PeriodToParam"},{"$ref":"#/components/parameters/UserAlertId"},{"$ref":"#/components/parameters/AlertProfileIdFilter"},{"$ref":"#/components/parameters/AlertIpFilter"},{"$ref":"#/components/parameters/AlertDomainFilter"}],"responses":{"200":{"description":"Returns aggregated stats","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"rule_type":{"type":"string","description":"Type of alert rule that was triggered"},"count":{"type":"number","description":"Number of times this rule type was triggered for the specified alert"}}}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/alerts/stats/aggregated/{user_alert_id}/{rule_type}":{"get":{"operationId":"getAlertsStatsAggregatedByRuleType","tags":["Alerts"],"summary":"Retrieve aggregated alert trigger statistics for a specific user_alert_id and rule_type","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/PeriodFromParam"},{"$ref":"#/components/parameters/PeriodToParam"},{"$ref":"#/components/parameters/UserAlertId"},{"$ref":"#/components/parameters/AlertRuleType"},{"$ref":"#/components/parameters/AlertProfileIdFilter"},{"$ref":"#/components/parameters/AlertIpFilter"},{"$ref":"#/components/parameters/AlertDomainFilter"}],"responses":{"200":{"description":"Returns aggregated stats","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"count":{"type":"number","description":"Number of times this specific condition triggered the alert"},"ip":{"type":"string","description":"IP address that triggered the alert (for IP-related rules)"},"domain":{"type":"string","description":"Domain that triggered the alert (for domain-related rules)"},"rbl":{"type":"string","description":"RBL (Real-time Blackhole List) name where IP/domain was found"},"gp_domain_reputation":{"type":"string","description":"Google Postmaster domain reputation category that triggered the alert"},"gp_ip_reputation":{"type":"string","description":"Google Postmaster IP reputation category that triggered the alert"},"gp_delivery_error_class":{"type":"string","description":"Google Postmaster delivery error class"},"gp_delivery_error_type":{"type":"string","description":"Google Postmaster delivery error type"},"snds_filter_result":{"type":"string","description":"Microsoft SNDS filter result (GREEN, YELLOW, RED) that triggered the alert"},"lookalike":{"type":"string","description":"Lookalike domain that triggered the alert"},"time_range":{"type":"string","enum":["ONE_DAY","ONE_WEEK","ONE_MONTH"],"description":"Time range for aggregated statistics"},"traps_ip":{"type":"string","description":"IP address that hit spam traps"},"traps_domain_from":{"type":"string","description":"Domain that sent emails to spam traps"},"honeytoken_domain_count_per_period":{"type":"number","description":"Number of emails received by the honeytoken domain in the time range"}}}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/listcleaning/list":{"post":{"operationId":"postListcleaningList","tags":["Listcleaning"],"summary":"Create a new list cleaning job by providing a list of email addresses","security":[{"ApiKeyAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["title"],"properties":{"title":{"type":"string","description":"Name of the listcleaning list for easy identification"},"emails":{"type":"array","items":{"type":"string"},"description":"Array of emails to be added to the list. Maximum 200,000 emails are allowed in one batch."},"key":{"type":"string","description":"Unique key identifier, available only if the list has been added through a presigned url link."},"profile_id":{"type":"string","description":"Profile ID to associate with the list"},"webhook_url":{"type":"string","description":"Webhook URL to receive list processing status updates"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/BouncerListBaseModel"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/listcleaning/list/import/presigned_url":{"get":{"operationId":"getListcleaningListImportPresignedUrl","tags":["Listcleaning"],"summary":"Generate a pre-signed URL for uploading a CSV file containing email addresses for list cleaning","security":[{"ApiKeyAuth":[]}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"url":{"type":"string","description":"Presigned URL for uploading the file"},"key":{"type":"string","description":"Unique key for the uploaded file, should be sent when creating a list"}}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/listcleaning/list/{id}":{"get":{"operationId":"getListcleaningListById","tags":["Listcleaning"],"summary":"Retrieve a list cleaning job by its ID","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/BouncerListBaseModel"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"404":{"$ref":"#/components/responses/NotFoundResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}},"delete":{"operationId":"deleteListcleaningListById","tags":["Listcleaning"],"summary":"Delete a list cleaning job by its ID","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"boolean"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"404":{"$ref":"#/components/responses/NotFoundResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/listcleaning/lists":{"get":{"operationId":"getListcleaningLists","tags":["Listcleaning"],"summary":"Retrieve all email list cleaning jobs for the current user","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/PaginationOffset"},{"$ref":"#/components/parameters/PaginationLimit"},{"name":"sort","in":"query","schema":{"type":"string","enum":["title","created_at"]},"description":"Example: -created_at (desc) or created_at (asc)"},{"name":"title","in":"query","schema":{"type":"string"},"description":"Filter by title using partial match"},{"name":"profile_id","in":"query","schema":{"type":"string"},"description":"Filter by profile ID"},{"name":"show_all","in":"query","schema":{"type":"boolean"},"description":"ADMIN only parameter. When true, includes user_email field in the response"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/BouncerListBaseModel"},{"type":"object","properties":{"user_email":{"type":"string","format":"email","description":"Email address of the user who owns the list (only available for ADMIN users with show_all parameter)"}}}]}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/listcleaning/list/{id}/run":{"post":{"operationId":"postListcleaningListRun","tags":["Listcleaning"],"summary":"Start the email list cleaning process for a specific list","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The ID of the listcleaning list"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"boolean"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"404":{"$ref":"#/components/responses/NotFoundResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/listcleaning/list/{id}/presigned_url/{key}":{"get":{"operationId":"getListcleaningListPresignedUrl","tags":["Listcleaning"],"summary":"Generate a pre-signed URL for downloading the cleaned results of a list cleaning job","description":"Returns a presigned S3 URL valid for 1 hour to download listcleaning results.","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The ID of the listcleaning list"},{"name":"key","in":"path","required":true,"schema":{"type":"string","enum":["all","safe-to-send","send-with-caution"]},"description":"The list variant to download"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"presigned_url":{"type":"string","description":"Presigned S3 URL for downloading the list (valid for 1 hour)"}}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"404":{"$ref":"#/components/responses/NotFoundResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/listcleaning/list/{id}/export":{"get":{"operationId":"getListcleaningListExport","tags":["Listcleaning"],"summary":"Export the filtered results of a list cleaning job as a CSV file","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/BouncerListId"},{"$ref":"#/components/parameters/BouncerListStatus"},{"$ref":"#/components/parameters/BouncerListReason"},{"$ref":"#/components/parameters/BouncerListAcceptAll"},{"$ref":"#/components/parameters/BouncerListDisposable"},{"$ref":"#/components/parameters/BouncerListFullMailbox"},{"$ref":"#/components/parameters/BouncerListToxicity"}],"responses":{"200":{"content":{"application/csv":{"schema":{"type":"string","format":"binary"}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/listcleaning/list/{id}/results":{"get":{"operationId":"getListcleaningListResults","tags":["Listcleaning"],"summary":"Retrieve the detailed email-level results for a specific list cleaning job","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/BouncerListId"},{"$ref":"#/components/parameters/PaginationOffset"},{"$ref":"#/components/parameters/PaginationLimit"},{"$ref":"#/components/parameters/BouncerListStatus"},{"$ref":"#/components/parameters/BouncerListReason"},{"$ref":"#/components/parameters/BouncerListAcceptAll"},{"$ref":"#/components/parameters/BouncerListDisposable"},{"$ref":"#/components/parameters/BouncerListFullMailbox"},{"$ref":"#/components/parameters/BouncerListToxicity"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/BouncerListResultModel"}},"meta":{"$ref":"#/components/schemas/PaginationDefaultMetaResponse"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/checkers/ip/{ip}":{"get":{"operationId":"getCheckersIp","tags":["Checkers"],"summary":"Retrieve blocklist and reputation information for a single IP address","description":"Retrieve information about a specific IP address","security":[{"ApiKeyAuth":[]}],"parameters":[{"in":"path","name":"ip","required":true,"schema":{"type":"string"},"description":"The IP address to check"}],"responses":{"200":{"description":"Successful response with IP information","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"ip":{"type":"string","description":"The IP address that was checked"},"dns_lookup_result":{"type":"array","description":"Results of DNS lookups for the IP address","items":{"type":"object","properties":{"rdns":{"type":"string","description":"The reverse DNS lookup result"},"addresses":{"type":"array","items":{"type":"string"},"description":"List of addresses resolved from the reverse DNS"}}}},"rbl_result":{"type":"array","items":{"type":"object","properties":{"host":{"type":"string","description":"The RBL host that was queried"}}}}}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/checkers/ip/{ip}/in_chunks":{"get":{"operationId":"getCheckersIpInChunks","tags":["Checkers"],"summary":"Retrieve blocklist and reputation information for a single IP address in chunked streaming mode","description":"Retrieve information about a specific IP address","security":[{"ApiKeyAuth":[]}],"parameters":[{"in":"path","name":"ip","required":true,"schema":{"type":"string"},"description":"The IP address to check"}],"responses":{"200":{"description":"The result of the IP check in chunks","content":{"application/json":{"schema":{"type":"array","description":"Array of check results delivered in chunks","items":{"type":"object","properties":{"dns_lookup_result":{"type":"array","description":"Results of DNS lookups for the IP address","items":{"type":"object","properties":{"rdns":{"type":"string","description":"The reverse DNS lookup result"},"addresses":{"type":"array","items":{"type":"string"},"description":"List of addresses resolved from the reverse DNS"}}}},"rbl_result":{"type":"object","description":"Individual RBL check result","properties":{"host":{"type":"string","description":"The RBL host that was queried"},"blocklisted":{"type":"boolean","description":"Indicates whether the IP is listed on this RBL"}}},"ip":{"type":"string","description":"The IP address that was checked"}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/checkers/domain/{domain}":{"get":{"operationId":"getCheckersDomain","tags":["Checkers"],"summary":"Retrieve blocklist and reputation information for a single domain","description":"Retrieve information about a specific domain","security":[{"ApiKeyAuth":[]}],"parameters":[{"in":"path","name":"domain","required":true,"schema":{"type":"string"},"description":"The domain to check"}],"responses":{"200":{"description":"Successful response with domain information","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"domain":{"type":"string","description":"The domain that was checked"},"dns_lookup_result":{"type":"array","description":"Results of DNS A record lookups for the domain","items":{"type":"object","properties":{"ip":{"type":"string","description":"The IP address from the A record"}}}},"rbl_result":{"type":"array","description":"Results of RBL (Real-time Blackhole List) checks for the domain","items":{"type":"object","properties":{"host":{"type":"string","description":"The RBL host that was queried"}}}}}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/checkers/domain/{domain}/in_chunks":{"get":{"operationId":"getCheckersDomainInChunks","tags":["Checkers"],"summary":"Retrieve blocklist and reputation information for a single domain in chunked streaming mode","description":"Retrieve information about a specific domain","security":[{"ApiKeyAuth":[]}],"parameters":[{"in":"path","name":"domain","required":true,"schema":{"type":"string"},"description":"The domain to check"}],"responses":{"200":{"description":"The result of the domain check in chunks","content":{"application/json":{"schema":{"type":"array","description":"Array of check results delivered in chunks","items":{"type":"object","properties":{"dns_lookup_result":{"type":"array","description":"Results of DNS A record lookups for the domain","items":{"type":"object","properties":{"ip":{"type":"string","description":"The IP address from the A record"}}}},"rbl_result":{"type":"object","description":"Individual RBL check result","properties":{"host":{"type":"string","description":"The RBL host that was queried"},"blocklisted":{"type":"boolean","description":"Indicates whether the domain is listed on this RBL"}}},"domain":{"type":"string","description":"The domain that was checked"}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/checkers/spf":{"get":{"operationId":"getCheckersSpf","tags":["Checkers"],"summary":"Validate and parse the SPF record for a given domain","description":"Verifies the SPF record for the given domain","security":[{"ApiKeyAuth":[]}],"parameters":[{"in":"query","name":"domain","required":true,"schema":{"type":"string"},"description":"The domain to check for SPF record"}],"responses":{"200":{"description":"Successful response with SPF check result","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"dns_queries_to_resolve":{"$ref":"#/components/schemas/SpfValidationDnsQueriesToResolve"},"result":{"$ref":"#/components/schemas/SpfValidationResult"},"record":{"$ref":"#/components/schemas/SpfValidationRecord"},"multiple_spf_records":{"type":"array","items":{"type":"string"},"description":"Multiple SPF records if more than one was found","example":["v=spf1 include:_spf1.example.com -all","v=spf1 include:_spf2.example.com ~all"]},"domain":{"$ref":"#/components/schemas/SpfValidationDomain"},"warnings":{"$ref":"#/components/schemas/SpfValidationWarnings"},"mechanisms":{"$ref":"#/components/schemas/SpfValidationMechanisms"}}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/checkers/dkim/validate_textual_representation":{"post":{"operationId":"postCheckersDkimValidateTextualRepresentation","tags":["Checkers"],"summary":"Validate a DKIM record provided as a textual representation","description":"Validates the DKIM textual representation for a given domain and selector","security":[{"ApiKeyAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"domain":{"$ref":"#/components/schemas/DkimValidationDomain"},"selector":{"$ref":"#/components/schemas/DkimValidationSelector"}}}}}},"responses":{"200":{"description":"DKIM textual representation validation result","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"result":{"$ref":"#/components/schemas/DkimValidationResult"},"domain":{"$ref":"#/components/schemas/DkimValidationDomain"},"selector":{"$ref":"#/components/schemas/DkimValidationSelector"},"errors":{"$ref":"#/components/schemas/DkimValidationErrors"},"warnings":{"$ref":"#/components/schemas/DkimValidationWarnings"}}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/checkers/dkim/validate_signature_header":{"post":{"operationId":"postCheckersDkimValidateSignatureHeader","tags":["Checkers"],"summary":"Validate a DKIM signature extracted from an email header","description":"Validates the provided DKIM signature header","security":[{"ApiKeyAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"dkim_signature_header":{"type":"string","description":"The DKIM signature header value to validate","example":"v=1; a=rsa-sha256; d=example.com; s=selector; ..."}}}}}},"responses":{"200":{"description":"Validation result","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"errors":{"$ref":"#/components/schemas/DkimValidationErrors"},"warnings":{"$ref":"#/components/schemas/DkimValidationWarnings"}}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/checkers/dmarc":{"get":{"operationId":"getCheckersDmarc","tags":["Checkers"],"summary":"Retrieve and validate the DMARC record for a given domain","description":"Verifies the DMARC record for the given domain","security":[{"ApiKeyAuth":[]}],"parameters":[{"in":"query","name":"domain","required":true,"schema":{"type":"string"},"description":"The domain to check for DMARC record"}],"responses":{"200":{"description":"Successful response with DMARC check result","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"domain":{"$ref":"#/components/schemas/DmarcValidationDomain"},"result":{"$ref":"#/components/schemas/DmarcValidationResult"},"warnings":{"$ref":"#/components/schemas/DmarcValidationWarnings"}}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/checkers/dmarc/analyze_xml":{"post":{"operationId":"postCheckersDmarcAnalyzeXml","tags":["Checkers"],"summary":"Parse and analyze a DMARC aggregate XML report","description":"Analyzes the provided DMARC XML report","security":[{"ApiKeyAuth":[]}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary","description":"The DMARC aggregate report XML file to analyze"}}},"encoding":{"file":{"contentType":"application/xml"}}}}},"responses":{"200":{"description":"Analysis result","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","description":"Analyzed DMARC report data organized by domain","additionalProperties":{"type":"object","description":"Statistics for a specific domain from the DMARC report","properties":{"count":{"type":"integer","description":"Total number of messages reported for this domain"},"spf_pass":{"type":"integer","description":"Number of messages that passed SPF validation"},"dkim_pass":{"type":"integer","description":"Number of messages that passed DKIM validation"},"dmarc_pass":{"type":"integer","description":"Number of messages that passed DMARC validation"},"servers":{"type":"object","description":"Breakdown of results by sending server IP address","additionalProperties":{"type":"object","description":"Statistics for a specific sending server","properties":{"count":{"type":"integer","description":"Total number of messages from this server"},"spf_pass":{"type":"integer","description":"Number of messages that passed SPF from this server"},"dkim_pass":{"type":"integer","description":"Number of messages that passed DKIM from this server"},"dmarc_pass":{"type":"integer","description":"Number of messages that passed DMARC from this server"},"records":{"type":"array","description":"Individual DMARC report records from this server","items":{"type":"object","properties":{"rdns":{"type":"string","description":"Reverse DNS hostname for the source IP"},"ip_country":{"type":"string","description":"Country code of the source IP address"},"ip":{"type":"string","description":"Source IP address that sent the messages"},"count":{"type":"integer","description":"Number of messages sent from this IP"},"p":{"type":"string","description":"DMARC policy from the domain's DMARC record"},"p_evaluated":{"type":"string","description":"The policy that was actually applied to the messages"},"policy_evaluated_reasons":{"type":"array","description":"Reasons why the evaluated policy differs from the published policy","items":{"type":"object","properties":{"type":{"type":"string","description":"Type of policy override reason"},"comment":{"type":"string","description":"Additional comment explaining the override"},"error_code":{"type":"string","description":"Error code if applicable"},"status_code":{"type":"string","description":"Status code if applicable"}}}},"spf":{"type":"string","description":"SPF validation result"},"dkim":{"type":"string","description":"DKIM validation result"},"dmarc":{"type":"string","description":"DMARC validation result"},"spf_aligned":{"type":"boolean","description":"Indicates whether SPF alignment was achieved"},"dkim_aligned":{"type":"boolean","description":"Indicates whether DKIM alignment was achieved"},"org_name":{"type":"string","description":"Organization name from the DMARC report"},"auth_results":{"type":"object","description":"Detailed authentication results for SPF and DKIM","properties":{"dkim":{"type":"array","description":"DKIM authentication results","items":{"type":"object","properties":{"result":{"$ref":"#/components/schemas/DkimValidationResult"},"domain":{"$ref":"#/components/schemas/DkimValidationDomain"},"selector":{"$ref":"#/components/schemas/DkimValidationSelector"}}}},"spf":{"type":"array","description":"SPF authentication results","items":{"type":"object","properties":{"result":{"$ref":"#/components/schemas/SpfValidationResult"},"domain":{"$ref":"#/components/schemas/SpfValidationDomain"}}}}}}}}}}}}}}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/checkers/rbl_dictionary":{"get":{"operationId":"getCheckersRblDictionary","tags":["Checkers"],"summary":"Retrieve the list of supported Real-time Blocklists (RBLs)","description":"Retrieve the RBL dictionary based on the specified type","security":[{"ApiKeyAuth":[]}],"parameters":[{"in":"query","name":"type","required":true,"schema":{"type":"string","enum":["ips","domains"]},"description":"The type of RBL dictionary to retrieve"}],"responses":{"200":{"description":"Successful response with RBL dictionary","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","description":"Dictionary of available RBL services","additionalProperties":{"type":"object","description":"Details of an individual RBL service","properties":{"name":{"type":"string","description":"The display name of the RBL service"},"url":{"type":"string","description":"The website URL for the RBL service"},"priority":{"type":"string","enum":["HIGH","MEDIUM","LOW"],"description":"The priority level indicating the importance of this RBL"}}}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/dmarc/add_bulk":{"post":{"operationId":"postDmarcAddBulk","tags":["DMARC"],"summary":"Add multiple domains for DMARC monitoring","security":[{"ApiKeyAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DmarcAddBulkBody"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"boolean"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/dmarc":{"get":{"operationId":"getDmarc","tags":["DMARC"],"summary":"Retrieve all domains currently monitored for DMARC compliance","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/PaginationOffset"},{"$ref":"#/components/parameters/PaginationLimit"},{"$ref":"#/components/parameters/DmarcSortQueryParam"},{"$ref":"#/components/parameters/DmarcRecordsDateFromQueryParam"},{"$ref":"#/components/parameters/DmarcRecordsDateToQueryParam"},{"$ref":"#/components/parameters/DmarcDomainQueryParam"},{"$ref":"#/components/parameters/DmarcIpQueryParam"},{"$ref":"#/components/parameters/DmarcProfileIdQueryParam"},{"$ref":"#/components/parameters/DmarcOrgNameQueryParam"},{"$ref":"#/components/parameters/DmarcIpOrgNameQueryParam"},{"$ref":"#/components/parameters/DmarcPQueryParam"},{"$ref":"#/components/parameters/DmarcDispositionQueryParam"},{"$ref":"#/components/parameters/DmarcDmarcTypeQueryParam"},{"$ref":"#/components/parameters/DmarcHideWithoutRecordsQueryParam"},{"$ref":"#/components/parameters/DmarcPolicyEvaluatedReasonsTypeQueryParam"},{"$ref":"#/components/parameters/DmarcPolicyEvaluatedReasonsCommentQueryParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DmarcDomainItem"}},"meta":{"$ref":"#/components/schemas/PaginationDefaultMetaResponse"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/dmarc/export":{"get":{"operationId":"getDmarcExport","tags":["DMARC"],"summary":"Export DMARC monitored domains and their statistics as a CSV file","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/DmarcSortQueryParam"},{"$ref":"#/components/parameters/DmarcRecordsDateFromQueryParam"},{"$ref":"#/components/parameters/DmarcRecordsDateToQueryParam"},{"$ref":"#/components/parameters/DmarcDomainQueryParam"},{"$ref":"#/components/parameters/DmarcIpQueryParam"},{"$ref":"#/components/parameters/DmarcProfileIdQueryParam"},{"$ref":"#/components/parameters/DmarcOrgNameQueryParam"},{"$ref":"#/components/parameters/DmarcIpOrgNameQueryParam"},{"$ref":"#/components/parameters/DmarcPQueryParam"},{"$ref":"#/components/parameters/DmarcDispositionQueryParam"},{"$ref":"#/components/parameters/DmarcDmarcTypeQueryParam"},{"$ref":"#/components/parameters/DmarcHideWithoutRecordsQueryParam"},{"$ref":"#/components/parameters/DmarcPolicyEvaluatedReasonsTypeQueryParam"},{"$ref":"#/components/parameters/DmarcPolicyEvaluatedReasonsCommentQueryParam"}],"responses":{"200":{"content":{"application/csv":{"schema":{"type":"string","format":"binary"}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/dmarc/records":{"get":{"operationId":"getDmarcRecords","tags":["DMARC"],"summary":"Retrieve DMARC aggregate report records for the current user's monitored domains","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/PaginationOffset"},{"$ref":"#/components/parameters/PaginationLimit"},{"$ref":"#/components/parameters/DmarcRecordsDateFromQueryParam"},{"$ref":"#/components/parameters/DmarcDomainQueryParam"},{"$ref":"#/components/parameters/DmarcIpQueryParam"},{"$ref":"#/components/parameters/DmarcProfileIdQueryParam"},{"$ref":"#/components/parameters/DmarcOrgNameQueryParam"},{"$ref":"#/components/parameters/DmarcIpOrgNameQueryParam"},{"$ref":"#/components/parameters/DmarcPQueryParam"},{"$ref":"#/components/parameters/DmarcDispositionQueryParam"},{"$ref":"#/components/parameters/DmarcDmarcTypeQueryParam"},{"$ref":"#/components/parameters/DmarcPolicyEvaluatedReasonsTypeQueryParam"},{"$ref":"#/components/parameters/DmarcPolicyEvaluatedReasonsCommentQueryParam"},{"$ref":"#/components/parameters/DmarcReportIdQueryParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DmarcRecordItem"}},"meta":{"$ref":"#/components/schemas/PaginationDefaultMetaResponse"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/dmarc/available_count":{"get":{"operationId":"getDmarcAvailableCount","tags":["DMARC"],"summary":"Retrieve the number of how many domains can be added in the current user's plan","security":[{"ApiKeyAuth":[]}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"integer"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/dmarc/org_names":{"get":{"operationId":"getDmarcOrgNames","tags":["DMARC"],"summary":"Retrieve all distinct org_name values captured in DMARC reports for the current user","security":[{"ApiKeyAuth":[]}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"string"}}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/dmarc/ip_org_names":{"get":{"operationId":"getDmarcIpOrgNames","tags":["DMARC"],"summary":"Retrieve all distinct ip_org_name values captured in DMARC reports for the current user","security":[{"ApiKeyAuth":[]}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"string"}}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/dmarc/{id}/ip_org_names":{"get":{"operationId":"getDmarcIpOrgNamesById","tags":["DMARC"],"summary":"Retrieve all ip_org_name values with aggregated statistics for a specific DMARC domain","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"id","in":"path","schema":{"type":"string"},"description":"domain id","required":true},{"$ref":"#/components/parameters/PaginationOffset"},{"$ref":"#/components/parameters/PaginationLimit"},{"$ref":"#/components/parameters/DmarcSortIpOrgNamesQueryParam"},{"$ref":"#/components/parameters/DmarcRecordsDateFromQueryParam"},{"$ref":"#/components/parameters/DmarcRecordsDateToQueryParam"},{"$ref":"#/components/parameters/DmarcIpQueryParam"},{"$ref":"#/components/parameters/DmarcOrgNameQueryParam"},{"$ref":"#/components/parameters/DmarcIpOrgNameQueryParam"},{"$ref":"#/components/parameters/DmarcDispositionQueryParam"},{"$ref":"#/components/parameters/DmarcDmarcTypeQueryParam"},{"$ref":"#/components/parameters/DmarcPolicyEvaluatedReasonsTypeQueryParam"},{"$ref":"#/components/parameters/DmarcPolicyEvaluatedReasonsCommentQueryParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DmarcGetIpOrgNamesByDomainIdResponse"}},"meta":{"$ref":"#/components/schemas/PaginationDefaultMetaResponse"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/dmarc/{id}/ips":{"get":{"operationId":"getDmarcIpsById","tags":["DMARC"],"summary":"Retrieve all sending IP addresses with aggregated statistics for a specific DMARC domain","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"id","in":"path","schema":{"type":"string"},"description":"domain id","required":true},{"$ref":"#/components/parameters/PaginationOffset"},{"$ref":"#/components/parameters/PaginationLimit"},{"$ref":"#/components/parameters/DmarcSortIpssQueryParam"},{"$ref":"#/components/parameters/DmarcRecordsDateFromQueryParam"},{"$ref":"#/components/parameters/DmarcRecordsDateToQueryParam"},{"$ref":"#/components/parameters/DmarcIpQueryParam"},{"$ref":"#/components/parameters/DmarcOrgNameQueryParam"},{"$ref":"#/components/parameters/DmarcIpOrgNameQueryParam"},{"$ref":"#/components/parameters/DmarcDispositionQueryParam"},{"$ref":"#/components/parameters/DmarcDmarcTypeQueryParam"},{"$ref":"#/components/parameters/DmarcPolicyEvaluatedReasonsTypeQueryParam"},{"$ref":"#/components/parameters/DmarcPolicyEvaluatedReasonsCommentQueryParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DmarcGetIpsByDomainIdResponse"}},"meta":{"$ref":"#/components/schemas/PaginationDefaultMetaResponse"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/dmarc/{id}":{"delete":{"operationId":"deleteDmarcById","tags":["DMARC"],"summary":"Delete a DMARC monitored domain by its ID","security":[{"ApiKeyAuth":[]}],"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"},"description":"DMARC domain id"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"boolean"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"404":{"$ref":"#/components/responses/NotFoundResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/dmarc/import":{"post":{"operationId":"postDmarcImport","tags":["DMARC"],"summary":"Import multiple DMARC domains from a CSV file","security":[{"ApiKeyAuth":[]}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"}}},"encoding":{"file":{"contentType":"text/csv"}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","additionalProperties":false,"properties":{"added":{"type":"integer","description":"Number of domains successfully added"},"not_added":{"type":"integer","description":"Number of domains that were not added"},"not_valid":{"type":"array","description":"List of invalid domain entries","items":{"type":"string"}}}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/dmarc/{id}/refresh":{"post":{"operationId":"postDmarcRefresh","tags":["DMARC"],"summary":"Refresh DMARC record information for a specific domain","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"id","in":"path","schema":{"type":"string"},"description":"domain id","required":true}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/DmarcDomainItem"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"404":{"$ref":"#/components/responses/NotFoundResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/dmarc/timeseries/dmarc_type":{"get":{"operationId":"getDmarcTimeseriesDmarcType","tags":["DMARC"],"summary":"Retrieve timeseries statistics for DMARC monitored domains grouped by dmarc_type","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/DmarcRecordsDateFromQueryParam"},{"$ref":"#/components/parameters/DmarcRecordsDateToQueryParam"},{"$ref":"#/components/parameters/DmarcDomainQueryParam"},{"$ref":"#/components/parameters/DmarcProfileIdQueryParam"},{"$ref":"#/components/parameters/DmarcIpQueryParam"},{"$ref":"#/components/parameters/DmarcOrgNameQueryParam"},{"$ref":"#/components/parameters/DmarcIpOrgNameQueryParam"},{"$ref":"#/components/parameters/DmarcDispositionQueryParam"},{"$ref":"#/components/parameters/DmarcDmarcTypeQueryParam"},{"$ref":"#/components/parameters/DmarcPolicyEvaluatedReasonsTypeQueryParam"},{"$ref":"#/components/parameters/DmarcPolicyEvaluatedReasonsCommentQueryParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DmarcGetTimeseriesDmarcTypeStatsResponse"}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/dmarc/timeseries/org_name":{"get":{"operationId":"getDmarcTimeseriesOrgName","tags":["DMARC"],"summary":"Retrieve timeseries statistics for DMARC monitored domains grouped by org_name","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/DmarcRecordsDateFromQueryParam"},{"$ref":"#/components/parameters/DmarcRecordsDateToQueryParam"},{"$ref":"#/components/parameters/DmarcDomainQueryParam"},{"$ref":"#/components/parameters/DmarcProfileIdQueryParam"},{"$ref":"#/components/parameters/DmarcIpQueryParam"},{"$ref":"#/components/parameters/DmarcOrgNameQueryParam"},{"$ref":"#/components/parameters/DmarcIpOrgNameQueryParam"},{"$ref":"#/components/parameters/DmarcDispositionQueryParam"},{"$ref":"#/components/parameters/DmarcDmarcTypeQueryParam"},{"$ref":"#/components/parameters/DmarcPolicyEvaluatedReasonsTypeQueryParam"},{"$ref":"#/components/parameters/DmarcPolicyEvaluatedReasonsCommentQueryParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DmarcGetTimeseriesOrgNameResponse"}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/dmarc/timeseries/ip_org_name":{"get":{"operationId":"getDmarcTimeseriesIpOrgName","tags":["DMARC"],"summary":"Retrieve timeseries statistics for DMARC monitored domains grouped by ip_org_name","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/DmarcRecordsDateFromQueryParam"},{"$ref":"#/components/parameters/DmarcRecordsDateToQueryParam"},{"$ref":"#/components/parameters/DmarcDomainQueryParam"},{"$ref":"#/components/parameters/DmarcProfileIdQueryParam"},{"$ref":"#/components/parameters/DmarcIpQueryParam"},{"$ref":"#/components/parameters/DmarcOrgNameQueryParam"},{"$ref":"#/components/parameters/DmarcIpOrgNameQueryParam"},{"$ref":"#/components/parameters/DmarcDispositionQueryParam"},{"$ref":"#/components/parameters/DmarcDmarcTypeQueryParam"},{"$ref":"#/components/parameters/DmarcPolicyEvaluatedReasonsTypeQueryParam"},{"$ref":"#/components/parameters/DmarcPolicyEvaluatedReasonsCommentQueryParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DmarcGetTimeseriesIpOrgNameResponse"}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/dmarc/timeseries/disposition":{"get":{"operationId":"getDmarcTimeseriesDisposition","tags":["DMARC"],"summary":"Retrieve timeseries statistics for DMARC monitored domains grouped by disposition","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/DmarcRecordsDateFromQueryParam"},{"$ref":"#/components/parameters/DmarcRecordsDateToQueryParam"},{"$ref":"#/components/parameters/DmarcDomainQueryParam"},{"$ref":"#/components/parameters/DmarcProfileIdQueryParam"},{"$ref":"#/components/parameters/DmarcIpQueryParam"},{"$ref":"#/components/parameters/DmarcOrgNameQueryParam"},{"$ref":"#/components/parameters/DmarcIpOrgNameQueryParam"},{"$ref":"#/components/parameters/DmarcDispositionQueryParam"},{"$ref":"#/components/parameters/DmarcDmarcTypeQueryParam"},{"$ref":"#/components/parameters/DmarcPolicyEvaluatedReasonsTypeQueryParam"},{"$ref":"#/components/parameters/DmarcPolicyEvaluatedReasonsCommentQueryParam"},{"name":"with_domains","in":"query","description":"return all domains for every record","default":true,"schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DmarcGetTimeseriesDispositionResponse"}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/dmarc/aggregated/count":{"get":{"operationId":"getDmarcAggregatedCount","tags":["DMARC"],"summary":"Retrieve aggregated email count statistics across all DMARC monitored domains","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/DmarcRecordsDateFromQueryParam"},{"$ref":"#/components/parameters/DmarcRecordsDateToQueryParam"},{"$ref":"#/components/parameters/DmarcDomainQueryParam"},{"$ref":"#/components/parameters/DmarcProfileIdQueryParam"},{"$ref":"#/components/parameters/DmarcIpQueryParam"},{"$ref":"#/components/parameters/DmarcOrgNameQueryParam"},{"$ref":"#/components/parameters/DmarcIpOrgNameQueryParam"},{"$ref":"#/components/parameters/DmarcDispositionQueryParam"},{"$ref":"#/components/parameters/DmarcDmarcTypeQueryParam"},{"$ref":"#/components/parameters/DmarcPolicyEvaluatedReasonsTypeQueryParam"},{"$ref":"#/components/parameters/DmarcPolicyEvaluatedReasonsCommentQueryParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/DmarcGetAggregatedCountResponse"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/dmarc/aggregated/domain":{"get":{"operationId":"getDmarcAggregatedDomain","tags":["DMARC"],"summary":"Retrieve aggregated DMARC statistics grouped by monitored domain","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/PaginationOffset"},{"$ref":"#/components/parameters/PaginationLimit"},{"$ref":"#/components/parameters/DmarcAggregatedOrgNameSortQueryParam"},{"$ref":"#/components/parameters/DmarcRecordsDateFromQueryParam"},{"$ref":"#/components/parameters/DmarcRecordsDateToQueryParam"},{"$ref":"#/components/parameters/DmarcDomainQueryParam"},{"$ref":"#/components/parameters/DmarcProfileIdQueryParam"},{"$ref":"#/components/parameters/DmarcIpQueryParam"},{"$ref":"#/components/parameters/DmarcOrgNameQueryParam"},{"$ref":"#/components/parameters/DmarcIpOrgNameQueryParam"},{"$ref":"#/components/parameters/DmarcDispositionQueryParam"},{"$ref":"#/components/parameters/DmarcDmarcTypeQueryParam"},{"$ref":"#/components/parameters/DmarcPolicyEvaluatedReasonsTypeQueryParam"},{"$ref":"#/components/parameters/DmarcPolicyEvaluatedReasonsCommentQueryParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DmarcGetAggregatedDomainResponse"}},"meta":{"$ref":"#/components/schemas/PaginationDefaultMetaResponse"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/dmarc/aggregated/ip":{"get":{"operationId":"getDmarcAggregatedIp","tags":["DMARC"],"summary":"Retrieve aggregated DMARC statistics grouped by sending IP address","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/PaginationOffset"},{"$ref":"#/components/parameters/PaginationLimit"},{"$ref":"#/components/parameters/DmarcAggregatedOrgNameSortQueryParam"},{"$ref":"#/components/parameters/DmarcRecordsDateFromQueryParam"},{"$ref":"#/components/parameters/DmarcRecordsDateToQueryParam"},{"$ref":"#/components/parameters/DmarcDomainQueryParam"},{"$ref":"#/components/parameters/DmarcProfileIdQueryParam"},{"$ref":"#/components/parameters/DmarcIpQueryParam"},{"$ref":"#/components/parameters/DmarcOrgNameQueryParam"},{"$ref":"#/components/parameters/DmarcIpOrgNameQueryParam"},{"$ref":"#/components/parameters/DmarcDispositionQueryParam"},{"$ref":"#/components/parameters/DmarcDmarcTypeQueryParam"},{"$ref":"#/components/parameters/DmarcPolicyEvaluatedReasonsTypeQueryParam"},{"$ref":"#/components/parameters/DmarcPolicyEvaluatedReasonsCommentQueryParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DmarcGetAggregatedIpResponse"}},"meta":{"$ref":"#/components/schemas/PaginationDefaultMetaResponse"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/dmarc/aggregated/org_name":{"get":{"operationId":"getDmarcAggregatedOrgName","tags":["DMARC"],"summary":"Retrieve aggregated DMARC statistics grouped by org_name","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/PaginationOffset"},{"$ref":"#/components/parameters/PaginationLimit"},{"$ref":"#/components/parameters/DmarcAggregatedOrgNameSortQueryParam"},{"$ref":"#/components/parameters/DmarcRecordsDateFromQueryParam"},{"$ref":"#/components/parameters/DmarcRecordsDateToQueryParam"},{"$ref":"#/components/parameters/DmarcDomainQueryParam"},{"$ref":"#/components/parameters/DmarcProfileIdQueryParam"},{"$ref":"#/components/parameters/DmarcIpQueryParam"},{"$ref":"#/components/parameters/DmarcOrgNameQueryParam"},{"$ref":"#/components/parameters/DmarcIpOrgNameQueryParam"},{"$ref":"#/components/parameters/DmarcDispositionQueryParam"},{"$ref":"#/components/parameters/DmarcDmarcTypeQueryParam"},{"$ref":"#/components/parameters/DmarcPolicyEvaluatedReasonsTypeQueryParam"},{"$ref":"#/components/parameters/DmarcPolicyEvaluatedReasonsCommentQueryParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DmarcGetAggregatedOrgNameResponse"}},"meta":{"$ref":"#/components/schemas/PaginationDefaultMetaResponse"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/dmarc/aggregated/ip_org_name":{"get":{"operationId":"getDmarcAggregatedIpOrgName","tags":["DMARC"],"summary":"Retrieve aggregated DMARC statistics grouped by ip_org_name","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/PaginationOffset"},{"$ref":"#/components/parameters/PaginationLimit"},{"$ref":"#/components/parameters/DmarcAggregatedIpOrgNameSortQueryParam"},{"$ref":"#/components/parameters/DmarcRecordsDateFromQueryParam"},{"$ref":"#/components/parameters/DmarcRecordsDateToQueryParam"},{"$ref":"#/components/parameters/DmarcDomainQueryParam"},{"$ref":"#/components/parameters/DmarcProfileIdQueryParam"},{"$ref":"#/components/parameters/DmarcIpQueryParam"},{"$ref":"#/components/parameters/DmarcOrgNameQueryParam"},{"$ref":"#/components/parameters/DmarcIpOrgNameQueryParam"},{"$ref":"#/components/parameters/DmarcDispositionQueryParam"},{"$ref":"#/components/parameters/DmarcDmarcTypeQueryParam"},{"$ref":"#/components/parameters/DmarcPolicyEvaluatedReasonsTypeQueryParam"},{"$ref":"#/components/parameters/DmarcPolicyEvaluatedReasonsCommentQueryParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DmarcGetAggregatedIpOrgNameResponse"}},"meta":{"$ref":"#/components/schemas/PaginationDefaultMetaResponse"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/dmarc/aggregated/ip_country":{"get":{"operationId":"getDmarcAggregatedIpCountry","tags":["DMARC"],"summary":"Retrieve aggregated DMARC statistics grouped by ip_country","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/DmarcRecordsDateFromQueryParam"},{"$ref":"#/components/parameters/DmarcRecordsDateToQueryParam"},{"$ref":"#/components/parameters/DmarcDomainQueryParam"},{"$ref":"#/components/parameters/DmarcProfileIdQueryParam"},{"$ref":"#/components/parameters/DmarcIpQueryParam"},{"$ref":"#/components/parameters/DmarcOrgNameQueryParam"},{"$ref":"#/components/parameters/DmarcIpOrgNameQueryParam"},{"$ref":"#/components/parameters/DmarcDispositionQueryParam"},{"$ref":"#/components/parameters/DmarcDmarcTypeQueryParam"},{"$ref":"#/components/parameters/DmarcPolicyEvaluatedReasonsTypeQueryParam"},{"$ref":"#/components/parameters/DmarcPolicyEvaluatedReasonsCommentQueryParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DmarcGetAggregatedIpCountryResponse"}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/dmarc/aggregated/policy_evaluated_reason_type":{"get":{"operationId":"getDmarcAggregatedPolicyEvaluatedReasonType","tags":["DMARC"],"summary":"Retrieve aggregated DMARC statistics grouped by policy_evaluated_reasons_type","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/PaginationOffset"},{"$ref":"#/components/parameters/PaginationLimit"},{"$ref":"#/components/parameters/DmarcPolicyEvaluatedReasonSortQueryParam"},{"$ref":"#/components/parameters/DmarcRecordsDateFromQueryParam"},{"$ref":"#/components/parameters/DmarcRecordsDateToQueryParam"},{"$ref":"#/components/parameters/DmarcDomainQueryParam"},{"$ref":"#/components/parameters/DmarcProfileIdQueryParam"},{"$ref":"#/components/parameters/DmarcIpQueryParam"},{"$ref":"#/components/parameters/DmarcOrgNameQueryParam"},{"$ref":"#/components/parameters/DmarcIpOrgNameQueryParam"},{"$ref":"#/components/parameters/DmarcDispositionQueryParam"},{"$ref":"#/components/parameters/DmarcDmarcTypeQueryParam"},{"$ref":"#/components/parameters/DmarcPolicyEvaluatedReasonsTypeQueryParam"},{"$ref":"#/components/parameters/DmarcPolicyEvaluatedReasonsCommentQueryParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DmarcGetAggregatedPolicyEvaluatedReasonTypeResponse"}},"meta":{"$ref":"#/components/schemas/PaginationDefaultMetaResponse"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/dmarc/aggregated/policy_evaluated_reason_comment":{"get":{"operationId":"getDmarcAggregatedPolicyEvaluatedReasonComment","tags":["DMARC"],"summary":"Retrieve aggregated DMARC statistics grouped by evaluated policy_evaluated_reasons_comment","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/PaginationOffset"},{"$ref":"#/components/parameters/PaginationLimit"},{"$ref":"#/components/parameters/DmarcPolicyEvaluatedReasonSortQueryParam"},{"$ref":"#/components/parameters/DmarcRecordsDateFromQueryParam"},{"$ref":"#/components/parameters/DmarcRecordsDateToQueryParam"},{"$ref":"#/components/parameters/DmarcDomainQueryParam"},{"$ref":"#/components/parameters/DmarcProfileIdQueryParam"},{"$ref":"#/components/parameters/DmarcIpQueryParam"},{"$ref":"#/components/parameters/DmarcOrgNameQueryParam"},{"$ref":"#/components/parameters/DmarcIpOrgNameQueryParam"},{"$ref":"#/components/parameters/DmarcDispositionQueryParam"},{"$ref":"#/components/parameters/DmarcDmarcTypeQueryParam"},{"$ref":"#/components/parameters/DmarcPolicyEvaluatedReasonsTypeQueryParam"},{"$ref":"#/components/parameters/DmarcPolicyEvaluatedReasonsCommentQueryParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DmarcGetAggregatedPolicyEvaluatedReasonCommentResponse"}},"meta":{"$ref":"#/components/schemas/PaginationDefaultMetaResponse"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/dmarc/catch_up_email":{"get":{"operationId":"getDmarcCatchUpEmail","tags":["DMARC"],"summary":"Retrieve the DMARC catch-up email address to use for forwarding historical aggregate reports","security":[{"ApiKeyAuth":[]}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"string","description":"DMARC record address with a user-specific email identifier","example":"dmarc+user123@emailconsul.com"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/domains/add_bulk":{"post":{"operationId":"postDomainsAddBulk","tags":["Domains"],"summary":"Add multiple domains for blocklist monitoring","security":[{"ApiKeyAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainsAddBulkBody"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"boolean"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/domains/populate":{"post":{"operationId":"postDomainsPopulate","tags":["Domains"],"summary":"Add multiple domains along with their associated DKIM selectors for monitoring","security":[{"ApiKeyAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainsPopulateBody"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"boolean"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/domains":{"get":{"operationId":"getDomains","tags":["Domains"],"summary":"Retrieve all domains currently monitored for blocklist status and DKIM validation","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/PaginationOffset"},{"$ref":"#/components/parameters/PaginationLimit"},{"$ref":"#/components/parameters/DomainsSortBaseFilter"},{"$ref":"#/components/parameters/DomainsProfileIdBaseFilter"},{"$ref":"#/components/parameters/DomainsDomainBaseFilter"},{"$ref":"#/components/parameters/DomainsRdnsBaseFilter"},{"$ref":"#/components/parameters/DomainsRblHostsBaseFilter"},{"$ref":"#/components/parameters/DomainsBlacklistedBaseFilter"}],"responses":{"200":{"description":"Returns list of domains","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DomainsItemBaseModel"}},"meta":{"$ref":"#/components/schemas/PaginationDefaultMetaResponse"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}},"delete":{"operationId":"deleteDomains","tags":["Domains"],"summary":"Delete all monitored domains matching the specified filter criteria","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/DomainsProfileIdBaseFilter"},{"$ref":"#/components/parameters/DomainsDomainBaseFilter"},{"$ref":"#/components/parameters/DomainsRdnsBaseFilter"},{"$ref":"#/components/parameters/DomainsRblHostsBaseFilter"},{"$ref":"#/components/parameters/DomainsBlacklistedBaseFilter"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"boolean"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/domains/stats/aggregated":{"get":{"operationId":"getDomainsStatsAggregated","tags":["Domains"],"summary":"Retrieve aggregated blocklist statistics for all monitored domains","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/DomainsProfileIdBaseFilter"},{"$ref":"#/components/parameters/DomainsDomainBaseFilter"},{"$ref":"#/components/parameters/DomainsRdnsBaseFilter"},{"$ref":"#/components/parameters/DomainsRblHostsBaseFilter"},{"$ref":"#/components/parameters/DomainsBlacklistedBaseFilter"}],"responses":{"200":{"description":"Returns aggregated domain statistics","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"total":{"type":"integer","description":"Total number of domains"},"blacklisted":{"type":"integer","description":"Number of domains listed in blacklists"},"spf_passed":{"type":"integer","description":"Number of domains with valid SPF records"},"dmarc_warnings":{"type":"integer","description":"Number of domains with DMARC configuration warnings"},"dkim_empty":{"type":"integer","description":"Number of domains without DKIM configuration"},"dkim_errors":{"type":"integer","description":"Number of domains with DKIM configuration errors"},"dkim_warnings":{"type":"integer","description":"Number of domains with DKIM configuration warnings"}}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/domains/{id}":{"delete":{"operationId":"deleteDomainById","tags":["Domains"],"summary":"Delete a monitored domain by its ID","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"id","in":"path","schema":{"type":"string"},"description":"Domain ID","required":true}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"boolean"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"404":{"$ref":"#/components/responses/NotFoundResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}},"patch":{"operationId":"patchDomainById","tags":["Domains"],"summary":"Update the details of a monitored domain by its ID","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"id","in":"path","schema":{"type":"string"},"description":"Domain ID","required":true}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainsPatchDomain"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/DomainsItemBaseModel"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"404":{"$ref":"#/components/responses/NotFoundResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}},"get":{"operationId":"getDomainById","tags":["Domains"],"summary":"Retrieve a monitored domain by its ID","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"id","in":"path","schema":{"type":"string"},"description":"Domain ID","required":true}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/DomainsItemBaseModel"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"404":{"$ref":"#/components/responses/NotFoundResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/domains/{id}/refresh":{"post":{"operationId":"postDomainRefresh","tags":["Domains"],"summary":"Refresh domain information by ID. Sets domain's status to WAITING and sends domain for validation. Can not be used more than once in 5 minutes for one domain.","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"id","in":"path","schema":{"type":"string"},"description":"Domain ID","required":true}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/DomainsItemBaseModel"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"404":{"$ref":"#/components/responses/NotFoundResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/domains/available_count":{"get":{"operationId":"getDomainsAvailableCount","tags":["Domains"],"summary":"Retrieve the number of domains that can be added in the current user's plan","security":[{"ApiKeyAuth":[]}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"integer"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/domains/import":{"post":{"operationId":"postDomainsImport","tags":["Domains"],"summary":"Import domains from a CSV file. The CSV must include a \"domain\" column and an optional \"selectors\" column with semicolon-separated DKIM selectors","security":[{"ApiKeyAuth":[]}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"}}},"encoding":{"file":{"contentType":"text/csv"}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","additionalProperties":false,"properties":{"added":{"type":"integer","description":"Number of domains successfully added"},"not_added":{"type":"integer","description":"Number of domains that were not added"},"not_valid":{"type":"array","description":"List of invalid domain names that were rejected","items":{"type":"string"}}}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/domains/export":{"get":{"operationId":"getDomainsExport","tags":["Domains"],"summary":"Export monitored domains matching the specified filters as a CSV file","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/DomainsSortBaseFilter"},{"$ref":"#/components/parameters/DomainsProfileIdBaseFilter"},{"$ref":"#/components/parameters/DomainsDomainBaseFilter"},{"$ref":"#/components/parameters/DomainsRdnsBaseFilter"},{"$ref":"#/components/parameters/DomainsRblHostsBaseFilter"},{"$ref":"#/components/parameters/DomainsBlacklistedBaseFilter"}],"responses":{"200":{"content":{"application/csv":{"schema":{"type":"string","format":"binary"}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/domains/{id}/rbl_changes_log":{"get":{"operationId":"getDomainRblChangesLog","tags":["Domains"],"summary":"Retrieve the history of RBL status changes for a specific monitored domain","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"id","in":"path","schema":{"type":"string"},"description":"Domain ID","required":true}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"domain":{"type":"string","description":"Domain name"},"data":{"type":"array","description":"List of blacklist status changes for the domain","items":{"type":"object","properties":{"host":{"type":"string","description":"RBL provider hostname"},"status":{"type":"string","enum":["RESOLVED","BLACKLISTED"],"description":"Current blacklist status"},"created_at":{"type":"string","format":"date-time","description":"Timestamp when the status change was recorded"}}}}}}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"404":{"$ref":"#/components/responses/NotFoundResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/email_delivery/emails/stats/timeseries":{"get":{"operationId":"getEmailDeliveryTimeseriesStats","tags":["Email Delivery"],"summary":"Retrieve timeseries statistics for email deliveries grouped by date","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/PeriodFromParam"},{"$ref":"#/components/parameters/PeriodToParam"},{"$ref":"#/components/parameters/PaginationOffset"},{"$ref":"#/components/parameters/PaginationLimit"},{"name":"domain","in":"query","description":"Filter by domain (partial string match)","schema":{"type":"string"}},{"$ref":"#/components/parameters/EmailDeliveryStatusParam"},{"name":"sort","in":"query","description":"Sort results by field.","schema":{"type":"string","enum":["date","-date","delivered","-delivered","opened","-opened","clicked","-clicked","unsubscribed","-unsubscribed","hard_bounced","-hard_bounced","bounced","-bounced","spam_reported","-spam_reported","dropped_unsubscribed","-dropped_unsubscribed","dropped_hard_bounced","-dropped_hard_bounced","dropped_spam_reported","-dropped_spam_reported","dropped_manually_suppressed","-dropped_manually_suppressed"],"example":"-date"}}],"responses":{"200":{"description":"Aggregated email delivery statistics by date","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/EmailDeliveryTimeseriesStatsItem"}},"meta":{"$ref":"#/components/schemas/PaginationDefaultMetaResponse"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/email_delivery/emails/{email_delivery_id}/logs":{"get":{"operationId":"getEmailDeliveryEmailLogs","tags":["Email Delivery"],"summary":"Retrieve the event logs for a specific email delivery record","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"email_delivery_id","in":"path","required":true,"description":"Email delivery ID","schema":{"type":"string"}},{"name":"offset","in":"query","schema":{"type":"integer","default":0}},{"name":"limit","in":"query","schema":{"type":"integer","default":100}},{"name":"sort","in":"query","description":"example -timestamp (desc) or timestamp (asc)","schema":{"type":"string","enum":["timestamp","-timestamp"]}}],"responses":{"200":{"description":"List of email delivery logs","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/EmailDeliveryLog"}},"meta":{"$ref":"#/components/schemas/PaginationDefaultMetaResponse"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/email_delivery/suppressions":{"get":{"operationId":"getEmailDeliverySuppressions","tags":["Email Delivery"],"summary":"Retrieve all email suppression records for the current user","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/EmailDeliverySuppressionTypeParam"},{"$ref":"#/components/parameters/EmailDeliveryRecipientParam"},{"name":"offset","in":"query","schema":{"type":"integer","default":0}},{"name":"limit","in":"query","schema":{"type":"integer","default":100,"maximum":1000}},{"name":"sort","in":"query","description":"example -created_at (desc) or created_at (asc)","schema":{"type":"string","enum":["created_at","-created_at"]}}],"responses":{"200":{"description":"List of email delivery suppressions","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailDeliverySuppressionListResponse"}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}},"delete":{"operationId":"deleteAllEmailDeliverySuppressions","tags":["Email Delivery"],"summary":"Delete all suppressions matching the specified filters","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/EmailDeliverySuppressionTypeParam"},{"$ref":"#/components/parameters/EmailDeliveryRecipientParam"}],"responses":{"200":{"$ref":"#/components/responses/EmailDeliveryBooleanDataResponse"},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}},"post":{"operationId":"postEmailDeliverySuppressions","tags":["Email Delivery"],"summary":"Manually add up to 2000 email addresses to the suppression list","security":[{"ApiKeyAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["emails"],"properties":{"emails":{"type":"array","description":"Array of email suppression entries","items":{"type":"object","required":["email"],"properties":{"email":{"type":"string","format":"email","description":"Email address to suppress"},"reason":{"type":"string","description":"Optional reason for suppression (max 1024 characters)","maxLength":1024}}}}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"boolean"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/email_delivery/suppressions/{id}":{"delete":{"operationId":"deleteEmailDeliverySuppressionById","tags":["Email Delivery"],"summary":"Delete an email suppression record by its ID","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"Suppression ID","schema":{"type":"string"}},{"$ref":"#/components/parameters/EmailDeliverySuppressionTypeParam"}],"responses":{"200":{"$ref":"#/components/responses/EmailDeliveryBooleanDataResponse"},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"404":{"$ref":"#/components/responses/NotFoundResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/email_delivery/suppressions/import":{"post":{"operationId":"postEmailDeliverySuppressionsImport","tags":["Email Delivery"],"summary":"Import email suppression records from a CSV file with a required `email` column and an optional `reason` column","security":[{"ApiKeyAuth":[]}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"}}},"encoding":{"file":{"contentType":"text/csv"}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","additionalProperties":false,"properties":{"added":{"type":"integer","description":"Number of suppressions successfully added"},"not_added":{"type":"integer","description":"Number of emails not added (already suppressed manually)"},"not_valid":{"type":"array","description":"List of invalid email addresses (up to 100, followed by \"and more...\" if exceeded)","items":{"type":"string"}}}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/email_delivery/suppressions/export_csv":{"get":{"operationId":"getEmailDeliverySuppressionsExportCsv","tags":["Email Delivery"],"summary":"Export email delivery suppressions as CSV","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/EmailDeliverySuppressionTypeParam"},{"$ref":"#/components/parameters/EmailDeliveryRecipientParam"},{"name":"sort","in":"query","description":"example -created_at (desc) or created_at (asc)","schema":{"type":"string","enum":["created_at","-created_at"]}}],"responses":{"200":{"description":"CSV file with suppressions","content":{"text/csv":{"schema":{"type":"string"}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/gpdomains/add_bulk":{"post":{"operationId":"postGpDomainsAddBulk","tags":["Google postmaster"],"summary":"Add multiple domains for Google Postmaster monitoring","security":[{"ApiKeyAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GpDomainsAddBulkBody"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"boolean"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/gpdomains":{"get":{"operationId":"getGpDomains","tags":["Google postmaster"],"summary":"Retrieve Google Postmaster data for monitored domains within a specified time period","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/PaginationOffset"},{"$ref":"#/components/parameters/PaginationLimit"},{"$ref":"#/components/parameters/StatsDateFromQueryParam"},{"$ref":"#/components/parameters/StatsDateToQueryParam"},{"$ref":"#/components/parameters/GPDomainQueryParam"},{"$ref":"#/components/parameters/GPDomainReputationQueryParam"},{"$ref":"#/components/parameters/GPDomainProfileIdQueryParam"},{"$ref":"#/components/parameters/GPIpQueryParam"},{"name":"hide_without_stats","in":"query","description":"hide all domains without trafficStats","default":true,"schema":{"type":"boolean"}},{"name":"include_deleted","in":"query","description":"include deleted domains in results","default":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"Returns google postmaster data with all trafic stats for specific period","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/GpDomainsGetAllResponseItem"}},"meta":{"$ref":"#/components/schemas/PaginationDefaultMetaResponse"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/gpdomains/timeseries/domain_reputation":{"get":{"operationId":"getGpDomainsTimeseriesDomainReputation","tags":["Google postmaster"],"summary":"Retrieve timeseries statistics for domain reputation levels reported by Google Postmaster","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/StatsDateFromQueryParam"},{"$ref":"#/components/parameters/StatsDateToQueryParam"},{"$ref":"#/components/parameters/GPDomainQueryParam"},{"$ref":"#/components/parameters/GPDomainReputationQueryParam"},{"$ref":"#/components/parameters/GPDomainProfileIdQueryParam"},{"$ref":"#/components/parameters/GPIpQueryParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","description":"Domain reputation statistics grouped by date and reputation category","items":{"type":"object","properties":{"date":{"type":"string","format":"date","description":"Date of the record"},"reputation":{"type":"string","description":"Domain reputation category for this date"},"count":{"type":"number","description":"Number of domains with this reputation category on this date"}}}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/gpdomains/timeseries/ip_reputation":{"get":{"operationId":"getGpDomainsTimeseriesIpReputation","tags":["Google postmaster"],"summary":"Retrieve timeseries statistics for IP reputation levels reported by Google Postmaster","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/StatsDateFromQueryParam"},{"$ref":"#/components/parameters/StatsDateToQueryParam"},{"$ref":"#/components/parameters/GPDomainQueryParam"},{"$ref":"#/components/parameters/GPDomainReputationQueryParam"},{"$ref":"#/components/parameters/GPDomainProfileIdQueryParam"},{"$ref":"#/components/parameters/GPIpQueryParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","description":"IP reputation statistics grouped by date and reputation category","items":{"type":"object","properties":{"date":{"type":"string","format":"date","description":"Date of the record"},"reputation":{"type":"string","description":"IP reputation category for this date"},"count":{"type":"number","description":"Number of IPs with this reputation category on this date"}}}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/gpdomains/timeseries/user_reported_spam_ratio":{"get":{"operationId":"getGpDomainsTimeseriesUserReportedSpamRatio","tags":["Google postmaster"],"summary":"Retrieve timeseries statistics for the average user-reported spam ratio for monitored domains","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/StatsDateFromQueryParam"},{"$ref":"#/components/parameters/StatsDateToQueryParam"},{"$ref":"#/components/parameters/GPDomainQueryParam"},{"$ref":"#/components/parameters/GPDomainReputationQueryParam"},{"$ref":"#/components/parameters/GPDomainProfileIdQueryParam"},{"$ref":"#/components/parameters/GPIpQueryParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","description":"Average user-reported spam ratio statistics over time","items":{"type":"object","properties":{"date":{"type":"string","format":"date","description":"Date of the record"},"avg":{"type":"number","description":"Average user-reported spam ratio across all matching domains for this date"}}}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/gpdomains/aggregated/user_reported_spam_ratio":{"get":{"operationId":"getGpDomainsAggregatedUserReportedSpamRatio","tags":["Google postmaster"],"summary":"Retrieve aggregated average user-reported spam ratio grouped by monitored domain","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/StatsDateFromQueryParam"},{"$ref":"#/components/parameters/StatsDateToQueryParam"},{"$ref":"#/components/parameters/GPDomainQueryParam"},{"$ref":"#/components/parameters/GPDomainReputationQueryParam"},{"$ref":"#/components/parameters/GPDomainProfileIdQueryParam"},{"$ref":"#/components/parameters/GPIpQueryParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","description":"List of average user-reported spam ratios aggregated per domain for the specified period","items":{"type":"object","properties":{"domain":{"type":"string","description":"The monitored domain name"},"avg":{"type":"number","description":"Average user-reported spam ratio for this domain over the specified period"}}}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/gpdomains/aggregated/feedback_loop_spam_ratio":{"get":{"operationId":"getGpDomainsAggregatedFeedbackLoopSpamRatio","tags":["Google postmaster"],"summary":"Retrieve aggregated average spam ratio grouped by Google Feedback Loop tag","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/StatsDateFromQueryParam"},{"$ref":"#/components/parameters/StatsDateToQueryParam"},{"$ref":"#/components/parameters/GPDomainQueryParam"},{"$ref":"#/components/parameters/GPDomainReputationQueryParam"},{"$ref":"#/components/parameters/GPDomainProfileIdQueryParam"},{"$ref":"#/components/parameters/GPIpQueryParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","description":"List of average spam ratios aggregated per feedback loop tag for the specified period","items":{"type":"object","properties":{"tag":{"type":"string","description":"Feedback loop tag identifier"},"avg":{"type":"number","description":"Average spam ratio reported via this feedback loop tag over the specified period"}}}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/gpdomains/aggregated/delivery_errors_ratio":{"get":{"operationId":"getGpDomainsAggregatedDeliveryErrorsRatio","tags":["Google postmaster"],"summary":"Retrieve aggregated delivery error ratios grouped by monitored domain from Google Postmaster","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/StatsDateFromQueryParam"},{"$ref":"#/components/parameters/StatsDateToQueryParam"},{"$ref":"#/components/parameters/GPDomainQueryParam"},{"$ref":"#/components/parameters/GPDomainReputationQueryParam"},{"$ref":"#/components/parameters/GPDomainProfileIdQueryParam"},{"$ref":"#/components/parameters/GPIpQueryParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","description":"List of delivery error ratios aggregated by domain, error class, and error type","items":{"type":"object","properties":{"domain":{"type":"string","description":"The monitored domain name"},"error_class":{"type":"string","description":"Classification of the delivery error"},"error_type":{"type":"string","description":"Specific type of delivery error"},"avg":{"type":"number","description":"Average ratio of messages affected by this error type for the specified period"}}}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/gpdomains/{id}":{"delete":{"operationId":"deleteGpDomainById","tags":["Google postmaster"],"summary":"Delete a Google Postmaster domain by ID","security":[{"ApiKeyAuth":[]}],"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"},"description":"Unique identifier of the Google Postmaster domain to delete"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"boolean"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"404":{"$ref":"#/components/responses/NotFoundResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/gpdomains/restore/{id}":{"post":{"operationId":"postGpDomainRestore","tags":["Google postmaster"],"summary":"Restore a Google Postmaster deleted domain by ID","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"Unique identifier of the Google Postmaster deleted domain to restore","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"boolean"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"404":{"$ref":"#/components/responses/NotFoundResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/gpdomains/available_count":{"get":{"operationId":"getGpDomainsAvailableCount","tags":["Google postmaster"],"summary":"Retrieve the number of additional Google Postmaster domains that can be added in the current user's plan","security":[{"ApiKeyAuth":[]}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"integer","description":"Number of domains that can be added to Google Postmaster according to the current billing plan limits"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/gpdomains/import":{"post":{"operationId":"postGpDomainsImport","tags":["Google postmaster"],"summary":"Import multiple Google Postmaster monitored domains from a CSV file","security":[{"ApiKeyAuth":[]}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"}}},"encoding":{"file":{"contentType":"text/csv"}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","additionalProperties":false,"properties":{"added":{"type":"integer","description":"Number of domains successfully added from the CSV file"},"not_added":{"type":"integer","description":"Number of domains that were not added due to errors in the CSV file"},"not_valid":{"type":"array","description":"List of domains that were not valid","items":{"type":"string"}}}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/gpdomains/run":{"post":{"operationId":"postGpDomainsRun","tags":["Google postmaster"],"summary":"Trigger a Google Postmaster data sync for a specific date","security":[{"ApiKeyAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"date":{"type":"string","format":"date-time","description":"The target date for which to fetch Google Postmaster data","example":"2021-08-05T00:00:00.000Z"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"boolean"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/gpdomains/history":{"get":{"operationId":"getGpDomainsHistory","tags":["Google postmaster"],"summary":"Get the history of Google Postmaster data sync runs","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/PaginationOffset"},{"name":"limit","in":"query","description":"Maximum number of history entries to return","schema":{"oneOf":[{"type":"string"},{"type":"integer"}],"minimum":1,"default":5}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/GpDomainsHistory"}}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/honeytoken/trusted_domains/add_bulk":{"post":{"operationId":"postHoneytokenTrustedDomainsAddBulk","tags":["Honeytoken"],"summary":"Add multiple trusted domains to honeytoken feature for the current user","security":[{"ApiKeyAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HoneytokenTrustedDomainsAddBulkBody"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"boolean","description":"Returns true if trusted domains were successfully added to honeytoken feature"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/honeytoken/trusted_domains/import":{"post":{"operationId":"postHoneytokenTrustedDomainsImport","tags":["Honeytoken"],"summary":"Import multiple trusted domains to honeytoken feature for the current user from CSV","security":[{"ApiKeyAuth":[]}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","required":["file"],"properties":{"file":{"type":"string","format":"binary","description":"CSV file containing trusted domain values for the honeytoken feature. Each entry can be a plain domain (e.g. example.com) or a wildcard (e.g. *.example.com) to match the domain itself and all its subdomains"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/HoneytokenTrustedDomainsImportResponse","description":"Import result with counts of added, skipped and invalid honeytoken trusted domains"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/honeytoken/trusted_domains":{"get":{"operationId":"getHoneytokenTrustedDomains","tags":["Honeytoken"],"summary":"Get honeytoken feature trusted domains for the current user","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/PaginationOffset"},{"$ref":"#/components/parameters/PaginationLimit"},{"$ref":"#/components/parameters/HoneytokenTrustedDomainsSortBaseFilter"},{"$ref":"#/components/parameters/HoneytokenTrustedDomainsDomainBaseFilter"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","description":"List of honeytoken trusted domain items for the current user","items":{"$ref":"#/components/schemas/HoneytokenTrustedDomainItemResponse"}},"meta":{"$ref":"#/components/schemas/PaginationDefaultMetaResponse"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/honeytoken/trusted_domains/{id}":{"delete":{"operationId":"deleteHoneytokenTrustedDomainsById","tags":["Honeytoken"],"summary":"Delete honeytoken feature trusted domain for the current user by id","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"id","in":"path","schema":{"type":"string"},"description":"Honeytoken feature trusted domain id","required":true}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"boolean","description":"Returns true if the honeytoken trusted domain was successfully deleted"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"404":{"$ref":"#/components/responses/NotFoundResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/honeytoken/logs":{"get":{"operationId":"getHoneytokenLogs","tags":["Honeytoken"],"summary":"Get honeytoken logs for the current user","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/PeriodFromParam"},{"$ref":"#/components/parameters/PeriodToParam"},{"$ref":"#/components/parameters/PaginationOffset"},{"$ref":"#/components/parameters/PaginationLimit"},{"$ref":"#/components/parameters/HoneytokenDomainBaseFilter"},{"$ref":"#/components/parameters/HoneytokenToEmailBaseFilter"},{"$ref":"#/components/parameters/HoneytokenFromEmailBaseFilter"},{"$ref":"#/components/parameters/HoneytokenSubjectBaseFilter"},{"$ref":"#/components/parameters/HoneytokenTrustedBaseFilter"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","description":"List of honeytoken log entries for the current user","items":{"$ref":"#/components/schemas/HoneytokenLogItemResponse"}},"meta":{"$ref":"#/components/schemas/PaginationDefaultMetaResponse"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/honeytoken/stats/aggregated/domain":{"get":{"operationId":"getHoneytokenStatsAggregatedDomain","tags":["Honeytoken"],"summary":"Retrieve aggregated statistics for honeytoken log events grouped by sender domain","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/PeriodFromParam"},{"$ref":"#/components/parameters/PeriodToParam"},{"$ref":"#/components/parameters/PaginationOffset"},{"$ref":"#/components/parameters/PaginationLimit"},{"$ref":"#/components/parameters/HoneytokenDomainBaseFilter"},{"$ref":"#/components/parameters/HoneytokenToEmailBaseFilter"},{"$ref":"#/components/parameters/HoneytokenFromEmailBaseFilter"},{"$ref":"#/components/parameters/HoneytokenTrustedBaseFilter"},{"name":"sort","in":"query","description":"Sort field. Example: -count (desc) or count (asc)","schema":{"type":"string","enum":["count","-count","domain","-domain","unique_email_count","-unique_email_count","unique_from_email_count","-unique_from_email_count"]}}],"responses":{"200":{"description":"Returns aggregated stats grouped by sender domain","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"domain":{"type":"string","description":"Sender domain"},"count":{"type":"number","description":"Total number of honeytoken log hits for this domain"},"unique_email_count":{"type":"number","description":"Number of unique recipient emails"},"unique_from_email_count":{"type":"number","description":"Number of unique sender emails"}}}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/honeytoken/stats/aggregated":{"get":{"operationId":"getHoneytokenStatsAggregated","tags":["Honeytoken"],"summary":"Retrieve aggregated statistics for honeytoken log events","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/PeriodFromParam"},{"$ref":"#/components/parameters/PeriodToParam"},{"$ref":"#/components/parameters/PaginationOffset"},{"$ref":"#/components/parameters/PaginationLimit"},{"$ref":"#/components/parameters/HoneytokenStatsGroupParamQuery"},{"$ref":"#/components/parameters/HoneytokenDomainBaseFilter"},{"$ref":"#/components/parameters/HoneytokenToEmailBaseFilter"},{"$ref":"#/components/parameters/HoneytokenFromEmailBaseFilter"},{"$ref":"#/components/parameters/HoneytokenTrustedBaseFilter"},{"name":"sort","in":"query","description":"Sort field. Example: -count (desc) or count (asc)","schema":{"type":"string","enum":["count","-count"]}}],"responses":{"200":{"description":"Returns aggregated stats","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"from_email":{"type":"string","description":"Sender email address (only present when `group=from_email`)"},"to_email":{"type":"string","description":"Recipient email address from meta (only present when `group=to_email`)"},"count":{"type":"number","description":"Total number of honeytoken log hits for this group"}}}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/honeytoken/stats/timeseries":{"get":{"operationId":"getHoneytokenStatsTimeseries","tags":["Honeytoken"],"summary":"Retrieve timeseries statistics for honeytoken log events","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/PeriodFromParam"},{"$ref":"#/components/parameters/PeriodToParam"},{"$ref":"#/components/parameters/HoneytokenDomainBaseFilter"},{"$ref":"#/components/parameters/HoneytokenToEmailBaseFilter"},{"$ref":"#/components/parameters/HoneytokenFromEmailBaseFilter"},{"$ref":"#/components/parameters/HoneytokenTrustedBaseFilter"}],"responses":{"200":{"description":"Returns timeseries stats","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","format":"date","description":"Date of the recorded honeytoken hits"},"total":{"type":"number","description":"Total number of honeytoken hits on this date"},"trusted":{"type":"number","description":"Number of hits from trusted senders on this date"},"not_trusted":{"type":"number","description":"Number of hits from not trusted senders on this date"}}}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/honeytoken/workers/export":{"get":{"operationId":"getHoneytokenWorkersExport","tags":["Honeytoken"],"summary":"Export honeytoken workers assigned to the current user as a CSV file","security":[{"ApiKeyAuth":[]}],"responses":{"200":{"content":{"application/csv":{"schema":{"type":"string","format":"binary"}}}},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/honeytoken/workers/stats":{"get":{"operationId":"getHoneytokenWorkersStats","tags":["Honeytoken"],"summary":"Retrieve active honeytoken worker counts grouped by host for the current user","security":[{"ApiKeyAuth":[]}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","description":"List of honeytoken worker counts grouped by host","items":{"type":"object","properties":{"host":{"type":"string","description":"Email provider hostname"},"count":{"type":"number","description":"Number of active workers for this host"}}}}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/insights":{"get":{"operationId":"getInsights","tags":["Insights"],"summary":"Retrieve all insights for IPs and domains detected in the last 24 hours, 7 days, or 30 days, including their source and all related information","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/PaginationOffset"},{"$ref":"#/components/parameters/PaginationLimit"},{"$ref":"#/components/parameters/InsightsIpFilter"},{"$ref":"#/components/parameters/InsightsDomainFilter"},{"$ref":"#/components/parameters/InsightsSourcesFilter"},{"$ref":"#/components/parameters/InsightsDmarcTypeFilter"},{"$ref":"#/components/parameters/InsightsSeedlistingTypeFilter"},{"$ref":"#/components/parameters/InsightsGpReputationFilter"},{"$ref":"#/components/parameters/InsightsSndsStatusFilter"},{"$ref":"#/components/parameters/InsightsBlocklistedFilter"},{"$ref":"#/components/parameters/InsightsIpOnlyFilter"},{"$ref":"#/components/parameters/InsightsDomainOnlyFilter"},{"$ref":"#/components/parameters/InsightsProfileIdFilter"}],"responses":{"200":{"description":"Insights retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InsightResponseModel"}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/insights/{id}":{"get":{"operationId":"getInsightById","tags":["Insights"],"summary":"Retrieve insights for one IP or domain detected in the last 24 hours, 7 days, or 30 days, including their source and all related information","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"Insight ID","schema":{"type":"string"}}],"responses":{"200":{"description":"Insight retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InsightModel"}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"404":{"$ref":"#/components/responses/NotFoundResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/insights/aggregated/ips":{"get":{"operationId":"getInsightsAggregatedIps","tags":["Insights"],"summary":"Retrieve aggregated statistics showing how many IPs are currently blocklisted, clean, or not monitored (including those detected across other users’ services)","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/InsightsIpFilter"},{"$ref":"#/components/parameters/InsightsDomainFilter"},{"$ref":"#/components/parameters/InsightsSourcesFilter"},{"$ref":"#/components/parameters/InsightsDmarcTypeFilter"},{"$ref":"#/components/parameters/InsightsSeedlistingTypeFilter"},{"$ref":"#/components/parameters/InsightsGpReputationFilter"},{"$ref":"#/components/parameters/InsightsSndsStatusFilter"},{"$ref":"#/components/parameters/InsightsBlocklistedFilter"},{"$ref":"#/components/parameters/InsightsIpOnlyFilter"},{"$ref":"#/components/parameters/InsightsDomainOnlyFilter"},{"$ref":"#/components/parameters/InsightsProfileIdFilter"}],"responses":{"200":{"description":"IP aggregation data retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IpAggregationResponseModel"}}}},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/insights/aggregated/domains":{"get":{"operationId":"getInsightsAggregatedDomains","tags":["Insights"],"summary":"Retrieve aggregated statistics showing how many domains are currently blocklisted, clean, or not monitored (including those detected across other users’ services)","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/InsightsIpFilter"},{"$ref":"#/components/parameters/InsightsDomainFilter"},{"$ref":"#/components/parameters/InsightsSourcesFilter"},{"$ref":"#/components/parameters/InsightsDmarcTypeFilter"},{"$ref":"#/components/parameters/InsightsSeedlistingTypeFilter"},{"$ref":"#/components/parameters/InsightsGpReputationFilter"},{"$ref":"#/components/parameters/InsightsSndsStatusFilter"},{"$ref":"#/components/parameters/InsightsBlocklistedFilter"},{"$ref":"#/components/parameters/InsightsIpOnlyFilter"},{"$ref":"#/components/parameters/InsightsDomainOnlyFilter"},{"$ref":"#/components/parameters/InsightsProfileIdFilter"}],"responses":{"200":{"description":"Domain aggregation data retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainAggregationResponseModel"}}}},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/insights/aggregated/alerts":{"get":{"operationId":"getInsightsAggregatedAlerts","tags":["Insights"],"summary":"Retrieve aggregated alert counts grouped by time period (last 24 hours, 7 days, and 30 days)","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/InsightsIpFilter"},{"$ref":"#/components/parameters/InsightsDomainFilter"},{"$ref":"#/components/parameters/InsightsSourcesFilter"},{"$ref":"#/components/parameters/InsightsDmarcTypeFilter"},{"$ref":"#/components/parameters/InsightsSeedlistingTypeFilter"},{"$ref":"#/components/parameters/InsightsGpReputationFilter"},{"$ref":"#/components/parameters/InsightsSndsStatusFilter"},{"$ref":"#/components/parameters/InsightsBlocklistedFilter"},{"$ref":"#/components/parameters/InsightsIpOnlyFilter"},{"$ref":"#/components/parameters/InsightsDomainOnlyFilter"},{"$ref":"#/components/parameters/InsightsProfileIdFilter"}],"responses":{"200":{"description":"Alerts aggregation data retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlertsAggregationResponseModel"}}}},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/insights/aggregated/dmarc":{"get":{"operationId":"getInsightsAggregatedDmarc","tags":["Insights"],"summary":"Retrieve aggregated DMARC statistics, including overall, threat, and compliant counts, grouped by time period (last 24 hours, 7 days, and 30 days)","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/InsightsIpFilter"},{"$ref":"#/components/parameters/InsightsDomainFilter"},{"$ref":"#/components/parameters/InsightsSourcesFilter"},{"$ref":"#/components/parameters/InsightsDmarcTypeFilter"},{"$ref":"#/components/parameters/InsightsSeedlistingTypeFilter"},{"$ref":"#/components/parameters/InsightsGpReputationFilter"},{"$ref":"#/components/parameters/InsightsSndsStatusFilter"},{"$ref":"#/components/parameters/InsightsBlocklistedFilter"},{"$ref":"#/components/parameters/InsightsIpOnlyFilter"},{"$ref":"#/components/parameters/InsightsDomainOnlyFilter"},{"$ref":"#/components/parameters/InsightsProfileIdFilter"}],"responses":{"200":{"description":"DMARC aggregation data retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DmarcAggregationResponseModel"}}}},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/insights/aggregated/seedlisting":{"get":{"operationId":"getInsightsAggregatedSeedlisting","tags":["Insights"],"summary":"Retrieve aggregated seedlisting statistics, including overall, inbox, and spam counts, grouped by time period (last 24 hours, 7 days, and 30 days)","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/InsightsIpFilter"},{"$ref":"#/components/parameters/InsightsDomainFilter"},{"$ref":"#/components/parameters/InsightsSourcesFilter"},{"$ref":"#/components/parameters/InsightsDmarcTypeFilter"},{"$ref":"#/components/parameters/InsightsSeedlistingTypeFilter"},{"$ref":"#/components/parameters/InsightsGpReputationFilter"},{"$ref":"#/components/parameters/InsightsSndsStatusFilter"},{"$ref":"#/components/parameters/InsightsBlocklistedFilter"},{"$ref":"#/components/parameters/InsightsIpOnlyFilter"},{"$ref":"#/components/parameters/InsightsDomainOnlyFilter"},{"$ref":"#/components/parameters/InsightsProfileIdFilter"}],"responses":{"200":{"description":"Seedlisting aggregation data retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SeedlistingAggregationResponseModel"}}}},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/insights/aggregated/gp":{"get":{"operationId":"getInsightsAggregatedGp","tags":["Insights"],"summary":"Retrieve aggregated Google Postmaster statistics, including HIGH, MEDIUM, LOW, and BAD reputation counts, grouped by time period (last 7 days and 30 days)","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/InsightsIpFilter"},{"$ref":"#/components/parameters/InsightsDomainFilter"},{"$ref":"#/components/parameters/InsightsSourcesFilter"},{"$ref":"#/components/parameters/InsightsDmarcTypeFilter"},{"$ref":"#/components/parameters/InsightsSeedlistingTypeFilter"},{"$ref":"#/components/parameters/InsightsGpReputationFilter"},{"$ref":"#/components/parameters/InsightsSndsStatusFilter"},{"$ref":"#/components/parameters/InsightsBlocklistedFilter"},{"$ref":"#/components/parameters/InsightsIpOnlyFilter"},{"$ref":"#/components/parameters/InsightsDomainOnlyFilter"},{"$ref":"#/components/parameters/InsightsProfileIdFilter"}],"responses":{"200":{"description":"Google Postmaster aggregation data retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GpAggregationResponseModel"}}}},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/insights/aggregated/snds":{"get":{"operationId":"getInsightsAggregatedSnds","tags":["Insights"],"summary":"Retrieve aggregated SNDS Postmaster statistics, including GREEN, YELLOW, RED reputation counts, grouped by time period (last 7 days and 30 days)","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/InsightsIpFilter"},{"$ref":"#/components/parameters/InsightsDomainFilter"},{"$ref":"#/components/parameters/InsightsSourcesFilter"},{"$ref":"#/components/parameters/InsightsDmarcTypeFilter"},{"$ref":"#/components/parameters/InsightsSeedlistingTypeFilter"},{"$ref":"#/components/parameters/InsightsGpReputationFilter"},{"$ref":"#/components/parameters/InsightsSndsStatusFilter"},{"$ref":"#/components/parameters/InsightsBlocklistedFilter"},{"$ref":"#/components/parameters/InsightsIpOnlyFilter"},{"$ref":"#/components/parameters/InsightsDomainOnlyFilter"},{"$ref":"#/components/parameters/InsightsProfileIdFilter"}],"responses":{"200":{"description":"SNDS aggregation data retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SndsAggregationResponseModel"}}}},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/ips/add_bulk":{"post":{"operationId":"postIpsAddBulk","tags":["Ips"],"summary":"Add a batch of IP addresses for monitoring","security":[{"ApiKeyAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IpsAddBulkBody"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"boolean"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/ips/add_netmask":{"post":{"operationId":"postIpsAddNetmask","tags":["Ips"],"summary":"Add all IP addresses within a netmask for monitoring","security":[{"ApiKeyAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IpsAddNetmaskBody"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"boolean"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/ips":{"get":{"operationId":"getIps","tags":["Ips"],"summary":"Retrieve all IP addresses currently monitored for blocklist and reputation status","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/PaginationOffset"},{"$ref":"#/components/parameters/PaginationLimit"},{"$ref":"#/components/parameters/IpsSortBaseFilter"},{"$ref":"#/components/parameters/IpsProfileIdBaseFilter"},{"$ref":"#/components/parameters/IpsIpBaseFilter"},{"$ref":"#/components/parameters/IpsRdnsBaseFilter"},{"$ref":"#/components/parameters/IpsRblHostsBaseFilter"},{"$ref":"#/components/parameters/IpsNetmaskBaseFilter"},{"$ref":"#/components/parameters/IpsBlacklistedBaseFilter"},{"$ref":"#/components/parameters/IpsWrongRdnsBaseFilter"}],"responses":{"200":{"description":"Returns a list of monitored IP addresses with their blacklist and lookup results","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/IpsItemBaseModel"}},"meta":{"$ref":"#/components/schemas/PaginationDefaultMetaResponse"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}},"delete":{"operationId":"deleteIps","tags":["Ips"],"summary":"Delete all IP addresses matching the applied filters","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/IpsProfileIdBaseFilter"},{"$ref":"#/components/parameters/IpsIpBaseFilter"},{"$ref":"#/components/parameters/IpsRdnsBaseFilter"},{"$ref":"#/components/parameters/IpsRblHostsBaseFilter"},{"$ref":"#/components/parameters/IpsNetmaskBaseFilter"},{"$ref":"#/components/parameters/IpsBlacklistedBaseFilter"},{"$ref":"#/components/parameters/IpsWrongRdnsBaseFilter"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"boolean"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/ips/stats/aggregated":{"get":{"operationId":"getIpsStatsAggregated","tags":["Ips"],"summary":"Retrieve aggregated blocklist and reputation statistics for all monitored IP addresses","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/IpsProfileIdBaseFilter"},{"$ref":"#/components/parameters/IpsIpBaseFilter"},{"$ref":"#/components/parameters/IpsRdnsBaseFilter"},{"$ref":"#/components/parameters/IpsRblHostsBaseFilter"},{"$ref":"#/components/parameters/IpsNetmaskBaseFilter"},{"$ref":"#/components/parameters/IpsBlacklistedBaseFilter"},{"$ref":"#/components/parameters/IpsWrongRdnsBaseFilter"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","description":"Aggregated counts of IP addresses","properties":{"total":{"type":"integer","description":"Total number of IP addresses"},"wrong_rdns":{"type":"integer","description":"Number of IPs with a missing or incorrect reverse DNS record"},"blacklisted":{"type":"integer","description":"Number of IPs currently listed on at least one RBL"}}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/ips/{id}":{"delete":{"operationId":"deleteIpById","tags":["Ips"],"summary":"Delete a monitored IP address by ID","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"id","in":"path","schema":{"type":"string"},"description":"Unique identifier of the IP entry to delete","required":true}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"boolean"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"404":{"$ref":"#/components/responses/NotFoundResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/ips/{id}/refresh":{"post":{"operationId":"postIpRefresh","tags":["Ips"],"summary":"Refresh an IP address info by ID. Sets IP's status to WAITING and sends IP for validation. Can not be used more than once in 5 minutes for one IP.","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"id","in":"path","schema":{"type":"string"},"description":"Unique identifier of the IP entry to refresh","required":true}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/IpsItemBaseModel"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"404":{"$ref":"#/components/responses/NotFoundResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/ips/available_count":{"get":{"operationId":"getIpsAvailableCount","tags":["Ips"],"summary":"Get the number of additional IP addresses that can be added in the current user's plan","security":[{"ApiKeyAuth":[]}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"integer","description":"Number of IP addresses that can still be added"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/ips/import":{"post":{"operationId":"postIpsImport","tags":["Ips"],"summary":"Import a batch of IP addresses from a CSV file","security":[{"ApiKeyAuth":[]}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"}}},"encoding":{"file":{"contentType":"text/csv"}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","additionalProperties":false,"description":"Summary of the CSV import result","properties":{"added":{"type":"integer","description":"Number of IP addresses successfully added"},"not_added":{"type":"integer","description":"Number of IP addresses that were not added"},"not_valid":{"type":"array","description":"List of entries from the CSV that not valid","items":{"type":"string"}}}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/ips/export":{"get":{"operationId":"getIpsExport","tags":["Ips"],"summary":"Export monitored IP addresses to a CSV file","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/IpsSortBaseFilter"},{"$ref":"#/components/parameters/IpsProfileIdBaseFilter"},{"$ref":"#/components/parameters/IpsIpBaseFilter"},{"$ref":"#/components/parameters/IpsRdnsBaseFilter"},{"$ref":"#/components/parameters/IpsRblHostsBaseFilter"},{"$ref":"#/components/parameters/IpsNetmaskBaseFilter"},{"$ref":"#/components/parameters/IpsBlacklistedBaseFilter"},{"$ref":"#/components/parameters/IpsWrongRdnsBaseFilter"}],"responses":{"200":{"content":{"application/csv":{"schema":{"type":"string","format":"binary"}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/ips/{id}/rbl_changes_log":{"get":{"operationId":"getIpRblChangesLog","tags":["Ips"],"summary":"Retrieve the RBL status change history for a monitored IP address","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"id","in":"path","schema":{"type":"string"},"description":"Unique identifier of the IP entry","required":true}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","description":"RBL change history for the specified IP address","properties":{"ip":{"type":"string","description":"The IP address for which the history is returned"},"data":{"type":"array","description":"Chronological list of RBL status change events","items":{"type":"object","properties":{"host":{"type":"string","description":"RBL hostname where the status change occurred"},"status":{"type":"string","enum":["RESOLVED","BLACKLISTED"],"description":"New RBL status at the time of the change"},"created_at":{"type":"string","format":"date-time","description":"Timestamp when the status change was recorded"}}}}}}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"404":{"$ref":"#/components/responses/NotFoundResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/lookalike/add_bulk":{"post":{"operationId":"postLookalikeAddBulk","tags":["Lookalike"],"summary":"Add a batch of domains for lookalike monitoring","security":[{"ApiKeyAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LookalikeAddBulkBody"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"boolean"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/lookalike":{"get":{"operationId":"getLookalike","tags":["Lookalike"],"summary":"Retrieve all domains currently monitored for lookalike threats","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/PaginationOffset"},{"$ref":"#/components/parameters/PaginationLimit"},{"$ref":"#/components/parameters/LookalikeGetSortQueryParam"},{"$ref":"#/components/parameters/LookalikeDomainQueryParam"},{"$ref":"#/components/parameters/LookalikeProfileIdQueryParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/LookalikeDomainItem"}},"meta":{"$ref":"#/components/schemas/PaginationDefaultMetaResponse"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}},"delete":{"operationId":"deleteLookalike","tags":["Lookalike"],"summary":"Delete all monitored domains matching the applied filters","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/LookalikeDomainQueryParam"},{"$ref":"#/components/parameters/LookalikeProfileIdQueryParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"boolean"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/lookalike/available_count":{"get":{"operationId":"getLookalikeAvailableCount","tags":["Lookalike"],"summary":"Get the number of available domains that can be added in the current user's plan","security":[{"ApiKeyAuth":[]}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"integer","description":"Number of domains that can still be added under the current billing plan"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/lookalike/{id}":{"delete":{"operationId":"deleteLookalikeById","tags":["Lookalike"],"summary":"Delete a monitored domain by ID","security":[{"ApiKeyAuth":[]}],"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"},"description":"Unique identifier of the monitored domain to delete"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"boolean"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"404":{"$ref":"#/components/responses/NotFoundResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/lookalike/import":{"post":{"operationId":"postLookalikeImport","tags":["Lookalike"],"summary":"Import a batch of domains from a CSV file for lookalike monitoring","security":[{"ApiKeyAuth":[]}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary","description":"CSV file containing domain names to import"}}},"encoding":{"file":{"contentType":"text/csv"}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","additionalProperties":false,"description":"Summary of the CSV import result","properties":{"added":{"type":"integer","description":"Number of domains successfully added"},"not_added":{"type":"integer","description":"Number of domains that were not added"},"not_valid":{"type":"array","description":"List of entries from the CSV that not valid","items":{"type":"string"}}}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/lookalike/{id}/lookalikes":{"get":{"operationId":"getLookalikeLookalikesById","tags":["Lookalike"],"summary":"Retrieve the list of detected lookalike domains associated with a specific monitored domain","security":[{"ApiKeyAuth":[]}],"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"},"description":"Unique identifier of the monitored domain"},{"in":"query","name":"lookalike","schema":{"type":"string"},"description":"Filter results by a lookalike domain name substring"},{"in":"query","name":"dnssec","schema":{"type":"string","enum":[true,false]},"description":"Filter by DNSSEC status of the lookalike domain"},{"in":"query","name":"registrar","schema":{"type":"string"},"description":"Filter results by a registrar name substring"},{"in":"query","name":"state","schema":{"type":"string"},"description":"Filter by classification state. Multiple values can be provided as a comma-separated list. Example: THREAT,UNCLASSIFIED"},{"$ref":"#/components/parameters/LookalikePQueryParam"},{"$ref":"#/components/parameters/PaginationOffset"},{"$ref":"#/components/parameters/PaginationLimit"},{"$ref":"#/components/parameters/LookalikeGetByIdSortQueryParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/LookalikeItem"}}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"404":{"$ref":"#/components/responses/NotFoundResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/lookalike/{id}/lookalikes/{lookalike_id}/change_state":{"post":{"operationId":"postLookalikeLookalikesChangeState","tags":["Lookalike"],"summary":"Update the classification state of a detected lookalike domain","security":[{"ApiKeyAuth":[]}],"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"},"description":"Unique identifier of the monitored domain"},{"in":"path","name":"lookalike_id","required":true,"schema":{"type":"string"},"description":"Unique identifier of the lookalike domain entry"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LookalikeChangeLookalikeStateBody"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"boolean"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"404":{"$ref":"#/components/responses/NotFoundResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/profiles/available_count":{"get":{"operationId":"getProfilesAvailableCount","tags":["Profiles"],"summary":"Get the number of available profiles that can be created in the current user's plan","security":[{"ApiKeyAuth":[]}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"integer","description":"Number of available profiles that can be created under the current billing plan"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/profiles":{"post":{"operationId":"postProfiles","tags":["Profiles"],"summary":"Create a new profile for monitoring IP addresses, domains, and email delivery metrics","security":[{"ApiKeyAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileBaseModel"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileBaseResponseModel"}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}},"get":{"operationId":"getProfiles","tags":["Profiles"],"summary":"Retrieve all profiles for the current user","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/PaginationOffset"},{"$ref":"#/components/parameters/PaginationLimit"},{"name":"sort","in":"query","schema":{"type":"string","enum":["name"]},"description":"Example: name (desc) or name (asc)"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ProfileBaseResponseModel"}},"meta":{"$ref":"#/components/schemas/PaginationDefaultMetaResponse"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/profiles/{id}":{"get":{"operationId":"getProfilesById","tags":["Profiles"],"summary":"Retrieve a specific profile by its ID","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"id","in":"path","schema":{"type":"string"},"description":"Unique identifier of the profile","required":true}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileBaseResponseModel"}}}},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"404":{"$ref":"#/components/responses/NotFoundResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}},"patch":{"operationId":"patchProfilesById","tags":["Profiles"],"summary":"Update the details of a profile by its ID","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"id","in":"path","schema":{"type":"string"},"description":"Unique identifier of the profile","required":true}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileBaseModel"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileBaseResponseModel"}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"404":{"$ref":"#/components/responses/NotFoundResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}},"delete":{"operationId":"deleteProfilesById","tags":["Profiles"],"summary":"Delete a profile by its ID","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"id","in":"path","schema":{"type":"string"},"description":"Unique identifier of the profile","required":true}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"boolean"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"404":{"$ref":"#/components/responses/NotFoundResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/profiles/{id}/ip_list":{"get":{"operationId":"getProfilesIpListById","tags":["Profiles"],"summary":"Get the list of IP addresses assigned to the profile","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"id","in":"path","schema":{"type":"string"},"description":"Unique identifier of the profile","required":true}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","description":"List of IP addresses assigned to the profile","items":{"type":"string","format":"ipv4"}}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"404":{"$ref":"#/components/responses/NotFoundResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/seedlisting":{"post":{"operationId":"postSeedlisting","tags":["Seedlisting"],"summary":"Create a new seedlisting inbox placement test","security":[{"ApiKeyAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SeedlistingCreateBody"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SeedlistingCreateResponse"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}},"get":{"operationId":"getSeedlisting","tags":["Seedlisting"],"summary":"Retrieve all seedlisting inbox placement tests for the current user","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/PaginationOffset"},{"$ref":"#/components/parameters/PaginationLimit"},{"name":"title","in":"query","schema":{"type":"string"},"description":"Filter by title substring"},{"$ref":"#/components/parameters/SeedlistingProfileIdBaseFilter"},{"name":"show_all","in":"query","schema":{"type":"boolean"},"description":"Admin-only. When true, includes the user_email field in each result"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/SeedlistingGetAllModelResponse"},{"type":"object","properties":{"user_email":{"type":"string","format":"email","description":"Email of the user that created the seedlisting test, present only if the requester is an ADMIN and show_all=true"}}}]}},"meta":{"$ref":"#/components/schemas/PaginationDefaultMetaResponse"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/seedlisting/get_emails":{"post":{"operationId":"postSeedlistingGetEmails","tags":["Seedlisting"],"summary":"Retrieve the list of seed email addresses for an EXPRESS type seedlisting test","security":[{"ApiKeyAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SeedlistingGetEmailsBody"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SeedlistingGetEmailsResponse"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/seedlisting/{id}":{"get":{"operationId":"getSeedlistingById","tags":["Seedlisting"],"summary":"Retrieve a specific seedlisting inbox placement test by its ID","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"id","in":"path","schema":{"type":"string"},"description":"Unique identifier of the seedlisting test","required":true}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SeedlistingGetOneResponse"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"404":{"$ref":"#/components/responses/NotFoundResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/seedlisting/{id}/export_emails":{"get":{"operationId":"getSeedlistingExportEmailsById","tags":["Seedlisting"],"summary":"Export a CSV file containing all emails for a specific seedlisting test","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"id","in":"path","schema":{"type":"string"},"description":"Unique identifier of the seedlisting test","required":true}],"responses":{"200":{"content":{"application/csv":{"schema":{"type":"string","format":"binary"}}}},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"404":{"$ref":"#/components/responses/NotFoundResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/seedlisting/{id}/terminate":{"post":{"operationId":"postSeedlistingTerminateById","tags":["Seedlisting"],"summary":"Terminate an active seedlisting inbox placement test before it completes","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"id","in":"path","schema":{"type":"string"},"description":"Unique identifier of the seedlisting test","required":true}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SeedlistingBaseModelResponse"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"404":{"$ref":"#/components/responses/NotFoundResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/seedlisting/{id}/seedlisting_email/{seedlistingEmailId}":{"get":{"operationId":"getSeedlistingSeedlistingEmailById","tags":["Seedlisting"],"summary":"Retrieve the inbox placement result for a specific seed email address","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"id","in":"path","schema":{"type":"string"},"description":"Unique identifier of the seedlisting test","required":true},{"name":"seedlistingEmailId","in":"path","schema":{"type":"string"},"description":"Unique identifier of the seedlisting email","required":true}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SeedlistingEmailBaseModelResponse"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"404":{"$ref":"#/components/responses/NotFoundResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/seedlisting/{id}/seedlisting_email/{seedlistingEmailId}/spamassassin":{"get":{"operationId":"getSeedlistingSeedlistingEmailSpamassassinById","deprecated":true,"tags":["Seedlisting"],"summary":"Retrieve spamassassin score details for a specific seed email address","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"id","in":"path","schema":{"type":"string"},"description":"Unique identifier of the seedlisting test","required":true},{"name":"seedlistingEmailId","in":"path","schema":{"type":"string"},"description":"Unique identifier of the seedlisting email","required":true},{"name":"descriptive","in":"query","schema":{"type":"boolean"},"description":"When true, returns full rule objects with name, score, and description. When false, returns only rule names","default":false}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"allowed":{"type":"number","description":"Maximum allowed spam score threshold"},"evaluation":{"type":"number","description":"Calculated spam score assigned to the email"},"rules":{"type":"array","description":"SpamAssassin rules that matched the email","items":{"oneOf":[{"type":"string","description":"Rule name (when descriptive=false)"},{"type":"object","description":"Full rule details (when descriptive=true)","properties":{"name":{"type":"string","description":"Name of the matched SpamAssassin rule"},"score":{"type":"number","description":"Score assigned by the matched rule"},"description":{"type":"string","description":"Human-readable description of the matched rule"}}}]}},"spam":{"type":"boolean","description":"Indicates whether the email was classified as spam"}}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"404":{"$ref":"#/components/responses/NotFoundResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/seedlisting/stats/aggregated":{"get":{"operationId":"getSeedlistingStatsAggregated","tags":["Seedlisting"],"summary":"Retrieve aggregated inbox placement statistics across all seedlisting tests","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/PeriodFromParam"},{"$ref":"#/components/parameters/PeriodToParam"},{"$ref":"#/components/parameters/SeedlistingStatsGroupParamQuery"},{"$ref":"#/components/parameters/SeedlistingProfileIdBaseFilter"},{"$ref":"#/components/parameters/SeedlistingIpBaseFilter"},{"$ref":"#/components/parameters/SeedlistingFromDomainBaseFilter"}],"responses":{"200":{"description":"Returns aggregated stats","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"host":{"description":"Email provider host","$ref":"#/components/schemas/SeedlistingHost"},"from_email":{"type":"string","description":"Sender email address"},"from_domain":{"type":"string","description":"Sender email domain"},"ip":{"type":"string","description":"Sending IP address"},"status":{"description":"Delivery status of the seed email","$ref":"#/components/schemas/SeedlistingEmailStatus"},"stats":{"type":"array","description":"Aggregated stats for the group","items":{"type":"object","properties":{"status":{"description":"Delivery status of the seed email","$ref":"#/components/schemas/SeedlistingEmailStatus"},"count":{"type":"number","description":"Number of seed emails with this status"}}}}}}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/seedlisting/stats/timeseries":{"get":{"operationId":"getSeedlistingStatsTimeseries","tags":["Seedlisting"],"summary":"Retrieve timeseries inbox placement statistics for seedlisting tests","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/PeriodFromParam"},{"$ref":"#/components/parameters/PeriodToParam"},{"$ref":"#/components/parameters/SeedlistingProfileIdBaseFilter"},{"$ref":"#/components/parameters/SeedlistingIpBaseFilter"},{"$ref":"#/components/parameters/SeedlistingFromDomainBaseFilter"},{"name":"host","in":"query","description":"Filter by email provider host","schema":{"$ref":"#/components/schemas/SeedlistingHost"}}],"responses":{"200":{"description":"Returns timeseries stats","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","format":"date","description":"Date of the recorded delivery statistics"},"status":{"description":"Delivery status of the seed emails on this date","$ref":"#/components/schemas/SeedlistingEmailStatus"},"count":{"type":"number","description":"Number of seed emails with this status on this date"}}}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/seedlisting_public_reports":{"post":{"operationId":"postSeedlistingPublicReports","tags":["Seedlisting Public Report"],"summary":"Generate a shareable public report link for a specific seedlisting test","description":"Creates a publicly accessible report for the specified seedlisting, generating a unique link that can be shared","security":[{"ApiKeyAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SeedlistingPublicReportCreateBody"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SeedlistingPublicReportBaseModelResponse"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/seedlisting_public_reports/{seedlisting_id}":{"get":{"operationId":"getSeedlistingPublicReportById","tags":["Seedlisting Public Report"],"summary":"Retrieve the public report settings for a specific seedlisting test","description":"Retrieves the public report configuration for the specified seedlisting","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"seedlisting_id","in":"path","required":true,"description":"Identifier of the seedlisting to retrieve the public report for","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SeedlistingPublicReportBaseModelResponse"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"404":{"$ref":"#/components/responses/NotFoundResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/seedlisting_public_reports/{id}":{"delete":{"operationId":"deleteSeedlistingPublicReportById","tags":["Seedlisting Public Report"],"summary":"Delete the public report for a specific seedlisting test","description":"Permanently deletes the specified seedlisting public report","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"Unique identifier of the public report to delete","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"boolean"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"404":{"$ref":"#/components/responses/NotFoundResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/seedlisting_workers/hosts":{"get":{"operationId":"getSeedlistingWorkersHosts","tags":["Seedlisting Workers"],"summary":"Retrieve the list of available email provider hosts for seedlisting tests","security":[{"ApiKeyAuth":[]}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"description":"List of available seedlisting hosts","type":"array","items":{"$ref":"#/components/schemas/SeedlistingHost"}}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/seedlisting_workers/capacity":{"get":{"operationId":"getSeedlistingWorkersCapacity","tags":["Seedlisting Workers"],"summary":"Retrieve the available testing capacity per email provider host","security":[{"ApiKeyAuth":[]}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"description":"List of host capacities","type":"array","items":{"type":"object","properties":{"host":{"$ref":"#/components/schemas/SeedlistingHost"},"capacity":{"type":"number","description":"Number of active workers for this host"}}}}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/snds/creds":{"post":{"operationId":"postSndsCreds","tags":["SNDS"],"summary":"Add Microsoft SNDS credentials for IP monitoring","security":[{"ApiKeyAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"key":{"type":"string","description":"SNDS access key to add"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SndsCreds"}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}},"get":{"operationId":"getSndsCredentials","tags":["SNDS"],"summary":"Retrieve all saved Microsoft SNDS credentials for the current user","security":[{"ApiKeyAuth":[]}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/SndsCreds"}}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/snds/creds/{id}":{"patch":{"operationId":"patchSndsCredById","tags":["SNDS"],"summary":"Update the enabled or disabled status of saved Microsoft SNDS credentials","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"id","in":"path","schema":{"type":"string"},"description":"Unique identifier of the SNDS credentials record","required":true}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"status":{"type":"string","description":"New status to set for the SNDS credentials","enum":["ACTIVE","TERMINATED"]}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SndsCreds"}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"404":{"$ref":"#/components/responses/NotFoundResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}},"delete":{"operationId":"deleteSndsCredById","tags":["SNDS"],"summary":"Delete saved Microsoft SNDS credentials by their ID","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"id","in":"path","schema":{"type":"string"},"description":"Unique identifier of the SNDS credentials record","required":true}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"boolean"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"404":{"$ref":"#/components/responses/NotFoundResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/snds/ip_status":{"get":{"operationId":"getSndsIpStatus","tags":["SNDS"],"summary":"Retrieve Microsoft SNDS filter status data for monitored IP addresses","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/PaginationOffset"},{"$ref":"#/components/parameters/PaginationLimit"},{"$ref":"#/components/parameters/SndsIpStatusSortQueryParam"},{"$ref":"#/components/parameters/SndsPeriodFromQueryParam"},{"$ref":"#/components/parameters/SndsPeriodToQueryParam"},{"$ref":"#/components/parameters/SndsIpsQueryParam"},{"$ref":"#/components/parameters/SndsRdnsQueryParam"},{"$ref":"#/components/parameters/SndsProfileIdQueryParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"ip":{"type":"string","description":"Sending IP address"},"date_timestamp":{"type":"string","description":"Date of the IP status record"},"dns_reverse_result":{"type":"array","description":"Reverse DNS lookup results for the IP address","items":{"type":"object","properties":{"rdns":{"type":"string","description":"Reverse DNS hostname"}}}},"blocked":{"type":"string","description":"Indicates whether the IP is currently blocked"},"details":{"type":"string","description":"Additional details about the IP status"}}}},"meta":{"$ref":"#/components/schemas/PaginationDefaultMetaResponse"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/snds/ip_data":{"get":{"operationId":"getSndsIpData","tags":["SNDS"],"summary":"Retrieve detailed Microsoft SNDS data records for monitored IP addresses","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/PaginationOffset"},{"$ref":"#/components/parameters/PaginationLimit"},{"$ref":"#/components/parameters/SndsIpStatusSortQueryParam"},{"$ref":"#/components/parameters/SndsPeriodFromQueryParam"},{"$ref":"#/components/parameters/SndsPeriodToQueryParam"},{"$ref":"#/components/parameters/SndsIpsQueryParam"},{"$ref":"#/components/parameters/SndsRdnsQueryParam"},{"$ref":"#/components/parameters/SndsProfileIdQueryParam"},{"$ref":"#/components/parameters/SndsFilterResultQueryParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"ip":{"type":"string","description":"Sending IP address"},"date_timestamp":{"type":"string","description":"Date of the IP data record"},"dns_reverse_result":{"type":"array","description":"Reverse DNS lookup results for the IP address","items":{"type":"object","properties":{"rdns":{"type":"string","description":"Reverse DNS hostname"}}}},"period_from":{"type":"string","description":"Start of the measurement period for this record"},"period_to":{"type":"string","description":"End of the measurement period for this record"},"rcpt_commands":{"type":"number","description":"Number of RCPT commands issued from this IP"},"data_commands":{"type":"number","description":"Number of DATA commands issued from this IP"},"recipients":{"type":"number","description":"Total number of recipients targeted from this IP"},"filter_result":{"type":"string","description":"Spam filter verdict for this IP","enum":["GREEN","YELLOW","RED"]},"bounce":{"type":"number","description":"Number of bounced messages from this IP"},"bounce_rate":{"type":"number","description":"Ratio of bounced messages to total messages sent"},"complaint_rate":{"type":"number","description":"Ratio of spam complaints to total messages delivered"},"trap_period_from":{"type":"string","description":"Start of the spam trap measurement period"},"trap_period_to":{"type":"string","description":"End of the spam trap measurement period"},"trap_hits":{"type":"number","description":"Number of spam trap hits recorded for this IP"},"sample_helo":{"type":"string","description":"Sample HELO value observed from this IP"},"sample_mail_from":{"type":"string","description":"Sample MAIL FROM address observed from this IP"},"comments":{"type":"string","description":"Additional comments or notes about this IP"}}}},"meta":{"$ref":"#/components/schemas/PaginationDefaultMetaResponse"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/snds/user_ips":{"get":{"operationId":"getSndsUserIps","tags":["SNDS"],"summary":"Retrieve the list of unique IP addresses found in the current user's SNDS data for a given data type","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/SndsIpTypeQueryParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"ip":{"type":"string","description":"IP address associated with the SNDS data"}}}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/snds/user_rdns":{"get":{"operationId":"getSndsUserRdns","tags":["SNDS"],"summary":"Retrieve the list of unique reverse DNS entries found in the current user's SNDS data for a given data type","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/SndsRdnsTypeQueryParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"rdns":{"type":"string","description":"Reverse DNS hostname associated with the SNDS data"}}}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/snds/aggregated":{"get":{"operationId":"getSndsAggregated","tags":["SNDS"],"summary":"Retrieve aggregated Microsoft SNDS statistics for monitored IP addresses","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/SndsPeriodFromQueryParam"},{"$ref":"#/components/parameters/SndsPeriodToQueryParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"date_timestamp":{"type":"string","description":"Date of the aggregated data record"},"recipients_green":{"type":"number","description":"Total number of recipients from IPs with a GREEN filter result"},"recipients_yellow":{"type":"number","description":"Total number of recipients from IPs with a YELLOW filter result"},"recipients_red":{"type":"number","description":"Total number of recipients from IPs with a RED filter result"},"filter_result_green":{"type":"number","description":"Number of IPs with a GREEN filter result"},"filter_result_yellow":{"type":"number","description":"Number of IPs with a YELLOW filter result"},"filter_result_red":{"type":"number","description":"Number of IPs with a RED filter result"},"bounce":{"type":"number","description":"Total number of bounced messages"},"bounce_rate":{"type":"number","description":"Average ratio of bounced messages to total messages sent"},"complaint_rate":{"type":"number","description":"Average ratio of spam complaints to total messages delivered"},"trap_hits":{"type":"number","description":"Total number of spam trap hits"}}}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/snds/aggregated_traps":{"get":{"operationId":"getSndsAggregatedTraps","tags":["SNDS"],"summary":"Retrieve aggregated Microsoft SNDS spam trap hit statistics","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/SndsPeriodFromQueryParam"},{"$ref":"#/components/parameters/SndsPeriodToQueryParam"},{"$ref":"#/components/parameters/SndsFilterResultQueryParam"},{"$ref":"#/components/parameters/SndsIpsQueryParam"},{"$ref":"#/components/parameters/SndsRdnsQueryParam"},{"$ref":"#/components/parameters/SndsProfileIdQueryParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"ip":{"type":"string","description":"Sending IP address that hit spam traps"},"dns_reverse_result":{"type":"array","description":"Reverse DNS lookup results for the IP address","items":{"type":"object","properties":{"rdns":{"type":"string","description":"Reverse DNS hostname"}}}},"trap_hits":{"type":"number","description":"Total number of spam trap hits for this IP in the given period"}}}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/snds/aggregated_traps/export":{"get":{"operationId":"getSndsAggregatedTrapsExport","tags":["SNDS"],"summary":"Export aggregated Microsoft SNDS spam trap hit statistics as a CSV file","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/SndsPeriodFromQueryParam"},{"$ref":"#/components/parameters/SndsPeriodToQueryParam"},{"$ref":"#/components/parameters/SndsFilterResultQueryParam"},{"$ref":"#/components/parameters/SndsIpsQueryParam"},{"$ref":"#/components/parameters/SndsRdnsQueryParam"},{"$ref":"#/components/parameters/SndsProfileIdQueryParam"}],"responses":{"200":{"content":{"application/csv":{"schema":{"type":"string","format":"binary"}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/snds/aggregated_sample_mail_from":{"get":{"operationId":"getSndsAggregatedSampleMailFrom","tags":["SNDS"],"summary":"Retrieve aggregated Microsoft SNDS statistics grouped by \"sample_mail_from\"","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/SndsPeriodFromQueryParam"},{"$ref":"#/components/parameters/SndsPeriodToQueryParam"},{"$ref":"#/components/parameters/SndsFilterResultQueryParam"},{"$ref":"#/components/parameters/SndsIpsQueryParam"},{"$ref":"#/components/parameters/SndsRdnsQueryParam"},{"$ref":"#/components/parameters/SndsProfileIdQueryParam"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"sample_mail_from":{"type":"string","description":"MAIL FROM address observed in the sample"},"count":{"type":"number","description":"Number of times this MAIL FROM address was observed in the given period"}}}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/snds/aggregated_sample_mail_from/export":{"get":{"operationId":"getSndsAggregatedSampleMailFromExport","tags":["SNDS"],"summary":"Export aggregated Microsoft SNDS statistics grouped by \"sample_mail_from\" as a CSV file","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/SndsPeriodFromQueryParam"},{"$ref":"#/components/parameters/SndsPeriodToQueryParam"},{"$ref":"#/components/parameters/SndsFilterResultQueryParam"},{"$ref":"#/components/parameters/SndsIpsQueryParam"},{"$ref":"#/components/parameters/SndsRdnsQueryParam"},{"$ref":"#/components/parameters/SndsProfileIdQueryParam"}],"responses":{"200":{"content":{"application/csv":{"schema":{"type":"string","format":"binary"}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/snds/run":{"post":{"operationId":"postSndsRun","tags":["SNDS"],"summary":"Trigger an SNDS data fetch for a specific date","security":[{"ApiKeyAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"date":{"type":"string","format":"date","description":"Date to fetch SNDS data for"}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"boolean"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/snds/history":{"get":{"operationId":"getSndsHistory","tags":["SNDS"],"summary":"Get the SNDS fetch process history","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/PaginationOffset"},{"$ref":"#/components/parameters/PaginationLimit"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier of the history entry"},"key":{"type":"string","description":"SNDS access key used for this fetch"},"date_key":{"type":"string","description":"Date for which the SNDS data was fetched"},"status":{"type":"string","description":"Status of the SNDS fetch process","enum":["IN_PROGRESS","DONE","FAILED"]},"payload":{"type":"string","description":"Additional information or details about the fetch process"},"created_at":{"type":"string","description":"Timestamp when the fetch process was initiated"},"updated_at":{"type":"string","description":"Timestamp when the fetch process status was last updated"}}}}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/tracking/pixel/get_integration_url":{"post":{"operationId":"postTrackingPixelGetIntegrationUrl","tags":["Tracking"],"summary":"Generate an integration URL for embedding a tracking pixel in emails","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/TrackingCampaignIdParam"},{"$ref":"#/components/parameters/TrackingSubscriberIdParam"}],"responses":{"200":{"description":"Tracking pixel URL","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"url":{"type":"string","description":"The tracking pixel URL"}}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/tracking/pixel/log":{"get":{"operationId":"getTrackingPixelLog","tags":["Tracking"],"summary":"Retrieve the event logs for tracking pixel open events","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/PeriodFromParam"},{"$ref":"#/components/parameters/PeriodToParam"},{"$ref":"#/components/parameters/PaginationOffset"},{"$ref":"#/components/parameters/PaginationLimit"},{"$ref":"#/components/parameters/TrackingSortParam"},{"$ref":"#/components/parameters/TrackingCampaignIdQuery"},{"$ref":"#/components/parameters/TrackingSubscriberIdQuery"}],"responses":{"200":{"description":"Paginated array of pixel hit log entries","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/TrackingPixelLog"}},"meta":{"$ref":"#/components/schemas/PaginationDefaultMetaResponse"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/tracking/pixel/stats/timeseries":{"get":{"operationId":"getTrackingPixelStatsTimeseries","summary":"Retrieve timeseries statistics for tracking pixel open events","description":"Returns pixel logs count grouped by date. When group parameter is provided, data is also grouped by the specified field.","tags":["Tracking"],"security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/PeriodFromParam"},{"$ref":"#/components/parameters/PeriodToParam"},{"$ref":"#/components/parameters/TrackingPixelGroupParam"},{"$ref":"#/components/parameters/TrackingCampaignIdQuery"},{"$ref":"#/components/parameters/TrackingSubscriberIdQuery"}],"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","description":"Date in YYYY-MM-DD format"},"campaign_id":{"type":"string","description":"Campaign identifier (only when group=campaign_id)"},"subscriber_id":{"type":"string","description":"Subscriber identifier (only when group=subscriber_id)"},"count":{"type":"integer","description":"Number of pixel logs on this date"}}}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/tracking/pixel/stats/aggregated":{"get":{"operationId":"getTrackingPixelStatsAggregated","tags":["Tracking"],"summary":"Retrieve aggregated statistics for tracking pixel open events","description":"Returns pixel logs count grouped by campaign_id, subscriber_id, device, provider, country, ip, browser, or os","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/PeriodFromParam"},{"$ref":"#/components/parameters/PeriodToParam"},{"$ref":"#/components/parameters/TrackingPixelGroupParam"},{"$ref":"#/components/parameters/PaginationOffset"},{"$ref":"#/components/parameters/PaginationLimit"},{"$ref":"#/components/parameters/TrackingAggregatedSortParam"},{"$ref":"#/components/parameters/TrackingCampaignIdQuery"},{"$ref":"#/components/parameters/TrackingSubscriberIdQuery"}],"responses":{"200":{"description":"Returns aggregated stats with pagination metadata","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"campaign_id":{"type":"string","description":"Campaign identifier (only when group=campaign_id)"},"subscriber_id":{"type":"string","description":"Subscriber identifier (only when group=subscriber_id)"},"count":{"type":"integer","description":"Number of email opens"}}}},"meta":{"$ref":"#/components/schemas/PaginationDefaultMetaResponse"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/tracking/link/get_integration_url":{"post":{"operationId":"postTrackingLinkGetIntegrationUrl","tags":["Tracking"],"summary":"Generate an integration URL for a tracking link using path-based redirect parameters","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/TrackingCampaignIdParam"},{"$ref":"#/components/parameters/TrackingSubscriberIdParam"},{"name":"redirect_url","in":"query","schema":{"type":"string"},"required":true,"description":"The URL to redirect to after tracking"}],"responses":{"200":{"description":"Tracking link URL","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"url":{"type":"string","description":"The tracking link URL"}}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/tracking/link/v2/get_integration_url":{"post":{"operationId":"postTrackingLinkV2GetIntegrationUrl","tags":["Tracking"],"summary":"Generate an integration URL for a tracking link using query-based redirect parameters","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/TrackingCampaignIdParam"},{"$ref":"#/components/parameters/TrackingSubscriberIdParam"},{"name":"redirect_url","in":"query","schema":{"type":"string"},"required":true,"description":"The URL to redirect to after tracking"}],"responses":{"200":{"description":"Tracking link URL","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"url":{"type":"string","description":"The tracking link URL"}}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/tracking/link/log":{"get":{"operationId":"getTrackingLinkLog","tags":["Tracking"],"summary":"Retrieve the event logs for tracking link click events","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/PeriodFromParam"},{"$ref":"#/components/parameters/PeriodToParam"},{"$ref":"#/components/parameters/PaginationOffset"},{"$ref":"#/components/parameters/PaginationLimit"},{"$ref":"#/components/parameters/TrackingSortParam"},{"$ref":"#/components/parameters/TrackingCampaignIdQuery"},{"$ref":"#/components/parameters/TrackingSubscriberIdQuery"},{"$ref":"#/components/parameters/TrackingProfileIdParam"}],"responses":{"200":{"description":"Paginated array of link log entries","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/TrackingLinkLog"}},"meta":{"$ref":"#/components/schemas/PaginationDefaultMetaResponse"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/tracking/link/stats/timeseries":{"get":{"operationId":"getTrackingLinkStatsTimeseries","summary":"Retrieve timeseries statistics for tracking link click events","description":"Returns link logs count grouped by date. When group parameter is provided, data is also grouped by the specified field.","tags":["Tracking"],"security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/PeriodFromParam"},{"$ref":"#/components/parameters/PeriodToParam"},{"$ref":"#/components/parameters/TrackingLinkGroupParam"},{"$ref":"#/components/parameters/TrackingCampaignIdQuery"},{"$ref":"#/components/parameters/TrackingSubscriberIdQuery"},{"$ref":"#/components/parameters/TrackingProfileIdParam"}],"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","description":"Date in YYYY-MM-DD format"},"campaign_id":{"type":"string","description":"Campaign identifier (only when group=campaign_id)"},"subscriber_id":{"type":"string","description":"Subscriber identifier (only when group=subscriber_id)"},"device":{"type":"string","description":"Device type or model (only when group=device)"},"country":{"type":"string","description":"Country code (ISO) (only when group=country)"},"ip":{"type":"string","description":"Client IP address (only when group=ip)"},"browser":{"type":"string","description":"Browser name and version (only when group=browser)"},"custom_link_title":{"type":"string","description":"Custom link title (only when group=custom_link_title)"},"params_name":{"type":"string","description":"Parameter name (only when group=params)"},"params_value":{"type":"string","description":"Parameter value (only when group=params)"},"count":{"type":"integer","description":"Number of link clicks on this date"}}}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/tracking/link/stats/aggregated":{"get":{"operationId":"getTrackingLinkStatsAggregated","tags":["Tracking"],"summary":"Retrieve aggregated statistics for tracking link click events","description":"Returns link logs count grouped by campaign_id, subscriber_id, device, country, ip, browser, custom_link_title, or params","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/PeriodFromParam"},{"$ref":"#/components/parameters/PeriodToParam"},{"$ref":"#/components/parameters/TrackingLinkGroupParam"},{"$ref":"#/components/parameters/PaginationOffset"},{"$ref":"#/components/parameters/PaginationLimit"},{"$ref":"#/components/parameters/TrackingAggregatedSortParam"},{"$ref":"#/components/parameters/TrackingCampaignIdQuery"},{"$ref":"#/components/parameters/TrackingSubscriberIdQuery"},{"$ref":"#/components/parameters/TrackingProfileIdParam"}],"responses":{"200":{"description":"Returns aggregated stats with pagination metadata","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"campaign_id":{"type":"string","description":"Campaign identifier (only when group=campaign_id)"},"subscriber_id":{"type":"string","description":"Subscriber identifier (only when group=subscriber_id)"},"device":{"type":"string","description":"Device type or model (only when group=device)"},"country":{"type":"string","description":"Country code (ISO) (only when group=country)"},"ip":{"type":"string","description":"Client IP address (only when group=ip)"},"browser":{"type":"string","description":"Browser name and version (only when group=browser)"},"custom_link_title":{"type":"string","description":"Custom link title (only when group=custom_link_title)"},"params_name":{"type":"string","description":"Parameter name (only when group=params)"},"params_value":{"type":"string","description":"Parameter value (only when group=params)"},"count":{"type":"integer","description":"Number of link clicks"}}}},"meta":{"$ref":"#/components/schemas/PaginationDefaultMetaResponse"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/tracking/link/custom":{"post":{"operationId":"postTrackingLinkCustom","tags":["Tracking"],"summary":"Create a custom tracking link redirect","description":"Create a custom redirect link for tracking","security":[{"ApiKeyAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrackingLinkRedirectInput"},"example":{"title":"My Campaign Link","profile_id":{"type":"string","description":"Profile ID to associate with the tracking link"},"redirection_url":"https://example.com/landing","params_suffix":"utm_source=email&utm_campaign=summer_sale&utm_medium=newsletter"}}}},"responses":{"200":{"description":"Tracking link redirect created successfully","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TrackingLinkRedirect"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}},"get":{"operationId":"getTrackingLinkCustom","tags":["Tracking"],"summary":"Retrieve all custom tracking link redirects for the current user","description":"Retrieve all custom redirect links","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/PaginationOffset"},{"$ref":"#/components/parameters/PaginationLimit"}],"responses":{"200":{"description":"Paginated list of tracking link redirects","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/TrackingLinkRedirect"}},"meta":{"$ref":"#/components/schemas/PaginationDefaultMetaResponse"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/tracking/link/custom/{id}":{"get":{"operationId":"getTrackingLinkCustomById","tags":["Tracking"],"summary":"Get a specific custom tracking link redirect","description":"Retrieve a custom redirect link by ID","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Tracking link redirect ID"}],"responses":{"200":{"description":"Tracking link redirect retrieved successfully","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TrackingLinkRedirect"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"404":{"$ref":"#/components/responses/NotFoundResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}},"patch":{"operationId":"patchTrackingLinkCustomById","tags":["Tracking"],"summary":"Update a custom tracking link redirect","description":"Update an existing custom redirect link","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Tracking link redirect ID"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrackingLinkRedirectUpdateInput"},"example":{"title":"Updated Campaign Link","profile_id":{"type":"string","description":"Profile ID to associate with the tracking link"},"redirection_url":"https://example.com","params_suffix":"utm_source=email&utm_campaign=summer_sale&utm_medium=newsletter"}}}},"responses":{"200":{"description":"Tracking link redirect updated successfully","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TrackingLinkRedirect"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"404":{"$ref":"#/components/responses/NotFoundResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}},"delete":{"operationId":"deleteTrackingLinkCustomById","tags":["Tracking"],"summary":"Delete a custom tracking link redirect","description":"Delete an existing custom redirect link","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Tracking link redirect ID"}],"responses":{"200":{"description":"Tracking link redirect deleted successfully","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"boolean"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"404":{"$ref":"#/components/responses/NotFoundResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/traps/add_bulk":{"post":{"operationId":"postTrapsAddBulk","tags":["Traps"],"summary":"Add a batch of trap IP addresses and domains","security":[{"ApiKeyAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserTrapsAddBulkBody"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"boolean"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/traps/add_netmask":{"post":{"operationId":"postTrapsAddNetmask","tags":["Traps"],"summary":"Add a netmask range of trap IP addresses","security":[{"ApiKeyAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrapsIpsAddNetmaskBody"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"boolean"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/traps":{"get":{"operationId":"getTraps","tags":["Traps"],"summary":"Retrieve all monitored spam trap IP addresses and domains","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/PaginationOffset"},{"$ref":"#/components/parameters/PaginationLimit"},{"$ref":"#/components/parameters/TrapsIpsIpBaseFilter"},{"$ref":"#/components/parameters/TrapsIpsDomainBaseFilter"},{"$ref":"#/components/parameters/TrapsIpsNetmaskBaseFilter"},{"$ref":"#/components/parameters/TrapsIpsProfileIdBaseFilter"}],"responses":{"200":{"description":"Returns the list of trap IP addresses and domains","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/UserTrapsItemBaseModel"}},"meta":{"$ref":"#/components/schemas/PaginationDefaultMetaResponse"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}},"delete":{"operationId":"deleteTraps","tags":["Traps"],"summary":"Delete all trap entries matching the specified filters","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/TrapsIpsIpBaseFilter"},{"$ref":"#/components/parameters/TrapsIpsDomainBaseFilter"},{"$ref":"#/components/parameters/TrapsIpsNetmaskBaseFilter"},{"$ref":"#/components/parameters/TrapsIpsProfileIdBaseFilter"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"boolean"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/traps/{id}":{"delete":{"operationId":"deleteTrapById","tags":["Traps"],"summary":"Delete a trap entry by ID","security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"id","in":"path","schema":{"type":"string"},"description":"Unique identifier of the trap entry","required":true}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"boolean"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"404":{"$ref":"#/components/responses/NotFoundResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/traps/log":{"get":{"operationId":"getTrapsLog","tags":["Traps"],"summary":"Retrieve the event logs of emails hitting monitored spam trap addresses","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/TrapsIpsIpBaseFilter"},{"$ref":"#/components/parameters/TrapsIpsDomainFromBaseFilter"},{"$ref":"#/components/parameters/PaginationOffset"},{"$ref":"#/components/parameters/PaginationLimit"},{"name":"sort","in":"query","schema":{"type":"string","enum":["timestamp"]},"description":"Example: -timestamp (desc) or timestamp (asc)"}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/TrapsIpLogItemBaseModel"}},"meta":{"$ref":"#/components/schemas/PaginationDefaultMetaResponse"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"404":{"$ref":"#/components/responses/NotFoundResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/traps/available_count":{"get":{"operationId":"getTrapsAvailableCount","tags":["Traps"],"summary":"Get the number of available trap IP addresses that can be added in the current user's plan","security":[{"ApiKeyAuth":[]}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"integer"}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/traps/import":{"post":{"operationId":"postTrapsImport","tags":["Traps"],"summary":"Import trap IP addresses and domains from a CSV file","security":[{"ApiKeyAuth":[]}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary","description":"CSV file containing IP addresses and/or domains to import"}}},"encoding":{"file":{"contentType":"text/csv"}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","additionalProperties":false,"properties":{"added":{"type":"integer","description":"Number of entries successfully added"},"not_added":{"type":"integer","description":"Number of entries that were not added"},"not_valid":{"type":"array","description":"List of entries that not valid","items":{"type":"string"}}}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/traps/stats/aggregated":{"get":{"operationId":"getTrapsStatsAggregated","tags":["Traps"],"summary":"Retrieve aggregated statistics for spam trap hit events","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/PeriodFromParam"},{"$ref":"#/components/parameters/PeriodToParam"},{"$ref":"#/components/parameters/TrapsStatsGroupParamQuery"},{"$ref":"#/components/parameters/PaginationOffset"},{"$ref":"#/components/parameters/PaginationLimit"},{"$ref":"#/components/parameters/TrapsIpsIpBaseFilter"},{"$ref":"#/components/parameters/TrapsIpsNetmaskBaseFilter"},{"$ref":"#/components/parameters/TrapsIpsProfileIdBaseFilter"},{"$ref":"#/components/parameters/TrapsIpsSmtpMailFromDomainBaseFilter"},{"$ref":"#/components/parameters/TrapsIpsDomainFromBaseFilter"},{"name":"sort","in":"query","description":"Example: -count (desc) or count (asc)","schema":{"type":"string","enum":["count"]}}],"responses":{"200":{"description":"Returns aggregated stats","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"ip":{"type":"string","description":"IP address associated with this group"},"domain_from":{"type":"string","description":"Sender domain associated with this group"},"email_from_header":{"type":"string","description":"Sender address from the From header associated with this group"},"email_subject":{"type":"string","description":"Email subject associated with this group"},"smtp_mail_from_domain":{"type":"string","description":"SMTP MAIL FROM domain associated with this group"},"data_colorcode":{"type":"string","description":"Threat classification color code associated with this group"},"count":{"type":"number","description":"Total number of trap hits for this group in the specified period"}}}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/traps/stats/timeseries":{"get":{"operationId":"getTrapsStatsTimeseries","tags":["Traps"],"summary":"Retrieve timeseries statistics for spam trap hit events","security":[{"ApiKeyAuth":[]}],"parameters":[{"$ref":"#/components/parameters/PeriodFromParam"},{"$ref":"#/components/parameters/PeriodToParam"},{"$ref":"#/components/parameters/TrapsIpsIpBaseFilter"},{"$ref":"#/components/parameters/TrapsIpsNetmaskBaseFilter"},{"$ref":"#/components/parameters/TrapsIpsProfileIdBaseFilter"},{"$ref":"#/components/parameters/TrapsIpsSmtpMailFromDomainBaseFilter"},{"$ref":"#/components/parameters/TrapsIpsDomainFromBaseFilter"}],"responses":{"200":{"description":"Returns timeseries stats","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","format":"date","description":"Date of the recorded trap hits"},"count":{"type":"number","description":"Number of trap hits on this date"}}}}}}}}},"400":{"$ref":"#/components/responses/BadRequestResponseBase"},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}},"/user_billing_plan/general/plan":{"get":{"operationId":"getUserBillingPlanGeneralPlan","tags":["User Billing Plan"],"summary":"Retrieve the general configuration and feature limits for a specific billing plan","deprecated":true,"security":[{"ApiKeyAuth":[]}],"responses":{"200":{"description":"Returns general info for user billing plan info based on selected user billing plan","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"hosts":{"type":"array","description":"List of available seedlisting hosts for the current billing plan","items":{"type":"string"}},"max_emails_per_iteration":{"type":"integer","description":"Maximum number of email checks allowed for a single seedlisting test"}}}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedResponseBase"},"403":{"$ref":"#/components/responses/ForbiddenResponseBase"},"404":{"$ref":"#/components/responses/NotFoundResponseBase"},"500":{"$ref":"#/components/responses/InternalServerErrorResponseBase"}}}}},"components":{"schemas":{"AiChatSendMessageBody":{"type":"object","additionalProperties":false,"required":["message"],"properties":{"message":{"type":"string","description":"The user's message to send to the AI agent","minLength":1,"maxLength":10000},"conversation_id":{"type":"string","description":"Optional conversation ID to maintain context across messages. If not provided, a new conversation will be started."}}},"AiChatSendMessageResponse":{"type":"object","properties":{"message":{"type":"string","description":"The AI agent's response"},"conversation_id":{"type":"string","description":"The conversation ID for this chat session"}}},"AiChatMessage":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"],"description":"The role of the message sender"},"content":{"type":"string","description":"The message content"},"timestamp":{"type":"string","format":"date-time","description":"When the message was sent"}}},"AiChatHistoryResponse":{"type":"object","properties":{"conversation_id":{"type":"string","description":"The conversation ID"},"messages":{"type":"array","description":"List of messages (up to 40 most recent)","items":{"$ref":"#/components/schemas/AiChatMessage"}}}},"UserAlertRuleBaseModel":{"type":"object","properties":{"type":{"type":"string","description":"Type of alert rule to monitor specific conditions","enum":["IP_IN_RBL","DOMAIN_IN_RBL","GP_DOMAIN_REPUTATION","GP_IP_REPUTATION","GP_USER_REPORTED_SPAM_RATIO","GP_SPF_SUCCESS_RATIO","GP_DKIM_SUCCESS_RATIO","GP_DMARC_SUCCESS_RATIO","GP_OUTBOUND_ENCRYPTION_RATIO","GP_INBOUND_ENCRYPTION_RATIO","GP_DELIVERY_ERROR_RATIO","SNDS_FILTER_RESULT","SNDS_BOUNCE_RATE","SNDS_COMPLAINT_RATE","SNDS_TRAP_HITS","LOOKALIKE_REG_CREATED_DATE","LOOKALIKE_REG_UPDATED_DATE","DMARC_SPF_FAIL","DMARC_DKIM_FAIL","DMARC_DMARC_FAIL","DMARC_SPF_ALIGNMENT_FAIL","DMARC_DKIM_ALIGNMENT_FAIL","TRAPS_IP","TRAPS_DOMAIN_FROM","HONEYTOKEN_DOMAIN_COUNT_PER_PERIOD"]},"key":{"type":"string","description":"Applies only if formula is sent. Used in the formula"},"ips":{"type":"array","items":{"type":"string","description":"Applies only for IP_IN_RBL rule type"}},"domains":{"type":"array","items":{"type":"string","description":"Applies only for DOMAIN_IN_RBL rule type"}},"rbls":{"type":"array","items":{"type":"string","description":"Applies for IP_IN_RBL, DOMAIN_IN_RBL rule types"}},"gp_ips":{"type":"array","items":{"type":"string","description":"Applies only for GP_IP_REPUTATION rule type"}},"gp_ip_reputations":{"type":"array","items":{"type":"string","enum":["REPUTATION_CATEGORY_UNSPECIFIED","HIGH","MEDIUM","LOW","BAD"],"description":"Applies only for GP_IP_REPUTATION rule type"}},"gp_domains":{"type":"array","items":{"type":"string","description":"Applies only for GP_DOMAIN_REPUTATION rule type"}},"gp_domain_reputations":{"type":"array","items":{"type":"string","enum":["REPUTATION_CATEGORY_UNSPECIFIED","HIGH","MEDIUM","LOW","BAD"],"description":"Applies only for GP_DOMAIN_REPUTATION rule type"}},"gp_user_reported_spam_ratio":{"type":"object","description":"Applies only for GP_USER_REPORTED_SPAM_RATIO rule type","properties":{"value":{"type":"number"},"operator":{"type":"string","enum":["gt","gte","lt","lte","eq"]}}},"gp_spf_success_ratio":{"type":"object","description":"Applies only for GP_SPF_SUCCESS_RATIO rule type","properties":{"value":{"type":"number"},"operator":{"type":"string","enum":["gt","gte","lt","lte","eq"]}}},"gp_dkim_success_ratio":{"type":"object","description":"Applies only for GP_DKIM_SUCCESS_RATIO rule type","properties":{"value":{"type":"number"},"operator":{"type":"string","enum":["gt","gte","lt","lte","eq"]}}},"gp_dmarc_success_ratio":{"type":"object","description":"Applies only for GP_DMARC_SUCCESS_RATIO rule type","properties":{"value":{"type":"number"},"operator":{"type":"string","enum":["gt","gte","lt","lte","eq"]}}},"gp_inbound_encryption_ratio":{"type":"object","description":"Applies only for GP_INBOUND_ENCRYPTION_RATIO rule type","properties":{"value":{"type":"number"},"operator":{"type":"string","enum":["gt","gte","lt","lte","eq"]}}},"gp_outbound_encryption_ratio":{"type":"object","description":"Applies only for GP_OUTBOUND_ENCRYPTION_RATIO rule type","properties":{"value":{"type":"number"},"operator":{"type":"string","enum":["gt","gte","lt","lte","eq"]}}},"gp_delivery_error_ratio":{"type":"object","description":"Applies only for GP_DELIVERY_ERROR_RATIO rule type","properties":{"value":{"type":"number"},"operator":{"type":"string","enum":["gt","gte","lt","lte","eq"]}}},"snds_ips":{"type":"array","items":{"type":"string","description":"Applies only for SNDS_FILTER_RESULT rule type"}},"snds_filter_result":{"type":"array","items":{"type":"string","enum":["GREEN","YELLOW","RED"],"description":"Applies only for SNDS_FILTER_RESULT rule type"}},"snds_bounce_rate":{"type":"object","description":"Applies only for SNDS_BOUNCE_RATE rule type","properties":{"value":{"type":"number"},"operator":{"type":"string","enum":["gt","gte","lt","lte","eq"]}}},"snds_complaint_rate":{"type":"object","description":"Applies only for SNDS_COMPLAINT_RATE rule type","properties":{"value":{"type":"number"},"operator":{"type":"string","enum":["gt","gte","lt","lte","eq"]}}},"snds_trap_hits":{"type":"object","description":"Applies only for SNDS_TRAP_HITS rule type","properties":{"value":{"type":"number"},"operator":{"type":"string","enum":["gt","gte","lt","lte","eq"]}}},"lookalike_reg_created_date":{"type":"object","description":"Applies only for LOOKALIKE_REG_CREATED_DATE rule type","properties":{"value":{"type":"string","enum":["ONE_DAY","ONE_WEEK","ONE_MONTH","ONE_YEAR"]},"operator":{"type":"string","enum":["gt","lt"]}}},"lookalike_reg_updated_date":{"type":"object","description":"Applies only for LOOKALIKE_REG_UPDATED_DATE rule type","properties":{"value":{"type":"string","enum":["ONE_DAY","ONE_WEEK","ONE_MONTH","ONE_YEAR"]},"operator":{"type":"string","enum":["gt","lt"]}}},"dmarc_spf_fail":{"type":"object","description":"Applies only for DMARC_SPF_FAIL rule type","properties":{"value":{"type":"number"},"operator":{"type":"string","enum":["gt","gte"]},"time_range":{"type":"string","enum":["ONE_DAY","ONE_WEEK","ONE_MONTH"]}}},"dmarc_dkim_fail":{"type":"object","description":"Applies only for DMARC_DKIM_FAIL rule type","properties":{"value":{"type":"number"},"operator":{"type":"string","enum":["gt","gte"]},"time_range":{"type":"string","enum":["ONE_DAY","ONE_WEEK","ONE_MONTH"]}}},"dmarc_dmarc_fail":{"type":"object","description":"Applies only for DMARC_DMARC_FAIL rule type","properties":{"value":{"type":"number"},"operator":{"type":"string","enum":["gt","gte"]},"time_range":{"type":"string","enum":["ONE_DAY","ONE_WEEK","ONE_MONTH"]}}},"dmarc_spf_alignment_fail":{"type":"object","description":"Applies only for DMARC_SPF_ALIGNMENT_FAIL rule type","properties":{"value":{"type":"number"},"operator":{"type":"string","enum":["gt","gte"]},"time_range":{"type":"string","enum":["ONE_DAY","ONE_WEEK","ONE_MONTH"]}}},"dmarc_dkim_alignment_fail":{"type":"object","description":"Applies only for DMARC_DKIM_ALIGNMENT_FAIL rule type","properties":{"value":{"type":"number"},"operator":{"type":"string","enum":["gt","gte"]},"time_range":{"type":"string","enum":["ONE_DAY","ONE_WEEK","ONE_MONTH"]}}},"traps_ips":{"type":"array","description":"Applies only for TRAPS_IP rule type","items":{"type":"string"}},"traps_domains_from":{"type":"array","description":"Applies only for TRAPS_DOMAIN_FROM rule type","items":{"type":"string"}},"honeytoken_domains":{"type":"array","description":"Applies only for HONEYTOKEN_DOMAIN_COUNT_PER_PERIOD rule type. Use one of the special values or provide specific domain names: `ALL_HONEYTOKEN_DOMAINS` to match all domains, `TRUSTED_HONEYTOKEN_DOMAINS` to match only trusted domains, `NOT_TRUSTED_HONEYTOKEN_DOMAINS` to match only non-trusted domains. Special values must be the only element in the array","items":{"type":"string"}},"honeytoken_domain_count_per_period":{"type":"object","description":"Applies only for HONEYTOKEN_DOMAIN_COUNT_PER_PERIOD rule type","properties":{"value":{"type":"number"},"operator":{"type":"string","enum":["gt","gte","lt","lte","eq"]},"time_range":{"type":"string","enum":["ONE_DAY","ONE_WEEK","ONE_MONTH"]}}}}},"UpsertAlertBodyRequest":{"type":"object","additionalProperties":false,"required":["name","rules"],"properties":{"name":{"type":"string","minLength":0,"maxLength":100,"description":"Name of the alert for easy identification"},"profile_id":{"type":"string","description":"Profile ID to associate alert with the specific profile"},"is_active":{"type":"array","default":true,"description":"Enable or disable the current alert, preserving alert's settings"},"is_on_dashboards":{"type":"array","default":true,"description":"Show an alert on dashboards"},"is_in_daily_report":{"type":"array","default":true,"description":"Include an alert notifications in the daily email report"},"is_instant_alert":{"type":"array","default":false,"description":"Send an immediate notification when the alert is triggered"},"instant_alert_email":{"type":"string","maxLength":320,"description":"Email address to receive instant alert notifications. Required if is_instant_alert is true"},"webhook_url":{"type":"string","description":"URL endpoint to send a POST request with alert data when triggered"},"slack_integration_id":{"type":"string","description":"Slack integration ID to send notifications to a Slack channel"},"rules":{"type":"array","required":["type"],"description":"Array of alert rules that define trigger conditions","items":{"$ref":"#/components/schemas/UserAlertRuleBaseModel"}},"formula":{"type":"string","description":"Logical formula combining multiple rules (e.g., \"rule1 AND rule2 OR rule3\"). Required when multiple rules are defined"}}},"UserAlertBaseModel":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier of the alert"},"name":{"type":"string","description":"Name of the alert"},"profile_id":{"type":"string","description":"Associated profile ID"},"is_active":{"type":"array","default":true,"description":"Indicates if the current alert is enabled"},"is_on_dashboards":{"type":"array","default":true,"description":"Indicates if the alert is displayed on dashboards"},"is_in_daily_report":{"type":"array","default":true,"description":"Indicates if the alert is included in daily email reports"},"is_instant_alert":{"type":"array","default":false,"description":"Indicates if instant notifications are enabled"},"instant_alert_email":{"type":"string","description":"Email address for instant alert notifications"},"webhook_url":{"type":"string","description":"Webhook URL for HTTP POST notifications"},"slack_integration_id":{"type":"string","description":"Slack integration ID for Slack notifications"},"rules":{"type":"array","description":"Array of configured alert rules","items":{"$ref":"#/components/schemas/UserAlertRuleBaseModel"}},"formula":{"type":"string","description":"Logical formula combining multiple rules, present only when multiple rules are configured"},"created_at":{"type":"string","format":"date-time","description":"Timestamp when the alert was created"},"updated_at":{"type":"string","format":"date-time","description":"Timestamp when the alert was last updated"}}},"AlertRuleBaseModel":{"type":"object","properties":{"type":{"type":"string","description":"Type of alert rule that was triggered"},"snapshot":{"type":"object","description":"Snapshot of data at the time the alert was triggered (e.g., current reputation scores, RBL status)"},"matchings":{"type":"object","description":"Details of what matched the alert rule conditions (e.g., specific IPs, domains, or values that triggered the alert)"}}},"AlertBaseModel":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier of the triggered alert log entry"},"profile_id":{"type":"string","description":"Profile ID associated with this alert occurrence"},"user_alert_id":{"type":"string","description":"Reference to the parent user alert configuration"},"name":{"type":"string","description":"Name of the alert that was triggered"},"rules":{"type":"array","description":"Array of alert rules with their trigger details and matched conditions","items":{"$ref":"#/components/schemas/AlertRuleBaseModel"}},"timestamp":{"type":"string","format":"date-time","description":"Timestamp when the alert was triggered"}}},"AuthLoginBody":{"type":"object","additionalProperties":false,"required":["email","password"],"properties":{"email":{"type":"string","format":"email"},"password":{"type":"string","format":"password"}}},"AuthLoginResponse":{"type":"object","properties":{"token":{"type":"string","description":"A new bearer token"}}},"AuthSignUpBody":{"type":"object","additionalProperties":false,"required":["email","password","confirm_password","confirm_password"],"properties":{"email":{"type":"string","format":"email"},"password":{"type":"string","format":"password","minLength":6,"maxLength":100},"confirm_password":{"type":"string","minLength":6,"maxLength":100},"name":{"type":"string","maxLength":100},"sbscrbed_for_notif":{"type":"boolean","default":false},"referral":{"type":"string"},"prepayment_id":{"type":"string"}}},"AuthSignUpDemoBody":{"type":"object","additionalProperties":false,"required":["email"],"properties":{"email":{"type":"string","format":"email"},"sbscrbed_for_notif":{"type":"boolean","default":false}}},"AuthActivationBody":{"type":"object","additionalProperties":false,"required":["activation_id"],"properties":{"activation_id":{"type":"string","format":"uuid"}}},"AuthDropPasswordBody":{"type":"object","additionalProperties":false,"required":["email"],"properties":{"email":{"type":"string","format":"email"}}},"AuthChangePasswordBody":{"type":"object","additionalProperties":false,"required":["current_password","new_password","confirm_new_password"],"properties":{"current_password":{"type":"string","format":"password"},"new_password":{"type":"string","format":"password","minLength":6,"maxLength":100},"confirm_new_password":{"type":"string","format":"password","minLength":6,"maxLength":100}}},"AuthSwitchUserBody":{"type":"object","additionalProperties":false,"required":["uid"],"properties":{"uid":{"type":"string"}}},"BouncerListBaseModel":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier of the listcleaning list"},"title":{"type":"string","description":"Name of the listcleaning list for easy identification"},"profile_id":{"type":"string","description":"Profile ID associated with the list"},"webhook_url":{"type":"string","description":"Webhook URL to receive list processing status updates"},"status":{"type":"string","description":"Current processing status of the listcleaning list","enum":["INIT","PRE_PROCESSING","PRE_PROCESSING_DONE","PROCESSING","DONE","FAILED"]},"available_presaved_lists":{"type":"array","description":"List of available presaved result variants that can be downloaded","items":{"type":"string","enum":["all","safe-to-send","send-with-caution"]},"default":["all","safe-to-send","send-with-caution"]},"emails_count":{"type":"number","description":"Total number of emails in the list"},"invalid_format_count":{"type":"number","description":"Number of emails with invalid email format"},"duplicates_count":{"type":"number","description":"Number of duplicate emails found in the list"},"domains_count":{"type":"number","description":"Total number of unique domains in the list"},"created_at":{"type":"string","format":"date-time","description":"Timestamp when the list was created"},"updated_at":{"type":"string","format":"date-time","description":"Timestamp when the list was last updated"},"processing_start_at":{"type":"string","format":"date-time","description":"Timestamp when the list processing started"},"processing_end_at":{"type":"string","format":"date-time","description":"Timestamp when the list processing completed"},"preprocessing_error":{"type":"string","description":"Error message if preprocessing failed"},"processing_error":{"type":"string","description":"Error message if processing failed"},"listcleaning_results":{"type":"object","description":"Summary of listcleaning results with counts for each category","properties":{"count":{"type":"number","description":"Total number of processed emails"},"deliverable":{"type":"number","description":"Number of emails with deliverable status"},"risky":{"type":"number","description":"Number of emails with risky status"},"undeliverable":{"type":"number","description":"Number of emails with undeliverable status"},"unknown":{"type":"number","description":"Number of emails with unknown status"},"toxicity_0":{"type":"number","description":"Number of emails with toxicity level 0 (lowest)"},"toxicity_1":{"type":"number","description":"Number of emails with toxicity level 1"},"toxicity_2":{"type":"number","description":"Number of emails with toxicity level 2"},"toxicity_3":{"type":"number","description":"Number of emails with toxicity level 3"},"toxicity_4":{"type":"number","description":"Number of emails with toxicity level 4"},"toxicity_5":{"type":"number","description":"Number of emails with toxicity level 5 (highest)"}}}}},"BouncerListResultModel":{"type":"object","properties":{"email":{"type":"string","description":"Email address that was verified"},"status":{"type":"string","description":"Verification status of the email (deliverable, risky, undeliverable, or unknown)"},"reason":{"type":"string","description":"Reason for the assigned status"},"domain":{"type":"object","description":"Information about the email's domain","properties":{"name":{"type":"string","description":"Domain name of the email address"},"accept_all":{"type":"string","description":"Indicates if the domain accepts all emails (yes, no, or unknown)"},"disposable":{"type":"string","description":"Indicates if the domain is a disposable email service (yes, no, or unknown)"},"free":{"type":"string","description":"Indicates if the domain is a free email provider (yes, no, or unknown)"}}},"account":{"type":"object","description":"Information about the email account","properties":{"role":{"type":"string","description":"Indicates if the email is a role-based address (yes, no, or unknown)"},"disabled":{"type":"string","description":"Indicates if the email account is disabled (yes, no, or unknown)"},"full_mailbox":{"type":"string","description":"Indicates if the mailbox is full (yes, no, or unknown)"}}},"dns":{"type":"object","description":"DNS information for the email's domain","properties":{"type":{"type":"string","description":"Type of DNS record (e.g., MX, A)"},"record":{"type":"string","description":"DNS record value"}}},"provider":{"type":"string","description":"Email service provider name"},"score":{"type":"number","description":"Overall quality score of the email address"},"toxic":{"type":"string","description":"Indicates if the email is toxic (yes, no, or unknown)"},"toxicity":{"type":"number","description":"Toxicity level from 0 (lowest) to 5 (highest)"}}},"ContactUsBody":{"type":"object","additionalProperties":false,"required":["email","message","name"],"properties":{"email":{"type":"string","format":"email"},"message":{"type":"string","minLength":1,"maxLength":1000},"name":{"type":"string","minLength":1,"maxLength":256}}},"DeliverabilityConsultingBody":{"type":"object","additionalProperties":false,"required":["email"],"properties":{"email":{"type":"string","format":"email"}}},"DmarcAddBulkBody":{"type":"object","additionalProperties":false,"required":["domains"],"properties":{"domains":{"type":"array","description":"List of domain names to add for DMARC monitoring","items":{"type":"string","format":"domain"}}}},"DmarcDomainItem":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier of the DMARC domain"},"domain":{"type":"string","description":"Domain name being monitored"},"p":{"type":"string","enum":["none","reject","quarantine"],"description":"DMARC policy for the domain"},"warnings":{"type":"array","description":"List of configuration warnings for the domain","items":{"type":"string"}},"created_at":{"type":"string","description":"Timestamp when the domain was added to monitoring"},"records":{"type":"object","description":"Aggregated DMARC statistics for the selected period","properties":{"count":{"type":"number","description":"Total number of DMARC records received"},"spf_pass":{"type":"number","description":"Number of records with SPF validation passed"},"spf_fail":{"type":"number","description":"Number of records with SPF validation failed"},"dkim_pass":{"type":"number","description":"Number of records with DKIM validation passed"},"dkim_fail":{"type":"number","description":"Number of records with DKIM validation failed"},"dmarc_pass":{"type":"number","description":"Number of records with DMARC validation passed"},"dmarc_fail":{"type":"number","description":"Number of records with DMARC validation failed"},"spf_alignment_pass":{"type":"number","description":"Number of records with SPF alignment passed"},"spf_alignment_fail":{"type":"number","description":"Number of records with SPF alignment failed"},"dkim_alignment_pass":{"type":"number","description":"Number of records with DKIM alignment passed"},"dkim_alignment_fail":{"type":"number","description":"Number of records with DKIM alignment failed"},"spf_auth_results_pass":{"type":"number","description":"Number of records with SPF authentication results passed"},"spf_auth_results_fail":{"type":"number","description":"Number of records with SPF authentication results failed"},"dkim_auth_results_pass":{"type":"number","description":"Number of records with DKIM authentication results passed"},"dkim_auth_results_fail":{"type":"number","description":"Number of records with DKIM authentication results failed"}}},"status":{"type":"string","enum":["WAITING","UPDATED","FAILED"],"description":"Current status of the domain processing"}}},"DmarcGetIpOrgNamesByDomainIdResponse":{"type":"object","properties":{"ip_org_name":{"type":"string","description":"Organization name associated with the source IP address"},"count":{"type":"number","description":"Total number of DMARC records from this source"},"spf_pass":{"type":"number","description":"Number of records with SPF validation passed"},"spf_fail":{"type":"number","description":"Number of records with SPF validation failed"},"dkim_pass":{"type":"number","description":"Number of records with DKIM validation passed"},"dkim_fail":{"type":"number","description":"Number of records with DKIM validation failed"},"dmarc_pass":{"type":"number","description":"Number of records with DMARC validation passed"},"dmarc_fail":{"type":"number","description":"Number of records with DMARC validation failed"},"spf_alignment_pass":{"type":"number","description":"Number of records with SPF alignment passed"},"spf_alignment_fail":{"type":"number","description":"Number of records with SPF alignment failed"},"dkim_alignment_pass":{"type":"number","description":"Number of records with DKIM alignment passed"},"dkim_alignment_fail":{"type":"number","description":"Number of records with DKIM alignment failed"},"spf_auth_results_pass":{"type":"number","description":"Number of records with SPF authentication results passed"},"spf_auth_results_fail":{"type":"number","description":"Number of records with SPF authentication results failed"},"dkim_auth_results_pass":{"type":"number","description":"Number of records with DKIM authentication results passed"},"dkim_auth_results_fail":{"type":"number","description":"Number of records with DKIM authentication results failed"}}},"DmarcGetIpsByDomainIdResponse":{"type":"object","properties":{"ip":{"type":"string","description":"Source IP address that sent the email"},"disposition":{"type":"string","description":"Policy action applied by the receiving server"},"rdns":{"type":"string","description":"Reverse DNS lookup result for the IP address"},"org_name":{"type":"string","description":"Organization name that reported this data"},"header_from":{"type":"string","description":"Domain from the email header From field"},"count":{"type":"number","description":"Total number of DMARC records from this IP address"},"spf_pass":{"type":"number","description":"Number of records with SPF validation passed"},"spf_fail":{"type":"number","description":"Number of records with SPF validation failed"},"dkim_pass":{"type":"number","description":"Number of records with DKIM validation passed"},"dkim_fail":{"type":"number","description":"Number of records with DKIM validation failed"},"dmarc_pass":{"type":"number","description":"Number of records with DMARC validation passed"},"dmarc_fail":{"type":"number","description":"Number of records with DMARC validation failed"},"spf_alignment_pass":{"type":"number","description":"Number of records with SPF alignment passed"},"spf_alignment_fail":{"type":"number","description":"Number of records with SPF alignment failed"},"dkim_alignment_pass":{"type":"number","description":"Number of records with DKIM alignment passed"},"dkim_alignment_fail":{"type":"number","description":"Number of records with DKIM alignment failed"},"spf_auth_results_pass":{"type":"number","description":"Number of records with SPF authentication results passed"},"spf_auth_results_fail":{"type":"number","description":"Number of records with SPF authentication results failed"},"dkim_auth_results_pass":{"type":"number","description":"Number of records with DKIM authentication results passed"},"dkim_auth_results_fail":{"type":"number","description":"Number of records with DKIM authentication results failed"},"ip_country":{"type":"string","description":"Country code of the source IP address"}}},"DmarcGetTimeseriesDmarcTypeStatsResponse":{"type":"object","properties":{"date":{"type":"string","description":"Date of the aggregated data point"},"dmarc_type":{"type":"string","enum":["threat","compliant"],"description":"Classification of DMARC records as threat or compliant"},"count":{"type":"number","description":"Number of records for this DMARC type on this date"}}},"DmarcGetTimeseriesOrgNameResponse":{"type":"object","properties":{"date":{"type":"string","description":"Date of the aggregated data point"},"org_name":{"type":"string","description":"Organization name that reported the data"},"count":{"type":"number","description":"Number of records from this reporter on this date"}}},"DmarcGetTimeseriesIpOrgNameResponse":{"type":"object","properties":{"date":{"type":"string","description":"Date of the aggregated data point"},"ip_org_name":{"type":"string","description":"Organization name associated with the source IP address"},"count":{"type":"number","description":"Number of records from this source on this date"}}},"DmarcGetTimeseriesDispositionResponse":{"type":"object","properties":{"date":{"type":"string","description":"Date of the aggregated data point"},"disposition":{"type":"string","enum":["threat","compliant"],"description":"Policy action applied by the receiving server"},"count":{"type":"number","description":"Number of records with this disposition on this date"},"domains":{"type":"array","description":"List of domains associated with this disposition","items":{"type":"string"}}}},"DmarcGetAggregatedCountResponse":{"type":"object","properties":{"count":{"type":"number","description":"Total number of DMARC records"},"spf_pass":{"type":"number","description":"Number of records with SPF validation passed"},"spf_fail":{"type":"number","description":"Number of records with SPF validation failed"},"dkim_pass":{"type":"number","description":"Number of records with DKIM validation passed"},"dkim_fail":{"type":"number","description":"Number of records with DKIM validation failed"},"dmarc_pass":{"type":"number","description":"Number of records with DMARC validation passed"},"dmarc_fail":{"type":"number","description":"Number of records with DMARC validation failed"},"spf_alignment_pass":{"type":"number","description":"Number of records with SPF alignment passed"},"spf_alignment_fail":{"type":"number","description":"Number of records with SPF alignment failed"},"dkim_alignment_pass":{"type":"number","description":"Number of records with DKIM alignment passed"},"dkim_alignment_fail":{"type":"number","description":"Number of records with DKIM alignment failed"},"spf_auth_results_pass":{"type":"number","description":"Number of records with SPF authentication results passed"},"spf_auth_results_fail":{"type":"number","description":"Number of records with SPF authentication results failed"},"dkim_auth_results_pass":{"type":"number","description":"Number of records with DKIM authentication results passed"},"dkim_auth_results_fail":{"type":"number","description":"Number of records with DKIM authentication results failed"}}},"DmarcGetAggregatedOrgNameResponse":{"type":"object","properties":{"org_name":{"type":"string","description":"Organization name that reported the data"},"count":{"type":"number","description":"Total number of DMARC records from this reporter"},"spf_pass":{"type":"number","description":"Number of records with SPF validation passed"},"spf_fail":{"type":"number","description":"Number of records with SPF validation failed"},"dkim_pass":{"type":"number","description":"Number of records with DKIM validation passed"},"dkim_fail":{"type":"number","description":"Number of records with DKIM validation failed"},"dmarc_pass":{"type":"number","description":"Number of records with DMARC validation passed"},"dmarc_fail":{"type":"number","description":"Number of records with DMARC validation failed"},"spf_alignment_pass":{"type":"number","description":"Number of records with SPF alignment passed"},"spf_alignment_fail":{"type":"number","description":"Number of records with SPF alignment failed"},"dkim_alignment_pass":{"type":"number","description":"Number of records with DKIM alignment passed"},"dkim_alignment_fail":{"type":"number","description":"Number of records with DKIM alignment failed"},"spf_auth_results_pass":{"type":"number","description":"Number of records with SPF authentication results passed"},"spf_auth_results_fail":{"type":"number","description":"Number of records with SPF authentication results failed"},"dkim_auth_results_pass":{"type":"number","description":"Number of records with DKIM authentication results passed"},"dkim_auth_results_fail":{"type":"number","description":"Number of records with DKIM authentication results failed"}}},"DmarcGetAggregatedDomainResponse":{"type":"object","properties":{"domain":{"type":"string","description":"Domain name being monitored"},"count":{"type":"number","description":"Total number of DMARC records for this domain"},"spf_pass":{"type":"number","description":"Number of records with SPF validation passed"},"spf_fail":{"type":"number","description":"Number of records with SPF validation failed"},"dkim_pass":{"type":"number","description":"Number of records with DKIM validation passed"},"dkim_fail":{"type":"number","description":"Number of records with DKIM validation failed"},"dmarc_pass":{"type":"number","description":"Number of records with DMARC validation passed"},"dmarc_fail":{"type":"number","description":"Number of records with DMARC validation failed"},"spf_alignment_pass":{"type":"number","description":"Number of records with SPF alignment passed"},"spf_alignment_fail":{"type":"number","description":"Number of records with SPF alignment failed"},"dkim_alignment_pass":{"type":"number","description":"Number of records with DKIM alignment passed"},"dkim_alignment_fail":{"type":"number","description":"Number of records with DKIM alignment failed"},"spf_auth_results_pass":{"type":"number","description":"Number of records with SPF authentication results passed"},"spf_auth_results_fail":{"type":"number","description":"Number of records with SPF authentication results failed"},"dkim_auth_results_pass":{"type":"number","description":"Number of records with DKIM authentication results passed"},"dkim_auth_results_fail":{"type":"number","description":"Number of records with DKIM authentication results failed"}}},"DmarcGetAggregatedIpResponse":{"type":"object","properties":{"ip":{"type":"string","description":"Source IP address that sent the email"},"count":{"type":"number","description":"Total number of DMARC records from this IP address"},"spf_pass":{"type":"number","description":"Number of records with SPF validation passed"},"spf_fail":{"type":"number","description":"Number of records with SPF validation failed"},"dkim_pass":{"type":"number","description":"Number of records with DKIM validation passed"},"dkim_fail":{"type":"number","description":"Number of records with DKIM validation failed"},"dmarc_pass":{"type":"number","description":"Number of records with DMARC validation passed"},"dmarc_fail":{"type":"number","description":"Number of records with DMARC validation failed"},"spf_alignment_pass":{"type":"number","description":"Number of records with SPF alignment passed"},"spf_alignment_fail":{"type":"number","description":"Number of records with SPF alignment failed"},"dkim_alignment_pass":{"type":"number","description":"Number of records with DKIM alignment passed"},"dkim_alignment_fail":{"type":"number","description":"Number of records with DKIM alignment failed"},"spf_auth_results_pass":{"type":"number","description":"Number of records with SPF authentication results passed"},"spf_auth_results_fail":{"type":"number","description":"Number of records with SPF authentication results failed"},"dkim_auth_results_pass":{"type":"number","description":"Number of records with DKIM authentication results passed"},"dkim_auth_results_fail":{"type":"number","description":"Number of records with DKIM authentication results failed"}}},"DmarcGetAggregatedIpOrgNameResponse":{"type":"object","properties":{"ip_org_name":{"type":"string","description":"Organization name associated with the source IP address"},"count":{"type":"number","description":"Total number of DMARC records from this source"},"spf_pass":{"type":"number","description":"Number of records with SPF validation passed"},"spf_fail":{"type":"number","description":"Number of records with SPF validation failed"},"dkim_pass":{"type":"number","description":"Number of records with DKIM validation passed"},"dkim_fail":{"type":"number","description":"Number of records with DKIM validation failed"},"dmarc_pass":{"type":"number","description":"Number of records with DMARC validation passed"},"dmarc_fail":{"type":"number","description":"Number of records with DMARC validation failed"},"spf_alignment_pass":{"type":"number","description":"Number of records with SPF alignment passed"},"spf_alignment_fail":{"type":"number","description":"Number of records with SPF alignment failed"},"dkim_alignment_pass":{"type":"number","description":"Number of records with DKIM alignment passed"},"dkim_alignment_fail":{"type":"number","description":"Number of records with DKIM alignment failed"},"spf_auth_results_pass":{"type":"number","description":"Number of records with SPF authentication results passed"},"spf_auth_results_fail":{"type":"number","description":"Number of records with SPF authentication results failed"},"dkim_auth_results_pass":{"type":"number","description":"Number of records with DKIM authentication results passed"},"dkim_auth_results_fail":{"type":"number","description":"Number of records with DKIM authentication results failed"}}},"DmarcGetAggregatedIpCountryResponse":{"type":"object","properties":{"ip_country":{"type":"string","description":"Country code of the source IP address"},"count":{"type":"number","description":"Total number of DMARC records from this country"},"spf_pass":{"type":"number","description":"Number of records with SPF validation passed"},"spf_fail":{"type":"number","description":"Number of records with SPF validation failed"},"dkim_pass":{"type":"number","description":"Number of records with DKIM validation passed"},"dkim_fail":{"type":"number","description":"Number of records with DKIM validation failed"},"dmarc_pass":{"type":"number","description":"Number of records with DMARC validation passed"},"dmarc_fail":{"type":"number","description":"Number of records with DMARC validation failed"},"spf_alignment_pass":{"type":"number","description":"Number of records with SPF alignment passed"},"spf_alignment_fail":{"type":"number","description":"Number of records with SPF alignment failed"},"dkim_alignment_pass":{"type":"number","description":"Number of records with DKIM alignment passed"},"dkim_alignment_fail":{"type":"number","description":"Number of records with DKIM alignment failed"},"spf_auth_results_pass":{"type":"number","description":"Number of records with SPF authentication results passed"},"spf_auth_results_fail":{"type":"number","description":"Number of records with SPF authentication results failed"},"dkim_auth_results_pass":{"type":"number","description":"Number of records with DKIM authentication results passed"},"dkim_auth_results_fail":{"type":"number","description":"Number of records with DKIM authentication results failed"}}},"DmarcGetAggregatedPolicyEvaluatedReasonTypeResponse":{"type":"object","properties":{"type":{"type":"string","description":"Type of policy evaluation reason"},"count":{"type":"number","description":"Number of records with this reason type"}}},"DmarcGetAggregatedPolicyEvaluatedReasonCommentResponse":{"type":"object","properties":{"comment":{"type":"string","description":"Comment text explaining the policy evaluation reason"},"count":{"type":"number","description":"Number of records with this reason comment"}}},"DmarcRecordItem":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier of the DMARC record"},"user_id":{"type":"string","description":"User ID who owns this record"},"org_name":{"type":"string","description":"Organization name that reported this data"},"email":{"type":"string","description":"Email address of the reporter"},"contact_info":{"type":"string","description":"Additional contact information of the reporter"},"report_id":{"type":"string","description":"Unique identifier of the DMARC report"},"record_id":{"type":"string","description":"Unique identifier of this specific record within the report"},"period_from":{"type":"string","format":"date-time","description":"Start timestamp of the reporting period"},"period_to":{"type":"string","format":"date-time","description":"End timestamp of the reporting period"},"domain":{"type":"string","description":"Domain name being monitored"},"adkim":{"type":"string","description":"DKIM alignment mode"},"aspf":{"type":"string","description":"SPF alignment mode"},"p":{"type":"string","enum":["none","reject","quarantine"],"description":"DMARC policy for the domain"},"sp":{"type":"string","description":"DMARC policy for subdomains"},"pct":{"type":"number","description":"Percentage of messages subjected to filtering"},"ip":{"type":"string","description":"Source IP address that sent the email"},"ip_country":{"type":"string","description":"Country code of the source IP address"},"ip_org_name":{"type":"string","description":"Organization name associated with the source IP address"},"count":{"type":"number","description":"Number of messages matching this record"},"disposition":{"type":"string","description":"Policy action applied by the receiving server"},"spf":{"type":"string","description":"Overall SPF validation result"},"dkim":{"type":"string","description":"Overall DKIM validation result"},"dmarc":{"type":"string","description":"Overall DMARC validation result"},"spf_aligned":{"type":"boolean","description":"Indicates if SPF alignment check passed"},"dkim_aligned":{"type":"boolean","description":"Indicates if DKIM alignment check passed"},"spf_pass":{"type":"number","description":"Number of messages with SPF validation passed"},"spf_fail":{"type":"number","description":"Number of messages with SPF validation failed"},"dkim_pass":{"type":"number","description":"Number of messages with DKIM validation passed"},"dkim_fail":{"type":"number","description":"Number of messages with DKIM validation failed"},"dmarc_pass":{"type":"number","description":"Number of messages with DMARC validation passed"},"dmarc_fail":{"type":"number","description":"Number of messages with DMARC validation failed"},"spf_alignment_pass":{"type":"number","description":"Number of messages with SPF alignment passed"},"spf_alignment_fail":{"type":"number","description":"Number of messages with SPF alignment failed"},"dkim_alignment_pass":{"type":"number","description":"Number of messages with DKIM alignment passed"},"dkim_alignment_fail":{"type":"number","description":"Number of messages with DKIM alignment failed"},"spf_auth_results_pass":{"type":"number","description":"Number of messages with SPF authentication results passed"},"spf_auth_results_fail":{"type":"number","description":"Number of messages with SPF authentication results failed"},"dkim_auth_results_pass":{"type":"number","description":"Number of messages with DKIM authentication results passed"},"dkim_auth_results_fail":{"type":"number","description":"Number of messages with DKIM authentication results failed"},"envelope_from":{"type":"string","description":"Domain from the SMTP MAIL FROM command"},"header_from":{"type":"string","description":"Email address from the message header From field"},"header_from_domain":{"type":"string","description":"Domain extracted from the header From field"},"auth_results":{"type":"object","description":"Detailed authentication results for SPF and DKIM","properties":{"dkim":{"type":"array","description":"List of DKIM authentication results","items":{"type":"object","properties":{"_id":{"type":"string","description":"Unique identifier of this DKIM result"},"domain":{"$ref":"#/components/schemas/DkimValidationDomain"},"result":{"$ref":"#/components/schemas/DkimValidationResult"},"selector":{"$ref":"#/components/schemas/DkimValidationSelector"}}}},"spf":{"type":"array","description":"List of SPF authentication results","items":{"type":"object","properties":{"_id":{"type":"string","description":"Unique identifier of this SPF result"},"domain":{"$ref":"#/components/schemas/SpfValidationDomain"},"result":{"$ref":"#/components/schemas/SpfValidationResult"}}}}}},"policy_evaluated_reasons":{"type":"array","description":"List of reasons for policy evaluation decisions","items":{"type":"object","properties":{"_id":{"type":"string","description":"Unique identifier of this reason"},"type":{"type":"string","description":"Type of policy evaluation reason"},"comment":{"type":"string","description":"Additional comment explaining the reason"}}}},"created_at":{"type":"string","format":"date-time","description":"Timestamp when this record was created in the system"}}},"DomainStatus":{"type":"string","description":"Current status of domain processing","enum":["WAITING","UPDATED","FAILED"]},"DomainsItemBaseModel":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","description":"Unique identifier of the domain"},"domain":{"type":"string","format":"domain","description":"Domain name being monitored"},"dns_lookup_result":{"type":"array","description":"DNS lookup results containing resolved IP addresses","items":{"type":"object","additionalProperties":false,"properties":{"ip":{"type":"string","description":"Resolved IP address for the domain"}}}},"rbl_result":{"type":"array","description":"Blacklist check results from various RBL providers","items":{"type":"object","additionalProperties":false,"properties":{"lookup_host":{"type":"string","description":"RBL provider hostname that was queried"}}}},"spf":{"type":"object","description":"SPF record validation results and details","properties":{"domain":{"$ref":"#/components/schemas/SpfValidationDomain"},"result":{"$ref":"#/components/schemas/SpfValidationResult"},"dns_queries_to_resolve":{"$ref":"#/components/schemas/SpfValidationDnsQueriesToResolve"},"record":{"$ref":"#/components/schemas/SpfValidationRecord"},"warnings":{"$ref":"#/components/schemas/SpfValidationWarnings"},"mechanisms":{"$ref":"#/components/schemas/SpfValidationMechanisms"}}},"dkim":{"type":"array","description":"DKIM configuration and validation results for all selectors","items":{"type":"object","properties":{"result":{"$ref":"#/components/schemas/DkimValidationResult"},"selector":{"$ref":"#/components/schemas/DkimValidationSelector"},"errors":{"$ref":"#/components/schemas/DkimValidationErrors"},"warnings":{"$ref":"#/components/schemas/DkimValidationWarnings"}}}},"dmarc":{"type":"object","description":"DMARC policy validation results and configuration","properties":{"result":{"$ref":"#/components/schemas/DmarcValidationResult"},"warnings":{"$ref":"#/components/schemas/DmarcValidationWarnings"}}},"status":{"type":"string","description":"Current processing status of the domain"},"updated_at":{"type":"string","description":"Timestamp when the domain information was last updated"}}},"DomainsAddBulkBody":{"type":"object","additionalProperties":false,"required":["domains"],"properties":{"domains":{"type":"array","description":"List of domain names to add for monitoring","items":{"type":"string","format":"domain"}}}},"DomainsPopulateBody":{"type":"object","additionalProperties":false,"required":["domains"],"properties":{"domains":{"type":"array","description":"List of domains with optional DKIM selectors to add for monitoring","items":{"type":"object","additionalProperties":false,"required":["domain"],"properties":{"domain":{"type":"string","format":"domain","description":"Domain name to add"},"selectors":{"type":"array","description":"Optional list of DKIM selector names for the domain","items":{"type":"string"}}}}}}},"DomainsPatchDomain":{"type":"object","additionalProperties":false,"properties":{"dkim":{"type":"array","description":"List of DKIM selectors to update for the domain","items":{"type":"object","additionalProperties":false,"properties":{"selector":{"type":"string","description":"DKIM selector name to add or update"}}}}}},"EmailDeliveryDkim":{"type":"object","properties":{"selector":{"type":"string","description":"DKIM selector"},"dns_name":{"type":"string","description":"DNS record name for DKIM"},"verified":{"type":"boolean","description":"Whether the DKIM record is verified"}}},"EmailDeliverySpf":{"type":"object","properties":{"subdomain":{"type":"string","description":"SPF subdomain"},"prefix_value":{"type":"string","description":"SPF prefix value"},"verified":{"type":"boolean","description":"Whether the SPF record is verified"}}},"EmailDeliveryDmarc":{"type":"object","properties":{"verified":{"type":"boolean","description":"Whether the DMARC record is verified"},"current_value":{"type":"string","description":"Current DMARC record value"},"warnings":{"type":"array","items":{"type":"string"},"description":"DMARC validation warnings"}}},"EmailDeliveryDomain":{"type":"object","properties":{"id":{"type":"string","description":"Domain ID"},"domain":{"type":"string","description":"Domain name"},"is_active":{"type":"boolean","description":"Whether the domain is active"},"comment":{"type":"string","description":"Optional comment about the domain"},"dkim":{"type":"array","items":{"$ref":"#/components/schemas/EmailDeliveryDkim"},"description":"DKIM configuration"},"spf":{"$ref":"#/components/schemas/EmailDeliverySpf"},"dmarc":{"$ref":"#/components/schemas/EmailDeliveryDmarc"},"sender_domain":{"type":"string","description":"Sender domain for email delivery"},"tracking_pixel":{"type":"boolean","description":"Whether tracking pixel is enabled"},"tracking_link":{"type":"boolean","description":"Whether link tracking is enabled"},"tracking_unsubscribe":{"type":"boolean","description":"Whether unsubscribe tracking is enabled"},"created_at":{"type":"string","format":"date-time","description":"Creation timestamp"},"updated_at":{"type":"string","format":"date-time","description":"Last update timestamp"}}},"EmailDeliveryAddDomainRequest":{"type":"object","required":["domain"],"properties":{"domain":{"type":"string","description":"Domain name to add","example":"example.com"},"comment":{"type":"string","description":"Optional comment about the domain"}}},"EmailDeliveryUpdateDomainRequest":{"type":"object","properties":{"tracking_pixel":{"type":"boolean","description":"Enable/disable tracking pixel"},"tracking_link":{"type":"boolean","description":"Enable/disable link tracking"},"tracking_unsubscribe":{"type":"boolean","description":"Enable/disable unsubscribe tracking"},"is_active":{"type":"boolean","description":"Set domain active/inactive"},"comment":{"type":"string","description":"Update comment"},"spf":{"type":"object","properties":{"subdomain":{"type":"string","description":"SPF subdomain (must not be empty string)","minLength":1}}}}},"EmailDeliveryBooleanResponse":{"type":"object","properties":{"data":{"type":"boolean"}}},"EmailDeliveryDomainListResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/EmailDeliveryDomain"}},"meta":{"$ref":"#/components/schemas/PaginationDefaultMetaResponse"}}},"EmailDeliveryRecord":{"type":"object","properties":{"id":{"type":"string","description":"Email delivery record ID"},"domain":{"type":"string","description":"Domain name"},"email_from":{"type":"string","description":"Sender email address"},"recipient":{"type":"string","description":"Recipient email address"},"recipient_domain":{"type":"string","description":"Recipient domain"},"submission_id":{"type":"string","description":"Submission ID"},"status":{"type":"string","description":"Email delivery status"},"subject":{"type":"string","description":"Email subject"},"failed_reason":{"type":"string","description":"Reason for failure (if any)"},"bounce_classification":{"type":"string","description":"Bounce classification details"},"feedback_report":{"type":"object","description":"Feedback report details"},"clicked":{"type":"boolean","description":"Whether the links in the email were clicked"},"opened":{"type":"boolean","description":"Whether the email was opened"},"unsubscribed":{"type":"boolean","description":"Whether the recipient has unsubscribed from receiving emails from this domain"},"dropped":{"type":"boolean","description":"Whether the email was dropped"},"last_event_time":{"type":"string","format":"date-time","description":"Timestamp of the last event received"},"created_at":{"type":"string","format":"date-time","description":"Creation timestamp"},"updated_at":{"type":"string","format":"date-time","description":"Last update timestamp"}}},"EmailDeliveryLog":{"type":"object","properties":{"id":{"type":"string","description":"Log ID"},"timestamp":{"type":"string","format":"date-time","description":"Log timestamp"},"meta":{"type":"object","properties":{"user_id":{"type":"string","description":"User ID"},"submission_id":{"type":"string","description":"Submission ID"},"recipient":{"type":"string","description":"Recipient email address"},"email_delivery_id":{"type":"string","description":"Email delivery ID"},"d":{"type":"string","description":"Date in YYYY-MM-DD format"}}},"event_type":{"type":"string","description":"Type of event that occurred"},"email_status":{"type":"string","description":"Email delivery status"},"email_size":{"type":"integer","description":"Size of the email in bytes"},"failed_reason":{"type":"string","description":"Reason for failure"},"bounce_classification":{"type":"string","description":"Bounce classification"},"feedback_report":{"type":"object","description":"Feedback report details"},"response":{"type":"object","description":"Original response"},"kumo_payload":{"type":"object","description":"ADMIN only - Original payload received from kumoMTA webhook"}}},"EmailDeliverySuppression":{"type":"object","properties":{"id":{"type":"string","description":"Suppression record ID"},"domain":{"type":"string","description":"Domain name"},"recipient":{"type":"string","description":"Recipient email address"},"recipient_domain":{"type":"string","description":"Recipient domain"},"unsubscribe":{"type":"boolean","description":"Whether this is an unsubscribe suppression"},"unsubscribed_at":{"type":"string","format":"date-time","description":"Timestamp when unsubscribed"},"unsubscribe_reason":{"type":"string","description":"Reason for unsubscribing (max 1024 characters)"},"hard_bounce":{"type":"boolean","description":"Whether this is a hard bounce suppression"},"hard_bounced_at":{"type":"string","format":"date-time","description":"Timestamp when hard bounced"},"feedback_report":{"type":"boolean","description":"Whether feedback was reported"},"feedback_reported_at":{"type":"string","format":"date-time","description":"Timestamp when feedback was reported"},"bounce_response":{"type":"object","description":"Bounce response details"},"manual":{"type":"boolean","description":"Whether this suppression was added manually by the user"},"manual_reason":{"type":"string","description":"Reason for manual suppression (max 1024 characters)"},"created_at":{"type":"string","format":"date-time","description":"Creation timestamp"},"updated_at":{"type":"string","format":"date-time","description":"Last update timestamp"}}},"EmailDeliverySuppressionListResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/EmailDeliverySuppression"}},"meta":{"$ref":"#/components/schemas/PaginationDefaultMetaResponse"}}},"EmailDeliveryTimeseriesStatsItem":{"type":"object","properties":{"date":{"type":"string","description":"Date in YYYY-MM-DD format"},"total_count":{"type":"integer","description":"Total number of email deliveries for this date"},"requested":{"type":"integer","description":"Number of emails with status REQUESTED"},"sending":{"type":"integer","description":"Number of emails with status SENDING"},"delivered":{"type":"integer","description":"Number of emails with status DELIVERED"},"opened":{"type":"integer","description":"Number of delivered emails that were opened"},"clicked":{"type":"integer","description":"Number of delivered emails where links were clicked"},"unsubscribed":{"type":"integer","description":"Number of delivered emails where recipient unsubscribed"},"hard_bounced":{"type":"integer","description":"Number of hard bounces"},"bounced":{"type":"integer","description":"Number of soft bounces"},"spam_reported":{"type":"integer","description":"Number of spam reports"},"dropped_unsubscribed":{"type":"integer","description":"Emails dropped due to unsubscribe"},"dropped_hard_bounced":{"type":"integer","description":"Emails dropped due to hard bounce"},"dropped_spam_reported":{"type":"integer","description":"Emails dropped due to spam report"},"dropped_manually_suppressed":{"type":"integer","description":"Emails dropped due to manual suppression"}}},"EmailDeliveryFromHeader":{"type":"object","required":["email"],"properties":{"email":{"type":"string","format":"email","description":"Email address","example":"sender@example.com"},"name":{"type":"string","nullable":true,"description":"Display name","example":"Sender Name"}}},"EmailDeliveryAttachment":{"type":"object","required":["data","content_type"],"properties":{"data":{"type":"string","description":"Raw or base64 encoded attachment content","example":"R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"},"content_type":{"type":"string","description":"MIME type of the attachment","example":"image/gif"},"file_name":{"type":"string","nullable":true,"description":"Name of the file","example":"pixel.gif"},"content_id":{"type":"string","nullable":true,"description":"Content-ID for inline attachments","example":"my-image"},"base64":{"type":"boolean","description":"Whether data is base64 encoded","example":true}}},"EmailDeliveryStructuredContent":{"type":"object","properties":{"from":{"allOf":[{"$ref":"#/components/schemas/EmailDeliveryFromHeader"}],"nullable":true},"reply_to":{"allOf":[{"$ref":"#/components/schemas/EmailDeliveryFromHeader"}],"nullable":true},"subject":{"type":"string","nullable":true,"description":"Email subject line","example":"Welcome Email"},"text_body":{"type":"string","nullable":true,"description":"Plain text version of the email body","example":"Hello {{name}}, welcome!"},"html_body":{"type":"string","nullable":true,"description":"HTML version of the email body","example":"<p>Hello <b>{{name}}</b>, welcome!</p>"},"amp_html_body":{"type":"string","nullable":true,"description":"AMP HTML version of the email body","example":"<!doctype html><html amp4email>...</html>"},"headers":{"type":"object","additionalProperties":{"type":"string"},"description":"Custom email headers","example":{"X-Custom-Header":"custom-value","X-Tracking-ID":"12345"}},"attachments":{"type":"array","items":{"$ref":"#/components/schemas/EmailDeliveryAttachment"},"description":"Email attachments"}}},"EmailDeliveryRecipient":{"type":"object","required":["email"],"properties":{"email":{"type":"string","format":"email","description":"Recipient email address","example":"recipient@example.com"},"name":{"type":"string","nullable":true,"description":"Recipient display name","example":"John Doe"},"substitutions":{"type":"object","additionalProperties":true,"description":"Recipient-specific template substitutions","example":{"name":"John","company":"Example Inc"}}}},"EmailDeliverySendRequest":{"type":"object","required":["content","recipients"],"properties":{"content":{"oneOf":[{"type":"string","description":"Complete MIME message as a string","example":"From: sender@example.com\r\nTo: recipient@example.com\r\nSubject: Test\r\n\r\nHello World"},{"$ref":"#/components/schemas/EmailDeliveryStructuredContent"}],"description":"Email content - can be either a complete MIME message string or a structured content object"},"recipients":{"type":"array","minItems":1,"items":{"$ref":"#/components/schemas/EmailDeliveryRecipient"},"description":"List of email recipients (at least one required)"},"substitutions":{"type":"object","additionalProperties":true,"description":"Global template substitutions applied to all recipients","example":{"company":"Example Corp","year":"2026"}},"template_dialect":{"type":"string","enum":["Jinja","Handlebars"],"description":"Template engine to use for substitutions","example":"Jinja"}}},"EmailDeliveryStatus":{"type":"string","enum":["requested","sending","delivered","bounced","expired","rejected","opened","clicked","unsubscribed","hard_bounced","spam_reported","dropped_unsubscribed","dropped_hard_bounced","dropped_spam_reported","dropped_manually_suppressed"],"description":"Email delivery status"},"GpDomainsAddBulkBody":{"type":"object","additionalProperties":false,"required":["domains"],"properties":{"domains":{"type":"array","description":"List of domain names to add to Google Postmaster monitoring","items":{"type":"string","format":"domain"}}}},"GpDomainsGetAllResponseItem":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","description":"Unique identifier of the Google Postmaster domain entry"},"domain":{"type":"string","description":"The monitored domain name"},"deleted_at":{"type":"string","format":"date-time","description":"Timestamp when the domain was deleted. Present only for deleted domains"},"traffic_stats":{"type":"array","description":"List of traffic statistics records","items":{"$ref":"#/components/schemas/GpDomainsTrafficStats"}}}},"GpDomainsTrafficStats":{"type":"object","additionalProperties":false,"properties":{"key":{"type":"string","description":"Key identifying this traffic stats record"},"domain":{"type":"string","description":"The domain name associated with this traffic stats entry"},"date_timestamp":{"type":"string","format":"date-time","description":"Timestamp of the traffic stats entry"},"ipReputations":{"type":"array","description":"Breakdown of sending IP reputations grouped by reputation category","items":{"type":"object","additionalProperties":false,"properties":{"reputation":{"type":"string","enum":["REPUTATION_CATEGORY_UNSPECIFIED","HIGH","MEDIUM","LOW","BAD"],"description":"IP reputation category as reported by Google Postmaster"},"ipCount":{"type":"string","description":"Number of IPs with this reputation category"},"sampleIps":{"type":"array","description":"Sample list of IP addresses in this reputation category","items":{"type":"string","format":"ip"}}}}},"domainReputation":{"type":"string","enum":["REPUTATION_CATEGORY_UNSPECIFIED","HIGH","MEDIUM","LOW","BAD"],"description":"Overall domain reputation as reported by Google Postmaster"},"spammyFeedbackLoops":{"type":"array","description":"List of spammy feedback loop identifiers and their spam ratios for this domain","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","description":"Feedback loop identifier"},"spamRatio":{"type":"number","description":"Ratio of messages flagged as spam"}}}},"userReportedSpamRatio":{"type":"number","description":"Ratio of messages reported as spam by users"},"userReportedSpamRatioLowerBound":{"type":"number","description":"Lower bound of the user-reported spam ratio confidence interval"},"userReportedSpamRatioUpperBound":{"type":"number","description":"Upper bound of the user-reported spam ratio confidence interval"},"spfSuccessRatio":{"type":"number","description":"Ratio of messages that passed SPF authentication"},"dkimSuccessRatio":{"type":"number","description":"Ratio of messages that passed DKIM authentication"},"dmarcSuccessRatio":{"type":"number","description":"Ratio of messages that passed DMARC authentication"},"outboundEncryptionRatio":{"type":"number","description":"Ratio of outbound messages delivered over an encrypted connection"},"inboundEncryptionRatio":{"type":"number","description":"Ratio of inbound messages received over an encrypted connection"},"deliveryErrors":{"type":"array","description":"List of delivery errors encountered during the reporting period","items":{"type":"object","additionalProperties":false,"properties":{"errorClass":{"type":"string","enum":["DELIVERY_ERROR_CLASS_UNSPECIFIED","PERMANENT_ERROR","TEMPORARY_ERROR"],"description":"Classification of the delivery error"},"errorType":{"type":"string","enum":["DELIVERY_ERROR_TYPE_UNSPECIFIED","RATE_LIMIT_EXCEEDED","SUSPECTED_SPAM","CONTENT_SPAMMY","BAD_ATTACHMENT","BAD_DMARC_POLICY","LOW_IP_REPUTATION","LOW_DOMAIN_REPUTATION","IP_IN_RBL","DOMAIN_IN_RBL","BAD_PTR_RECORD"],"description":"Specific type of delivery error"},"errorRatio":{"type":"number","description":"Ratio of messages affected by this delivery error type"}}}}}},"GpDomainsHistory":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","description":"Unique identifier of the data sync history entry"},"key":{"type":"string","description":"Identifier key of the associated data sync process"},"status":{"type":"string","enum":["IN_PROGRESS","DONE","FAILED"],"description":"Current status of the Google Postmaster data sync process"},"payload":{"type":"string","description":"Additional details about the run result. Contains an error message when status is FAILED"},"created_at":{"type":"string","format":"date-time","description":"Timestamp when the data sync process was created"},"updated_at":{"type":"string","format":"date-time","description":"Timestamp when the data sync process was last updated"}}},"HalonAggregatedStatsBaseModel":{"type":"object","additionalProperties":false,"properties":{"domain":{"type":"string"},"ip":{"type":"string"},"from":{"type":"string"},"mx":{"type":"string"},"result":{"type":"string","enum":["queue","delivered","bounced"]},"count":{"type":"number"},"sent":{"type":"number"}}},"HalonTimeseriesStatsBaseModel":{"type":"object","additionalProperties":false,"properties":{"date":{"type":"string","format":"date"},"result":{"type":"string","enum":["queue","delivered","bounced"]},"count":{"type":"number"},"sent":{"type":"number"}}},"HalonTimeseriesBounceStatsBaseModel":{"type":"object","additionalProperties":false,"properties":{"date":{"type":"string","format":"date"},"bounce_l1":{"type":"string","enum":["s","h","u"]},"count":{"type":"number"}}},"HalonAggregatedBounceStatsBaseModel":{"type":"object","additionalProperties":false,"properties":{"bounce_d":{"type":"string"},"bounce_l1":{"type":"string"},"bounce_l2":{"type":"string"},"count":{"type":"number"}}},"HalonAggregatedBounceDOriginalStatsBaseModel":{"type":"object","additionalProperties":false,"properties":{"bounce_d_original":{"type":"string"},"count":{"type":"number"}}},"HoneytokenTrustedDomainsAddBulkBody":{"type":"object","required":["domains"],"properties":{"domains":{"type":"array","description":"List of trusted domains in honeytoken feature. Each entry can be a plain domain (e.g. example.com) or a wildcard (e.g. *.example.com) to match the domain itself and all its subdomains","items":{"type":"string"}}}},"HoneytokenTrustedDomainsImportResponse":{"type":"object","properties":{"added":{"type":"integer","description":"Number of trusted domains successfully added to honeytoken feature"},"not_added":{"type":"integer","description":"Number of trusted domains that were not added"},"not_valid":{"type":"array","description":"List of domain values that failed validation","items":{"type":"string"}}}},"HoneytokenTrustedDomainItemResponse":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier of the honeytoken trusted domain"},"domain":{"type":"string","description":"Trusted domain value in honeytoken feature"},"created_at":{"type":"string","description":"Date when the trusted domain was created"},"updated_at":{"type":"string","description":"Date when the trusted domain was last updated"}}},"HoneytokenLogItemResponse":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier of the honeytoken log entry"},"host":{"type":"string","description":"Email provider hostname"},"to_email":{"type":"string","description":"Recipient email address"},"from":{"type":"string","nullable":true,"description":"Sender display name"},"from_email":{"type":"string","nullable":true,"description":"Sender email address"},"domain":{"type":"string","nullable":true,"description":"Sender email domain"},"subject":{"type":"string","nullable":true,"description":"Email subject"},"inbox_status":{"type":"string","description":"Inbox delivery status"},"ip":{"type":"string","nullable":true,"description":"Sender IP address"},"sended_timestamp":{"type":"string","format":"date-time","nullable":true,"description":"Timestamp when the email was sent"},"received_timestamp":{"type":"string","format":"date-time","nullable":true,"description":"Timestamp when the email was received"},"opened":{"type":"boolean","description":"Whether the email was opened"},"clicked":{"type":"boolean","description":"Whether a link in the email was clicked"},"trusted":{"type":"boolean","description":"Whether the sender domain is trusted"}}},"PaginationDefaultMetaResponse":{"type":"object","description":"Pagination metadata for list responses","properties":{"count":{"type":"integer","description":"Total number of items available"},"offset":{"type":"integer","description":"Number of items skipped"},"limit":{"type":"integer","description":"Maximum number of items returned per request"}}},"ErrorResponseBase":{"type":"object","description":"Standard error response format","properties":{"error":{"type":"object","description":"Error details object","properties":{"message":{"type":"string","description":"Error message describing what went wrong"},"code":{"type":"integer","description":"HTTP status code"}}}}},"SeedlistingHost":{"type":"string","description":"Email service provider for seedlisting test","enum":["ZIGGO","YANDEX","YAHOO","UKR_NET","SEZNAM","SAPO","RAMBLER","OUTLOOK_BUSINESS","ORANGE_FR","MAIL_RU","LAPOSTE","ICLOUD","HOTMAIL","GMX","GMAIL_BUSINESS","GMAIL","FREE_FR","AWS_BUSINESS","AOL","O2_PL","WP_PL","LIBERO"]},"SeedlistingCheckType":{"type":"string","description":"Type of seedlisting check to perform, which determines the method of matching incoming emails","enum":["TAG","H_TO","REF","EXPRESS"]},"SeedlistingStatus":{"type":"string","description":"Current status of the seedlisting test","enum":["INIT","ACTIVE","DONE","FAILED","TERMINATED"]},"SeedlistingEmailStatus":{"type":"string","description":"Delivery status of seedlisting email","enum":["WAITING","INBOX","SPAM","NOT_RECEIVED"]},"SeedlistingEmailProcessingStatus":{"type":"string","description":"Processing status of seedlisting email statistics","enum":["WAITING","STATS_PASSED","DONE"]},"UserBillingPlanName":{"type":"string","description":"User's billing plan tier","enum":["JUNIOR","SENIOR","NONE","EXPIRED","ON_GO","CUSTOM"]},"UserBillingPlanType":{"type":"string","description":"Billing cycle type for the user's subscription","enum":["MONTHLY","YEARLY","NONE"]},"UserBillingPlanCurrency":{"type":"string","description":"Currency used for billing","enum":["USD","EUR"]},"DkimValidationDomain":{"type":"string","example":"example.com","description":"Domain against which the DKIM signature was validated"},"DkimValidationSelector":{"type":"string","example":"default","description":"DKIM selector used for public key lookup"},"DkimValidationResult":{"type":"string","nullable":true,"description":"DKIM validation result"},"DkimValidationWarnings":{"type":"array","description":"Non-critical issues found during DKIM validation","items":{"type":"string"}},"DkimValidationErrors":{"type":"array","description":"Critical errors found during DKIM validation","items":{"type":"string"}},"DmarcValidationDomain":{"type":"string","example":"example.com","description":"Domain against which the DMARC policy was evaluated"},"DmarcValidationResult":{"type":"array","example":["v=DMARC1; p=quarentine; rua=mailto:dmarc@example.com"],"description":"DMARC evaluation result","items":{"type":"string"}},"DmarcValidationWarnings":{"type":"array","example":["No DMARC record found"],"description":"Non-critical issues found during DMARC evaluation","items":{"type":"string"}},"SpfValidationDomain":{"type":"string","example":"example.com","description":"Domain against which the SPF record was evaluated"},"SpfValidationResult":{"type":"boolean","example":true,"description":"Indicates whether the SPF check passed"},"SpfValidationDnsQueriesToResolve":{"type":"number","example":3,"description":"Number of DNS queries required to fully resolve the SPF record"},"SpfValidationRecord":{"type":"string","example":"v=spf1 include:_spf.google.com ~all","description":"The raw SPF TXT record retrieved from DNS"},"SpfValidationWarnings":{"type":"array","example":["No records found for example.com"],"description":"Non-critical issues found during SPF evaluation","items":{"type":"string"}},"SpfValidationMechanisms":{"type":"array","description":"List of SPF mechanisms parsed from the record","items":{"type":"object","properties":{"mechanism":{"type":"string","example":"a","description":"The SPF mechanism"},"modifier":{"type":"string","example":"redirect","description":"The SPF modifier"},"data":{"oneOf":[{"type":"string"},{"type":"object"}],"example":"string or object for include mechanisms redirect modifier","description":"The data associated with the mechanism"},"warning":{"type":"string","example":"No records found","description":"Warning message if an issue was detected with this mechanism"},"is_dns_query_to_resolve":{"type":"boolean","example":true,"description":"Indicates whether this mechanism requires a DNS lookup"},"domain":{"type":"string","example":"example.com","description":"The domain associated with this mechanism"}}}},"InsightRblModel":{"type":"object","properties":{"listed":{"type":"boolean","description":"Indicates whether the IP or domain is currently listed on one or more blocklists"},"list_count":{"type":"number","description":"Total number of blocklists on which the IP or domain is currently listed"}}},"InsightSeedlistingModel":{"type":"object","properties":{"inbox_24h":{"type":"number","description":"Number of seedlisting emails delivered to inbox in the last 24 hours"},"inbox_7d":{"type":"number","description":"Number of seedlisting emails delivered to inbox in the last 7 days"},"inbox_30d":{"type":"number","description":"Number of seedlisting emails delivered to inbox in the last 30 days"},"spam_24h":{"type":"number","description":"Number of seedlisting emails delivered to spam in the last 24 hours"},"spam_7d":{"type":"number","description":"Number of seedlisting emails delivered to spam in the last 7 days"},"spam_30d":{"type":"number","description":"Number of seedlisting emails delivered to spam in the last 30 days"},"count_24h":{"type":"number","description":"Total number of seedlisting emails processed in the last 24 hours"},"count_7d":{"type":"number","description":"Total number of seedlisting emails processed in the last 7 days"},"count_30d":{"type":"number","description":"Total number of seedlisting emails processed in the last 30 days"}}},"InsightDmarcModel":{"type":"object","properties":{"dmarc_pass_24h":{"type":"number","description":"Number of emails that passed DMARC validation in the last 24 hours"},"dmarc_pass_7d":{"type":"number","description":"Number of emails that passed DMARC validation in the last 7 days"},"dmarc_pass_30d":{"type":"number","description":"Number of emails that passed DMARC validation in the last 30 days"},"dmarc_fail_24h":{"type":"number","description":"Number of emails that failed DMARC validation in the last 24 hours"},"dmarc_fail_7d":{"type":"number","description":"Number of emails that failed DMARC validation in the last 7 days"},"dmarc_fail_30d":{"type":"number","description":"Number of emails that failed DMARC validation in the last 30 days"},"count_24h":{"type":"number","description":"Total number of emails in DMARC monitoring in the last 24 hours"},"count_7d":{"type":"number","description":"Total number of emails in DMARC monitoring in the last 7 days"},"count_30d":{"type":"number","description":"Total number of emails in DMARC monitoring in the last 30 days"}}},"InsightGpModel":{"type":"object","properties":{"high_7d":{"type":"number","description":"Number of days with HIGH domain reputation reported by Google Postmaster in the last 7 days"},"high_30d":{"type":"number","description":"Number of days with HIGH domain reputation reported by Google Postmaster in the last 30 days"},"medium_7d":{"type":"number","description":"Number of days with MEDIUM domain reputation reported by Google Postmaster in the last 7 days"},"medium_30d":{"type":"number","description":"Number of days with MEDIUM domain reputation reported by Google Postmaster in the last 30 days"},"low_7d":{"type":"number","description":"Number of days with LOW domain reputation reported by Google Postmaster in the last 7 days"},"low_30d":{"type":"number","description":"Number of days with LOW domain reputation reported by Google Postmaster in the last 30 days"},"bad_7d":{"type":"number","description":"Number of days with BAD domain reputation reported by Google Postmaster in the last 7 days"},"bad_30d":{"type":"number","description":"Number of days with BAD domain reputation reported by Google Postmaster in the last 30 days"}}},"InsightSndsModel":{"type":"object","properties":{"green_7d":{"type":"number","description":"Number of recipients associated with a GREEN SNDS filter status in the last 7 days"},"green_30d":{"type":"number","description":"Number of recipients associated with a GREEN SNDS filter status in the last 30 days"},"yellow_7d":{"type":"number","description":"Number of recipients associated with a YELLOW SNDS filter status in the last 7 days"},"yellow_30d":{"type":"number","description":"Number of recipients associated with a YELLOW SNDS filter status in the last 30 days"},"red_7d":{"type":"number","description":"Number of recipients associated with a RED SNDS filter status in the last 7 days"},"red_30d":{"type":"number","description":"Number of recipients associated with a RED SNDS filter status in the last 30 days"}}},"InsightAlertsModel":{"type":"object","properties":{"count_24h":{"type":"number","description":"Number of alerts triggered for this IP or domain in the last 24 hours"},"count_7d":{"type":"number","description":"Number of alerts triggered for this IP or domain in the last 7 days"},"count_30d":{"type":"number","description":"Number of alerts triggered for this IP or domain in the last 30 days"}}},"InsightModel":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier of the insight record"},"ip":{"type":"string","description":"IP address associated with this insight"},"domain":{"type":"string","description":"Domain name associated with this insight"},"sources":{"type":"array","description":"List of data sources that detected this IP or domain","items":{"type":"string"}},"rbl":{"description":"Blocklist status and listing count for this IP or domain","$ref":"#/components/schemas/InsightRblModel"},"seedlisting":{"description":"Seedlisting statistics for this IP or domain","$ref":"#/components/schemas/InsightSeedlistingModel"},"dmarc":{"description":"DMARC validation statistics for this IP or domain","$ref":"#/components/schemas/InsightDmarcModel"},"gp":{"description":"Google Postmaster domain reputation statistics","$ref":"#/components/schemas/InsightGpModel"},"snds":{"description":"SNDS filter status statistics for this IP","$ref":"#/components/schemas/InsightSndsModel"},"alerts":{"description":"Alert counts triggered for this IP or domain","$ref":"#/components/schemas/InsightAlertsModel"},"created_at":{"type":"string","format":"date-time","description":"Timestamp when this insight record was created"},"updated_at":{"type":"string","format":"date-time","description":"Timestamp when this insight record was last updated"}}},"InsightResponseModel":{"type":"object","properties":{"data":{"type":"array","description":"List of insight records","items":{"$ref":"#/components/schemas/InsightModel"}},"meta":{"$ref":"#/components/schemas/PaginationDefaultMetaResponse"}}},"IpAggregationResponseModel":{"type":"object","properties":{"clean":{"type":"number","description":"Number of clean IPs"},"blocklisted":{"type":"number","description":"Number of blocklisted IPs"},"not_monitored":{"type":"number","description":"Number of not monitored IPs"}}},"DomainAggregationResponseModel":{"type":"object","properties":{"clean":{"type":"number","description":"Number of clean domains"},"blocklisted":{"type":"number","description":"Number of blocklisted domains"},"not_monitored":{"type":"number","description":"Number of not monitored domains"}}},"AlertsAggregationResponseModel":{"type":"object","properties":{"count_24h":{"type":"number","description":"Total number of alerts in last 24 hours"},"count_7d":{"type":"number","description":"Total number of alerts in last 7 days"},"count_30d":{"type":"number","description":"Total number of alerts in last 30 days"}}},"DmarcAggregationResponseModel":{"type":"object","properties":{"dmarc_fail_24h":{"type":"number","description":"Total number of DMARC failure emails in last 24 hours"},"dmarc_fail_7d":{"type":"number","description":"Total number of DMARC failure emails in last 7 days"},"dmarc_fail_30d":{"type":"number","description":"Total number of DMARC failure emails in last 30 days"},"dmarc_pass_24h":{"type":"number","description":"Total number of DMARC pass emails in last 24 hours"},"dmarc_pass_7d":{"type":"number","description":"Total number of DMARC pass emails in last 7 days"},"dmarc_pass_30d":{"type":"number","description":"Total number of DMARC pass emails in last 30 days"},"count_24h":{"type":"number","description":"Total number of DMARC emails in last 24 hours"},"count_7d":{"type":"number","description":"Total number of DMARC emails in last 7 days"},"count_30d":{"type":"number","description":"Total number of DMARC emails in last 30 days"}}},"SeedlistingAggregationResponseModel":{"type":"object","properties":{"inbox_24h":{"type":"number","description":"Total number of seedlisting inbox emails in last 24 hours"},"inbox_7d":{"type":"number","description":"Total number of seedlisting inbox emails in last 7 days"},"inbox_30d":{"type":"number","description":"Total number of seedlisting inbox emails in last 30 days"},"spam_24h":{"type":"number","description":"Total number of seedlisting spam emails in last 24 hours"},"spam_7d":{"type":"number","description":"Total number of seedlisting spam emails in last 7 days"},"spam_30d":{"type":"number","description":"Total number of seedlisting spam emails in last 30 days"},"count_24h":{"type":"number","description":"Total number of seedlisting emails in last 24 hours"},"count_7d":{"type":"number","description":"Total number of seedlisting emails in last 7 days"},"count_30d":{"type":"number","description":"Total number of seedlisting emails in last 30 days"}}},"GpAggregationResponseModel":{"type":"object","properties":{"high_7d":{"type":"number","description":"Total number of days where Google Postmaster with HIGH reputation in the last 7 days"},"high_30d":{"type":"number","description":"Total number of days where Google Postmaster with HIGH reputation in the last 30 days"},"medium_7d":{"type":"number","description":"Total number of days where Google Postmaster with MEDIUM reputation in the last 7 days"},"medium_30d":{"type":"number","description":"Total number of days where Google Postmaster with MEDIUM reputation in the last 30 days"},"low_7d":{"type":"number","description":"Total number of days where Google Postmaster with LOW reputation in the last 7 days"},"low_30d":{"type":"number","description":"Total number of days where Google Postmaster with LOW reputation in the last 30 days"},"bad_7d":{"type":"number","description":"Total number of days where Google Postmaster with BAD reputation in the last 7 days"},"bad_30d":{"type":"number","description":"Total number of days where Google Postmaster with BAD reputation in the last 30 days"}}},"SndsAggregationResponseModel":{"type":"object","properties":{"green_7d":{"type":"number","description":"Total number of recipients where SNDS with GREEN status in the last 7 days"},"green_30d":{"type":"number","description":"Total number of recipients where SNDS with GREEN status in the last 30 days"},"yellow_7d":{"type":"number","description":"Total number of recipients where SNDS with YELLOW status in the last 7 days"},"yellow_30d":{"type":"number","description":"Total number of recipients where SNDS with YELLOW status in the last 30 days"},"red_7d":{"type":"number","description":"Total number of recipients where SNDS with RED status in the last 7 days"},"red_30d":{"type":"number","description":"Total number of recipients where SNDS with RED status in the last 30 days"}}},"IpStatus":{"type":"string","description":"Current processing status of an IP","enum":["WAITING","UPDATED","FAILED"]},"IpsItemBaseModel":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","description":"Unique identifier of the IP entity"},"ip":{"type":"string","description":"The monitored IP address"},"dns_lookup_result":{"type":"array","description":"Results of forward and reverse DNS lookups for this IP","items":{"type":"object","additionalProperties":false,"properties":{"addresses":{"type":"array","description":"List of forward DNS resolved addresses","items":{"type":"string"}},"rDNS":{"type":"string","description":"Reverse DNS hostname for this IP"}}}},"rbl_result":{"type":"array","description":"List of RBL lookup results for this IP","items":{"type":"object","additionalProperties":false,"properties":{"lookup_host":{"type":"string","description":"RBL hostname on which this IP is listed"}}}},"status":{"type":"string","description":"Current processing status of this IP"},"blacklisted":{"type":"boolean","description":"Indicates whether this IP is currently listed on at least one RBL"},"wrong_rdns":{"type":"boolean","description":"Indicates whether the reverse DNS record for this IP is missing or does not resolve"},"updated_at":{"type":"string","format":"date-time","description":"Timestamp when the IP data was last refreshed"}}},"IpsAddBulkBody":{"type":"object","additionalProperties":false,"required":["ips"],"properties":{"ips":{"type":"array","description":"List of IP addresses to add","items":{"type":"string","format":"ipv4"}}}},"IpsAddNetmaskBody":{"type":"object","additionalProperties":false,"required":["netmask"],"properties":{"netmask":{"type":"string","format":"netmask","description":"Netmask to expand and add all contained IP addresses for monitoring"}}},"IpsReportBaseModel":{"type":"object","additionalProperties":false,"properties":{"is_active":{"type":"boolean"},"emails":{"type":"array","items":{"type":"string","format":"email"}},"slack_integration_ids":{"type":"array","items":{"type":"string"},"description":"slack integration ids to send report to slack channels"},"utc_hours":{"type":"number","description":"utc_hours must be between 0 and 23"},"utc_minutes":{"type":"number","description":"utc_minutes must be between 0 and 59"},"front_end_stored_data":{"type":"string","maxLength":40,"description":"addition data that can be stored in arbitrary string"},"includes":{"type":"array","items":{"type":"string"}}}},"LookalikeAddBulkBody":{"type":"object","additionalProperties":false,"required":["domains"],"properties":{"domains":{"type":"array","description":"List of domain names to monitor for lookalike detection","items":{"type":"string","format":"domain"}}}},"LookalikeChangeLookalikeStateBody":{"type":"object","additionalProperties":false,"required":["state"],"properties":{"state":{"type":"string","description":"New classification state to assign to the lookalike domain","enum":["UNCLASSIFIED","THREAT","IGNORED"]}}},"LookalikeDomainItem":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier of the monitored domain entry"},"domain":{"type":"string","description":"The monitored domain name"},"unclassified":{"type":"number","description":"Number of detected lookalike domains not yet classified"},"threat":{"type":"number","description":"Number of detected lookalike domains classified as a threat"},"ignored":{"type":"number","description":"Number of detected lookalike domains marked as ignored"},"created_at":{"type":"string","format":"date-time","description":"Timestamp when the domain was added for monitoring"},"updated_at":{"type":"string","format":"date-time","description":"Timestamp when the domain entry was last updated"}}},"LookalikeItem":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier of the lookalike domain entry"},"lookalike":{"type":"string","description":"The detected lookalike domain name"},"score":{"type":"number","description":"Score indicating how closely this domain resembles the monitored domain"},"dnssec":{"type":"boolean","description":"Indicates whether DNSSEC is enabled for this lookalike domain"},"name_servers":{"type":"array","description":"List of name servers associated with this lookalike domain","items":{"type":"string"}},"reg_created_date":{"type":"string","format":"date-time","description":"Date when the lookalike domain was registered"},"reg_updated_date":{"type":"string","format":"date-time","description":"Date when the lookalike domain was last updated"},"registrar":{"type":"string","description":"Name of the registrar through which the lookalike domain is registered"},"registrar_abuse_email":{"type":"string","description":"Abuse contact email address for the registrar"},"state":{"type":"string","enum":["UNCLASSIFIED","THREAT","IGNORED"],"description":"Classification state of this lookalike domain"},"p":{"type":"string","enum":["none","reject","quarantine"],"description":"Current DMARC policy of the lookalike domain"},"spf_detected":{"type":"boolean","description":"Indicates whether an SPF record was detected for this lookalike domain"},"mx_detected":{"type":"boolean","description":"Indicates whether MX records were detected for this lookalike domain"},"a_detected":{"type":"boolean","description":"Indicates whether an A record was detected for this lookalike domain"},"bimi_logo":{"type":"string","description":"BIMI logo associated with this lookalike domain, if present"},"created_at":{"type":"string","format":"date-time","description":"Timestamp when this lookalike entry was first detected"},"updated_at":{"type":"string","format":"date-time","description":"Timestamp when this lookalike entry was last updated"}}},"MailerQAggregatedStatsBaseModel":{"type":"object","additionalProperties":false,"properties":{"domain":{"type":"string"},"ip":{"type":"string"},"from":{"type":"string"},"mx":{"type":"string"},"pool":{"type":"string"},"organization":{"type":"string"},"result":{"type":"string","enum":["accepted","timeout","lost","invalid","error"]},"count":{"type":"number"},"sent":{"type":"number"}}},"MailerQTimeseriesStatsBaseModel":{"type":"object","additionalProperties":false,"properties":{"date":{"type":"string","format":"date"},"result":{"type":"string","enum":["accepted","timeout","lost","invalid","error"]},"count":{"type":"number"},"sent":{"type":"number"}}},"MailerQTimeseriesBounceStatsBaseModel":{"type":"object","additionalProperties":false,"properties":{"date":{"type":"string","format":"date"},"bounce_l1":{"type":"string","enum":["s","h","u"]},"count":{"type":"number"}}},"MailerQAggregatedBounceStatsBaseModel":{"type":"object","additionalProperties":false,"properties":{"bounce_d":{"type":"string"},"bounce_l1":{"type":"string"},"bounce_l2":{"type":"string"},"count":{"type":"number"}}},"MailerQAggregatedBounceDOriginalStatsBaseModel":{"type":"object","additionalProperties":false,"properties":{"bounce_d_original":{"type":"string"},"count":{"type":"number"}}},"PaymentWireTransferRequestBody":{"type":"object","additionalProperties":false,"required":["billing_plan_name","billing_plan_type","currency"],"properties":{"billing_plan_name":{"type":"string","enum":["JUNIOR","MIDDLE","SENIOR"]},"billing_plan_type":{"type":"string","enum":["YEARLY"]},"currency":{"type":"string","enum":["EUR","USD"]},"seedlisting_emails_available":{"type":"number","description":"only if billing_plan_name is ON_GO"}}},"ProfileBaseModel":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string","minLength":0,"maxLength":256,"description":"Name of the profile"},"ips":{"type":"array","description":"List of IP addresses associated with the profile","items":{"type":"string"}},"ip_range":{"type":"string","minLength":0,"maxLength":31,"description":"IP address range in `<start>-<end>` format. Example: 255.255.255.250-255.255.255.255."},"netmask":{"type":"string","description":"Network mask used to define the IP address block for this profile"},"domains":{"type":"array","description":"List of domain names associated with the profile","items":{"type":"string"}},"domains_rbl_hosts":{"type":"array","description":"List of RBL hosts used for domain reputation checks","items":{"type":"string"}},"ips_rbl_hosts":{"type":"array","description":"List of RBL hosts used for IP reputation checks","items":{"type":"string"}}}},"ProfileBaseResponseModel":{"allOf":[{"$ref":"#/components/schemas/ProfileBaseModel"},{"type":"object","additionalProperties":false,"required":["id"],"properties":{"id":{"type":"string","description":"Unique identifier of the profile"},"ips_amount":{"type":"integer","description":"Total number of IP addresses associated with the profile"},"domains_amount":{"type":"integer","description":"Total number of domains associated with the profile"},"created_at":{"type":"string","format":"date-time","description":"Timestamp when the profile was created"},"updated_at":{"type":"string","format":"date-time","description":"Timestamp when the profile was last updated"}}}]},"SeedlisitngStats":{"type":"object","additionalProperties":false,"properties":{"inbox":{"type":"number","readOnly":true,"description":"Number of emails delivered to the inbox"},"spam":{"type":"number","readOnly":true,"description":"Number of emails delivered to the spam or junk folder"},"waiting":{"type":"number","readOnly":true,"description":"Number of emails pending delivery results"},"not_received":{"type":"number","readOnly":true,"description":"Number of emails not received"}}},"SeedlistingIpDnsLookupResult":{"type":"object","additionalProperties":false,"properties":{"addresses":{"type":"array","items":{"type":"string"},"readOnly":true,"description":"List of resolved IP addresses for the sending hostname"},"rDNS":{"type":"string","readOnly":true,"description":"Reverse DNS lookup result for the IP address"}}},"SeedlistingIpRblResult":{"type":"object","additionalProperties":false,"properties":{"lookup_host":{"type":"string","readOnly":true,"description":"The RBL hostname used for the blocklist lookup"}}},"SeedlistingIp":{"type":"object","additionalProperties":false,"properties":{"ip":{"type":"string","readOnly":true,"description":"Sending IP address detected during the seedlisting test"},"dns_lookup_result":{"type":"array","description":"DNS lookup results for the sending IP address","items":{"$ref":"#/components/schemas/SeedlistingIpDnsLookupResult"}},"rbl_result":{"type":"array","description":"Real-time blocklist lookup results for the sending IP address","items":{"$ref":"#/components/schemas/SeedlistingIpRblResult"}}}},"SeedlistingDomainDnsLookupResult":{"type":"object","additionalProperties":false,"properties":{"ip":{"type":"string","readOnly":true,"description":"IP address resolved from the domain's DNS records"}}},"SeedlistingDomainRblResult":{"type":"object","additionalProperties":false,"properties":{"lookup_host":{"type":"string","readOnly":true,"description":"The RBL hostname used for the domain blocklist lookup"}}},"SeedlistingFrom":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","readOnly":true,"description":"Display name of the sender"},"domain":{"type":"string","readOnly":true,"description":"Sender's domain name"},"dns_lookup_result":{"type":"array","description":"DNS lookup results for the sender's domain","items":{"$ref":"#/components/schemas/SeedlistingDomainDnsLookupResult"}},"rbl_result":{"type":"array","description":"Real-time blocklist lookup results for the sender's domain","items":{"$ref":"#/components/schemas/SeedlistingDomainRblResult"}}}},"SeedlistingDkim":{"type":"object","additionalProperties":false,"properties":{"domain":{"$ref":"#/components/schemas/DkimValidationDomain"},"selector":{"$ref":"#/components/schemas/DkimValidationSelector"},"result":{"$ref":"#/components/schemas/DkimValidationResult"},"warnings":{"$ref":"#/components/schemas/DkimValidationWarnings"},"errors":{"$ref":"#/components/schemas/DkimValidationErrors"}}},"SeedlistingDmarc":{"type":"object","additionalProperties":false,"properties":{"domain":{"$ref":"#/components/schemas/DmarcValidationDomain"},"result":{"$ref":"#/components/schemas/DmarcValidationResult"},"warnings":{"$ref":"#/components/schemas/DmarcValidationWarnings"}}},"SeedlistingSpf":{"type":"object","additionalProperties":false,"properties":{"domain":{"$ref":"#/components/schemas/SpfValidationDomain"},"result":{"$ref":"#/components/schemas/SpfValidationResult"},"dnsQueriesToResolve":{"$ref":"#/components/schemas/SpfValidationDnsQueriesToResolve"},"record":{"$ref":"#/components/schemas/SpfValidationRecord"},"warnings":{"$ref":"#/components/schemas/SpfValidationWarnings"},"mechanisms":{"$ref":"#/components/schemas/SpfValidationMechanisms"}}},"SeedlistingSpamassasin":{"type":"object","additionalProperties":false,"properties":{"allowed":{"type":"number","description":"Maximum allowed spam score threshold"},"evaluation":{"type":"number","description":"Calculated spam score assigned to the email"},"spam":{"type":"boolean","description":"Indicates whether the email was classified as spam"},"rules":{"type":"object","description":"SpamAssassin rules that matched the email","properties":{"name":{"type":"string","description":"Name of the matched SpamAssassin rule"},"description":{"type":"string","description":"Description of the matched SpamAssassin rule"},"score":{"type":"number","description":"Score assigned by the matched SpamAssassin rule"}}}}},"SeedlistingCreateBody":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","minLength":1,"maxLength":256,"description":"Name for the seedlisting test"},"profile_id":{"type":"string","description":"Profile ID to associate the seedlisting test with a specific sending profile"},"hosts":{"type":"array","description":"List of email provider hosts and the number of seed emails to use for each host in the seedlisting test","items":{"type":"object","properties":{"host_name":{"$ref":"#/components/schemas/SeedlistingHost"},"emails_per_iteration":{"type":"integer","description":"Number of email addresses to use for each host"}}}},"check_type":{"$ref":"#/components/schemas/SeedlistingCheckType"}}},"SeedlistingGetEmailsBody":{"type":"object","additionalProperties":false,"properties":{"hosts":{"type":"array","description":"List of email provider hosts and the number of seed emails to use for each host","items":{"type":"object","properties":{"host_name":{"$ref":"#/components/schemas/SeedlistingHost"},"emails_per_iteration":{"type":"integer","description":"Number of email addresses to use for each host"}}}}}},"SeedlistingBaseModelResponse":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","description":"Unique identifier of the seedlisting test"},"title":{"type":"string","description":"Name of the seedlisting test"},"profile_id":{"type":"string","description":"Profile ID associated with this seedlisting test"},"status":{"$ref":"#/components/schemas/SeedlistingStatus"},"check_type":{"$ref":"#/components/schemas/SeedlistingCheckType"},"created_at":{"type":"string","format":"date-time","description":"Timestamp when the seedlisting test was created"},"updated_at":{"type":"string","format":"date-time","description":"Timestamp when the seedlisting test was last updated"},"tag":{"type":"string","description":"Tag identifier used to match incoming emails; present only when check_type is TAG"},"email_ref_addr":{"type":"string","description":"Reference email address used for routing; present only when check_type is REF"},"stats":{"description":"Aggregated delivery statistics for this seedlisting test","$ref":"#/components/schemas/SeedlisitngStats"},"ips":{"type":"array","description":"List of detected sending IP addresses with DNS and RBL lookup results","items":{"$ref":"#/components/schemas/SeedlistingIp"}},"from":{"description":"Sender information including DNS and RBL lookup results","$ref":"#/components/schemas/SeedlistingFrom"},"spf":{"description":"SPF record evaluation results for the sender's domain","$ref":"#/components/schemas/SeedlistingSpf"},"dkim":{"type":"array","description":"DKIM signature validation results","items":{"$ref":"#/components/schemas/SeedlistingDkim"}},"dmarc":{"description":"DMARC policy evaluation results for the sender's domain","$ref":"#/components/schemas/SeedlistingDmarc"}}},"SeedlistingPuplicReportModelResponse":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","description":"Name of the seedlisting test"},"status":{"$ref":"#/components/schemas/SeedlistingStatus"},"check_type":{"$ref":"#/components/schemas/SeedlistingCheckType"},"ips":{"type":"array","description":"List of detected sending IP addresses with DNS and RBL lookup results","items":{"$ref":"#/components/schemas/SeedlistingIp"}},"from":{"description":"Sender information including DNS and RBL lookup results","$ref":"#/components/schemas/SeedlistingFrom"},"stats":{"description":"Aggregated delivery statistics for this seedlisting test","$ref":"#/components/schemas/SeedlisitngStats"},"spf":{"description":"SPF record evaluation results for the sender's domain","$ref":"#/components/schemas/SeedlistingSpf"},"dkim":{"type":"array","description":"DKIM signature validation results","items":{"$ref":"#/components/schemas/SeedlistingDkim"}},"dmarc":{"description":"DMARC policy evaluation results for the sender's domain","$ref":"#/components/schemas/SeedlistingDmarc"},"created_at":{"type":"string","format":"date-time","description":"Timestamp when the seedlisting test was created"},"updated_at":{"type":"string","format":"date-time","description":"Timestamp when the seedlisting test was last updated"}}},"SeedlistingGetAllModelResponse":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","description":"Unique identifier of the seedlisting test"},"title":{"type":"string","description":"Name of the seedlisting test"},"profile_id":{"type":"string","description":"Profile ID associated with this seedlisting test"},"status":{"$ref":"#/components/schemas/SeedlistingStatus"},"check_type":{"$ref":"#/components/schemas/SeedlistingCheckType"},"created_at":{"type":"string","format":"date-time","description":"Timestamp when the seedlisting test was created"},"updated_at":{"type":"string","format":"date-time","description":"Timestamp when the seedlisting test was last updated"},"tag":{"type":"string","description":"Tag identifier used to match incoming emails; present only when check_type is TAG"},"email_ref_addr":{"type":"string","description":"Reference email address used for routing; present only when check_type is REF"},"stats":{"description":"Aggregated delivery statistics for this seedlisting test","$ref":"#/components/schemas/SeedlisitngStats"}}},"SeedlistingEmailPartModelResponse":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier of the seedlisting email record"},"status":{"description":"Delivery status of the seed email","$ref":"#/components/schemas/SeedlistingEmailStatus"},"processing_status":{"description":"Processing status of the seed email","$ref":"#/components/schemas/SeedlistingEmailProcessingStatus"},"seedlisting_id":{"type":"string","description":"Reference to the parent seedlisting test"},"profile_id":{"type":"string","description":"Profile ID associated with this seedlisting email record"},"email":{"type":"string","description":"Seed email address"},"host":{"description":"Email provider host for this seed address","$ref":"#/components/schemas/SeedlistingHost"},"from":{"type":"string","description":"Sender email address"},"ip":{"type":"string","description":"Sending IP address detected for this email"},"received_timestamp":{"type":"string","format":"date-time","description":"Timestamp when the email was received by the seed account"},"sended_timestamp":{"type":"string","format":"date-time","description":"Timestamp when the test email was sent"},"subject":{"type":"string","description":"Subject line of the test email"},"spamassasin":{"description":"SpamAssassin analysis results for this email","$ref":"#/components/schemas/SeedlistingSpamassasin"}}},"SeedlistingEmailBaseModelResponse":{"allOf":[{"$ref":"#/components/schemas/SeedlistingEmailPartModelResponse"},{"type":"object","properties":{"email_body":{"type":"string","description":"Full raw body of the received email"},"headers":{"type":"object","description":"Parsed email headers as key-value pairs"}}}]},"SeedlistingCreateResponse":{"allOf":[{"$ref":"#/components/schemas/SeedlistingBaseModelResponse"},{"type":"object","properties":{"emails":{"type":"array","description":"List of seed email records for this seedlisting test","items":{"$ref":"#/components/schemas/SeedlistingEmailPartModelResponse"}}}}]},"SeedlistingGetOneResponse":{"allOf":[{"$ref":"#/components/schemas/SeedlistingBaseModelResponse"},{"type":"object","properties":{"emails":{"type":"array","description":"List of seed email records for this seedlisting test","items":{"$ref":"#/components/schemas/SeedlistingEmailPartModelResponse"}}}}]},"SeedlistingEmailPureModelResponse":{"type":"object","properties":{"status":{"description":"Delivery status of the seed email","$ref":"#/components/schemas/SeedlistingEmailStatus"},"processing_status":{"description":"Processing status of the seed email","$ref":"#/components/schemas/SeedlistingEmailProcessingStatus"},"folder":{"type":"string","description":"Mailbox folder where the seed email was found"},"email":{"type":"string","description":"Seed email address"},"host":{"description":"Email provider host for this seed address","$ref":"#/components/schemas/SeedlistingHost"},"from":{"type":"string","description":"Sender email address"},"ip":{"type":"string","description":"Sending IP address detected for this email"},"received_timestamp":{"type":"string","format":"date-time","description":"Timestamp when the email was received"},"sended_timestamp":{"type":"string","format":"date-time","description":"Timestamp when the test email was sent"},"subject":{"type":"string","description":"Subject line of the test email"},"spamassasin":{"description":"SpamAssassin analysis results for this email","$ref":"#/components/schemas/SeedlistingSpamassasin"}}},"SeedlistingGetEmailsResponse":{"type":"object","properties":{"emails":{"type":"array","description":"List of seed email addresses with their associated email provider host","items":{"type":"object","properties":{"email":{"type":"string","description":"Seed email address to send the test message to"},"host":{"description":"Email provider host for this seed address","$ref":"#/components/schemas/SeedlistingHost"}}}},"email_ref_addr":{"type":"string","deprecated":true,"description":"Reference email address used for routing"}}},"SeedlistingExpress":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string"},"title":{"type":"string","maxLength":256},"profile_id":{"type":"string"},"emails":{"type":"array","items":{"type":"object","properties":{"email":{"type":"string"},"host":{"$ref":"#/components/schemas/SeedlistingHost"}}}},"email_ref_addr":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}},"SeedlistingExpressPost":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","maxLength":256},"profile_id":{"type":"string"},"emails":{"type":"array","items":{"type":"object","properties":{"email":{"type":"string"},"host":{"$ref":"#/components/schemas/SeedlistingHost"}}}}}},"SeedlistingExpressPatch":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","maxLength":256},"profile_id":{"type":"string"}}},"SeedlistingPublicReportBaseModelResponse":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","description":"Unique identifier of the seedlisting public report"},"seedlisting_id":{"type":"string","description":"Identifier of the associated seedlisting test"},"uid":{"type":"string","description":"Unique public identifier used for accessing the report data"},"link":{"type":"string","description":"Public URL link to access the report"},"timestamp_to":{"type":"string","format":"date-time","description":"Expiration timestamp indicating until when the public report is accessible"}}},"SeedlistingPublicReportCreateBody":{"type":"object","additionalProperties":false,"required":["seedlisting_id"],"properties":{"seedlisting_id":{"type":"string","description":"Identifier of the seedlisting for which to create a public report"}}},"SlackIntegration":{"type":"object","properties":{"id":{"type":"string","description":"Integration ID"},"channel_id":{"type":"string","description":"Slack channel ID"},"channel_name":{"type":"string","description":"Slack channel name"},"team_id":{"type":"string","description":"Slack team (workspace) ID"},"team_name":{"type":"string","description":"Slack team (workspace) name"},"created_at":{"type":"string","format":"date-time","description":"Integration creation timestamp"}},"example":{"id":"507f1f77bcf86cd799439011","channel_id":"C01234567","channel_name":"#alerts","team_id":"T01234567","team_name":"My Workspace","created_at":"2025-10-28T12:00:00.000Z"}},"SlackAuthUrl":{"type":"object","properties":{"data":{"type":"string","description":"Slack OAuth authorization URL"}},"example":{"data":"https://slack.com/oauth/v2/authorize?client_id=xxx&scope=channels:manage,channels:join,chat:write,incoming-webhook&state=userId&redirect_uri=https://api.example.com/callback"}},"SlackIntegrationsList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/SlackIntegration"}}}},"SlackDisconnectResult":{"type":"object","properties":{"data":{"type":"boolean","description":"Whether the disconnection was successful"}},"example":{"data":true}},"SndsCreds":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","description":"Unique identifier of the SNDS credentials record"},"key":{"type":"string","description":"SNDS access key"},"status":{"type":"string","description":"Current status of the SNDS credentials","enum":["ACTIVE","TERMINATED","FAILED"]}}},"FreeTrialAvailableResponse":{"type":"object","properties":{"available":{"type":"boolean","description":"Whether free trial is available for the user"},"duplicate_fingerprint":{"type":"boolean","description":"Whether the last failed payment had a duplicate fingerprint"}}},"StripePricesNetCurrency":{"type":"object","properties":{"MONTHLY":{"type":"object","properties":{"USD":{"type":"object","properties":{"id":{"type":"string"},"amount":{"type":"integer"}}},"EUR":{"type":"object","properties":{"id":{"type":"string"},"amount":{"type":"integer"}}}}}}},"StripePricesNet":{"type":"object","properties":{"JUNIOR":{"type":"object","properties":{"MONTHLY":{"$ref":"#/components/schemas/StripePricesNetCurrency"},"YEARLY":{"$ref":"#/components/schemas/StripePricesNetCurrency"}}},"SENIOR":{"type":"object","properties":{"MONTHLY":{"$ref":"#/components/schemas/StripePricesNetCurrency"},"YEARLY":{"$ref":"#/components/schemas/StripePricesNetCurrency"}}}}},"CreateCheckoutSessionBody":{"type":"object","properties":{"prepayment_id":{"type":"string"}}},"StripeSessionResponse":{"type":"object","properties":{"session_url":{"type":"string","format":"uri"}}},"PrePaymentBody":{"type":"object","properties":{"currency":{"type":"string"},"price":{"type":"number"},"user_billing_plan":{"type":"object"},"listcleaning_credits":{"type":"number"},"promo_code":{"type":"string","description":"Promotional code to apply to the payment"},"is_apply_discount":{"type":"boolean","description":"Whether to apply discount"},"old_price":{"type":"number","description":"Previous price before any changes"},"free_trial":{"type":"boolean","description":"Whether this payment includes a free trial"},"tracking_link":{"type":"object","description":"Optional tracking link allowance overrides","properties":{"links_per_month":{"type":"integer"}}},"tracking_pixel":{"type":"object","description":"Optional tracking pixel allowance overrides","properties":{"pixels_per_month":{"type":"integer"}}},"api_integration":{"type":"object","description":"Enable API integration for this plan","properties":{"is_active":{"type":"boolean"}}}}},"CurrentSubscriptionResponse":{"type":"object","properties":{"price":{"type":"number"},"currency":{"type":"string"}}},"UpdateBillingPlanBody":{"type":"object","required":["user_billing_plan","old_price","new_price"],"properties":{"user_billing_plan":{"type":"object","description":"User billing plan configuration"},"old_price":{"type":"number","description":"Current subscription price"},"new_price":{"type":"number","description":"New subscription price"}}},"UpdateBillingPlanResponse":{"type":"boolean","description":"Returns true if the billing plan was successfully updated"},"PrePaymentResponse":{"type":"object","properties":{"id":{"type":"string","description":"The prepayment ID"},"payload":{"type":"object","description":"The prepayment payload containing all payment details"},"created_at":{"type":"string","format":"date-time","description":"When the prepayment was created"},"updated_at":{"type":"string","format":"date-time","description":"When the prepayment was last updated"}}},"TrackingPixelLog":{"type":"object","properties":{"id":{"type":"string","description":"Log entry ID"},"timestamp":{"type":"string","format":"date-time","description":"When the hit was recorded"},"campaign_id":{"type":"string","description":"Campaign identifier (or omitted if none)"},"subscriber_id":{"type":"string","description":"Subscriber identifier (or omitted if none)"}}},"TrackingLinkLog":{"type":"object","properties":{"id":{"type":"string","description":"Log entry ID"},"timestamp":{"type":"string","format":"date-time","description":"When the link was clicked"},"campaign_id":{"type":"string","description":"Campaign identifier (or omitted if none)"},"subscriber_id":{"type":"string","description":"Subscriber identifier (or omitted if none)"},"ip":{"type":"string","description":"Client IP address"},"country":{"type":"string","description":"Country code (ISO)"},"browser":{"type":"string","description":"Browser name and version"},"device":{"type":"string","description":"Device type or model"},"type":{"type":"string","description":"Type of the tracking link"},"custom_link_title":{"type":"string","description":"Custom title for the tracking link"},"params":{"type":"array","items":{"type":"object"},"description":"Additional parameters"},"processing_error":{"type":"string","description":"Processing error if any occurred"}}},"TrackingLinkRedirect":{"type":"object","properties":{"id":{"type":"string","description":"Tracking link redirect ID"},"user_id":{"type":"string","description":"User ID"},"profile_id":{"type":"string","description":"Profile ID"},"title":{"type":"string","description":"Title of the redirect link"},"redirection_url":{"type":"string","description":"The cleaned redirection URL without query parameters"},"params_suffix":{"type":"string","description":"Query parameters as URL encoded string"}}},"TrackingLinkRedirectInput":{"type":"object","required":["title","redirection_url"],"properties":{"title":{"type":"string","description":"Title of the redirect link","maxLength":256},"profile_id":{"type":"string","description":"Profile ID to associate with this tracking link"},"redirection_url":{"type":"string","description":"The URL to redirect to (query parameters will be removed automatically)"},"params_suffix":{"type":"string","description":"Query parameters as URL encoded string","example":"utm_source=email&utm_campaign=summer_sale&utm_medium=newsletter"}}},"TrackingLinkRedirectUpdateInput":{"type":"object","properties":{"title":{"type":"string","description":"Title of the redirect link","maxLength":256},"profile_id":{"type":"string","nullable":true,"description":"Profile ID to associate with this tracking link. Pass null to remove profile_id"},"redirection_url":{"type":"string","description":"The URL to redirect to"},"params_suffix":{"type":"string","nullable":true,"description":"Query parameters as URL encoded string. Pass null to remove all params_suffix","example":"utm_source=newsletter&utm_campaign=autumn_sale"}}},"UserTrapsItemBaseModel":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","description":"Unique identifier of the trap entry"},"ip":{"type":"string","description":"Trap IP address"},"domain":{"type":"string","description":"Trap domain associated with the IP address"},"verified":{"type":"boolean","description":"Indicates whether this trap entry has been verified"},"created_at":{"type":"string","description":"Timestamp when the trap entry was created"},"updated_at":{"type":"string","description":"Timestamp when the trap entry was last updated"}}},"UserTrapsAddBulkBody":{"type":"object","additionalProperties":false,"required":["ips"],"properties":{"ips":{"type":"array","description":"List of IP addresses to add","items":{"type":"string","format":"ipv4"}},"domains":{"type":"array","description":"List of domains to associate with the trap IP addresses","items":{"type":"string","format":"domain"}}}},"TrapsIpsAddNetmaskBody":{"type":"object","additionalProperties":false,"required":["netmask"],"properties":{"netmask":{"type":"string","format":"netmask","description":"Network address to add as range"}}},"TrapsIpLogItemBaseModel":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","description":"Unique identifier of the trap log entry"},"ip":{"type":"string","description":"Sending IP address that triggered the trap"},"domain_from":{"type":"string","description":"Sender domain extracted from the email envelope"},"email_from_header":{"type":"string","description":"Sender address from the email From header"},"email_subject":{"type":"string","description":"Subject line of the email that triggered the trap"},"smtp_mail_from_domain":{"type":"string","description":"Domain from the smtp_mail_from_domain command"},"data_colorcode":{"type":"string","description":"Threat classification color code assigned to this trap hit","enum":["black","grey"]},"trap_estimated_domain_age_days":{"type":"number","description":"Estimated age of the sender domain in days at the time of the trap hit"},"timestamp":{"type":"string","format":"date-time","description":"Timestamp when the trap was triggered"}}},"UserBillingPlan":{"type":"object","additionalProperties":false,"properties":{"user_id":{"type":"string"},"current_plan":{"$ref":"#/components/schemas/UserBillingPlanName"},"current_plan_type":{"$ref":"#/components/schemas/UserBillingPlanType"},"timestamp_from":{"type":"string","format":"date-time","description":"Datetime when billing plan started"},"timestamp_to":{"type":"string","format":"date-time","description":"Datetime when billing plan be ended"},"next_renewal_timestamp":{"type":"string","format":"date-time","description":"Datetime when billing plan be renewed"},"prev_renewal_timestamp":{"type":"string","format":"date-time","description":"Datetime when billing plan was renewed or created"},"listcleaning":{"type":"object","additionalProperties":false,"properties":{"is_active":{"type":"boolean","description":"Indicates whether list cleaning is available"},"credits_available":{"type":"integer","description":"Number of email checks available for listcleaning"},"mode":{"type":"string","description":"Purchase type for list cleaning credits (e.g. ONE-TIME or subscription)"}}},"seedlisting":{"type":"object","additionalProperties":false,"properties":{"is_active":{"type":"boolean","description":"Indicates whether seedlisting is available"},"emails_per_month":{"type":"integer","description":"Number of email checks available for seedlisting in the current month"},"emails_used_in_month":{"type":"integer","description":"Number of seedlisting email tests used in the current month before the next renewal"},"mode":{"type":"string","description":"Purchase type for seedlisting credits (e.g. ONE-TIME or subscription)"}}},"ips":{"type":"object","additionalProperties":false,"properties":{"is_active":{"type":"boolean","description":"Indicates whether IP monitoring is available"},"ips_per_month":{"type":"integer","description":"Number of IPs available for the current billing plan"},"mode":{"type":"string","description":"Purchase type for IP monitoring credits (e.g. ONE-TIME or subscription)"}}},"domains":{"type":"object","additionalProperties":false,"properties":{"is_active":{"type":"boolean","description":"Indicates whether domain monitoring is available"},"domains_per_month":{"type":"integer","description":"Number of domains available for the current billing plan"},"mode":{"type":"string","description":"Purchase type for domain monitoring credits (e.g. ONE-TIME or subscription)"}}},"gp":{"type":"object","additionalProperties":false,"properties":{"is_active":{"type":"boolean","description":"Indicates whether Google Postmaster integration is available"},"domains_per_month":{"type":"integer","description":"Number of domains available for Google Postmaster integration"},"keys":{"type":"number","description":"Number of Google Postmaster API keys available"},"mode":{"type":"string","description":"Purchase type for Google Postmaster credits (e.g. ONE-TIME or subscription)"}}},"snds":{"type":"object","additionalProperties":false,"properties":{"is_active":{"type":"boolean","description":"Indicates whether SNDS integration is available"},"ips_per_month":{"type":"integer","description":"Number of unique IPs available for SNDS monitoring in the current month"},"ips_used_in_month":{"type":"integer","description":"Number of unique IPs monitored in the current month before the next renewal"},"mode":{"type":"string","description":"Purchase type for SNDS credits (e.g. ONE-TIME or subscription)"}}},"dmarc":{"type":"object","additionalProperties":false,"properties":{"is_active":{"type":"boolean","description":"Indicates whether DMARC integration is available"},"domains_per_month":{"type":"integer","description":"Number of domains available for DMARC monitoring"},"count_per_month":{"type":"integer","description":"Number of DMARC messages available for processing in the current month"},"count_used_in_month":{"type":"integer","description":"Number of DMARC messages processed in the current month before the next renewal"},"mode":{"type":"string","description":"Purchase type for DMARC credits (e.g. ONE-TIME or subscription)"}}},"lookalike":{"type":"object","additionalProperties":false,"properties":{"is_active":{"type":"boolean","description":"Indicates whether lookalike domain monitoring is available"},"domains_per_month":{"type":"integer","description":"Number of domains available for lookalike monitoring"},"mode":{"type":"string","description":"Purchase type for lookalike monitoring credits (e.g. ONE-TIME or subscription)"}}},"profiles":{"type":"object","additionalProperties":false,"properties":{"is_active":{"type":"boolean","description":"Indicates whether profiles are available"},"profiles_per_month":{"type":"integer","description":"Number of profiles available for the current billing plan"}}},"alerts":{"type":"object","additionalProperties":false,"properties":{"is_active":{"type":"boolean","description":"Indicates whether alerts are available"}}},"traps":{"type":"object","additionalProperties":false,"properties":{"is_active":{"type":"boolean","description":"Indicates whether spam traps monitoring is available"},"ips_per_month":{"type":"integer","description":"Number of IPs available for spam traps monitoring"},"mode":{"type":"string","description":"Purchase type for spam traps monitoring credits (e.g. ONE-TIME or subscription)"}}},"tracking":{"type":"object","additionalProperties":false,"properties":{"is_active":{"type":"boolean","description":"Indicates whether tracking is available"},"pixel_count_per_month":{"type":"integer","description":"Number of pixel tracking operations available in the current month"},"pixel_count_used_in_month":{"type":"integer","description":"Number of pixel tracking operations used in the current month before the next renewal"},"link_count_per_month":{"type":"integer","description":"Number of link tracking operations available in the current month"},"link_count_used_in_month":{"type":"integer","description":"Number of link tracking operations used in the current month before the next renewal"},"mode":{"type":"string","description":"Purchase type for tracking credits (e.g. ONE-TIME or subscription)"}}},"honeytoken":{"type":"object","additionalProperties":false,"properties":{"is_active":{"type":"boolean","description":"Indicates whether honeytoken is available"},"emails_per_month":{"type":"integer","description":"Number of emails available for honeytoken processing in the current month"},"emails_used_in_month":{"type":"integer","description":"Number of honeytoken emails processed in the current month before the next renewal"},"mode":{"type":"string","description":"Purchase type for honeytoken credits (e.g. ONE-TIME or subscription)"}}},"api_integration":{"type":"object","additionalProperties":false,"properties":{"is_active":{"type":"boolean","description":"Indicates whether API integration is available"},"policies":{"type":"array","description":"List of API policies attached to the current billing plan","items":{"type":"string"}}}},"stripe_customer_id":{"type":"string","description":"Stripe customer ID for managing subscription payments"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}},"UserConsumptionTimeseriesStatsBaseModel":{"type":"object","additionalProperties":false,"properties":{"date":{"type":"string","format":"date"},"result":{"type":"string","enum":["i","d","gp","ld","se","dm","si"]},"count":{"type":"number"}}},"AddUserGroupRequest":{"type":"object","additionalProperties":false,"properties":{"user_email":{"type":"string","minLength":0,"maxLength":256},"policies":{"type":"array","items":{"type":"string"}},"configurable":{"type":"object"}}},"AddUserGroupResponse":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string"},"user_email":{"type":"string","minLength":0,"maxLength":256},"policies":{"type":"array","items":{"type":"string"}},"configurable":{"type":"object"},"is_new_user_invited":{"type":"boolean"}}},"UserGroupGetMembersItemResponse":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string"},"user_email":{"type":"string","minLength":0,"maxLength":256},"policies":{"type":"array","items":{"type":"string"}},"configurable":{"type":"object"}}},"UserGroupGetGroupsItemResponse":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string"},"group_owner_email":{"type":"string"},"policies":{"type":"array","items":{"type":"string"}},"configurable":{"type":"object"}}},"UserPreferences":{"type":"object","additionalProperties":false,"properties":{"ui":{"type":"string","maxLength":4096},"dashboards":{"type":"string","maxLength":4096},"domains_rbl_hosts":{"type":"array","items":{"type":"string"}},"ips_rbl_hosts":{"type":"array","items":{"type":"string"}}}},"UserPreferencesUi":{"type":"object","additionalProperties":false,"properties":{"ui":{"type":"string","maxLength":4096}}},"UsersBaseModelResponse":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"},"role":{"type":"string"},"is_active":{"type":"boolean"},"sbscrbed_for_notif":{"type":"boolean"},"domain":{"type":"string","format":"url"},"group_owner_ids":{"type":"array","items":{"type":"string"}},"last_login":{"type":"string","format":"date-time"},"last_api_call":{"type":"string","format":"date-time"},"deleted_at":{"type":"string","format":"date-time"}}}},"parameters":{"UserAlertId":{"name":"user_alert_id","in":"path","required":true,"schema":{"type":"string"}},"AlertRuleType":{"name":"rule_type","in":"path","required":true,"schema":{"type":"string"}},"AlertProfileIdFilter":{"name":"profile_id","in":"query","description":"Filter by profile ID","schema":{"type":"string"}},"AlertIpFilter":{"name":"ip","in":"query","description":"Filter by IP substring","schema":{"type":"string"}},"AlertDomainFilter":{"name":"domain","in":"query","description":"Filter by domain substring","schema":null},"ApiRequestsPolicyFilter":{"name":"policy","in":"query","description":"filter by policy","schema":{"type":"string"}},"BouncerListId":{"name":"id","in":"path","required":true,"schema":{"type":"string"}},"BouncerListStatus":{"name":"status","in":"query","description":"Filter by verification status. Multiple values can be provided separated by comma. Example: deliverable,risky","schema":{"type":"string","enum":["deliverable","risky","undeliverable","unknown"]}},"BouncerListReason":{"name":"reason","in":"query","description":"Filter by verification reason. Multiple values can be provided separated by comma. Example: dns_error,unsupported","schema":{"type":"string","enum":["accepted_email","low_deliverability","low_quality","invalid_email","invalid_domain","rejected_email","dns_error","unavailable_smtp","unsupported","timeout","unknown"]}},"BouncerListAcceptAll":{"name":"accept_all","in":"query","description":"Filter by accept_all status","schema":{"type":"string","enum":["yes","no","unknown"]}},"BouncerListDisposable":{"name":"disposable","in":"query","description":"Filter by disposable status","schema":{"type":"string","enum":["yes","no","unknown"]}},"BouncerListFullMailbox":{"name":"full_mailbox","in":"query","description":"Filter by full_mailbox status","schema":{"type":"string","enum":["yes","no","unknown"]}},"BouncerListToxicity":{"name":"toxicity","in":"query","description":"Filter by toxicity level (0 = lowest, 5 = highest)","schema":{"type":"string","enum":["0","1","2","3","4","5"]}},"DmarcRecordsDateFromQueryParam":{"name":"records_date_from","in":"query","required":true,"description":"Start date for filtering records (e.g., 2025-07-06T00:00:00.000Z)","schema":{"type":"string","format":"date-time"}},"DmarcRecordsDateToQueryParam":{"name":"records_date_to","in":"query","required":true,"description":"End date for filtering records (e.g., 2025-08-06T00:00:00.000Z). The difference between records_date_from and records_date_to must not exceed 31 days","schema":{"type":"string","format":"date-time"}},"DmarcSortQueryParam":{"name":"sort","in":"query","description":"Sort field and order (e.g., -domain for descending or domain for ascending)","schema":{"type":"string","enum":["domain","p","spf","dkim","dmarc","count"]}},"DmarcSortIpOrgNamesQueryParam":{"name":"sort","in":"query","description":"Sort field and order (e.g., -ip_org_name for descending or ip_org_name for ascending)","schema":{"type":"string","enum":["ip_org_name","spf","dkim","dmarc","count"]}},"DmarcSortIpssQueryParam":{"name":"sort","in":"query","description":"Sort field and order (e.g., -ip for descending or ip for ascending)","schema":{"type":"string","enum":["ip","spf","dkim","dmarc","count"]}},"DmarcAggregatedOrgNameSortQueryParam":{"name":"sort","in":"query","description":"Sort field and order (e.g., -org_name for descending or org_name for ascending)","schema":{"type":"string","enum":["org_name","spf","dkim","dmarc","count"]}},"DmarcAggregatedIpOrgNameSortQueryParam":{"name":"sort","in":"query","description":"Sort field and order (e.g., -ip_org_name for descending or ip_org_name for ascending)","schema":{"type":"string","enum":["ip_org_name","spf","dkim","dmarc","count"]}},"DmarcPolicyEvaluatedReasonSortQueryParam":{"name":"sort","in":"query","description":"Sort field and order (e.g., -count for descending or count for ascending)","schema":{"type":"string","enum":["count"]}},"DmarcDomainQueryParam":{"name":"domain","in":"query","description":"Filter by domain name substring","schema":{"type":"string","format":"domain"}},"DmarcIpQueryParam":{"name":"ip","in":"query","description":"Filter by IP address substring","schema":{"type":"string","format":"ip"}},"DmarcProfileIdQueryParam":{"name":"profile_id","in":"query","description":"Filter by profile ID","schema":{"type":"string"}},"DmarcOrgNameQueryParam":{"name":"org_name","in":"query","description":"Filter by org_name field (Reporter)","schema":{"type":"string"}},"DmarcIpOrgNameQueryParam":{"name":"ip_org_name","in":"query","description":"Filter by ip_org_name field (Source)","schema":{"type":"string"}},"DmarcPQueryParam":{"name":"p","in":"query","description":"Filter by p field (Current DMARC policy)","schema":{"type":"string","enum":["none","reject","quarantine"]}},"DmarcDispositionQueryParam":{"name":"disposition","in":"query","description":"Filter by disposition (Policy applied)","schema":{"type":"string","enum":["none","reject","quarantine"]}},"DmarcDmarcTypeQueryParam":{"name":"dmarc_type","in":"query","description":"Filter by dmarc_type (DMARC type)","schema":{"type":"string","enum":["compliant","threat"]}},"DmarcHideWithoutRecordsQueryParam":{"name":"hide_without_records","in":"query","description":"Hide all domains without records for the selected period","default":true,"schema":{"type":"boolean"}},"DmarcPolicyEvaluatedReasonsTypeQueryParam":{"name":"policy_evaluated_reasons_type","in":"query","description":"Filter by policy_evaluated_reasons_type (Reason Type)","schema":{"type":"string"}},"DmarcPolicyEvaluatedReasonsCommentQueryParam":{"name":"policy_evaluated_reasons_comment","in":"query","description":"Filter by policy_evaluated_reasons_comment (Reason Comment)","schema":{"type":"string"}},"DmarcReportIdQueryParam":{"name":"report_id","in":"query","description":"Filter by report ID","schema":{"type":"string"}},"DomainsSortBaseFilter":{"name":"sort","in":"query","description":"Sort field and order (e.g., -domain for descending or domain for ascending)","schema":{"type":"string","enum":["domain","rdns","rbl_result","spf","dkim","dmarc"]}},"DomainsProfileIdBaseFilter":{"name":"profile_id","in":"query","description":"Filter by profile ID","schema":{"type":"string"}},"DomainsDomainBaseFilter":{"name":"domain","in":"query","description":"Filter by domain name substring","schema":{"type":"string"}},"DomainsRdnsBaseFilter":{"name":"rdns","in":"query","description":"Filter by reverse DNS substring","schema":{"type":"string"}},"DomainsRblHostsBaseFilter":{"name":"rbl_hosts","in":"query","description":"Filter by RBL lookup host names (multiple values separated by comma allowed, e.g., truncate.gbudb.net,rbl.metunet.com). Get all available host names from /api/v1.0/epc/rbl_dictionary?type=domains","schema":{"type":"string"}},"DomainsBlacklistedBaseFilter":{"name":"blacklisted","in":"query","description":"Filter to show only blacklisted domains","schema":{"type":"boolean"}},"EmailDeliveryStatusParam":{"name":"status","in":"query","description":"Filter by status. Can be a single value, comma-separated values, or JSON array.","schema":{"$ref":"#/components/schemas/EmailDeliveryStatus"}},"EmailDeliveryRecipientParam":{"name":"recipient","in":"query","description":"Filter by recipient email address (case-insensitive partial match)","schema":{"type":"string"}},"EmailDeliverySuppressionTypeParam":{"name":"type","in":"query","description":"Filter by suppression type. Supports multiple types. Can be passed as comma-separated string (e.g., \"unsubscribe,bounce\") or JSON array (e.g., [\"unsubscribe\",\"bounce\"]).","schema":{"type":"string","enum":["unsubscribe","bounce","report","manual"]}},"StatsDateFromQueryParam":{"name":"stats_date_from","in":"query","required":true,"description":"Start date for filtering statistics. Example: 2021-07-06T00:00:00.000Z","schema":{"type":"string","format":"date-time"}},"StatsDateToQueryParam":{"name":"stats_date_to","in":"query","required":true,"description":"End date for filtering statistics. Example: 2021-08-06T00:00:00.000Z. The difference between stats_date_from and stats_date_to must not exceed 30 days","schema":{"type":"string","format":"date-time"}},"GPDomainQueryParam":{"name":"domain","in":"query","description":"Filter results by a domain name substring","schema":{"type":"string","format":"domain"}},"GPIpQueryParam":{"name":"ip","in":"query","description":"Filter results by an IP address substring","schema":{"type":"string","format":"ip"}},"GPDomainReputationQueryParam":{"name":"domain_reputations","in":"query","description":"Filter results by domainReputation","schema":{"type":"string","enum":["REPUTATION_CATEGORY_UNSPECIFIED","HIGH","MEDIUM","LOW","BAD"]}},"GPDomainProfileIdQueryParam":{"name":"profile_id","in":"query","description":"Filter results by profile ID","schema":{"type":"string"}},"HalonGroupParamQuery":{"name":"group","in":"query","description":"group by","schema":{"type":"string","enum":["domain","ip","from","mx"]}},"HalonGroupParamPath":{"name":"group","in":"path","required":true,"description":"group name","schema":{"type":"string","enum":["domain","ip","from","mx"]}},"HalonFromParam":{"name":"from","in":"query","schema":{"type":"string"}},"HalonDomainParam":{"name":"domain","in":"query","schema":{"type":"string"}},"HalonIpParam":{"name":"ip","in":"query","schema":{"type":"string"}},"HalonMxParam":{"name":"mx","in":"query","schema":{"type":"string"}},"HalonBounceL1Param":{"name":"bounce_l1","in":"query","schema":{"type":"string"}},"HalonBounceL2Param":{"name":"bounce_l2","in":"query","schema":{"type":"string"}},"HalonBounceDParam":{"name":"bounce_d","in":"query","schema":{"type":"string"}},"HalonBounceDOriginalParam":{"name":"bounce_d_original","in":"query","schema":{"type":"string"}},"PeriodFromParam":{"name":"period_from","in":"query","required":true,"description":"example 2021-07-06T00:00:00.000Z","schema":{"type":"string","format":"date-time"}},"PeriodToParam":{"name":"period_to","in":"query","required":true,"description":"example 2021-07-06T00:00:00.000Z","schema":{"type":"string","format":"date-time"}},"HalonAggregatedBounceStatsSortBaseFilter":{"name":"sort","in":"query","description":"example -bouce_d (desc) or bouce_d (asc)","schema":{"type":"string","enum":["bounce_l1","bounce_l2","bounce_d","count"]}},"HalonAggregatedBounceDOriginalStatsSortBaseFilter":{"name":"sort","in":"query","description":"example -bounce_d_original (desc) or bounce_d_original (asc)","schema":{"type":"string","enum":["bounce_d_original","count"]}},"HoneytokenTrustedDomainsSortBaseFilter":{"name":"sort","in":"query","description":"Example: -created_at (desc) or created_at (asc)","schema":{"type":"string","enum":["_id","domain","created_at","updated_at"]}},"HoneytokenTrustedDomainsDomainBaseFilter":{"name":"domain","in":"query","description":"Filter honeytoken trusted domains by domain substring","schema":{"type":"string"}},"HoneytokenDomainBaseFilter":{"name":"domain","in":"query","description":"Filter honeytoken logs by from_domain substring","schema":{"type":"string"}},"HoneytokenToEmailBaseFilter":{"name":"to_email","in":"query","description":"Filter honeytoken logs by recipient email (to_email) substring","schema":{"type":"string"}},"HoneytokenSubjectBaseFilter":{"name":"subject","in":"query","description":"Filter honeytoken logs by subject substring","schema":{"type":"string"}},"HoneytokenTrustedBaseFilter":{"name":"trusted","in":"query","description":"Filter honeytoken logs by trusted status. Comma-separated or JSON array","schema":{"type":"string","enum":["trusted","not_trusted"]}},"HoneytokenFromEmailBaseFilter":{"name":"from_email","in":"query","description":"Filter honeytoken logs by sender email (from_email) substring","schema":{"type":"string"}},"HoneytokenStatsGroupParamQuery":{"name":"group","in":"query","required":true,"description":"Grouping for aggregated honeytoken log statistics","schema":{"type":"string","enum":["from_email","to_email"]}},"PaginationOffset":{"name":"offset","in":"query","description":"Number of items to skip before starting to return results","schema":{"oneOf":[{"type":"string"},{"type":"integer"}],"minimum":0,"default":0}},"PaginationLimit":{"name":"limit","in":"query","description":"Maximum number of items to return per request","schema":{"oneOf":[{"type":"string"},{"type":"integer"}],"minimum":1,"default":100}},"InsightsIpFilter":{"name":"ip","in":"query","description":"Filter results by IP address substring","schema":{"type":"string"}},"InsightsDomainFilter":{"name":"domain","in":"query","description":"Filter results by domain name substring","schema":{"type":"string"}},"InsightsSourcesFilter":{"name":"sources","in":"query","description":"Filter results by one or more data sources. Accepts a comma-separated list of source names","schema":{"type":"string","enum":["IPS","DOMAINS","SEEDLISTING","DMARC","GP","SNDS","ALERTS"]}},"InsightsDmarcTypeFilter":{"name":"dmarc","in":"query","description":"Filter results by DMARC type. Accepts a comma-separated list of values","schema":{"type":"string","enum":["threat","compliant"]}},"InsightsSeedlistingTypeFilter":{"name":"seedlisting","in":"query","description":"Filter results by seedlisting placement. Accepts a comma-separated list of values","schema":{"type":"string","enum":["INBOX","SPAM"]}},"InsightsGpReputationFilter":{"name":"gp","in":"query","description":"Filter results by Google Postmaster domain reputation. Accepts a comma-separated list of reputation values","schema":{"type":"string","enum":["HIGH","MEDIUM","LOW","BAD"]}},"InsightsSndsStatusFilter":{"name":"snds","in":"query","description":"Filter results by SNDS status. Accepts a comma-separated list of status values","schema":{"type":"string","enum":["GREEN","YELLOW","RED"]}},"InsightsBlocklistedFilter":{"name":"blocklisted","in":"query","description":"Filter results by blocklist status. Accepts a comma-separated list of status values","schema":{"type":"string","enum":["CLEAN","BLOCKLISTED","NOT_MONITORED"]}},"InsightsIpOnlyFilter":{"name":"ip_only","in":"query","description":"Filter results to include only IP-based insights (excludes domain-only records)","schema":{"type":"boolean"}},"InsightsDomainOnlyFilter":{"name":"domain_only","in":"query","description":"Filter results to include only domain-based insights (excludes IP-only records)","schema":{"type":"boolean"}},"InsightsProfileIdFilter":{"name":"profile_id","in":"query","description":"Filter results to only include IPs and domains that belong to the specified profile","schema":{"type":"string"}},"IpsSortBaseFilter":{"name":"sort","in":"query","description":"Example: -ip (desc) or ip (asc)","schema":{"type":"string","enum":["ip","rdns","rbl_result"]}},"IpsProfileIdBaseFilter":{"name":"profile_id","in":"query","description":"Filter results by profile ID","schema":{"type":"string"}},"IpsIpBaseFilter":{"name":"ip","in":"query","description":"Filter results by an IP substring","schema":{"type":"string"}},"IpsRdnsBaseFilter":{"name":"rdns","in":"query","description":"Filter results by a reverse DNS (rDNS) hostname substring","schema":{"type":"string"}},"IpsRblHostsBaseFilter":{"name":"rbl_hosts","in":"query","description":"Filter results by RBL lookup host (rbl_result.lookup_host). Multiple values can be provided as a comma-separated list. Example: ynip.rothen.com,bl.spamcop.net. Available host names can be retrieved from GET /api/v1.0/epc/rbl_dictionary?type=ips","schema":{"type":"string"}},"IpsNetmaskBaseFilter":{"name":"netmask","in":"query","description":"Filter results by netmask","schema":{"type":"string"}},"IpsBlacklistedBaseFilter":{"name":"blacklisted","in":"query","description":"Filter results to include only IPs that are currently blacklisted","schema":{"type":"boolean"}},"IpsWrongRdnsBaseFilter":{"name":"wrong_rdns","in":"query","description":"Filter results to include only IPs with an incorrect or missing reverse DNS (rDNS) record","schema":{"type":"boolean"}},"LookalikeGetSortQueryParam":{"name":"sort","in":"query","description":"Example: -domain (desc) or domain (asc)","schema":{"type":"string","enum":["domain","unclassified","threat","ignored"]}},"LookalikeGetByIdSortQueryParam":{"name":"sort","in":"query","description":"Example: -lookalike (desc) or lookalike (asc)","schema":{"type":"string","enum":["lookalike","registrar","reg_created_date","reg_updated_date","dnssec","state","p"]}},"LookalikeDomainQueryParam":{"name":"domain","in":"query","description":"Filter results by a domain name substring","schema":{"type":"string","format":"domain"}},"LookalikeProfileIdQueryParam":{"name":"profile_id","in":"query","description":"Filter results by profile ID","schema":{"type":"string"}},"LookalikePQueryParam":{"name":"p","in":"query","description":"Filter results by the p field (current DMARC policy)","schema":{"type":"string","enum":["none","reject","quarantine"]}},"MailerQGroupParamQuery":{"name":"group","in":"query","description":"group by","schema":{"type":"string","enum":["domain","ip","from","mx","pool","organization","tags"]}},"MailerQGroupParamPath":{"name":"group","in":"path","required":true,"description":"group name","schema":{"type":"string","enum":["domain","ip","from","mx","pool","organization","tags"]}},"MailerQFromParam":{"name":"from","in":"query","schema":{"type":"string"}},"MailerQDomainParam":{"name":"domain","in":"query","schema":{"type":"string"}},"MailerQIpParam":{"name":"ip","in":"query","schema":{"type":"string"}},"MailerQMxParam":{"name":"mx","in":"query","schema":{"type":"string"}},"MailerQOrganizationParam":{"name":"organization","in":"query","schema":{"type":"string"}},"MailerQPoolParam":{"name":"pool","in":"query","schema":{"type":"string"}},"MailerQBounceL1Param":{"name":"bounce_l1","in":"query","schema":{"type":"string"}},"MailerQBounceL2Param":{"name":"bounce_l2","in":"query","schema":{"type":"string"}},"MailerQBounceDParam":{"name":"bounce_d","in":"query","schema":{"type":"string"}},"MailerQBounceDOriginalParam":{"name":"bounce_d_original","in":"query","schema":{"type":"string"}},"MailerQTagsParam":{"name":"tags","in":"query","description":"string of tags separated by coma. Example one,two,three","schema":{"type":"string"}},"MailerQAggregatedBounceStatsSortBaseFilter":{"name":"sort","in":"query","description":"example -bouce_d (desc) or bouce_d (asc)","schema":{"type":"string","enum":["bounce_l1","bounce_l2","bounce_d","count"]}},"MailerQAggregatedBounceDOriginalStatsSortBaseFilter":{"name":"sort","in":"query","description":"example -bounce_d_original (desc) or bounce_d_original (asc)","schema":{"type":"string","enum":["bounce_d_original","count"]}},"SeedlistingStatsGroupParamQuery":{"name":"group","in":"query","required":true,"description":"Grouping for aggregated delivery statistics","schema":{"type":"string","enum":["host","from_domain","from_email","ip","status"]}},"SeedlistingProfileIdBaseFilter":{"name":"profile_id","in":"query","description":"Filter by profile ID","schema":{"type":"string"}},"SeedlistingIpBaseFilter":{"name":"ip","in":"query","description":"Filter by sending IP address substring","schema":{"type":"string"}},"SeedlistingFromDomainBaseFilter":{"name":"from_domain","in":"query","description":"Filter by from_domain substring","schema":{"type":"string"}},"SndsIpStatusSortQueryParam":{"name":"sort","in":"query","description":"Example: -ip (desc) or ip (asc)","schema":{"type":"string"}},"SndsPeriodFromQueryParam":{"name":"period_from","in":"query","required":true,"description":"Start of the time period (e.g., 2021-07-06T00:00:00.000Z)","schema":{"type":"string","format":"date-time"}},"SndsPeriodToQueryParam":{"name":"period_to","in":"query","required":true,"description":"End of the time period (e.g., 2021-08-06T00:00:00.000Z). The range between period_from and period_to must not exceed 30 days","schema":{"type":"string","format":"date-time"}},"SndsIpsQueryParam":{"name":"ips","in":"query","description":"Comma-separated list of IP addresses to filter by. Each value can be a full or partial match","schema":{"type":"string"}},"SndsRdnsQueryParam":{"name":"rdns","in":"query","description":"Comma-separated list of reverse DNS hostnames to filter by. Each value can be a full or partial match","schema":{"type":"string"}},"SndsProfileIdQueryParam":{"name":"profile_id","in":"query","description":"Filter by profile ID","schema":{"type":"string"}},"SndsFilterResultQueryParam":{"name":"filter_result","in":"query","description":"Comma-separated list of filter results to filter by","schema":{"type":"string","enum":["GREEN","YELLOW","RED"]}},"SndsIpTypeQueryParam":{"name":"type","in":"query","description":"SNDS data type to retrieve IPs for","schema":{"type":"string","enum":["IP_STATUS","IP_DATA"]}},"SndsRdnsTypeQueryParam":{"name":"type","in":"query","description":"SNDS data type to retrieve reverse DNS entries for","schema":{"type":"string","enum":["IP_STATUS","IP_DATA"]}},"TrackingSortParam":{"name":"sort","in":"query","schema":{"type":"string","enum":["campaign_id","subscriber_id","timestamp"]},"description":"Example: -campaign_id (desc) or campaign_id (asc)"},"TrackingCampaignIdQuery":{"name":"campaign_id","in":"query","schema":{"type":"string"},"required":false,"description":"Filter by campaign identifier (letters, numbers, dashes, or underscores)"},"TrackingSubscriberIdQuery":{"name":"subscriber_id","in":"query","schema":{"type":"string"},"required":false,"description":"Filter by subscriber identifier (letters, numbers, dashes, underscores, dots, or email addresses)"},"TrackingAggregatedSortParam":{"name":"sort","in":"query","description":"Example: -count (desc) or count (asc)","schema":{"type":"string","enum":["count"]}},"TrackingPixelGroupParam":{"name":"group","in":"query","description":"Groups pixel tracking results by the specified field. When provided, each result entry will include the group field value with the count","schema":{"type":"string","enum":["campaign_id","subscriber_id"]}},"TrackingLinkGroupParam":{"name":"group","in":"query","description":"Groups link tracking results by the specified field. When provided, each result entry will include the group field value with the count","schema":{"type":"string","enum":["campaign_id","subscriber_id","device","country","ip","browser","custom_link_title","params"]}},"TrackingSubscriberIdParam":{"name":"subscriber_id","in":"query","schema":{"type":"string"},"required":false,"description":"Subscriber identifier to embed into the generated tracking URL. When provided, the tracking URL will include this value."},"TrackingCampaignIdParam":{"name":"campaign_id","in":"query","schema":{"type":"string"},"required":false,"description":"Campaign identifier to embed into the generated tracking URL. When provided, the tracking URL will include this value."},"TrackingProfileIdParam":{"name":"profile_id","in":"query","schema":{"type":"string"},"required":false,"description":"Filter results by profile identifier"},"TrapsIpsSortBaseFilter":{"name":"sort","in":"query","description":"Example: -ip (desc) or ip (asc)","schema":{"type":"string","enum":["ip"]}},"TrapsIpsProfileIdBaseFilter":{"name":"profile_id","in":"query","description":"Filter by profile ID","schema":{"type":"string"}},"TrapsIpsIpBaseFilter":{"name":"ip","in":"query","description":"Filter by IP address substring","schema":{"type":"string"}},"TrapsIpsDomainBaseFilter":{"name":"domain","in":"query","description":"Filter by domain substring","schema":{"type":"string"}},"TrapsIpsNetmaskBaseFilter":{"name":"netmask","in":"query","description":"Filter by netmask","schema":{"type":"string"}},"TrapsIpsSmtpMailFromDomainBaseFilter":{"name":"smtp_mail_from_domain","in":"query","description":"Filter by smtp_mail_from_domain substring","schema":{"type":"string"}},"TrapsIpsDomainFromBaseFilter":{"name":"domain_from","in":"query","description":"Filter by domain_from substring","schema":{"type":"string"}},"TrapsStatsGroupParamQuery":{"name":"group","in":"query","required":true,"description":"Grouping for aggregated trap hit statistics","schema":{"type":"string","enum":["ip","domain_from","email_from_header","email_subject","smtp_mail_from_domain","data_colorcode"]}},"UserConsumptionTypeParamQuery":{"name":"type","in":"query","required":true,"description":"type","schema":{"type":"string","enum":["i","d","gp","ld","se","dm","si"]}},"UserConsumptionAggregatedStatsTypeParamQuery":{"name":"type","in":"query","required":true,"description":"aggregated stats type","schema":{"type":"string","enum":["dm","se","si"]}}},"responses":{"EmailDeliveryDomainResponse":{"description":"Email delivery domain data","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/EmailDeliveryDomain"}}}}}},"EmailDeliveryBooleanDataResponse":{"description":"Operation result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailDeliveryBooleanResponse"}}}},"BadRequestResponseBase":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponseBase"}}}},"UnauthorizedResponseBase":{"description":"Unauthorized"},"ForbiddenResponseBase":{"description":"Forbidden"},"NotFoundResponseBase":{"description":"Not Found"},"InternalServerErrorResponseBase":{"description":"Internal server error"}},"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","description":"JWT bearer token authentication"},"ApiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization","description":"API key authentication via Authorization header"}}},"tags":[]}