API Docs

The current base URL for all requests is:

https://api.fishfish.gg/v1/

Authentication

Some routes in the API require an authentication token. This token should be provided in the Authorization header. Currently any authenticated route will only be used internally within the organisation. It is documented publicly but not intended to be used by the public directly.


Domains

GET /domains

Get a list of domains for a specific category.

Query parameters:

NameTypeDefaultDescription
categorystringphishingThe category of domains to fetch. See Categories.
recentboolfalseWhether to only return domains added within the last hour.

Returns: A list of strings.

POST /domains

Add a domain to the API. This is an authenticated route.

Request:

NameRequiredTypeDefaultDescription
domainyesstring-The domain to add.
categorynostring"phishing"The category of the domain.
apexnoboolfalseWhether all subdomains of the apex fall under the category provided.

Returns: A Domain object with meta set to null.

GET /domains/:domain

Get information about a specific domain.

Query parameters:

NameTypeDefaultDescription
detailedboolfalseInclude domain metadata in the response.

Returns: A Domain object with meta set if detailed is true.

PATCH /domains/:domain

Update a domain. This is an authenticated route.

Request:

NameRequiredTypeDefaultDescription
categorynostring-The new category of the domain. See Categories.

Returns: A Domain object with meta set to null.

PATCH /domains/:domain/metadata

Update a domain's metadata. This is an authenticated route.

Request: A DomainMetadata object.

Returns: A DomainMetadata object.

DELETE /domains/:domain

Delete a domain from the API. This is an authenticated route.

URLs

NOTE: All URLs with a :url parameter should have the provided URL given as a URL encoded string.

GET /urls

Get a list of URLs for a specific category.

Query parameters:

NameTypeDefaultDescription
categorystringphishingThe category of urls to fetch. See Categories.
recentboolfalseWhether to only return urls added within the last hour.

POST /urls

Add a URL to the API. This is an authenticated route.

Request:

NameRequiredTypeDefaultDescription
urlyesstring-The url to add.
categorynostring"phishing"The category of the url.

GET /urls/:url

Get information about a specific URL.

Query parameters:

NameTypeDefaultDescription
detailedboolfalseInclude URL metadata in the response.

Returns: A URL object with meta set if detailed is true.

PATCH /urls/:url

Update a URL. This is an authenticated route.

Request:

NameRequiredTypeDefaultDescription
categorynostring-The new category of the url. See Categories.

Returbns: A URL object with meta set to null.

PATCH /urls/:url/metadata

Update a URL's metadata. This is an authenticated route.

Request: A URLMetadata object.

Returns: A URLMetadata object.

DELETE /urls/:url

Delete a URL from the API. This is an authenticated route.


Types

Categories

  • phishing
  • safe
  • malware

Domain

NameTypeDescription
domainstringThe domain name.
categorystringThe domain category.
apexboolWhether all subdomains of the apex fall under the category provided.
metaDomainMetadata?Optional metadata associated with the domain.

DomainMetadata

NameTypeDescription
pathstring?The path a domain was detected with.
urlscanstring?The URLScan detection result URL for the domain.
activestring?When the domain was last confirmed to be active as an ISO8601 datetime.
targetstring?The target of a phishing domain.

URL

NameTypeDescription
urlstringThe URL.
categorystringThe URL category.
metaURLMetadata?Optional metadata associated with the URL.

URLMetadata

NameTypeDescription
urlscanstring?The URLScan detection result URL for the url.
activestring?When the URL was last confirmed to be active as an ISO8601 datetime.
targetstring?The target of a phishing URL.
Last Updated:
Contributors: rjt