report
Authentication
Path parameters
Request
Response
success — the response has no body
success — the response has no body
Report a domain that impersonates your brand.
The whole report is one multipart/form-data request — nothing has to be uploaded anywhere first:
report — required JSON part carrying the reported domain and, optionally, a short title and description of what you saw.Content-Type — an image, a PDF or an HTML page is accepted.The report fields and the attachments together become the evidence stored with the report; a report carrying neither is filed as a bare domain.
The reported domain is collapsed to its registrable domain, so a host and its parent never become two reports: login.clone-example.com is filed as clone-example.com. Where that boundary sits is decided by the Public Suffix List, so multi-label suffixes and shared hosting suffixes keep their own label — shop.clone-example.co.uk is filed as clone-example.co.uk, and clone.github.io stays clone.github.io. The resulting phishing domain is queued for manual review before any takedown action is taken.
The endpoint answers an empty 200 whether or not a new entry was created: a domain the project already tracks, a domain the account itself owns (in this or any of its other projects) and a reserved / special-use TLD are all skipped rather than rejected, so re-sending the same report is safe. A malformed request answers 400 with an error code naming the fault, and a project the token’s account does not own answers 404.
Before a project can report anything it must have proven that it controls one of its own domains: the verification token is published either as a DNS TXT record on the registrable domain or as a <meta> tag on its home page. Ownership is proven from your BotBye account — the API carries no endpoint for it. Until that proof is on file every report answers 403 protection_phishing_domain_verification.project_domain_not_verified.
Accepted permissions
Account → Phishing Projects → CreateToken scope
Account Phishing Projects Action
Personal access token. Create it in your BotBye account under Profile → Personal Access Tokens, tick the scopes the endpoints you call require (see each endpoint’s Token scope), and send the token in the X-Api-Key request header. A token works only for the account it was created in.