This API provides ways to manage the abuse reports you might receive from Leaseweb. To use this API, please request access via your account manager and/or compliance officer. LIMITED ACCESS
The API uses standard HTTP status codes to indicate the success or failure of the API call. The response will be JSON. Most APIs use the following format:
{
"errorCode": "APP00800",
"errorMessage": "The connection with the DB cannot be established.",
"correlationId": "550e8400-e29b-41d4-a716-446655440000",
"userMessage": "Cannot handle your request at the moment. Please try again later.",
"reference": "https://developer.leaseweb.com/errors/APP00800"
}
Authentication for the APIs is required. To authenticate your call, you will need to sent your API key as X-LSW-Auth
header.
You can generate API keys in the Customer Portal.
List reports
limit | integer Example: limit=20 Limit the number of results returned. |
offset | integer Example: offset=10 Return results starting from the given offset. |
status | string Default: "OPEN,WAITING,CLOSED" Example: status=OPEN,WAITING,CLOSED Comma separated list of report statuses to filter on. |
curl --request GET \ --url 'https://api.leaseweb.com/abuse/v1/reports?limit=SOME_INTEGER_VALUE&offset=SOME_INTEGER_VALUE&status=SOME_STRING_VALUE' \ --header 'X-LSW-Auth: REPLACE_KEY_VALUE'
{- "_metadata": {
- "totalCount": 2,
- "limit": 10,
- "offset": 0
}, - "reports": [
- {
- "id": "000000",
- "subject": "Report description",
- "status": "OPEN",
- "reportedAt": "2015-01-01T00:00:00+00:00",
- "updatedAt": "2015-01-01T00:00:00+00:00",
- "notifier": "REDACTED_FOR_PRIVACY",
- "customerId": "10000001",
- "legalEntityId": "2000",
- "deadline": "2015-01-01T00:00:00+00:00"
}, - {
- "id": "000001",
- "subject": "Report description",
- "status": "CLOSED",
- "reportedAt": "2015-01-01T00:00:00+00:00",
- "updatedAt": "2015-01-01T00:00:00+00:00",
- "notifier": "REDACTED_FOR_PRIVACY",
- "customerId": "10000001",
- "legalEntityId": "2600",
- "deadline": "2015-01-01T00:00:00+00:00"
}
]
}
reportId required | string Example: abc123 Report Id |
curl --request GET \ --url https://api.leaseweb.com/abuse/v1/reports/abc123 \ --header 'X-LSW-Auth: REPLACE_KEY_VALUE'
{- "abuseType": "MALLWARE",
- "attachments": [
- {
- "id": "1abd8e7f-0fdf-453c-b1f5-8fef436acbbe",
- "mimeType": "part/xml",
- "filename": "000001.xml"
}
], - "body": "string with content",
- "customerId": "10000001",
- "deadline": "2015-01-01T00:00:00+0100",
- "detectedDomainNames": [
- {
- "name": "example.com",
- "ipAddresses": [
- "93.184.216.34"
]
}
], - "detectedIpAddresses": [
- "127.0.0.1"
], - "id": "000005",
- "latestMessages": [
- {
- "postedBy": "CUSTOMER",
- "postedAt": "2015-09-30T06:23:40+00:00",
- "body": "Hello, this is my first message!"
}, - {
- "postedBy": "ABUSE_AGENT",
- "postedAt": "2015-10-08T08:25:29+00:00",
- "body": "Hi, this is our first reply.",
- "attachment": {
- "id": "436acbbe-0fdf-453c-b1f5-1abd8e7f8fef",
- "mimeType": "image/png",
- "filename": "notification.png"
}
}
], - "legalEntityId": "2000",
- "notifier": "notifier@email.com",
- "reopened": false,
- "reportedAt": "2015-01-01T00:00:00+0100",
- "status": "CLOSED",
- "subject": "Report description",
- "totalMessagesCount": 2,
- "updatedAt": "2015-01-01T00:00:00+0100"
}
reportId required | string Example: abc123 Report Id |
limit | integer Example: limit=20 Limit the number of results returned. |
offset | integer Example: offset=10 Return results starting from the given offset. |
curl --request GET \ --url 'https://api.leaseweb.com/abuse/v1/reports/abc123/messages?limit=SOME_INTEGER_VALUE&offset=SOME_INTEGER_VALUE' \ --header 'X-LSW-Auth: REPLACE_KEY_VALUE'
{- "_metadata": {
- "totalCount": 2,
- "limit": 10,
- "offset": 0
}, - "messages": [
- {
- "postedBy": "CUSTOMER",
- "postedAt": "2015-09-30T06:23:40+00:00",
- "body": "Hello, this is my first message!"
}, - {
- "postedBy": "ABUSE_AGENT",
- "postedAt": "2015-10-08T08:25:29+00:00",
- "body": "Hi, this is our first reply.",
- "attachment": {
- "id": "436acbbe-0fdf-453c-b1f5-1abd8e7f8fef",
- "mimeType": "image/png",
- "filename": "notification.png"
}
}
]
}
Sent a new message to the Leaseweb compliance team related to an abuse report.
reportId required | string Example: abc123 Report Id |
body required | string Plain text body of the message, for newlines use ' '. |
{- "body": "Hello, this is my first message."
}
[- "To make sure the request has been processed please see if the message is added to the list."
]
The compliance team sometimes add an attachment to a message. You can use this endpoint to get the attachment. The content-type of the response depends on the content of the attachment.
reportId required | string Example: abc123 Report Id |
fileId required | string Example: sdfa73-adsfs-4fadf-sdfasdfa File Id |
curl --request GET \ --url https://api.leaseweb.com/abuse/v1/reports/abc123/messageAttachments/sdfa73-adsfs-4fadf-sdfasdfa \ --header 'X-LSW-Auth: REPLACE_KEY_VALUE'
{- "correlationId": "289346a1-3eaf-4da4-b707-62ef12eb08be",
- "errorCode": "401",
- "errorMessage": "You are not authorized to view this resource."
}
Use this endpoint to get an attachment which was created with the abuse report. The content-type of the response depends on the content of the attachment.
reportId required | string Example: abc123 Report Id |
fileId required | string Example: sdfa73-adsfs-4fadf-sdfasdfa File Id |
curl --request GET \ --url https://api.leaseweb.com/abuse/v1/reports/abc123/reportAttachments/sdfa73-adsfs-4fadf-sdfasdfa \ --header 'X-LSW-Auth: REPLACE_KEY_VALUE'
{- "correlationId": "289346a1-3eaf-4da4-b707-62ef12eb08be",
- "errorCode": "401",
- "errorMessage": "You are not authorized to view this resource."
}
In order to resolve a report, you need to specify a resolution. Use this endpoint to retrieve a list of all possible resolution options for this report.
reportId required | string Example: abc123 Report Id |
curl --request GET \ --url https://api.leaseweb.com/abuse/v1/reports/abc123/resolutions \ --header 'X-LSW-Auth: REPLACE_KEY_VALUE'
{- "isMessageRequired": false,
- "resolutions": [
- {
- "id": "CONTENT_REMOVED",
- "description": "The mentioned content has been removed."
}, - {
- "id": "DOMAINS_REMOVED",
- "description": "The mentioned domain(s) has/have been removed from the LeaseWeb network."
}, - {
- "id": "SUSPENDED",
- "description": "The end customer (or responsible user) has been suspended."
}, - {
- "id": "DUPLICATE",
- "description": "This is either a duplicate or old notification and has already been resolved."
}
]
}
Resolve a report
reportId required | string Example: abc123 Report Id |
resolutions required | Array of strings (resolutionList) List of selected resolution ID's to explain how the report is resolved. |
message | string Message is required and only allowed if any of the IP(s) related to this report are null routed. |
{- "message": "The IP address associated with this report has been null routed due to policy violations. Further access will be restricted until the issue is resolved.",
- "resolutions": [
- "CONTENT_REMOVED",
- "SUSPENDED"
]
}
{- "correlationId": "289346a1-3eaf-4da4-b707-62ef12eb08be",
- "errorCode": "400",
- "errorDetails": { },
- "errorMessage": "The API could not interpret your request correctly."
}