1. Getting Started
The Phishs API provides access to its infrastructure through a standardized interface, enabling you to perform nearly all actions available on the customer dashboard. This RESTful API uses HTTPS requests and JSON responses. Registered users can retrieve their API key at the top of the "API Key" page in the My Account section.
2. API Endpoints
The API is accessed through HTTPS requests to a version-specific endpoint URL, using methods like GET, POST, PUT, PATCH, and DELETE to interact with the available data. All endpoints are secured via SSL-enabled HTTPS (port 443).
Each method, parameter, and feature is tied to a specific version, which must be included in every API call. The current latest version is Version 1.
The stable base URL for all Version 1 HTTPS endpoints is: https://api.phishs.com/v1/
3. API Limits
API usage limits vary based on the subscription plan associated with your account. Check API limits
4. Response Handling
All APIs follow these response formats: HTTP status codes and response body.
HTTP Status:HTTP Code | Description |
---|---|
200 |
Success |
401 |
Unauthorized |
403 |
Your account is locked or permission denied |
429 |
Login too many failed |
500 |
An unknown error |
Response | Description |
---|---|
status => code: 0 |
Success |
status => code: not equal 0 |
Error |
status => message |
Error message |
status => timestamp |
The time server responses |
5. Get Team List
POST
https://api.phishs.com/v1/entity/team/list
We use this API to get all team list which belong to you or which you are member
Required headersParameter | Description |
---|---|
Content-Type |
[String, Required]. Value is: application/json |
Public-Key |
[String, Required]. Value is: Your Public Key |
Secret-Key |
[String, Required]. Value is: Your Secret Key |
Parameter | Description |
---|---|
size |
[Number, Optional]. The number of results each page, default 20 results. |
page |
[Number, Optional]. The page of results, default is 0. Start page is 0. |
cURL
curl -X POST https://api.phishs.com/v1/entity/team/list \
-H "Content-Type: application/json" \
-H "Public-Key: t8t875o14k242zachxf1" \
-H "Secret-Key: 186ycp7ilboz69u8uj8zfi88gvvvsqvk" \
-d '{}'
Server response
{
"status": {
"message": "Wow, successfully!",
"code": 0,
"timestamp": "2024-11-17T09:37:45+0000"
},
"teams": [
{
"id": "170caec538d53e7339e84784",
"code": "phishs_support",
"name": "Phishs Support Team",
"roles": "ROLE_OWNER, ROLE_MEMBER, ROLE_ADMIN",
"members": 2,
"joinedDate": "2024-10-14T05:40:21.901+00:00"
},
{
"id": "2717579f0922cf34da711716",
"code": "phishs_detection",
"name": "Phishs Detection Team",
"roles": "ROLE_OWNER, ROLE_ADMIN",
"members": 1,
"joinedDate": "2024-10-22T07:43:27.935+00:00"
},
{
"id": "1717658b0922cf04da911712",
"code": "phishs_protection",
"name": "Phishs Protection Team",
"roles": "ROLE_OWNER, ROLE_ADMIN",
"members": 1,
"joinedDate": "2024-10-22T08:42:51.454+00:00"
}
],
"total": 3
}
6. Get Usage
POST
https://api.phishs.com/v1/report/usage
We use this API to get all team list which belong to you or which you are member
Required headersParameter | Description |
---|---|
Content-Type |
[String, Required]. Value is: application/json |
Public-Key |
[String, Required]. Value is: Your Public Key |
Secret-Key |
[String, Required]. Value is: Your Secret Key |
Parameter | Description |
---|---|
teamId |
[String, Required]. Get teamId from Get Team List API. |
cURL
curl -X POST https://api.phishs.com/v1/report/usage \
-H "Content-Type: application/json" \
-H "Public-Key: t8t875o14k242zachxf1" \
-H "Secret-Key: 186ycp7ilboz69u8uj8zfi88gvvvsqvk" \
-d '{"teamId":"170caec538d53e7339e84784"}'
Server response
{
"status": {
"message": "Wow, successfully!",
"code": 0,
"timestamp": "2024-11-17T09:50:55+0000"
},
"usage": {
"scanQuota": 1000000,
"scanUsage": 91,
"limitQuota": 1000,
"limitUsage": 0
}
}
7. Scan URL
POST
https://api.phishs.com/v1/scan/url
We use this API to scan URL and show it as No classification or Potentially Malicious
Required headersParameter | Description |
---|---|
Content-Type |
[String, Required]. Value is: application/json |
Public-Key |
[String, Required]. Value is: Your Public Key |
Secret-Key |
[String, Required]. Value is: Your Secret Key |
Parameter | Description |
---|---|
teamId |
[String, Required]. Get teamId from Get Team List API. |
url |
[String, Required]. Your URL for analysis. |
rescan |
[Boolean, Optional]. If rescan is true, we will analysis without cache. |
URL status response details
Response | Description |
---|---|
urlStatus => status: 0 |
No classification |
urlStatus => status: 1 |
Potentially Malicious |
urlStatus => status: -1 |
Not a valid URL |
urlStatus => lastScanTime |
Last scan time in millisecond |
urlStatus => lastScanTimeStr |
Last scan time in text |
cURL
curl -X POST https://api.phishs.com/v1/scan/url \
-H "Content-Type: application/json" \
-H "Public-Key: t8t875o14k242zachxf1" \
-H "Secret-Key: 186ycp7ilboz69u8uj8zfi88gvvvsqvk" \
-d '{"teamId":"170caec538d53e7339e84784", "url":"https://phishs.com/", "rescan":false}'
Server response
{
"status": {
"message": "Wow, successfully!",
"code": 0,
"timestamp": "2024-11-17T10:03:02+0000"
},
"urlStatus": {
"status": 0,
"lastScanTime": 24184545,
"lastScanTimeStr": "6 hours ago"
}
}