Breaking changes ship with at least 60 days’ notice — each one names what breaks, the migration, and its sunset date. Use the tag filter to show only Breaking. Subscribe via the RSS feed.
Entries before July 2026 were reconstructed from the API history and grouped by month. Going forward, each entry tracks a single release.
BreakingNewChangedFixed
Breaking
- Credit Card and Hacker Forums endpoints removed. The 11 endpoints under the Credit Card and Hacker Forums tags no longer exist:
cc_search_request,cc_search_results,retrieve_cc_hf_request,retrieve_credit_card_task_results,delete_cc_hf_request,cc_crawlers_status,download_results_file,hf_search_request,hf_search_results,retrieve_hacker_forum_task_resultsandhf_crawlers_status. Search cards withcc_leaks_search, which returns cards on sale whensaleCategoryison_saleorall. Search data broker listings withdata_broker_search. A name quick search no longer starts card tasks. These endpoints were removed in this release without the 60 days’ notice this changelog promises. Credit cards → Data Brokers →
- Domain scans use Monitored Assets slots. Each distinct domain with a domain scan now holds one Monitored Assets slot, from the same pool as your monitors. The separate Domain Monitoring slot is gone. When every slot is in use,
start_domain_analysisreturns409with"resource": "monitored_assets"and"detail": "You have reached your Monitored Assets limit of 10.", where it returnedspoofguard_domains. Guide → - The Domain takedowns allowance runs per contract year. It resets at 00:00 UTC on each anniversary of your license’s start date, not on 1 January. Yearly takedown packs add takedowns to the contract year. Guide →
- Registered assets hold no slot. Registering a domain or another asset is no longer limited by a slot count. Guide →
- Filter Filtered credentials by discovery date. The result and export calls take
leak_discover_date_fromandleak_discover_date_to(YYYY-MM-DD, both ends included) to keep accounts from leaks discovered in that range. Guide →
- IP ranges in quick search reach Raw Data and Telegram. An IP term such as
203.0.113.*now reaches the leak index and Telegram with its*, so they match the range. They used to receive203.0.113.and found nothing. The other sources still receive203.0.113.. Guide → - Fewer failures on reads after an idle connection. When the service behind an endpoint has closed an idle connection,
GET,PUTandDELETErequests are retried once instead of failing. Guide →
New
New
- Register assets with an API key. Six endpoints under the Organization Settings tag list, read, create, update and delete your organization’s registered assets, such as the domains Domain monitoring scans.
organization_assets_bulkregisters many in one call. Creating needs a license in force. A subdomain of a domain you already registered is reported as covered, and nothing is created. Guide → - Narrow keyword search of new domain registrations.
tld,hyphen_separatedandmax_extra_characterskeep only matches on the top-level domains you name, joined to another word by a hyphen, or with few other characters around the keyword. Guide → - Report templates choose light or dark pages. Report templates take
mode,darkorlight. Templates without it print dark. Guide →
NewChangedFixed
New
- Leak and account searches flag incomplete results.
leak_extended_database_search,leak_simple_database_searchandaccounts_database_searchreturnpartialandpartialReasonbesidecontent.partialistruewhen the search hit its time limit or part of the index did not answer in time, and the page and its counts then cover only the parts that answered.partialReasonsays why, such astimeoutorshard_failures, and isnullwhen the results are complete. Guide →
- An unavailable service returns
503, and a timed-out one504. When the service behind an endpoint reports that it is unavailable, the API answers503with{"detail": "The requested service is temporarily unavailable."}. When that service reports a timeout, the API answers504with{"detail": "The requested service timed out."}. Both used to arrive as502. Retry them with backoff, as you would a502. Guide → - Quick search says why the leak and account sources rejected a query. Their
submission_failedentry carries the reason inerror_message, for example for a wildcard the index does not support, instead of an empty string. Itsservice_status_codecan now be503or504as well as502. Guide →
- Domain monitoring scan lists load for every organization.
analysis_listreturned502when a scan included a detection module that is no longer offered. That module’s entry inparams.modulesnow hasmodule_nameset tonull. Guide →
Fixed
Fixed
- Intermittent
500errors at busy times. On 9, 10 and 12 October, API calls could fail with500and{"message": "Internal server error, please try again!"}while many quick searches ran at once. The cause is fixed. Guide →
New
- Data Brokers monitors. A monitor can watch data broker listings with service
17. A space in its query means AND, andOR,NOT,"phrase"and a trailing*are operators. Guide →
- Leak Filter monitors are checked before they save. Creating or updating a Leak Filter monitor (service
6) asks the Filtered credentials service whether it would run the search. A domain it blocks, or one it has already counted above its direct-search limit, returns400with the reason inerror. A domain it has not counted yet is accepted. If the check cannot complete, the call returns502and the monitor is not saved. Guide →
- API keys work on quick search. The nine quick search endpoints, such as
domain_quick_search, returned500to API keys. They return201with the search record. Guide → - API keys create and delete monitors.
alert_system_alert_create_alert_rulereturned400with{"error": "user_id and org_id are required"}, andalert_system_alert_delete_alert_rulereturned400with{"error": "user_id is required"}. Both now work with an API key. Guide → - API keys create report schedules.
create_report_schedulereturned400to API keys. It now creates the schedule. Guide → - Webhook payloads carry
match_detail_idandalert_rule_id. The generic JSON payload had left out both fields, which the delivery guide describes. They now come first in the payload. Slack, Discord and Microsoft Teams messages are unchanged. Guide →
The editions release changes how the API authenticates callers, how it limits them, and the contract of a few endpoints. Migrate an integration to the editions release gives the before and after of every change below, and ends with a checklist to run once the release is live.Changed
- API keys authenticate every request. Create a key in the dashboard under Developers → API Tokens, send it in the
X-API-Keyheader on every request, and remove anyAuthorizationheader. A request without a key returns401with{"detail": "Authentication credentials were not provided."}. An unknown, expired or revoked key returns401with{"detail": "Invalid or expired API key."}. Guide → - A key acts only as its own organization. Remove
org_idfrom every query string and request body. A request that names another organization returns403.organization_listreturns only the key’s organization, andorganization_inforeturns404for any other ID. To serve several client organizations, create one key per client. A client key uses that client’s plan and allowances. Guide → - The organization profile drops
licenseandused_credits.get_direct_org_info,organization_infoandorganization_listno longer return them.countrychanges fromidandnametocodeandname.codeis the ISO 3166-1 alpha-2 code, such asUS, andcountryisnullwhen no valid country is set. Your plan is in the dashboard under Admin → Organizations, on your organization’s Plan tab. Guide → - Country lookups return codes, and
city_listis removed.country_listreturnscodeinstead ofid, with ISO country names. If you store country IDs, map them to codes by name.GET /api/service/city_list/returns404. Guide → - General Stats is removed.
GET /api/service/leak_analysis_general_stats/returns404. For credential counts, callleaked_credentials_stats. Guide → - License and plan checks. Nearly every endpoint needs a license in force, or returns
403with{"detail": "Your license is not active."}. An endpoint or data source your plan does not include returns403with{"detail": "This feature is not included in your plan."}. Plan features gate paste, credit card, cloud storage, URL shortener, app store, Telegram, Discord and ransomware search, legacy forum search (hf_search_request), Tor & I2P and Email References live search, Live Data Broker Search, code exposure, Domain monitoring, Infra search, credential comparison report generation, webhooks, and changes to email senders and templates. Guide → - Capacity limits return
409. Each monitor, each distinct domain in Domain monitoring and each active credential comparison report schedule takes one slot. When every slot is in use, a call that needs one more returns409withdetail,resourceandlimit. The monitor limit no longer returns400with “You have reached your alert rule limit of 100.” Creating an inactive report schedule takes no slot. Guide → - A spent allowance returns
429withoutRetry-After. A call that starts metered work returns429withdetail,resource,periodandlimitwhen the allowance is spent. Queue that work for the next period instead of retrying. The per-second rate-limit429carriesmessageandretry_after_secondsinstead. Guide → - Refusals carry
detail. Authentication, license, plan, capacity and allowance refusals return adetailfield. A403from an access check no longer returnsmessage, and a401no longer returns{"error": "Authentication failed."}. Guide → start_domain_analysishas a new contract. Domain monitoring is the SpoofGuard tag in the API reference.domainis the only required field, andmodulesis ignored. The domain must be registered as an asset of your organization, or the call returns400. A subdomain must be registered as its own asset. The call needs the Domain Monitoring plan feature (403) and a free Domain Monitoring slot for a new domain (409). New optional fields:logo_id,branding_id,whitelist_idandwordlist_code. Guide →- The quick search Data Brokers entry answers inline. The quick search result reports Data Brokers as
data_broker_search, with statusokand the listings indata, in place of anhf_search_requesttask to poll. It searches the name without its top-level domain, soacme.comsearchesacme. Guide → - Two new quick search source statuses. A source your plan does not include reports
not_entitled. A source refused by a spent allowance or the per-second rate limit reportsquota_exceeded. Both replacesubmission_failedfor these cases, use no allowance, and let the rest of the search go on. Guide → - Monitors check their data source against your plan. A monitor is an alert rule in the API. Creating or updating one for a data source your plan does not include returns
403, and so does a missing or unknownservice. Guide → - Webhooks and custom email need plan features. All five webhook endpoints need the Webhooks plan feature. Creating, updating and deleting email senders and templates needs Custom Email Server. Reading them needs no plan feature. Guide →
- A per-second rate limit and an API Calls allowance replace credits and daily limits. Credits,
used_creditsand the402response are gone, and so are per-endpoint daily limits. Every caller has a per-second rate limit. Requests made with an API key also count toward a monthly API Calls allowance, and only2xxresponses use it. TheX-RateLimit-*headers report the tightest of your limits, usually the per-second window. Guide → - Metered work draws on allowances. Starting an Infra search scan, generating a credential comparison report, running Live Data Broker Search, starting an Attack Surface assessment and starting a code exposure scan take units before the work starts. A code exposure keyword scan takes 1 unit per distinct keyword. Domain takedowns draw on a yearly allowance. A call that ends in any status other than
2xxgets its units back. Monthly allowances reset at 00:00 UTC on the 1st. Guide →
- Telegram totals can be estimates.
telegram-search-createandtelegram-search-history-resultsreturntotal_is_estimate. When it istrue,totalis an estimate, not an exact count. Guide → - Code exposure on 11 routes. Under the Code Scan tag, start keyword scans across GitHub, GitLab, Gist, Google and Postman in one request, start contributor scans, read, rank and export findings, and save scan templates. Guide →
- Domain monitoring: scan lifecycle, alerts and brand library. 32 new endpoints. Stop, rescan, update and delete a scan. Categorize and triage its results. Read and mark look-alike alerts in one organization-wide inbox. Manage the logos, branding keyword sets, whitelists and word lists a scan checks for. Guide →
- Domain takedowns. 13 new endpoints. Upload a signed power of attorney, draft a takedown for a look-alike domain your scan found, send it to the registrar, the hosting provider and blacklists, and track the replies. Guide →
- Attack Surface assessments. 18 new endpoints under
/api/hackerview/. Start full and targeted assessments of a domain, follow their progress and queue position, generate and download branded reports, read report data as JSON, and manage report templates and exclusion rules. In the dashboard, these are Risk Intelligence → Assessments. Guide → - Guides for plans, errors and the migration. Plans and quotas explains license status, plan features, allowances and capacity slots. Errors lists every error body and when to retry. Migrate to the editions release walks an existing integration through this release.
- Guides for Domain monitoring. Overview, Scans, Brand library, Monitors and alerts and Domain takedowns.
- Guides for Attack Surface assessments. Overview, Start an assessment, Follow an assessment, Reports, Report data, Report branding and Exclusion rules.
- Guides for code, credentials and hosts. Code exposure covers the new Code Scan routes. Organization analytics reads credential totals, password strength and a breach feed for your domain. Credential check checks credentials from your sign-up, login and password-change flows. Infra search, the dashboard’s Quick Scan, maps the hosts, ports and CVEs under a domain.
Updated 2026-10-15: the dashboard’s menus were renamed on 2026-10-09. Admin → Organizations is now Manage → Plan & usage, with client organizations under Manage → Organizations. Developers → API Tokens is Manage → API tokens. Risk Intelligence → Assessments is Exposure → Risk Assessments, and Quick Scan is Exposure → Attack Surface Discovery. The guides use the new names.
Updated 2026-11-02: the dashboard renamed more pages on 30 October and 2 November. Manage → Plan & usage is now Manage → Usage for usage and Manage → Buy more for the plan and its packs. Client organizations are client workspaces, under Manage → Workspaces. Monitoring → Monitors is Monitoring → Monitored Assets, and Delivery settings has its own row under Monitoring. The guides use the new names.
Changed
Changed
- Microsoft Teams webhooks receive an Adaptive Card. Webhook URLs on
powerplatform.comare now recognized as Microsoft Teams, alongsidewebhook.office.comandoutlook.office.com. Teams URLs receive an Adaptive Card instead of the legacy message card, and Power Automate URLs no longer receive the generic JSON payload, which Teams rejected. Guide →
Changed
Changed
- Alert links open the right organization. The
results_urlin webhook payloads and the results link in alert emails now name the organization the match belongs to, so the link opens the match in that organization in the dashboard. Guide →
New
New
- Data Brokers listings API.
data_broker_searchsearches the listings data brokers advertise for sale. Narrow it by site, data type, location, seller, price and listing date, sort it, and page with a cursor.data_broker_filtersreturns the values you can filter on, anddata_broker_siteslists the source sites. Guide →
Changed
Changed
- API call usage leaves out empty months.
get_api_call_usageno longer returns a month with no recorded calls. Guide →
BreakingNewChangedFixed
Breaking
- Domain monitoring monitor lists are paginated.
analysis_monitorsandmonitor_alertsreturncount,next,previousandresultsinstead of a plain array, andmonitor_alertsaddsalert_type_counts. Monitor and alert records are reshaped: a monitor carriesdomain,analysis_id,conditions,enabled,recipients,logoandbranding, and an alert carriesmonitor_id,condition,change_detail,severityandseen.create_analysis_monitorreturns a list of monitors and no longer acceptsemail,logoorbrand.monitor_updaterequiresenabled. Guide → - Cloud storage, URL shortener and Infra search result lists require
searchrequest.list_bucket_search_result,list_shortener_search_resultandlist_infra_search_resultreturn400whensearchrequestis missing or is not a UUID. The list, retrieve and delete calls return only your organization’s results. Cloud storage → URL shorteners → Infra search →
- Credential Check API. Four endpoints check a password, an email address, or an email and password pair against known leaks, and search the leak records behind the answer. Guide →
- API call usage history.
get_api_call_usagereturns your organization’s API calls for a range of months, set withfrom_year_monthandto_year_monthas YYYYMM, with a total per month and a breakdown per day and per HTTP status code. Guide → - Cards on sale and more card fields.
cc_leaks_searchtakessaleCategory:free(the default),on_saleorall. Results addlastDigits,type,subType,country,state,city,zip,source,seller,balance,saleCategoryandmetadata, and the query can target the new fields. Credit card exports acceptsaleCategorytoo. Guide → - Discord totals can be estimates. Discord search returns
total_is_estimate. When it istrue,totalis an estimate, not an exact count. Guide → - Code exposure endpoints. 16
codescan_*endpoints start keyword and contributor scans, read and export their results, and manage templates and schedules. The editions release replaces them with the/api/code_scan/routes. Guide →
- No monthly export cap. The limit of 100 exports per organization per month, which returned “Monthly export limit reached!”, is removed. Guide →
- Telegram
context_charstakes 500, 1000 or 2000. Any other value returns400. Guide → - Phishing scan dates.
date_createdon phishing scan results is now the date the feed entry was first recorded, not the date of your search. Guide → - Google Dork and social-network search left the API reference. Neither is offered through the API. Guide →
- Domain monitoring analysis detail returns the full record.
analysis_detailreturns the full analysis payload, and itsmodule_codefilter can be repeated to select several modules. Guide →
- Report generation returns the reason for a
400.generate_credential_comparison_reportrelays the reporting service’s400message. Report and schedule lists no longer fail when a report period date is blank. Guide → - Cloud storage and URL shortener totals cover the whole search.
total_countand the available filter values describe the whole search, not only the filtered page. Guide → - Infra search result pages no longer fail on one malformed row. Guide →
Changed
Changed
- Filtered credentials checks a new domain in the background. The first search of a domain no longer returns
503when its record count cannot be read. The task startspendingwhile the count runs. It then continues as usual, or endsfailedwith the reason inerror_message. Poll the task until it reaches a final status. Guide →
Changed
Changed
- Webhook-only monitors.
email_templateis optional on monitor create and update, and required only when the monitor emailsrecipients. A monitor that only calls a webhook needs no template. On update,"recipients": []clears the recipients. Guide →
New
New
- Structured queries in stealer-log search.
queryaccepts field clauses oncreatedAt,leakId,fileNameandfileExtension,AND,ORandNOT,-exclusions and[from TO to]ranges. Before, a structured query returned no results. Plain-text queries match as before. Guide →
BreakingNewChangedFixed
Breaking
- Tor & I2P results take
orderinginstead ofsort.external_sources_search_resultssorts byordering:ai_relevance_score,created_atordate, prefixed with-for descending. The default is the highest relevance first. Thesortparameter is no longer accepted. Guide →
- AI scoring on Tor & I2P results. Tor & I2P live search runs on a new engine. Each result adds
contentExtract,source,aiRelevanceScore,aiSensitivity,aiReasoningandaiKeywords. Guide → - Domain Search monitors. Monitors can watch the newly registered domains feed. Give up to 200 comma-separated terms, each with a name of at least 3 characters before the top-level domain. Guide →
- Own-domain filters on certificate monitors. Certificate monitors accept
excludeOwnDomainandonlyOwnDomain. You cannot turn both on. Guide → - Certificate filters and Domain Search in the export service. Certificate exports accept the seven risk filters of SSL search. Newly registered domains can be exported as
DomainSearch. Guide →
- Credit card results can omit the card number. In
cc_leaks_searchresults,numberandleakIdcan benull, and a newbinfield carries the card’s BIN. Guide → - Quick search pastes come from the paste index only. The Pastes source in quick search no longer adds results from a live Google search. Guide →
- Infra search lists only your scans.
list_infra_search_requestno longer includes scans the platform runs in the background. Guide →
- Finished credential comparison reports download reliably. Downloads no longer return
404intermittently for finished reports. Guide →
Changed
Changed
- Up to 200 recipients and 200 senders per organization. The cap on each was 10. Webhooks stay at 10 per organization. Guide →
BreakingNewFixed
Breaking
- Live search create body simplified to a single query field. The live_search_create body is now just
{ "query": ... }. The platform, priority, requested_by, and chat_id fields are no longer accepted — the engine sets them server-side. Guide → - Alert-rule
senderis now optional. Alert-rule responses may now return a nullsender, andsenderis optional on create and update. Update any integration that assumes a rule always has a sender. Guide →
- Live Search result filters and platform health endpoints. Guide →
- Domain Search endpoints for the newly registered domains feed. Reference →
- Usage Limits endpoint for API rate-limit usage stats. Reference →
- mask_passwords option for report schedules and report generation. Guide →
- SpoofGuard analysis endpoints accept and forward filter query params. Reference →
- Usage limits endpoint gains service_slug and feature filters. Reference →
- needs_attention field on alert rule responses. Guide →
- Add seven boolean filters to certificate database search. Guide →
- New Stealer Logs Search API. Search the credential corpus by infected machine — an async create → poll → read flow that returns each stealer-log capture with a bot record and screenshots you pull on demand. Guide →
- Add stealer_pics_urls field to stealer log search results. Stealer-log records now include the screenshot URLs captured at infection time. Guide →
- Add source and date filtering params to phishing search. Guide →
- Report schedule endpoints return detailed validation errors. Guide →
- Fix Telegram channel suggestion create response contract. Guide →
- Fix stealer log search timeout handling — timed-out requests now return 504. Reference →
BreakingNewFixed
Breaking
- Report schedule endpoints renamed to unique action-style URLs. Report schedule endpoints moved to unique URLs:
create_report_schedule,list_report_schedules,update_report_schedule/{schedule_id}, andlist_scheduled_reports/{schedule_id}replace the report-schedules/ paths. Validation failures now return the specific error message in the 400 response, and list_scheduled_reports accepts an optional org_id query parameter for system-level users. Guide → - Empty domains list rejected on report and schedule endpoints. Report generation and report schedule endpoints now reject an empty domains list with a 400 error (‘Empty domains list is not allowed.’). Guide →
- Legacy quick-report endpoints deprecated. generate_extended_report, generate_simple_report, and generate_spr_simple_report will be removed on 2026-07-13. Migrate to the premium and credential-comparison report endpoints. Sunset: 2026-07-13. Guide →
- Alert rule list: is_deleted filter replaced by include_deleted; soft-delete fields exposed on rule responses. The alert-rule list filter is_deleted is replaced by include_deleted: set include_deleted=true to also return soft-deleted rules; by default only active rules return. Rule responses now include deleted_at, deleted_by, and deletion_snapshot, and sender and email_template can be null on soft-deleted rules. Guide →
- Add ordering param and updated_at field to report listing. Guide →
- Fix a 500 error on app store search results. Guide →
- Fix 500s on SpoofGuard export and monitors endpoints. Reference →
- Fix 502 errors on SpoofGuard analysis endpoints (analysis_stats, analysis_detail). Reference →
- System-level users: report requests now target the managed organization via org_id. Guide →
BreakingNew
Breaking
- 2FA enrollment now requires OTP verification. 2FA enrollment is now a two-step flow. Calling setup_2fa returns a QR code and seed but no longer enables 2FA; you must confirm by posting a 6-digit code to the new /service/verify_2fa_enrollment/ endpoint, which activates 2FA and returns one-time backup codes. At login you can supply a backup code instead of an OTP, and the OTP time window is slightly more forgiving.
- Organization competitors endpoint paginated. The organization competitors endpoint now returns a paginated response with count, next, previous, and results instead of a plain list, and accepts page, size, and ordering parameters. The weeks parameter on the leak-count history endpoints is documented with a maximum of 260. Guide →
- Alert exclusions now use a nested AND/OR condition model. Alert rule exclusions take an array of condition groups shaped
{ "match": "all"|"any", "rules": [{"field","value"}] }, where rules can nest. Exclusion records return a condition object. The CSV upload endpoint takes a match (all|any) parameter. Update any integration built on the old flat field/value exclusion body. Guide → - Enforce 2048-char limit on webhook URL. Webhook
urlvalues are now capped at 2048 characters when creating or updating a webhook; longer URLs are rejected with a validation error. Guide → - Deprecated legacy endpoints removed and hidden from the API. Removed the deprecated Paste, Botnet, Pastebin, legacy Ransomware, favourites, and old export/stats endpoints; calls to these paths now return 404. The GitHub search and legacy live-search endpoints are also no longer listed in the API reference. Reference →
- Alert rules accept multiple recipients. Alert rules now support multiple recipients. The single ‘recipient’ field on create, update, and list responses is replaced by a ‘recipients’ list of recipient IDs. Guide →
- Filtered-credentials exports are now asynchronous. Filtered-credentials results export via async jobs: create an export, poll
leak_filter_export_retrieve/{id}/, then download fromleak_filter_export_download/{id}/(link expires after 24h). The old leak_filter_search_download/ and leak_filter_domain_search_download/ endpoints are removed. Guide → - Deprecated report types removed from report generation. The sprsimple, simple, and extended report types are removed. The generate_spr_simple_report/, generate_simple_report/, and generate_extended_report/ endpoints no longer exist; only premium and credential comparison reports can be generated. Guide →
- org_id parameter added to Ransomwatch endpoints. Guide →
- Higher max page size for paste and certificate search. Guide →
- Filter and sort alert match detail results and downloads. Guide →
- Filtering and pagination for Filtered credentials result endpoints. Guide →
- Filtering and pagination on the alert list and overview endpoints. Guide →
- Telegram search service endpoints on the public API. Guide →
- New Discord search endpoints. Guide →
- first_discovered date filters on leak filter searches. Guide →
- Alert frequency options. Guide →
- exact_match parameter on leak filter searches. Guide →
- Filter parameters for account breaches and stealer-log analysis. Guide →
- Credential comparison report type. Guide →
- Report schedule endpoints. Guide →
- Ransomware victim export filters. Guide →
- Filtering and pagination added to export listing endpoints. Guide →
BreakingNewFixed
Breaking
- Paginate alert rule list and rename alert filter params. The alert rule list (alert_system_alert_get_alert_rule_list) now returns a paginated response with count, next, previous, and results, and each rule includes is_deleted, total_alerts_count, and total_matches_count. Filter parameters were renamed to recipient_id, sender_id, email_template_id, and webhook_id, with a new is_deleted filter. The service listing now reports frequency as a number and includes excludable_fields. Guide →
- Mails external search migrated to new API spec. The mails external search API moved to a new spec. On the create call, company is now company_name, and the type/seniority/department fields moved to the results call. Fetching results is now a GET with query-string filters (type, seniority, department, position, source_domain, search, ordering, page, size) and returns a count/next/previous paginated response. Guide →
- Pagination, filtering, and premium type on list report requests. The report list endpoint GET /service/list_report_requests/ now supports pagination and filtering via page, page_size, report_type, status, and domain query parameters. The response is now a paginated envelope (data, page, page_size, total_items, total_pages), each item carries a type field, and status values are now slugs (started, in_progress, ready, error) instead of display strings. The premium report type is now accepted. Guide →
- Report list created_at now includes time. The created_at field in report list responses now includes the time (format dd-mm-yyyy HH:MM:SS) instead of date only. Guide →
- Add alert rule exclusion endpoints. Guide →
- New paste search endpoints. Guide →
- Search history gains ordering param and datetime timestamps. Reference →
- Add filtering, sorting, and pagination to bucket and shortener search result endpoints. Guide →
- Add main_org_id to organization info response. Guide →
- Add excluded-item support to alert match endpoints. Guide →
- Add excluded_count to alert statistics responses. Guide →
- Fix missing id field in alert match list responses. Guide →
BreakingNew
Breaking
- Rework risk score APIs (renamed endpoints and response fields, new endpoints). The risk score API endpoints have been renamed under /api/service/ (get_risk_score becomes get_organization_risk_score, list_competitors becomes list_organization_competitors, and similar). The score history endpoint now returns leak_risk_score and infra_risk_score instead of score, and takes a weeks parameter instead of year. New endpoints return benchmark and global weekly leak-count history. Update integrations to the new paths and fields. Guide →
- Add retrieve all domain hostnames endpoint. Reference →
Breaking
Breaking
- Search history moved to a service-scoped endpoint. The search history endpoint now requires a service slug:
GET /api/service/get_search_history/{category}/{service_slug}/. Results are scoped to that service, and the old category-only path no longer works. Use page and page_size to paginate. Reference →