openapi: 3.0.3
info:
title: 'EmailGuard Docs'
description: ''
version: 1.0.0
servers:
-
url: 'https://app.emailguard.io'
paths:
/api/v1/login:
post:
summary: Login
operationId: login
description: "This endpoint allows users to authenticate by providing your login credentials (email and password).\n\nUpon successful authentication, the endpoint returns a JSON response containing the authentication token\nto be used for accessing protected resources."
parameters: []
responses:
200:
description: success
content:
application/json:
schema:
type: object
example:
data:
token: 5|Hlk779H8RZRYW8uO7HqswERgBl4KWce31qEnSl4k31a56d9a
properties:
data:
type: object
properties:
token:
type: string
example: 5|Hlk779H8RZRYW8uO7HqswERgBl4KWce31qEnSl4k31a56d9a
422:
description: failure
content:
application/json:
schema:
type: object
example:
message: 'The provided credentials are incorrect.'
properties:
message:
type: string
example: 'The provided credentials are incorrect.'
tags:
- Authentication
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
email:
type: string
description: 'Your email.'
example: john@doe.com
nullable: false
password:
type: string
description: 'Your password.'
example: mypassword
nullable: false
required:
- email
- password
security: []
/api/v1/user:
get:
summary: 'Account Details'
operationId: accountDetails
description: "This endpoint retrieves the details of the authenticated user.\n\nThe user must provide a valid authentication token in the request header to access this endpoint."
parameters: []
responses:
200:
description: success
content:
application/json:
schema:
type: object
example:
data:
name: 'Jonh Doe'
email: john@doe.com
team:
name: "John Doe's Team"
properties:
data:
type: object
properties:
name:
type: string
example: 'Jonh Doe'
email:
type: string
example: john@doe.com
team:
type: object
properties:
name:
type: string
example: "John Doe's Team"
tags:
- 'Account management'
/api/v1/user/profile:
put:
summary: 'Update Profile'
operationId: updateProfile
description: "This endpoint allows the authenticated user to update their profile information, specifically their name.\n\nThe user must provide a valid authentication token in the request header to access this endpoint."
parameters: []
responses:
200:
description: success
content:
application/json:
schema:
type: object
example:
data:
name: 'Doe John'
email: john@doe.com
team:
name: "John Doe's Team"
properties:
data:
type: object
properties:
name:
type: string
example: 'Doe John'
email:
type: string
example: john@doe.com
team:
type: object
properties:
name:
type: string
example: "John Doe's Team"
tags:
- 'Account management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'The new name to update.'
example: '"Doe John"'
nullable: false
required:
- name
/api/v1/user/password:
put:
summary: 'Update Password'
operationId: updatePassword
description: "This endpoint allows the authenticated user to update their password.\n\nThe user must provide a valid authentication token in the request header to access this endpoint."
parameters: []
responses:
200:
description: success
content:
application/json:
schema:
type: object
example:
data:
success: true
message: 'Successfully updated your profile password'
properties:
data:
type: object
properties:
success:
type: boolean
example: true
message:
type: string
example: 'Successfully updated your profile password'
tags:
- 'Account management'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
current_password:
type: string
description: 'Your current password.'
example: password
nullable: false
password:
type: string
description: 'Your new password.'
example: new-password
nullable: false
password_confirmation:
type: string
description: 'Your new password repeated.'
example: new-password
nullable: false
required:
- current_password
- password
- password_confirmation
/api/v1/user/logout:
post:
summary: Logout
operationId: logout
description: "This endpoint logs out the authenticated user by invalidating their current authentication token.\n\nThe user must provide a valid authentication token in the request header to access this endpoint."
parameters: []
responses:
200:
description: success
content:
application/json:
schema:
type: object
example:
data:
success: true
message: 'Successfully logged out'
properties:
data:
type: object
properties:
success:
type: boolean
example: true
message:
type: string
example: 'Successfully logged out'
tags:
- 'Account management'
/api/v1/workspaces:
get:
summary: 'User Workspaces'
operationId: userWorkspaces
description: "This endpoint retrieves all workspaces for the authenticated user.\n\nThe user must provide a valid authentication token in the request header to access this endpoint."
parameters: []
responses:
200:
description: success
content:
text/plain:
schema:
type: string
example: "{\n \"data\": [\n {\n \"uuid\": \"9c97b8f7-7aac-4bae-8da6-9db5991ec2ae\",\n \"name\": \"John Doe's First Team\",\n \"remaining_monthly_email_verification_credits\": 30,\n \"total_monthly_email_verification_credits\": 50,\n \"remaining_email_verification_credits\": 50,\n \"total_email_verification_credits\": 100,\n \"remaining_email_accounts\": 1,\n \"total_email_accounts\": 100,\n \"remaining_domains\": 1,\n \"total_domains\": 1,\n \"remaining_inbox_placement_tests\": 5,\n \"total_inbox_placement_tests\": 5,\n \"remaining_email_tests\": 10,\n \"total_email_tests\": 10,\n \"remaining_content_spam_checks\": 20,\n \"total_content_spam_checks\": 20,\n \"remaining_hosted_domain_redirects\": 0,\n \"total_hosted_domain_redirects\": 0\n },\n {\n \"uuid\": \"9c97b8f7-7aac-4bae-8da6-9db5991ec2ae\",\n \"name\": \"John Doe's Second Team\",\n \"remaining_monthly_email_verification_credits\": 100,\n \"total_monthly_email_verification_credits\": 100,\n \"remaining_email_verification_credits\": 50,\n \"total_email_verification_credits\": 100,\n \"remaining_email_accounts\": 1,\n \"total_email_accounts\": 100,\n \"remaining_domains\": 1,\n \"total_domains\": 1,\n \"remaining_inbox_placement_tests\": 5,\n \"total_inbox_placement_tests\": 5,\n \"remaining_email_tests\": 10,\n \"total_email_tests\": 10,\n \"remaining_content_spam_checks\": 20,\n \"total_content_spam_checks\": 20,\n \"remaining_hosted_domain_redirects\": 0,\n \"total_hosted_domain_redirects\": 0\n },\n ]\n}"
tags:
- Workspaces
post:
summary: 'Create Workspace'
operationId: createWorkspace
description: "This endpoint allows the authenticated user to create a new workspace.\n\nThe user must provide a valid authentication token in the request header\nand the details of the new workspace in the request body."
parameters: []
responses:
200:
description: success
content:
text/plain:
schema:
type: string
example: "{\n \"data\": {\n \"name\": \"John Doe's New Team\",\n \"remaining_monthly_email_verification_credits\": 30,\n \"total_monthly_email_verification_credits\": 50,\n \"remaining_email_verification_credits\": 50,\n \"total_email_verification_credits\": 100,\n \"remaining_email_accounts\": 1,\n \"total_email_accounts\": 100,\n \"remaining_domains\": 1,\n \"total_domains\": 1,\n \"remaining_inbox_placement_tests\": 5,\n \"total_inbox_placement_tests\": 5,\n \"remaining_email_tests\": 10,\n \"total_email_tests\": 10,\n \"remaining_content_spam_checks\": 20,\n \"total_content_spam_checks\": 20,\n \"remaining_hosted_domain_redirects\": 0,\n \"total_hosted_domain_redirects\": 0\n }\n* }"
tags:
- Workspaces
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Must not be greater than 255 characters.'
example: eegvtefuofutwfgbxkoxr
nullable: false
required:
- name
/api/v1/workspaces/current:
get:
summary: 'Workspace Details'
operationId: workspaceDetails
description: "This endpoint retrieves the details of the authenticated user's current workspace.\n\nThe user must provide a valid authentication token in the request header to access this endpoint."
parameters: []
responses:
200:
description: success
content:
application/json:
schema:
type: object
example:
data:
uuid: 9c97b8f7-7aac-4bae-8da6-9db5991ec2ae
name: "John Doe's Team"
remaining_monthly_email_verification_credits: 30
total_monthly_email_verification_credits: 50
remaining_email_verification_credits: 50
total_email_verification_credits: 100
remaining_email_accounts: 1
total_email_accounts: 100
remaining_domains: 1
total_domains: 1
remaining_inbox_placement_tests: 5
total_inbox_placement_tests: 5
remaining_email_tests: 10
total_email_tests: 10
remaining_content_spam_checks: 20
total_content_spam_checks: 20
remaining_hosted_domain_redirects: 0
total_hosted_domain_redirects: 0
properties:
data:
type: object
properties:
uuid:
type: string
example: 9c97b8f7-7aac-4bae-8da6-9db5991ec2ae
name:
type: string
example: "John Doe's Team"
remaining_monthly_email_verification_credits:
type: integer
example: 30
total_monthly_email_verification_credits:
type: integer
example: 50
remaining_email_verification_credits:
type: integer
example: 50
total_email_verification_credits:
type: integer
example: 100
remaining_email_accounts:
type: integer
example: 1
total_email_accounts:
type: integer
example: 100
remaining_domains:
type: integer
example: 1
total_domains:
type: integer
example: 1
remaining_inbox_placement_tests:
type: integer
example: 5
total_inbox_placement_tests:
type: integer
example: 5
remaining_email_tests:
type: integer
example: 10
total_email_tests:
type: integer
example: 10
remaining_content_spam_checks:
type: integer
example: 20
total_content_spam_checks:
type: integer
example: 20
remaining_hosted_domain_redirects:
type: integer
example: 0
total_hosted_domain_redirects:
type: integer
example: 0
tags:
- Workspaces
/api/v1/workspaces/switch-workspace:
post:
summary: 'Switch Workspace'
operationId: switchWorkspace
description: "This endpoint allows the authenticated user to switch to a different workspace.\n\nThe user must provide a valid authentication token in the request header\nand the ID of the target workspace in the request body to access this endpoint."
parameters: []
responses:
200:
description: success
content:
application/json:
schema:
type: object
example:
data:
uuid: 9c97b8f7-7aac-4bae-8da6-9db5991ec2ae
name: "John Doe's Second Team"
remaining_monthly_email_verification_credits: 30
total_monthly_email_verification_credits: 50
remaining_email_verification_credits: 50
total_email_verification_credits: 100
remaining_email_accounts: 1
total_email_accounts: 100
remaining_domains: 1
total_domains: 1
remaining_inbox_placement_tests: 5
total_inbox_placement_tests: 5
remaining_email_tests: 10
total_email_tests: 10
remaining_content_spam_checks: 20
total_content_spam_checks: 20
remaining_hosted_domain_redirects: 0
total_hosted_domain_redirects: 0
properties:
data:
type: object
properties:
uuid:
type: string
example: 9c97b8f7-7aac-4bae-8da6-9db5991ec2ae
name:
type: string
example: "John Doe's Second Team"
remaining_monthly_email_verification_credits:
type: integer
example: 30
total_monthly_email_verification_credits:
type: integer
example: 50
remaining_email_verification_credits:
type: integer
example: 50
total_email_verification_credits:
type: integer
example: 100
remaining_email_accounts:
type: integer
example: 1
total_email_accounts:
type: integer
example: 100
remaining_domains:
type: integer
example: 1
total_domains:
type: integer
example: 1
remaining_inbox_placement_tests:
type: integer
example: 5
total_inbox_placement_tests:
type: integer
example: 5
remaining_email_tests:
type: integer
example: 10
total_email_tests:
type: integer
example: 10
remaining_content_spam_checks:
type: integer
example: 20
total_content_spam_checks:
type: integer
example: 20
remaining_hosted_domain_redirects:
type: integer
example: 0
total_hosted_domain_redirects:
type: integer
example: 0
tags:
- Workspaces
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
uuid:
type: string
description: 'The uuid of an existing record in the teams table.'
example: 2228fd7f-facc-3c71-b419-cbe82248b584
nullable: false
required:
- uuid
'/api/v1/workspaces/{team_id}':
put:
summary: 'Update Workspace'
operationId: updateWorkspace
description: "This endpoint allows the authenticated user to update their workspace information,\nspecifically the workspace name.\n\nThe user must provide a valid authentication token in the request header\nand the ID of the target workspace, along with the details of the new workspace\nin the request body to access this endpoint."
parameters: []
responses:
200:
description: success
content:
application/json:
schema:
type: object
example:
data:
name: 'J.D Workspace'
remaining_monthly_email_verification_credits: 30
total_monthly_email_verification_credits: 50
remaining_email_verification_credits: 50
total_email_verification_credits: 100
remaining_email_accounts: 1
total_email_accounts: 100
remaining_domains: 1
total_domains: 1
remaining_inbox_placement_tests: 5
total_inbox_placement_tests: 5
remaining_email_tests: 10
total_email_tests: 10
remaining_content_spam_checks: 20
total_content_spam_checks: 20
remaining_hosted_domain_redirects: 0
total_hosted_domain_redirects: 0
properties:
data:
type: object
properties:
name:
type: string
example: 'J.D Workspace'
remaining_monthly_email_verification_credits:
type: integer
example: 30
total_monthly_email_verification_credits:
type: integer
example: 50
remaining_email_verification_credits:
type: integer
example: 50
total_email_verification_credits:
type: integer
example: 100
remaining_email_accounts:
type: integer
example: 1
total_email_accounts:
type: integer
example: 100
remaining_domains:
type: integer
example: 1
total_domains:
type: integer
example: 1
remaining_inbox_placement_tests:
type: integer
example: 5
total_inbox_placement_tests:
type: integer
example: 5
remaining_email_tests:
type: integer
example: 10
total_email_tests:
type: integer
example: 10
remaining_content_spam_checks:
type: integer
example: 20
total_content_spam_checks:
type: integer
example: 20
remaining_hosted_domain_redirects:
type: integer
example: 0
total_hosted_domain_redirects:
type: integer
example: 0
tags:
- Workspaces
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'The new workspace name.'
example: 'New name'
nullable: false
required:
- name
parameters:
-
in: path
name: team_id
description: 'The ID of the workspace.'
example: 14
required: true
schema:
type: integer
/api/v1/workspaces/invite-members:
post:
summary: 'Invite Team Member'
operationId: inviteTeamMember
description: "This endpoint allows the authenticated user to invite a new member to their team.\n\nThe user must provide a valid authentication token in the request header\nand the email and role of the new team member in the request body."
parameters: []
responses:
200:
description: success
content:
application/json:
schema:
type: object
example:
data:
success: true
message: 'Successfully invited example@example.com'
properties:
data:
type: object
properties:
success:
type: boolean
example: true
message:
type: string
example: 'Successfully invited example@example.com'
tags:
- Workspaces
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
email:
type: string
description: 'The email of the new team member.'
example: example@example.com
nullable: false
role:
type: string
description: 'The role of the new team member.'
example: '1'
nullable: false
required:
- email
- role
'/api/v1/workspaces/accept/{team_invitation_uuid}':
get:
summary: 'Accept Workspace Invitation'
operationId: acceptWorkspaceInvitation
description: "This endpoint allows the user to accept an invitation to join a workspace.\n\nThe user must provide a valid authentication token in the request header\nand the ID of the workspace invitation."
parameters: []
responses:
200:
description: success
content:
application/json:
schema:
type: object
example:
data:
success: true
message: 'Successfully accepted the invitation'
properties:
data:
type: object
properties:
success:
type: boolean
example: true
message:
type: string
example: 'Successfully accepted the invitation'
tags:
- Workspaces
parameters:
-
in: path
name: team_invitation_uuid
description: ''
example: 93292094-78a9-3e9d-8a39-d332104a090a
required: true
schema:
type: string
-
in: path
name: team_invitation_id
description: 'The ID of the team invitation.'
example: 16
required: true
schema:
type: integer
'/api/v1/workspaces/members/{user_id}':
put:
summary: 'Update Workspace Member'
operationId: updateWorkspaceMember
description: "This endpoint allows the authenticated user to update the role of a workspace member.\n\nThe user must provide a valid authentication token in the request header\nand the ID of the workspace member and the new role in the request body."
parameters: []
responses:
200:
description: success
content:
application/json:
schema:
type: object
example:
data:
success: true
message: 'Successfully updated team member John Doe role'
properties:
data:
type: object
properties:
success:
type: boolean
example: true
message:
type: string
example: 'Successfully updated team member John Doe role'
tags:
- Workspaces
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
role:
type: string
description: 'The new role of the team member.'
example: admin
nullable: false
required:
- role
delete:
summary: 'Delete Workspace Member'
operationId: deleteWorkspaceMember
description: "This endpoint allows the authenticated user to remove a workspace member.\n\nThe user must provide a valid authentication token in the request header\nand the ID of the workspace member."
parameters: []
responses:
200:
description: success
content:
application/json:
schema:
type: object
example:
data:
success: true
message: 'Successfully deleted team member John Doe'
properties:
data:
type: object
properties:
success:
type: boolean
example: true
message:
type: string
example: 'Successfully deleted team member John Doe'
tags:
- Workspaces
parameters:
-
in: path
name: user_id
description: 'The ID of the team member.'
example: 15
required: true
schema:
type: integer
/api/v1/domains:
get:
summary: 'List Domains'
operationId: listDomains
description: 'Retrieve a collection of domains associated with the authenticated user.'
parameters: []
responses:
200:
description: success
content:
text/plain:
schema:
type: string
example: "{\n \"data\": [\n {\n \"name\": \"example.com\",\n \"ip\": \"192.158.1.38\",\n },\n {\n \"name\": \"anotherdomain.com\",\n \"ip\": \"193.258.1.38\",\n }\n ]\n}"
tags:
- Domains
post:
summary: 'Create Domain'
operationId: createDomain
description: 'Create a new domain for the authenticated user.'
parameters: []
responses:
200:
description: success
content:
text/plain:
schema:
type: string
example: "{\n \"data\": {\n \"name\": \"example.com\",\n \"ip\": \"192.158.1.38\",\n }\n}"
tags:
- Domains
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'The name of the new domain.'
example: example.com
nullable: false
required:
- name
'/api/v1/domains/{uuid}':
get:
summary: 'Show Domain Details'
operationId: showDomainDetails
description: 'Retrieve details of a specific domain.'
parameters: []
responses:
200:
description: success
content:
text/plain:
schema:
type: string
example: "{\n \"data\": {\n \"name\": \"example.com\",\n \"ip\": \"192.158.1.38\",\n }\n}"
tags:
- Domains
parameters:
-
in: path
name: uuid
description: 'The UUID of the domain.'
example: c0aea65b-4647-3dc1-a7d1-5f0b15d315b0
required: true
schema:
type: string
'/api/v1/domains/spf-record/{domain_uuid}':
patch:
summary: 'Update SPF Records'
operationId: updateSPFRecords
description: 'Update SPF records for a specific domain.'
parameters: []
responses:
200:
description: success
content:
application/json:
schema:
type: object
example:
data:
success: true
message: 'SPF records updated successfully'
properties:
data:
type: object
properties:
success:
type: boolean
example: true
message:
type: string
example: 'SPF records updated successfully'
tags:
- Domains
parameters:
-
in: path
name: domain_uuid
description: 'The UUID of the domain.'
example: 43a726c1-cc17-3c30-af9c-4c4c496551af
required: true
schema:
type: string
'/api/v1/domains/dkim-records/{domain_uuid}':
patch:
summary: 'Update DKIM Records'
operationId: updateDKIMRecords
description: 'Update DKIM records for a specific domain.'
parameters: []
responses:
200:
description: success
content:
application/json:
schema:
type: object
example:
data:
success: true
message: 'DKIM records updated successfully'
properties:
data:
type: object
properties:
success:
type: boolean
example: true
message:
type: string
example: 'DKIM records updated successfully'
tags:
- Domains
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
dkim_selectors:
type: json
description: 'The DKIM selectors.'
example: '["google"]'
nullable: false
required:
- dkim_selectors
parameters:
-
in: path
name: domain_uuid
description: 'The UUID of the domain.'
example: b914aa77-4237-3280-b290-e7ebe693beea
required: true
schema:
type: string
'/api/v1/domains/dmarc-record/{domain_uuid}':
patch:
summary: 'Update DMARC Record'
operationId: updateDMARCRecord
description: 'Update DMARC record for a specific domain.'
parameters: []
responses:
200:
description: success
content:
application/json:
schema:
type: object
example:
data:
success: true
message: 'DMARC record updated successfully'
properties:
data:
type: object
properties:
success:
type: boolean
example: true
message:
type: string
example: 'DMARC record updated successfully'
tags:
- Domains
parameters:
-
in: path
name: domain_uuid
description: 'The UUID of the domain.'
example: 3b167336-63d4-3d92-bf72-2dff8111c6aa
required: true
schema:
type: string
'/api/v1/domains/delete/{domain_uuid}':
delete:
summary: 'Delete Domain'
operationId: deleteDomain
description: 'Delete a domain associated with the authenticated user.'
parameters: []
responses:
200:
description: success
content:
application/json:
schema:
type: object
example:
data:
success: true
message: 'Successfully deleted your domain'
properties:
data:
type: object
properties:
success:
type: boolean
example: true
message:
type: string
example: 'Successfully deleted your domain'
tags:
- Domains
parameters:
-
in: path
name: domain_uuid
description: 'The UUID of the domain.'
example: a1d49ccb-461f-3578-91a8-ac9bf3af8795
required: true
schema:
type: string
/api/v1/email-accounts:
get:
summary: 'List Email Accounts'
operationId: listEmailAccounts
description: 'Retrieves a collection of email accounts associated with the authenticated workspace.'
parameters: []
responses:
200:
description: success
content:
text/plain:
schema:
type: string
example: "{\n \"data\": [\n {\n \"name\" => \"John Doe\",\n \"email\" =>\"john@doe.com\",\n \"connected\" => true,\n \"provider\" => \"Google\",\n },\n {\n \"name\" => \"Jane Doe\",\n \"email\" =>\"jane@doe.com\",\n \"connected\" => true,\n \"provider\" => \"Microsoft\",\n }\n ]\n}"
tags:
- 'Email Accounts'
'/api/v1/email-accounts/{id}':
get:
summary: 'Show Email Account Details'
operationId: showEmailAccountDetails
description: 'Retrieves details of a specific email account.'
parameters: []
responses:
200:
description: success
content:
text/plain:
schema:
type: string
example: "{\n \"data\": {\n \"name\" => \"John Doe\",\n \"email\" =>\"john@doe.com\",\n \"connected\" => true,\n \"provider\" => \"Google\",\n }\n}"
tags:
- 'Email Accounts'
parameters:
-
in: path
name: id
description: 'The UUID of the email account.'
example: ullam
required: true
schema:
type: string
/api/v1/email-accounts/imap-smtp:
post:
summary: 'Create IMAP/SMTP Email Account'
operationId: createIMAPSMTPEmailAccount
description: 'Creates a new IMAP/SMTP email account for the authenticated workspace.'
parameters: []
responses:
200:
description: success
content:
text/plain:
schema:
type: string
example: "{\n \"data\": {\n \"name\" => \"John Doe\",\n \"email\" =>\"john@doe.com\",\n \"connected\" => true,\n \"provider\" => \"Google\",\n }\n}"
tags:
- 'Email Accounts'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'The name for the email account.'
example: 'John Doe'
nullable: false
provider:
type: integer
description: 'The provider for the authentication.'
example: 1
nullable: false
imap_username:
type: string
description: 'The username for IMAP authentication.'
example: user@example.com
nullable: false
imap_password:
type: string
description: 'The password for IMAP authentication.'
example: secret_password
nullable: false
imap_host:
type: string
description: 'The host for IMAP'
example: imap.host.com
nullable: false
imap_port:
type: string
description: 'The port for IMAP'
example: '465'
nullable: false
imap_tls:
type: string
description: 'optional The TLS for IMAP'
example: 'true'
nullable: false
smtp_username:
type: string
description: 'The username for SMTP authentication.'
example: user@example.com
nullable: false
smtp_password:
type: string
description: 'The password for SMTP authentication.'
example: secret_password
nullable: false
smtp_host:
type: string
description: 'The host for SMTP.'
example: smtp.host.com
nullable: false
smtp_port:
type: string
description: 'The port for SMTP.'
example: '400'
nullable: false
smtp_tls:
type: optional
description: 'The TLS for SMTP.'
example: 'false'
nullable: false
required:
- name
- provider
- imap_username
- imap_password
- imap_host
- imap_port
- smtp_username
- smtp_password
- smtp_host
- smtp_port
- smtp_tls
/api/v1/email-accounts/test-imap-connection:
post:
summary: 'Test IMAP Connection'
operationId: testIMAPConnection
description: 'Tests the IMAP connection for the provided credentials.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
oneOf:
-
description: success
type: object
example:
imap_successful: true
properties:
imap_successful:
type: boolean
example: true
-
description: failure
type: object
example:
data:
smtp_successful: false
smtp_error: 'Error message detailing the issue'
properties:
data:
type: object
properties:
smtp_successful:
type: boolean
example: false
smtp_error:
type: string
example: 'Error message detailing the issue'
tags:
- 'Email Accounts'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
imap_username:
type: string
description: 'The username for IMAP authentication.'
example: user@example.com
nullable: false
imap_password:
type: string
description: 'The password for IMAP authentication.'
example: secret_password
nullable: false
imap_host:
type: string
description: 'The host for IMAP'
example: imap.host.com
nullable: false
imap_port:
type: string
description: 'The port for IMAP'
example: '465'
nullable: false
imap_tls:
type: string
description: 'optional The TLS for IMAP'
example: 'true'
nullable: false
required:
- imap_username
- imap_password
- imap_host
- imap_port
/api/v1/email-accounts/test-smtp-connection:
post:
summary: 'Test SMTP Connection'
operationId: testSMTPConnection
description: 'Tests the SMTP connection for the provided credentials.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
oneOf:
-
description: success
type: object
example:
smtp_successful: true
properties:
smtp_successful:
type: boolean
example: true
-
description: failure
type: object
example:
data:
smtp_successful: false
smtp_error: 'Error message detailing the issue'
properties:
data:
type: object
properties:
smtp_successful:
type: boolean
example: false
smtp_error:
type: string
example: 'Error message detailing the issue'
tags:
- 'Email Accounts'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
smtp_username:
type: string
description: 'The username for SMTP authentication.'
example: user@example.com
nullable: false
smtp_password:
type: string
description: 'The password for SMTP authentication.'
example: secret_password
nullable: false
smtp_host:
type: string
description: 'The host for SMTP.'
example: smtp.host.com
nullable: false
smtp_port:
type: string
description: 'The port for SMTP.'
example: '400'
nullable: false
smtp_tls:
type: optional
description: 'The TLS for SMTP.'
example: 'false'
nullable: false
required:
- smtp_username
- smtp_password
- smtp_host
- smtp_port
- smtp_tls
'/api/v1/email-accounts/delete/{email_account_uuid}':
delete:
summary: 'Delete Email Account'
operationId: deleteEmailAccount
description: 'Deletes an IMAP/SMTP email account associated with the authenticated workspace.'
parameters: []
responses:
200:
description: success
content:
application/json:
schema:
type: object
example:
data:
success: true
message: 'Successfully deleted IMAP/SMTP email account'
properties:
data:
type: object
properties:
success:
type: boolean
example: true
message:
type: string
example: 'Successfully deleted IMAP/SMTP email account'
tags:
- 'Email Accounts'
parameters:
-
in: path
name: email_account_uuid
description: ''
example: 4c571884-5fc6-318a-812d-fce76160ac44
required: true
schema:
type: string
-
in: path
name: id
description: 'The UUID of the email account.'
example: rem
required: true
schema:
type: string
/api/v1/contact-verification:
get:
summary: 'List Contact Lists'
operationId: listContactLists
description: 'Retrieves a collection of contact lists associated with the authenticated user.'
parameters: []
responses:
200:
description: success
content:
text/plain:
schema:
type: string
example: "[\n {\n \"name\" => \"John Contact list\",\n \"status\" => \"Created\",\n \"total_contacts\" => 10,\n \"valid_contacts\" => 5,\n \"updated_at\" => 2024-06-25,\n },\n {\n \"name\" => \"Jane Contact list\",\n \"status\" => \"Processing\",\n \"total_contacts\" => 10,\n \"valid_contacts\" => 5,\n \"updated_at\" => 2024-06-25,\n }\n]"
tags:
- 'Contact Verification'
post:
summary: 'Create Contact Verification'
operationId: createContactVerification
description: 'Creates a new contact verification request for the authenticated user.'
parameters: []
responses:
200:
description: success
content:
text/plain:
schema:
type: string
example: "{\n \"data\": {\n \"name\" => \"My Contact List\",\n \"status\" => \"Processing\",\n \"total_contacts\" => 10,\n \"valid_contacts\" => 5,\n \"updated_at\" => 2024-06-25,\n }\n}"
tags:
- 'Contact Verification'
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties:
csv:
type: string
format: binary
description: 'The CSV file containing the contacts. The csv needs to have an "email" field.'
nullable: false
name:
type: string
description: 'The name of the contact list.'
example: 'My Contact List'
nullable: false
required:
- csv
- name
'/api/v1/contact-verification/show/{contact_list_uuid}':
get:
summary: 'Show Contact List Details'
operationId: showContactListDetails
description: 'Retrieves details of a specific contact list.'
parameters: []
responses:
200:
description: success
content:
text/plain:
schema:
type: string
example: "{\n \"data\": {\n \"name\" => \"John Contact list\",\n \"status\" => \"Created\",\n \"total_contacts\" => 10,\n \"valid_contacts\" => 5,\n \"updated_at\" => 2024-06-25,\n }\n}"
tags:
- 'Contact Verification'
parameters:
-
in: path
name: contact_list_uuid
description: 'The UUID of the contact list.'
example: 7990bb2d-bc58-3bba-936c-b2e627f3d9b2
required: true
schema:
type: string
'/api/v1/contact-verification/download/{contact_list_uuid}':
get:
summary: 'Download Contact List'
operationId: downloadContactList
description: 'Allows the user to download a completed contact list.'
parameters: []
responses:
200:
description: success
content:
text/plain:
schema:
type: string
example: "{\n // Streamed response for file download\n}"
tags:
- 'Contact Verification'
parameters:
-
in: path
name: contact_list_uuid
description: 'The UUID of the contact list.'
example: d1fa3d5f-9325-32a0-b236-4d0ad98bafb9
required: true
schema:
type: string
/api/v1/blacklist-checks/domains:
get:
summary: 'List Domain Blacklists'
operationId: listDomainBlacklists
description: 'Retrieves a collection of blacklist checks for domains associated with the authenticated user.'
parameters: []
responses:
200:
description: success
content:
text/plain:
schema:
type: string
example: "{\n \"data\": [\n {\n \"domain\": \"example.com\",\n \"ip\": \"192.168.1.1\",\n \"status\": \"Failed\",\n \"blacklists_count\": 2,\n \"type\": \"Domain\",\n },\n {\n \"domain\": \"another-example.com\",\n \"ip\": \"192.168.1.2\",\n \"status\": \"Completed\",\n \"blacklists_count\": 2,\n \"type\": \"Domain\",\n }\n ]\n}"
tags:
- 'Blacklist Checks'
/api/v1/blacklist-checks/email-accounts:
get:
summary: 'List Email Account Blacklists'
operationId: listEmailAccountBlacklists
description: 'Retrieves a collection of blacklist checks for email accounts associated with the authenticated user.'
parameters: []
responses:
200:
description: success
content:
text/plain:
schema:
type: string
example: "{\n \"data\": [\n {\n \"domain\": \"example.com\",\n \"ip\": \"192.168.1.1\",\n \"status\": \"Failed\",\n \"blacklists_count\": 2,\n \"type\": \"Email account\",\n },\n {\n \"domain\": \"another-example.com\",\n \"ip\": \"192.168.1.2\",\n \"status\": \"Completed\",\n \"blacklists_count\": 2,\n \"type\": \"Email account\",\n }\n ]\n}"
tags:
- 'Blacklist Checks'
/api/v1/blacklist-checks/ad-hoc:
post:
summary: 'Create Ad-Hoc Blacklist Check'
operationId: createAdHocBlacklistCheck
description: 'Creates a new ad-hoc blacklist check for the authenticated user.'
parameters: []
responses:
200:
description: success
content:
text/plain:
schema:
type: string
example: "{\n \"data\": {\n \"domain\": \"example.com\",\n \"ip\": \"192.168.1.1\",\n \"status\": \"Completed\",\n \"blacklists_count\": 1,\n \"type\": \"Domain\",\n \"blacklists\": [\"b.barracudacentral.org\"]\n }\n},"
tags:
- 'Blacklist Checks'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
domain_or_ip:
type: string
description: 'The domain or IPv4 IP address to check.'
example: example.com
nullable: false
required:
- domain_or_ip
'/api/v1/blacklist-checks/{id}':
get:
summary: 'Show Blacklist Check Details'
operationId: showBlacklistCheckDetails
description: 'Retrieves details of a specific blacklist check.'
parameters: []
responses:
200:
description: success
content:
text/plain:
schema:
type: string
example: "{\n \"data\": {\n \"domain\": \"example.com\",\n \"ip\": \"192.168.1.1\",\n \"status\": \"Failed\",\n \"blacklists_count\": 2,\n \"type\": \"Domain\",\n }\n},"
tags:
- 'Blacklist Checks'
parameters:
-
in: path
name: id
description: 'The UUID of the blacklist check'
example: in
required: true
schema:
type: string
/api/v1/dmarc-reports:
get:
summary: 'List DMARC Report Domains'
operationId: listDMARCReportDomains
description: 'Retrieves a collection of domains that have DMARC reports associated with the authenticated workspace.'
parameters: []
responses:
200:
description: success
content:
application/json:
schema:
type: object
example:
data:
-
domain: example.com
last_report_processed: never
dmarc_being_monitored: Monitored
spf: Valid
dkim: Valid
dmarc: Invalid
-
domain: second-example.com
last_report_processed: never
dmarc_being_monitored: Monitored
spf: Valid
dkim: 'Selectors Missing'
dmarc: Invalid
properties:
data:
type: array
example:
-
domain: example.com
last_report_processed: never
dmarc_being_monitored: Monitored
spf: Valid
dkim: Valid
dmarc: Invalid
-
domain: second-example.com
last_report_processed: never
dmarc_being_monitored: Monitored
spf: Valid
dkim: 'Selectors Missing'
dmarc: Invalid
items:
type: object
properties:
domain:
type: string
example: example.com
last_report_processed:
type: string
example: never
dmarc_being_monitored:
type: string
example: Monitored
spf:
type: string
example: Valid
dkim:
type: string
example: Valid
dmarc:
type: string
example: Invalid
tags:
- 'DMARC Reports'
'/api/v1/dmarc-reports/domains/{domain_uuid}/insights':
get:
summary: 'Get DMARC Report Statistics'
operationId: getDMARCReportStatistics
description: 'Retrieves DMARC report statistics for a specific domain between two dates.'
parameters: []
responses:
200:
description: success
content:
text/plain:
schema:
type: string
example: "{\n \"data\": {\n \"email_volume\":5,\n \"email_sources_count\": 3,\n \"dmarc_pass_count\":4,\n \"spf_aligned_count\": 3,\n \"dkim_aligned_count\": 2,\n }\n}"
tags:
- 'DMARC Reports'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
start_date:
type: string
description: 'The start date for the report in YYYY-MM-DD format.'
example: '2024-06-01'
nullable: false
end_date:
type: string
description: 'The end date for the report in YYYY-MM-DD format.'
example: '2024-06-31'
nullable: false
required:
- start_date
- end_date
parameters:
-
in: path
name: domain_uuid
description: 'The domain UUID'
example: 90cd8885-6af5-3cf7-8489-3ccccbc25e4f
required: true
schema:
type: string
'/api/v1/dmarc-reports/domains/{domain_uuid}/dmarc-sources':
get:
summary: 'Get DMARC Report Sources'
operationId: getDMARCReportSources
description: 'Retrieves DMARC report sources for a specific domain between two dates.'
parameters: []
responses:
200:
description: success
content:
text/plain:
schema:
type: string
example: "{\n \"data\": [\n {\n \"source_ip\" => \"198.51.100.0\",\n \"sent_to\" => \"john@doe.com\",\n \"email_volume\" => 5,\n \"dmarc_pass\" => 4,\n \"dmarc_pass_percentage\" => 90,\n \"spf_aligned\" => 5,\n \"spf_aligned_percentage\" => 100,\n \"dkim_aligned\" => 5,\n \"dkim_aligned_percentage\" => 100,\n },\n {\n \"source_ip\" => \"198.51.100.1\",\n \"sent_to\" => \"jane@doe.com\",\n \"email_volume\" => 4,\n \"dmarc_pass\" => 4,\n \"dmarc_pass_percentage\" => 100,\n \"spf_aligned\" => 4,\n \"spf_aligned_percentage\" => 100,\n \"dkim_aligned\" => 4,\n \"dkim_aligned_percentage\" => 100,\n }\n ]\n}"
tags:
- 'DMARC Reports'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
start_date:
type: string
description: 'The start date for the report in YYYY-MM-DD format.'
example: '2024-06-01'
nullable: false
end_date:
type: string
description: 'The end date for the report in YYYY-MM-DD format.'
example: '2024-06-31'
nullable: false
required:
- start_date
- end_date
parameters:
-
in: path
name: domain_uuid
description: 'The domain UUID'
example: c618b5bf-521c-3a90-aaca-210fabd909e8
required: true
schema:
type: string
'/api/v1/dmarc-reports/domains/{domain_uuid}/dmarc-failures':
get:
summary: 'Get DMARC Report Failures'
operationId: getDMARCReportFailures
description: 'Retrieves DMARC report failures for a specific domain between two dates.'
parameters: []
responses:
200:
description: success
content:
text/plain:
schema:
type: string
example: "{\n \"data\": [\n {\n \"source_ip\" => \"198.51.100.0\",\n \"sent_to\" => \"john@doe.com\",\n \"email_volume\" => 5,\n \"spf_pass\" => \"Pass\",\n \"spf_aligned\" => \"Aligned\",\n \"dkim_pass\" => \"Pass\",\n \"dkim_aligned\" => \"Aligned\",\n \"from\" => \"Not Provided\",\n \"to\" => \"Not Provided\",\n },\n {\n \"source_ip\" => \"198.51.100.1\",\n \"sent_to\" => \"jane@doe.com\",\n \"email_volume\" => 5,\n \"spf_pass\" => \"Fail\",\n \"spf_aligned\" => \"Not aligned\",\n \"dkim_pass\" => \"Fail\",\n \"dkim_aligned\" => \"Not Aligned\",\n \"from\" => \"Not Provided\",\n \"to\" => \"Not Provided\",\n }\n ]\n}"
tags:
- 'DMARC Reports'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
start_date:
type: string
description: 'The start date for the report in YYYY-MM-DD format.'
example: '2024-06-01'
nullable: false
end_date:
type: string
description: 'The end date for the report in YYYY-MM-DD format.'
example: '2024-06-31'
nullable: false
required:
- start_date
- end_date
parameters:
-
in: path
name: domain_uuid
description: 'The domain UUID'
example: c0151261-93af-39a4-8bfe-a4c078cbb537
required: true
schema:
type: string
/api/v1/email-authentication/spf-lookup:
get:
summary: 'SPF Lookup'
operationId: sPFLookup
description: 'Retrieves and validates the SPF records for a given domain.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
oneOf:
-
description: success
type: object
example:
data:
success: true
results:
valid: true
errors: []
properties:
data:
type: object
properties:
success:
type: boolean
example: true
results:
type: object
properties:
valid:
type: boolean
example: true
errors:
type: array
example: []
-
description: failure
type: object
example:
data:
success: false
errors:
- 'Your domain is invalid or does not contain an SPF record.'
properties:
data:
type: object
properties:
success:
type: boolean
example: false
errors:
type: array
example:
- 'Your domain is invalid or does not contain an SPF record.'
items:
type: string
tags:
- 'Email Authentication'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
domain:
type: string
description: 'The domain to lookup the SPF records for.'
example: example.com
nullable: false
required:
- domain
/api/v1/email-authentication/spf-generator-wizard:
post:
summary: 'SPF Generator Wizard'
operationId: sPFGeneratorWizard
description: 'Generates an SPF record based on selected providers.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
oneOf:
-
description: success
type: object
example:
data:
success: true
results: 'v=spf1 include:_spf.google.com include:spf.protection.outlook.com ~all'
properties:
data:
type: object
properties:
success:
type: boolean
example: true
results:
type: string
example: 'v=spf1 include:_spf.google.com include:spf.protection.outlook.com ~all'
-
description: failure
type: object
example:
data:
success: false
properties:
data:
type: object
properties:
success:
type: boolean
example: false
tags:
- 'Email Authentication'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
providers:
type: json
description: 'List of provider names to include in the SPF record.'
example: '["google", "microsoft"]'
nullable: false
required:
- providers
/api/v1/email-authentication/spf-raw-generator:
post:
summary: 'SPF Raw Generator'
operationId: sPFRawGenerator
description: 'Generates a raw SPF record based on provided values.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
oneOf:
-
description: success
type: object
example:
data:
success: true
results: 'v=spf1 ip4:192.0.2.0/24 ~all'
properties:
data:
type: object
properties:
success:
type: boolean
example: true
results:
type: string
example: 'v=spf1 ip4:192.0.2.0/24 ~all'
-
description: redirect
type: object
example:
data:
success: true
results: 'v=spf1 redirect=spf.example.com'
properties:
data:
type: object
properties:
success:
type: boolean
example: true
results:
type: string
example: 'v=spf1 redirect=spf.example.com'
-
description: failure
type: object
example:
data:
success: false
properties:
data:
type: object
properties:
success:
type: boolean
example: false
tags:
- 'Email Authentication'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
redirect:
type: boolean
description: 'Whether to use redirect in the SPF record.'
example: false
nullable: false
redirect_url:
type: string
description: 'The redirect URL for the SPF record.'
example: spf.example.com
nullable: false
failure_policy:
type: string
description: 'The SPF failure policy to use.'
example: ~all
nullable: false
tag:
type: string
description: 'The SPF tag to use.'
example: ip4
nullable: false
value:
type: string
description: 'The value for the SPF tag.'
example: 192.0.2.0/24
nullable: false
/api/v1/email-authentication/dkim-lookup:
get:
summary: 'DKIM Lookup'
operationId: dKIMLookup
description: 'Retrieves and validates the DKIM records for a given domain and selector.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
oneOf:
-
description: success
type: object
example:
data:
success: true
results:
valid: true
errors: []
properties:
data:
type: object
properties:
success:
type: boolean
example: true
results:
type: object
properties:
valid:
type: boolean
example: true
errors:
type: array
example: []
-
description: failure
type: object
example:
data:
success: false
errors:
- 'Your domain/selector is invalid or does not contain a DKIM record.'
properties:
data:
type: object
properties:
success:
type: boolean
example: false
errors:
type: array
example:
- 'Your domain/selector is invalid or does not contain a DKIM record.'
items:
type: string
tags:
- 'Email Authentication'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
domain:
type: string
description: 'The domain to lookup the DKIM records for.'
example: example.com
nullable: false
selector:
type: string
description: 'The selector for the DKIM records.'
example: default
nullable: false
required:
- domain
- selector
/api/v1/email-authentication/dkim-raw-generator:
post:
summary: 'DKIM Raw Generator'
operationId: dKIMRawGenerator
description: 'Generates a raw DKIM record.'
parameters: []
responses:
200:
description: success
content:
application/json:
schema:
type: object
example:
data:
success: true
results: 'k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAn7yQJ6tc...'
properties:
data:
type: object
properties:
success:
type: boolean
example: true
results:
type: string
example: 'k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAn7yQJ6tc...'
tags:
- 'Email Authentication'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
keyLength:
type: integer
description: 'The key length for the DKIM record.'
example: 2048
nullable: false
required:
- keyLength
/api/v1/email-authentication/dmarc-lookup:
get:
summary: 'DMARC Lookup'
operationId: dMARCLookup
description: 'Retrieves and validates the DMARC records for a given domain.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
oneOf:
-
description: success
type: object
example:
data:
success: true
results:
valid: true
errors: []
properties:
data:
type: object
properties:
success:
type: boolean
example: true
results:
type: object
properties:
valid:
type: boolean
example: true
errors:
type: array
example: []
-
description: failure
type: object
example:
data:
success: false
errors:
- 'Your domain is invalid or does not contain a DMARC record.'
properties:
data:
type: object
properties:
success:
type: boolean
example: false
errors:
type: array
example:
- 'Your domain is invalid or does not contain a DMARC record.'
items:
type: string
tags:
- 'Email Authentication'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
domain:
type: string
description: 'The domain to lookup the DMARC records for.'
example: example.com
nullable: false
required:
- domain
/api/v1/email-authentication/dmarc-connected-domain:
post:
summary: 'Generate DMARC for Connected Domain'
operationId: generateDMARCForConnectedDomain
description: 'Generates a DMARC record for a connected domain with a random DMARC inbox name.'
parameters: []
responses:
200:
description: success
content:
application/json:
schema:
type: object
example:
data:
success: true
results: 'v=DMARC1; p=reject; rua=mailto:dmarc.123e4567-e89b-12d3-a456-426614174000@example.com;'
properties:
data:
type: object
properties:
success:
type: boolean
example: true
results:
type: string
example: 'v=DMARC1; p=reject; rua=mailto:dmarc.123e4567-e89b-12d3-a456-426614174000@example.com;'
tags:
- 'Email Authentication'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
domain_uuid:
type: string
description: 'The UUID of the connected domain.'
example: 123e4567-e89b-12d3-a456-426614174000
nullable: false
policy:
type: string
description: 'The DMARC policy to use.'
example: reject
nullable: false
required:
- domain_uuid
- policy
/api/v1/email-authentication/dmarc-another-domain:
post:
summary: 'Generate DMARC for Another Domain'
operationId: generateDMARCForAnotherDomain
description: 'Generates a DMARC record for another domain with a specified reporting address.'
parameters: []
responses:
200:
description: success
content:
application/json:
schema:
type: object
example:
data:
success: true
results: 'v=DMARC1; p=quarantine; rua=mailto:dmarc-reports@example.com;'
properties:
data:
type: object
properties:
success:
type: boolean
example: true
results:
type: string
example: 'v=DMARC1; p=quarantine; rua=mailto:dmarc-reports@example.com;'
tags:
- 'Email Authentication'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
domain:
type: string
description: 'The domain to lookup the DMARC records for.'
example: example.com
nullable: false
policy:
type: string
description: 'The DMARC policy to use.'
example: quarantine
nullable: false
rua:
type: string
description: 'The reporting address for DMARC reports.'
example: dmarc-reports@example.com
nullable: false
required:
- domain
- policy
- rua
/api/v1/content-spam-check:
post:
summary: 'Check Content for Spam'
operationId: checkContentForSpam
description: 'Submits content to check for spam'
parameters: []
responses:
200:
description: success
content:
text/plain:
schema:
type: string
example: "{\n \"data\":\n \"message\": {\n \"is_spam\": true,\n \"spam_score\": 5.6,\n \"number_of_spam_words\": 3,\n \"spam_words\": [\"spam\", \"offer\", \"free\"],\n \"comma_separated_spam_words\": \"spammy, is, message\"\n }\n }\n}"
tags:
- 'Content Spam Check'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
content:
type: string
description: 'The content to check for spam.'
example: '"This is a spammy message!"'
nullable: false
required:
- content
/api/v1/hosted-domain-redirects/ip:
get:
summary: 'IP of Hosted Domain Redirect'
operationId: iPOfHostedDomainRedirect
description: "Retrieves the ip of the current workspace's hosted domain redirect"
parameters: []
responses:
200:
description: success
content:
application/json:
schema:
type: object
example:
data:
ip_address: 192.168.1.1
properties:
data:
type: object
properties:
ip_address:
type: string
example: 192.168.1.1
tags:
- 'Hosted Domain Redirect'
/api/v1/hosted-domain-redirects:
get:
summary: 'List Hosted Domain Redirects'
operationId: listHostedDomainRedirects
description: 'Retrieves a list of hosted domain redirects associated with the authenticated user workspace.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
domain: example.com
redirect_domain: redirect.example.com
cluster_ip_address: 192.168.1.1
status: active
-
domain: second-example.com
redirect_domain: redirect.second-example.com
cluster_ip_address: 192.168.1.2
status: active
properties:
data:
type: array
example:
-
domain: example.com
redirect_domain: redirect.example.com
cluster_ip_address: 192.168.1.1
status: active
-
domain: second-example.com
redirect_domain: redirect.second-example.com
cluster_ip_address: 192.168.1.2
status: active
items:
type: object
properties:
domain:
type: string
example: example.com
redirect_domain:
type: string
example: redirect.example.com
cluster_ip_address:
type: string
example: 192.168.1.1
status:
type: string
example: active
tags:
- 'Hosted Domain Redirect'
post:
summary: 'Create Hosted Domain Redirect'
operationId: createHostedDomainRedirect
description: 'Creates a new hosted domain redirect for the authenticated user workspace.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
oneOf:
-
description: success
type: object
example:
data:
domain: example.com
redirect_domain: redirect.example.com
cluster_ip_address: 192.168.1.1
status: active
properties:
data:
type: object
properties:
domain:
type: string
example: example.com
redirect_domain:
type: string
example: redirect.example.com
cluster_ip_address:
type: string
example: 192.168.1.1
status:
type: string
example: active
-
description: dns_not_resolved
type: object
example:
data:
success: false
message: 'Did not resolve'
properties:
data:
type: object
properties:
success:
type: boolean
example: false
message:
type: string
example: 'Did not resolve'
-
description: apx_hit
type: object
example:
data:
success: false
message: 'Your domain is not pointing to one of our IP addresses. If you just pointed your domain, it could take a few minutes to a few hours. You can try again in a few minutes.'
properties:
data:
type: object
properties:
success:
type: boolean
example: false
message:
type: string
example: 'Your domain is not pointing to one of our IP addresses. If you just pointed your domain, it could take a few minutes to a few hours. You can try again in a few minutes.'
-
description: ssl
type: object
example:
data:
success: false
message: 'Your domain has no SSL. If you just pointed your domain, it could take a few minutes to a few hours. You can try again in a few minutes.'
properties:
data:
type: object
properties:
success:
type: boolean
example: false
message:
type: string
example: 'Your domain has no SSL. If you just pointed your domain, it could take a few minutes to a few hours. You can try again in a few minutes.'
400:
description: limit_reached
content:
application/json:
schema:
type: object
example:
data:
message: 'You have reached your hosted domain redirect limit'
properties:
data:
type: object
properties:
message:
type: string
example: 'You have reached your hosted domain redirect limit'
tags:
- 'Hosted Domain Redirect'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
domain:
type: string
description: 'The domain to redirect.'
example: '"example.com"'
nullable: false
redirect:
type: string
description: 'The URL to redirect to.'
example: '"https://example.com/redirect"'
nullable: false
required:
- domain
- redirect
'/api/v1/hosted-domain-redirects/{id}':
get:
summary: 'Show Hosted Domain Redirect'
operationId: showHostedDomainRedirect
description: 'Retrieves details of a specific hosted domain redirect.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
domain: example.com
redirect_domain: redirect.example.com
cluster_ip_address: 192.168.1.1
status: active
properties:
data:
type: object
properties:
domain:
type: string
example: example.com
redirect_domain:
type: string
example: redirect.example.com
cluster_ip_address:
type: string
example: 192.168.1.1
status:
type: string
example: active
tags:
- 'Hosted Domain Redirect'
parameters:
-
in: path
name: id
description: 'The UUID of the hosted domain redirect.'
example: enim
required: true
schema:
type: string
'/api/v1/hosted-domain-redirects/{hosted_domain_redirect_uuid}':
delete:
summary: 'Delete Hosted Domain Redirect'
operationId: deleteHostedDomainRedirect
description: 'Deletes a specific hosted domain redirect.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
success: true
message: 'Successfully deleted example.com hosted domain redirect'
properties:
data:
type: object
properties:
success:
type: boolean
example: true
message:
type: string
example: 'Successfully deleted example.com hosted domain redirect'
tags:
- 'Hosted Domain Redirect'
parameters:
-
in: path
name: hosted_domain_redirect_uuid
description: 'The UUID of the hosted domain redirect.'
example: 9349fd2a-bae3-3225-84ef-3b51289d8574
required: true
schema:
type: string
/api/v1/domain-host-lookup:
post:
summary: 'Domain Host Lookup'
operationId: domainHostLookup
description: 'This endpoint allows you to lookup the domain host for a given domain.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
oneOf:
-
description: success
type: object
example:
data:
domain: emailguard.io
domain_host: Google
properties:
data:
type: object
properties:
domain:
type: string
example: emailguard.io
domain_host:
type: string
example: Google
-
description: not_found
type: object
example:
error: 'This domain is not configured to receive emails'
properties:
error:
type: string
example: 'This domain is not configured to receive emails'
tags:
- 'Domain Host Lookup'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
domain:
type: string
description: 'The domain to lookup.'
example: emailguard.io
nullable: false
required:
- domain
/api/v1/domain-masking-proxies/ip:
get:
summary: 'IP of Domain Masking Proxy'
operationId: iPOfDomainMaskingProxy
description: "Retrieves the ip of the current workspace's domain masking proxy"
parameters: []
responses:
200:
description: success
content:
application/json:
schema:
type: object
example:
data:
ip_address: 192.168.1.1
properties:
data:
type: object
properties:
ip_address:
type: string
example: 192.168.1.1
tags:
- 'Domain Masking Proxy'
/api/v1/domain-masking-proxies:
get:
summary: 'List Domain Masking Proxies'
operationId: listDomainMaskingProxies
description: 'Retrieves a list of hosted domain redirects associated with the authenticated user workspace.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
masking_domain: example.com
primary_domain: redirect.example.com
cluster_ip_address: 192.168.1.1
status: active
-
masking_domain: second-example.com
primary_domain: redirect.second-example.com
cluster_ip_address: 192.168.1.2
status: active
properties:
data:
type: array
example:
-
masking_domain: example.com
primary_domain: redirect.example.com
cluster_ip_address: 192.168.1.1
status: active
-
masking_domain: second-example.com
primary_domain: redirect.second-example.com
cluster_ip_address: 192.168.1.2
status: active
items:
type: object
properties:
masking_domain:
type: string
example: example.com
primary_domain:
type: string
example: redirect.example.com
cluster_ip_address:
type: string
example: 192.168.1.1
status:
type: string
example: active
tags:
- 'Domain Masking Proxy'
post:
summary: 'Create Domain Masking Proxy'
operationId: createDomainMaskingProxy
description: 'Create a new domain masking proxy for the authenticated user workspace.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
oneOf:
-
description: success
type: object
example:
data:
masking_domain: tryexample.com
primary_domain: example.com
cluster_ip_address: 192.168.1.1
status: active
properties:
data:
type: object
properties:
masking_domain:
type: string
example: tryexample.com
primary_domain:
type: string
example: example.com
cluster_ip_address:
type: string
example: 192.168.1.1
status:
type: string
example: active
-
description: dns_not_resolved
type: object
example:
data:
success: false
message: 'Did not resolve'
properties:
data:
type: object
properties:
success:
type: boolean
example: false
message:
type: string
example: 'Did not resolve'
-
description: apx_hit
type: object
example:
data:
success: false
message: 'Your domain is not pointing to one of our IP addresses. If you just pointed your domain, it could take a few minutes to a few hours. You can try again in a few minutes.'
properties:
data:
type: object
properties:
success:
type: boolean
example: false
message:
type: string
example: 'Your domain is not pointing to one of our IP addresses. If you just pointed your domain, it could take a few minutes to a few hours. You can try again in a few minutes.'
-
description: ssl
type: object
example:
data:
success: false
message: 'Your domain has no SSL. If you just pointed your domain, it could take a few minutes to a few hours. You can try again in a few minutes.'
properties:
data:
type: object
properties:
success:
type: boolean
example: false
message:
type: string
example: 'Your domain has no SSL. If you just pointed your domain, it could take a few minutes to a few hours. You can try again in a few minutes.'
400:
description: limit_reached
content:
application/json:
schema:
type: object
example:
data:
message: 'You have reached your domain masking proxy limit'
properties:
data:
type: object
properties:
message:
type: string
example: 'You have reached your domain masking proxy limit'
tags:
- 'Domain Masking Proxy'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
masking_domain:
type: string
description: 'The secondary domain you want to act as the mask.'
example: '"tryexample.com"'
nullable: false
primary_domain:
type: string
description: 'The primary domain you want to hide.'
example: '"example.com"'
nullable: false
required:
- masking_domain
- primary_domain
'/api/v1/domain-masking-proxies/{hosted_domain_redirect_uuid}':
get:
summary: 'Show Domain Masking Proxy'
operationId: showDomainMaskingProxy
description: 'Retrieves details of a specific domain masking proxy'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
masking_domain: tryexample.com
primary_domain: example.com
cluster_ip_address: 192.168.1.1
status: active
properties:
data:
type: object
properties:
masking_domain:
type: string
example: tryexample.com
primary_domain:
type: string
example: example.com
cluster_ip_address:
type: string
example: 192.168.1.1
status:
type: string
example: active
tags:
- 'Domain Masking Proxy'
delete:
summary: 'Delete Domain Masking Proxy'
operationId: deleteDomainMaskingProxy
description: 'Deletes a specific domain masking proxy'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
success: true
message: 'Successfully deleted example.com domain masking proxy'
properties:
data:
type: object
properties:
success:
type: boolean
example: true
message:
type: string
example: 'Successfully deleted example.com domain masking proxy'
tags:
- 'Domain Masking Proxy'
parameters:
-
in: path
name: hosted_domain_redirect_uuid
description: 'The uuid of the domain masking proxy'
example: aa800f47-7575-3ada-bb85-bfce0856ff3c
required: true
schema:
type: string
/api/v1/email-host-lookup:
post:
summary: 'Email Host Lookup'
operationId: emailHostLookup
description: 'This endpoint allows you to lookup the email service provider for a given email address.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
oneOf:
-
description: success
type: object
example:
data:
email: user@example.com
email_host: Gmail
properties:
data:
type: object
properties:
email:
type: string
example: user@example.com
email_host:
type: string
example: Gmail
-
description: not_found
type: object
example:
error: 'This domain is not configured to receive emails'
properties:
error:
type: string
example: 'This domain is not configured to receive emails'
tags:
- 'Email Host Lookup'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
email:
type: string
description: 'The email address to lookup.'
example: user@example.com
nullable: false
required:
- email
/api/v1/email-accounts/reputation-builder-accounts/random:
get:
summary: ''
operationId: getApiV1EmailAccountsReputationBuilderAccountsRandom
description: ''
parameters: []
responses:
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- Endpoints
security: []
/api/v1/inbox-placement-tests:
get:
summary: 'List Inbox Placement Tests'
operationId: listInboxPlacementTests
description: 'Retrieves a collection of inbox placement tests associated with the authenticated user.'
parameters: []
responses:
200:
description: success
content:
text/plain:
schema:
type: string
example: "{\n \"data\": [\n {\n \"uuid\": \"9c9eb547-851d-43a3-8721-1dc0fcedab07\",\n \"name\": \"sample test\",\n \"status\": \"created\",\n \"google_workspace_emails_count\": 3,\n \"microsoft_professional_emails_count\": 0,\n \"created_at\": \"2024-07-27T04:30:01.000000Z\",\n \"updated_at\": \"2024-07-27T04:30:01.000000Z\",\n \"completed_at\": null,\n \"overall_score\": 50,\n \"filter_phrase\": \"egipt_4GgCyN6wF3MuhYlRVqvz31slKgRagf\",\n \"comma_separated_test_email_addresses\": \"jake@emailguardalpha.com,cody@emailguardalpha.com,eddie@emailguardalpha.com\",\n \"inbox_placement_test_emails\": [\n {\n \"uuid\": \"9c9eb547-8936-484b-975c-df946688ac78\",\n \"email\": \"jake@emailguardalpha.com\",\n \"provider\": \"Google\",\n \"sender_email_account_address\": null,\n \"status\": \"waiting_for_email\",\n \"folder\": null,\n \"created_at\": \"2024-07-27T04:30:01.000000Z\",\n \"updated_at\": \"2024-07-27T04:30:01.000000Z\"\n },\n {\n \"uuid\": \"9c9eb547-8b4e-4fd2-8888-90baff4557be\",\n \"email\": \"cody@emailguardalpha.com\",\n \"provider\": \"Google\",\n \"sender_email_account_address\": null,\n \"status\": \"waiting_for_email\",\n \"folder\": null,\n \"created_at\": \"2024-07-27T04:30:01.000000Z\",\n \"updated_at\": \"2024-07-27T04:30:01.000000Z\"\n },\n ]\n },\n ]\n}"
tags:
- 'Inbox Placement Tests'
post:
summary: 'Create Inbox Placement Test'
operationId: createInboxPlacementTest
description: 'Create a new inbox placement test'
parameters: []
responses:
200:
description: success
content:
application/json:
schema:
type: object
example:
data:
uuid: 9c9eb83f-51dd-4a7e-a494-e63cc4e5f0a5
name: 'test name'
status: created
google_workspace_emails_count: 3
microsoft_professional_emails_count: 0
created_at: '2024-07-27T04:38:19.000000Z'
updated_at: '2024-07-27T04:38:19.000000Z'
completed_at: null
overall_score: null
filter_phrase: egipt_XWPOUJwYhKrvElDeqEOeFl4k5r1r2B
comma_separated_test_email_addresses: 'cody@emailguardalpha.com,eddie@emailguardalpha.com,jake@emailguardalpha.com'
inbox_placement_test_emails:
-
uuid: 9c9eb83f-5561-4602-bc12-07848b3c7a17
email: cody@emailguardalpha.com
provider: Google
sender_email_account_address: null
status: waiting_for_email
folder: null
created_at: '2024-07-27T04:38:19.000000Z'
updated_at: '2024-07-27T04:38:19.000000Z'
-
uuid: 9c9eb83f-57e3-42f3-b6e5-fff7069a3ef6
email: eddie@emailguardalpha.com
provider: Google
sender_email_account_address: null
status: waiting_for_email
folder: null
created_at: '2024-07-27T04:38:19.000000Z'
updated_at: '2024-07-27T04:38:19.000000Z'
-
uuid: 9c9eb83f-5a21-46bd-9961-d0ac1c3003b5
email: jake@emailguardalpha.com
provider: Google
sender_email_account_address: null
status: waiting_for_email
folder: null
created_at: '2024-07-27T04:38:19.000000Z'
updated_at: '2024-07-27T04:38:19.000000Z'
properties:
data:
type: object
properties:
uuid:
type: string
example: 9c9eb83f-51dd-4a7e-a494-e63cc4e5f0a5
name:
type: string
example: 'test name'
status:
type: string
example: created
google_workspace_emails_count:
type: integer
example: 3
microsoft_professional_emails_count:
type: integer
example: 0
created_at:
type: string
example: '2024-07-27T04:38:19.000000Z'
updated_at:
type: string
example: '2024-07-27T04:38:19.000000Z'
completed_at:
type: string
example: null
overall_score:
type: string
example: null
filter_phrase:
type: string
example: egipt_XWPOUJwYhKrvElDeqEOeFl4k5r1r2B
comma_separated_test_email_addresses:
type: string
example: 'cody@emailguardalpha.com,eddie@emailguardalpha.com,jake@emailguardalpha.com'
inbox_placement_test_emails:
type: array
example:
-
uuid: 9c9eb83f-5561-4602-bc12-07848b3c7a17
email: cody@emailguardalpha.com
provider: Google
sender_email_account_address: null
status: waiting_for_email
folder: null
created_at: '2024-07-27T04:38:19.000000Z'
updated_at: '2024-07-27T04:38:19.000000Z'
-
uuid: 9c9eb83f-57e3-42f3-b6e5-fff7069a3ef6
email: eddie@emailguardalpha.com
provider: Google
sender_email_account_address: null
status: waiting_for_email
folder: null
created_at: '2024-07-27T04:38:19.000000Z'
updated_at: '2024-07-27T04:38:19.000000Z'
-
uuid: 9c9eb83f-5a21-46bd-9961-d0ac1c3003b5
email: jake@emailguardalpha.com
provider: Google
sender_email_account_address: null
status: waiting_for_email
folder: null
created_at: '2024-07-27T04:38:19.000000Z'
updated_at: '2024-07-27T04:38:19.000000Z'
items:
type: object
properties:
uuid:
type: string
example: 9c9eb83f-5561-4602-bc12-07848b3c7a17
email:
type: string
example: cody@emailguardalpha.com
provider:
type: string
example: Google
sender_email_account_address:
type: string
example: null
status:
type: string
example: waiting_for_email
folder:
type: string
example: null
created_at:
type: string
example: '2024-07-27T04:38:19.000000Z'
updated_at:
type: string
example: '2024-07-27T04:38:19.000000Z'
tags:
- 'Inbox Placement Tests'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: ''
example: 'test name'
nullable: false
required:
- name
'/api/v1/inbox-placement-tests/{id}':
get:
summary: 'Show Inbox Placement Test'
operationId: showInboxPlacementTest
description: 'Shows an inbox placement test with all its details'
parameters: []
responses:
200:
description: success
content:
application/json:
schema:
type: object
example:
data:
uuid: 9c9eb83f-51dd-4a7e-a494-e63cc4e5f0a5
name: 'test name'
status: created
google_workspace_emails_count: 3
microsoft_professional_emails_count: 0
created_at: '2024-07-27T04:38:19.000000Z'
updated_at: '2024-07-27T04:38:19.000000Z'
completed_at: null
overall_score: 50
filter_phrase: egipt_XWPOUJwYhKrvElDeqEOeFl4k5r1r2B
comma_separated_test_email_addresses: 'cody@emailguardalpha.com,eddie@emailguardalpha.com,jake@emailguardalpha.com'
inbox_placement_test_emails:
-
uuid: 9c9eb83f-5561-4602-bc12-07848b3c7a17
email: cody@emailguardalpha.com
provider: Google
sender_email_account_address: null
status: waiting_for_email
folder: null
created_at: '2024-07-27T04:38:19.000000Z'
updated_at: '2024-07-27T04:38:19.000000Z'
-
uuid: 9c9eb83f-57e3-42f3-b6e5-fff7069a3ef6
email: eddie@emailguardalpha.com
provider: Google
sender_email_account_address: null
status: waiting_for_email
folder: null
created_at: '2024-07-27T04:38:19.000000Z'
updated_at: '2024-07-27T04:38:19.000000Z'
-
uuid: 9c9eb83f-5a21-46bd-9961-d0ac1c3003b5
email: jake@emailguardalpha.com
provider: Google
sender_email_account_address: null
status: waiting_for_email
folder: null
created_at: '2024-07-27T04:38:19.000000Z'
updated_at: '2024-07-27T04:38:19.000000Z'
properties:
data:
type: object
properties:
uuid:
type: string
example: 9c9eb83f-51dd-4a7e-a494-e63cc4e5f0a5
name:
type: string
example: 'test name'
status:
type: string
example: created
google_workspace_emails_count:
type: integer
example: 3
microsoft_professional_emails_count:
type: integer
example: 0
created_at:
type: string
example: '2024-07-27T04:38:19.000000Z'
updated_at:
type: string
example: '2024-07-27T04:38:19.000000Z'
completed_at:
type: string
example: null
overall_score:
type: integer
example: 50
filter_phrase:
type: string
example: egipt_XWPOUJwYhKrvElDeqEOeFl4k5r1r2B
comma_separated_test_email_addresses:
type: string
example: 'cody@emailguardalpha.com,eddie@emailguardalpha.com,jake@emailguardalpha.com'
inbox_placement_test_emails:
type: array
example:
-
uuid: 9c9eb83f-5561-4602-bc12-07848b3c7a17
email: cody@emailguardalpha.com
provider: Google
sender_email_account_address: null
status: waiting_for_email
folder: null
created_at: '2024-07-27T04:38:19.000000Z'
updated_at: '2024-07-27T04:38:19.000000Z'
-
uuid: 9c9eb83f-57e3-42f3-b6e5-fff7069a3ef6
email: eddie@emailguardalpha.com
provider: Google
sender_email_account_address: null
status: waiting_for_email
folder: null
created_at: '2024-07-27T04:38:19.000000Z'
updated_at: '2024-07-27T04:38:19.000000Z'
-
uuid: 9c9eb83f-5a21-46bd-9961-d0ac1c3003b5
email: jake@emailguardalpha.com
provider: Google
sender_email_account_address: null
status: waiting_for_email
folder: null
created_at: '2024-07-27T04:38:19.000000Z'
updated_at: '2024-07-27T04:38:19.000000Z'
items:
type: object
properties:
uuid:
type: string
example: 9c9eb83f-5561-4602-bc12-07848b3c7a17
email:
type: string
example: cody@emailguardalpha.com
provider:
type: string
example: Google
sender_email_account_address:
type: string
example: null
status:
type: string
example: waiting_for_email
folder:
type: string
example: null
created_at:
type: string
example: '2024-07-27T04:38:19.000000Z'
updated_at:
type: string
example: '2024-07-27T04:38:19.000000Z'
tags:
- 'Inbox Placement Tests'
parameters:
-
in: path
name: id
description: 'uuid of the inbox placement test'
example: 9c9eb83f-51dd-4a7e-a494-e63cc4e5f0a5
required: true
schema:
type: string
/api/v1/surbl-blacklist-checks/domains:
get:
summary: 'List SURBL Blacklists'
operationId: listSURBLBlacklists
description: 'Retrieves a collection of SURBL blacklist checks for domains associated with the authenticated user.'
parameters: []
responses:
200:
description: success
content:
application/json:
schema:
type: object
example:
data:
-
uuid: 123e4567-e89b-12d3-a456-426614174000
domain: example.com
status: Completed
listed: false
created_at: '2025-03-04'
properties:
data:
type: array
example:
-
uuid: 123e4567-e89b-12d3-a456-426614174000
domain: example.com
status: Completed
listed: false
created_at: '2025-03-04'
items:
type: object
properties:
uuid:
type: string
example: 123e4567-e89b-12d3-a456-426614174000
domain:
type: string
example: example.com
status:
type: string
example: Completed
listed:
type: boolean
example: false
created_at:
type: string
example: '2025-03-04'
tags:
- 'SURBL Blacklist Checks'
'/api/v1/surbl-blacklist-checks/{surblBlacklistCheck_uuid}':
get:
summary: 'Show SURBL Blacklist Check'
operationId: showSURBLBlacklistCheck
description: 'Retrieves a specific SURBL blacklist check by its UUID.'
parameters: []
responses:
200:
description: success
content:
application/json:
schema:
type: object
example:
data:
uuid: 123e4567-e89b-12d3-a456-426614174000
domain: example.com
status: Completed
listed: false
created_at: '2025-03-04'
properties:
data:
type: object
properties:
uuid:
type: string
example: 123e4567-e89b-12d3-a456-426614174000
domain:
type: string
example: example.com
status:
type: string
example: Completed
listed:
type: boolean
example: false
created_at:
type: string
example: '2025-03-04'
tags:
- 'SURBL Blacklist Checks'
parameters:
-
in: path
name: surblBlacklistCheck_uuid
description: ''
example: 1
required: true
schema:
type: integer
/api/v1/surbl-blacklist-checks:
post:
summary: 'Create SURBL Blacklist Check'
operationId: createSURBLBlacklistCheck
description: 'Creates a new ad-hoc SURBL blacklist check for a specified domain.'
parameters: []
responses:
200:
description: success
content:
application/json:
schema:
type: object
example:
data:
uuid: 123e4567-e89b-12d3-a456-426614174000
domain: example.com
status: 'In Progress'
listed: false
created_at: '2025-03-04'
properties:
data:
type: object
properties:
uuid:
type: string
example: 123e4567-e89b-12d3-a456-426614174000
domain:
type: string
example: example.com
status:
type: string
example: 'In Progress'
listed:
type: boolean
example: false
created_at:
type: string
example: '2025-03-04'
tags:
- 'SURBL Blacklist Checks'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
domain:
type: string
description: 'The domain to check against SURBL blacklists.'
example: example.com
nullable: false
required:
- domain
/api/v1/spam-filter-tests:
get:
summary: 'List Spam Filter Tests'
operationId: listSpamFilterTests
description: 'Retrieves a collection of spam filter tests associated with the authenticated workspace.'
parameters: []
responses:
200:
description: success
content:
application/json:
schema:
type: object
example:
data:
-
name: 'Test 1'
status: completed
sent_from: test1@example.com
sending_server_ip: 192.0.2.1
score: 10.0
-
name: 'Test 2'
status: pending
sent_from: test2@example.com
sending_server_ip: 198.51.100.1
score: 8.5
properties:
data:
type: array
example:
-
name: 'Test 1'
status: completed
sent_from: test1@example.com
sending_server_ip: 192.0.2.1
score: 10
-
name: 'Test 2'
status: pending
sent_from: test2@example.com
sending_server_ip: 198.51.100.1
score: 8.5
items:
type: object
properties:
name:
type: string
example: 'Test 1'
status:
type: string
example: completed
sent_from:
type: string
example: test1@example.com
sending_server_ip:
type: string
example: 192.0.2.1
score:
type: number
example: 10.0
tags:
- 'Spam Filter Tests'
post:
summary: 'Create Spam Filter Test'
operationId: createSpamFilterTest
description: 'Creates a new email test for the authenticated workspace.'
parameters: []
responses:
200:
description: success
content:
application/json:
schema:
type: object
example:
data:
name: 'Test 1'
spam_filter_email_address: ha8hnsha+9c0843cb-ce29-49a1-a278-d490a762600d@eguardtest.com
status: pending
sent_from: test1@example.com
sending_server_ip: Unknown
score: 0.0
score_breakdown: null
properties:
data:
type: object
properties:
name:
type: string
example: 'Test 1'
spam_filter_email_address:
type: string
example: ha8hnsha+9c0843cb-ce29-49a1-a278-d490a762600d@eguardtest.com
status:
type: string
example: pending
sent_from:
type: string
example: test1@example.com
sending_server_ip:
type: string
example: Unknown
score:
type: number
example: 0.0
score_breakdown:
type: string
example: null
tags:
- 'Spam Filter Tests'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'The name for the email test.'
example: 'Test 1'
nullable: false
required:
- name
'/api/v1/spam-filter-tests/{email_test_uuid}':
get:
summary: 'Show Spam Filter Test Details'
operationId: showSpamFilterTestDetails
description: 'Retrieves details of a specific spam filter test.'
parameters: []
responses:
200:
description: success
content:
application/json:
schema:
type: object
example:
data:
uuid: 9bfbf296-0de1-40dd-ae46-9988fff073b8
name: 'Test 1'
status: completed
sent_from: test1@example.com
sending_server_ip: 192.0.2.1
score: 10.0
score_breakdown:
ip: 209.85.160.45
size: 2860
user: unknown
score: 3.79
action: 'no action'
subject: 'try again'
symbols:
ASN:
name: ASN
score: 0
options:
- 'asn:15169, ipnet:209.85.128.0/17, country:US'
metric_score: 0
BCC:
name: BCC
score: 0
metric_score: 0
ARC_NA:
name: ARC_NA
score: 0
description: 'ARC signature absent'
metric_score: 0
MX_GOOD:
name: MX_GOOD
score: -0.01
options: []
description: 'Domain has working MX'
metric_score: -0.01
MIME_GOOD:
name: MIME_GOOD
score: -0.1
options:
- multipart/alternative
- text/plain
description: 'Known content-type'
metric_score: -0.1
ARC_SIGNED:
name: ARC_SIGNED
score: 0
options:
- 'testseguard.com:s=dkim:i=1'
metric_score: 0
DKIM_TRACE:
name: DKIM_TRACE
score: 0
options:
- 'emailguard-io.20230601.gappssmtp.com:+'
description: 'DKIM trace symbol'
metric_score: 0
MIME_TRACE:
name: MIME_TRACE
score: 0
options:
- '0:+'
- '1:+'
- '2:~'
metric_score: 0
TO_DN_NONE:
name: TO_DN_NONE
score: 0
description: 'None of the recipients have display names'
metric_score: 0
FROM_HAS_DN:
name: FROM_HAS_DN
score: 0
description: 'From header has a display name'
metric_score: 0
R_SPF_ALLOW:
name: R_SPF_ALLOW
score: 0
options:
- '+ip4:209.85.128.0/17'
description: 'SPF verification allows sending'
metric_score: -0.2
TAGGED_RCPT:
name: TAGGED_RCPT
score: 0
options:
- 9c07cc16-da8d-4e81-84ea-a5af4fcc4840
description: 'SMTP recipients have plus tags'
metric_score: 0
R_DKIM_ALLOW:
name: R_DKIM_ALLOW
score: 0
options:
- 'emailguard-io.20230601.gappssmtp.com:s=20230601'
description: 'DKIM verification succeed'
metric_score: -0.2
MISSING_XM_UA:
name: MISSING_XM_UA
score: 0
description: 'Message has neither X-Mailer nor User-Agent header'
metric_score: 0
RCVD_TLS_LAST:
name: RCVD_TLS_LAST
score: 0
description: 'Last hop used encrypted transports'
metric_score: 0
RCPT_COUNT_ONE:
name: RCPT_COUNT_ONE
score: 0
options:
- '1'
description: 'One recipient'
metric_score: 0
RCVD_COUNT_ONE:
name: RCVD_COUNT_ONE
score: 0
options:
- '1'
description: 'Message has one Received header'
metric_score: 0
FROM_EQ_ENVFROM:
name: FROM_EQ_ENVFROM
score: 0
description: 'From address is the same as the envelope'
metric_score: 0
BAD_REP_POLICIES:
name: BAD_REP_POLICIES
score: 2
description: 'Contains valid policies but are also marked by fuzzy/bayes/SURBL/RBL'
metric_score: 2
RBL_SORBS_RECENT:
name: RBL_SORBS_RECENT
score: 2
options:
- '209.85.160.45:from'
description: 'List of hosts that have been noted as sending spam/UCE/UBE to the admins of SORBS within the last 28 days (includes new.spam.dnsbl.sorbs.net).'
metric_score: 2
DMARC_POLICY_ALLOW:
name: DMARC_POLICY_ALLOW
score: 0
options:
- emailguard.io
- none
description: 'DMARC permit policy'
metric_score: -0.5
RCVD_IN_DNSWL_NONE:
name: RCVD_IN_DNSWL_NONE
score: 0
options:
- '209.85.160.45:from'
description: 'Sender listed at https://www.dnswl.org, no trust'
metric_score: 0
RWL_MAILSPIKE_GOOD:
name: RWL_MAILSPIKE_GOOD
score: -0.1
options:
- '209.85.160.45:from'
description: 'From address is listed in Mailspike RWL - good reputation'
metric_score: -0.1
TO_MATCH_ENVRCPT_ALL:
name: TO_MATCH_ENVRCPT_ALL
score: 0
description: 'All of the recipients match the envelope'
metric_score: 0
rcpt_mime:
- OkdRGHnn@testseguard.com
rcpt_smtp:
- OkdRGHnn@testseguard.com
time_real: 3.444052
unix_time: 1715573061
is_skipped: false
message-id: CAHC2zCFifQe3dJKYiwHKk=Mq=J+MWfTuBT0rZ0BoG4Eq6GcoNg@mail.gmail.com
thresholds:
reject: 15
greylist: 7
'add header': 8
sender_mime: support@emailguard.io
sender_smtp: support@emailguard.io
required_score: 15
properties:
data:
type: object
properties:
uuid:
type: string
example: 9bfbf296-0de1-40dd-ae46-9988fff073b8
name:
type: string
example: 'Test 1'
status:
type: string
example: completed
sent_from:
type: string
example: test1@example.com
sending_server_ip:
type: string
example: 192.0.2.1
score:
type: number
example: 10.0
score_breakdown:
type: object
properties:
ip:
type: string
example: 209.85.160.45
size:
type: integer
example: 2860
user:
type: string
example: unknown
score:
type: number
example: 3.79
action:
type: string
example: 'no action'
subject:
type: string
example: 'try again'
symbols:
type: object
properties:
ASN:
type: object
properties:
name:
type: string
example: ASN
score:
type: integer
example: 0
options:
type: array
example:
- 'asn:15169, ipnet:209.85.128.0/17, country:US'
items:
type: string
metric_score:
type: integer
example: 0
BCC:
type: object
properties:
name:
type: string
example: BCC
score:
type: integer
example: 0
metric_score:
type: integer
example: 0
ARC_NA:
type: object
properties:
name:
type: string
example: ARC_NA
score:
type: integer
example: 0
description:
type: string
example: 'ARC signature absent'
metric_score:
type: integer
example: 0
MX_GOOD:
type: object
properties:
name:
type: string
example: MX_GOOD
score:
type: number
example: -0.01
options:
type: array
example: []
description:
type: string
example: 'Domain has working MX'
metric_score:
type: number
example: -0.01
MIME_GOOD:
type: object
properties:
name:
type: string
example: MIME_GOOD
score:
type: number
example: -0.1
options:
type: array
example:
- multipart/alternative
- text/plain
items:
type: string
description:
type: string
example: 'Known content-type'
metric_score:
type: number
example: -0.1
ARC_SIGNED:
type: object
properties:
name:
type: string
example: ARC_SIGNED
score:
type: integer
example: 0
options:
type: array
example:
- 'testseguard.com:s=dkim:i=1'
items:
type: string
metric_score:
type: integer
example: 0
DKIM_TRACE:
type: object
properties:
name:
type: string
example: DKIM_TRACE
score:
type: integer
example: 0
options:
type: array
example:
- 'emailguard-io.20230601.gappssmtp.com:+'
items:
type: string
description:
type: string
example: 'DKIM trace symbol'
metric_score:
type: integer
example: 0
MIME_TRACE:
type: object
properties:
name:
type: string
example: MIME_TRACE
score:
type: integer
example: 0
options:
type: array
example:
- '0:+'
- '1:+'
- '2:~'
items:
type: string
metric_score:
type: integer
example: 0
TO_DN_NONE:
type: object
properties:
name:
type: string
example: TO_DN_NONE
score:
type: integer
example: 0
description:
type: string
example: 'None of the recipients have display names'
metric_score:
type: integer
example: 0
FROM_HAS_DN:
type: object
properties:
name:
type: string
example: FROM_HAS_DN
score:
type: integer
example: 0
description:
type: string
example: 'From header has a display name'
metric_score:
type: integer
example: 0
R_SPF_ALLOW:
type: object
properties:
name:
type: string
example: R_SPF_ALLOW
score:
type: integer
example: 0
options:
type: array
example:
- '+ip4:209.85.128.0/17'
items:
type: string
description:
type: string
example: 'SPF verification allows sending'
metric_score:
type: number
example: -0.2
TAGGED_RCPT:
type: object
properties:
name:
type: string
example: TAGGED_RCPT
score:
type: integer
example: 0
options:
type: array
example:
- 9c07cc16-da8d-4e81-84ea-a5af4fcc4840
items:
type: string
description:
type: string
example: 'SMTP recipients have plus tags'
metric_score:
type: integer
example: 0
R_DKIM_ALLOW:
type: object
properties:
name:
type: string
example: R_DKIM_ALLOW
score:
type: integer
example: 0
options:
type: array
example:
- 'emailguard-io.20230601.gappssmtp.com:s=20230601'
items:
type: string
description:
type: string
example: 'DKIM verification succeed'
metric_score:
type: number
example: -0.2
MISSING_XM_UA:
type: object
properties:
name:
type: string
example: MISSING_XM_UA
score:
type: integer
example: 0
description:
type: string
example: 'Message has neither X-Mailer nor User-Agent header'
metric_score:
type: integer
example: 0
RCVD_TLS_LAST:
type: object
properties:
name:
type: string
example: RCVD_TLS_LAST
score:
type: integer
example: 0
description:
type: string
example: 'Last hop used encrypted transports'
metric_score:
type: integer
example: 0
RCPT_COUNT_ONE:
type: object
properties:
name:
type: string
example: RCPT_COUNT_ONE
score:
type: integer
example: 0
options:
type: array
example:
- '1'
items:
type: string
description:
type: string
example: 'One recipient'
metric_score:
type: integer
example: 0
RCVD_COUNT_ONE:
type: object
properties:
name:
type: string
example: RCVD_COUNT_ONE
score:
type: integer
example: 0
options:
type: array
example:
- '1'
items:
type: string
description:
type: string
example: 'Message has one Received header'
metric_score:
type: integer
example: 0
FROM_EQ_ENVFROM:
type: object
properties:
name:
type: string
example: FROM_EQ_ENVFROM
score:
type: integer
example: 0
description:
type: string
example: 'From address is the same as the envelope'
metric_score:
type: integer
example: 0
BAD_REP_POLICIES:
type: object
properties:
name:
type: string
example: BAD_REP_POLICIES
score:
type: integer
example: 2
description:
type: string
example: 'Contains valid policies but are also marked by fuzzy/bayes/SURBL/RBL'
metric_score:
type: integer
example: 2
RBL_SORBS_RECENT:
type: object
properties:
name:
type: string
example: RBL_SORBS_RECENT
score:
type: integer
example: 2
options:
type: array
example:
- '209.85.160.45:from'
items:
type: string
description:
type: string
example: 'List of hosts that have been noted as sending spam/UCE/UBE to the admins of SORBS within the last 28 days (includes new.spam.dnsbl.sorbs.net).'
metric_score:
type: integer
example: 2
DMARC_POLICY_ALLOW:
type: object
properties:
name:
type: string
example: DMARC_POLICY_ALLOW
score:
type: integer
example: 0
options:
type: array
example:
- emailguard.io
- none
items:
type: string
description:
type: string
example: 'DMARC permit policy'
metric_score:
type: number
example: -0.5
RCVD_IN_DNSWL_NONE:
type: object
properties:
name:
type: string
example: RCVD_IN_DNSWL_NONE
score:
type: integer
example: 0
options:
type: array
example:
- '209.85.160.45:from'
items:
type: string
description:
type: string
example: 'Sender listed at https://www.dnswl.org, no trust'
metric_score:
type: integer
example: 0
RWL_MAILSPIKE_GOOD:
type: object
properties:
name:
type: string
example: RWL_MAILSPIKE_GOOD
score:
type: number
example: -0.1
options:
type: array
example:
- '209.85.160.45:from'
items:
type: string
description:
type: string
example: 'From address is listed in Mailspike RWL - good reputation'
metric_score:
type: number
example: -0.1
TO_MATCH_ENVRCPT_ALL:
type: object
properties:
name:
type: string
example: TO_MATCH_ENVRCPT_ALL
score:
type: integer
example: 0
description:
type: string
example: 'All of the recipients match the envelope'
metric_score:
type: integer
example: 0
rcpt_mime:
type: array
example:
- OkdRGHnn@testseguard.com
items:
type: string
rcpt_smtp:
type: array
example:
- OkdRGHnn@testseguard.com
items:
type: string
time_real:
type: number
example: 3.444052
unix_time:
type: integer
example: 1715573061
is_skipped:
type: boolean
example: false
message-id:
type: string
example: CAHC2zCFifQe3dJKYiwHKk=Mq=J+MWfTuBT0rZ0BoG4Eq6GcoNg@mail.gmail.com
thresholds:
type: object
properties:
reject:
type: integer
example: 15
greylist:
type: integer
example: 7
'add header':
type: integer
example: 8
sender_mime:
type: string
example: support@emailguard.io
sender_smtp:
type: string
example: support@emailguard.io
required_score:
type: integer
example: 15
tags:
- 'Spam Filter Tests'
parameters:
-
in: path
name: email_test_uuid
description: 'The UUID of the email test.'
example: 559398c9-8d08-35eb-9f68-f31aa5ec28ae
required: true
schema:
type: string
/api/v1/spamhaus-intelligence/a-record-reputation:
get:
summary: 'List A Record Reputation Checks'
operationId: listARecordReputationChecks
description: "Retrieves a paginated collection of Spamhaus A Record Reputation Checks.\nEach check includes status, A records, and their associated IP addresses with reputation scores, counters, and last-seen timestamps."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
uuid: 9f2285a6-74bc-49ee-8dfb-65d8841adfbd
domain: google.com
a_record:
-
ip: 142.251.41.36
score: 31.7
counter: 59
last-seen: 1749706038
-
ip: '2607:f8b0:400b:803::/64'
score: 6
counter: 21267
last-seen: 1749706038
-
ip: '2a00:1450:4025:401::/64'
score: 7.8
counter: 4127
last-seen: 1749706038
status: completed
created_at: '2025-06-12T05:29:59.000000Z'
updated_at: '2025-06-12T05:30:19.000000Z'
properties:
data:
type: array
example:
-
uuid: 9f2285a6-74bc-49ee-8dfb-65d8841adfbd
domain: google.com
a_record:
-
ip: 142.251.41.36
score: 31.7
counter: 59
last-seen: 1749706038
-
ip: '2607:f8b0:400b:803::/64'
score: 6
counter: 21267
last-seen: 1749706038
-
ip: '2a00:1450:4025:401::/64'
score: 7.8
counter: 4127
last-seen: 1749706038
status: completed
created_at: '2025-06-12T05:29:59.000000Z'
updated_at: '2025-06-12T05:30:19.000000Z'
items:
type: object
properties:
uuid:
type: string
example: 9f2285a6-74bc-49ee-8dfb-65d8841adfbd
domain:
type: string
example: google.com
a_record:
type: array
example:
-
ip: 142.251.41.36
score: 31.7
counter: 59
last-seen: 1749706038
-
ip: '2607:f8b0:400b:803::/64'
score: 6
counter: 21267
last-seen: 1749706038
-
ip: '2a00:1450:4025:401::/64'
score: 7.8
counter: 4127
last-seen: 1749706038
items:
type: object
properties:
ip:
type: string
example: 142.251.41.36
score:
type: number
example: 31.7
counter:
type: integer
example: 59
last-seen:
type: integer
example: 1749706038
status:
type: string
example: completed
created_at:
type: string
example: '2025-06-12T05:29:59.000000Z'
updated_at:
type: string
example: '2025-06-12T05:30:19.000000Z'
tags:
- 'Spamhaus A Record Reputation'
/api/v1/spamhaus-intelligence/a-record-reputation/create:
post:
summary: 'Create A Record Reputation Check'
operationId: createARecordReputationCheck
description: "Queues a new A record reputation check for the given domain.\nThe job is processed asynchronously. You must poll the `show` endpoint\nto retrieve results."
parameters: []
responses:
201:
description: ''
content:
application/json:
schema:
type: object
example:
data:
uuid: 9f2796d5-6fb0-4083-8e92-edaf40dd76bc
domain: google.com
a_record_reputation: null
status: queued
created_at: '2025-06-14T17:57:11.000000Z'
updated_at: '2025-06-14T17:57:11.000000Z'
properties:
data:
type: object
properties:
uuid:
type: string
example: 9f2796d5-6fb0-4083-8e92-edaf40dd76bc
domain:
type: string
example: google.com
a_record_reputation:
type: string
example: null
status:
type: string
example: queued
created_at:
type: string
example: '2025-06-14T17:57:11.000000Z'
updated_at:
type: string
example: '2025-06-14T17:57:11.000000Z'
tags:
- 'Spamhaus A Record Reputation'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
domain:
type: string
description: 'The domain to resolve and check.'
example: google.com
nullable: false
required:
- domain
'/api/v1/spamhaus-intelligence/a-record-reputation/{spamhausARecordReputationCheck_uuid}':
get:
summary: 'Show A Record Reputation Check'
operationId: showARecordReputationCheck
description: "Retrieve the results of a spamhaus a record reputation check.\nThe record is created by the `create` endpoint and processed\nasynchronously; poll this endpoint until the `status` becomes 'completed'"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
uuid: 9f2279b1-2f52-4478-91f1-a54e7fa93162
domain: google.com
a_record_reputation:
-
ip: '2a00:1450:400c:c02::/64'
score: 9.6
counter: 902
last-seen: 1749704129
-
ip: 192.178.218.27
score: 9.2
counter: 36
last-seen: 1749704129
-
ip: 142.251.41.36
score: 31.7
counter: 59
last-seen: 1749704129
status: completed
created_at: '2025-06-12T04:56:33.000000Z'
updated_at: '2025-06-12T04:56:35.000000Z'
properties:
data:
type: object
properties:
uuid:
type: string
example: 9f2279b1-2f52-4478-91f1-a54e7fa93162
domain:
type: string
example: google.com
a_record_reputation:
type: array
example:
-
ip: '2a00:1450:400c:c02::/64'
score: 9.6
counter: 902
last-seen: 1749704129
-
ip: 192.178.218.27
score: 9.2
counter: 36
last-seen: 1749704129
-
ip: 142.251.41.36
score: 31.7
counter: 59
last-seen: 1749704129
items:
type: object
properties:
ip:
type: string
example: '2a00:1450:400c:c02::/64'
score:
type: number
example: 9.6
counter:
type: integer
example: 902
last-seen:
type: integer
example: 1749704129
status:
type: string
example: completed
created_at:
type: string
example: '2025-06-12T04:56:33.000000Z'
updated_at:
type: string
example: '2025-06-12T04:56:35.000000Z'
tags:
- 'Spamhaus A Record Reputation'
parameters:
-
in: path
name: spamhausARecordReputationCheck_uuid
description: 'The UUID of the domain a record reputation check.'
example: 9f2279b1-2f52-4478-91f1-a54e7fa93162
required: true
schema:
type: string
/api/v1/spamhaus-intelligence/domain-contexts:
get:
summary: 'List Domain Context Checks'
operationId: listDomainContextChecks
description: "Retrieves a paginated collection of Spamhaus Domain Context Checks.\nEach check includes the domain, status, and an array of context sources\nwhere the domain was seen (e.g., `helo`, `mailbody`, `osint`, etc.)."
parameters: []
responses:
200:
description: ''
content:
text/plain:
schema:
type: string
example: "{\n \"data\": [\n {\n \"uuid\": \"9f1fd3b3-476f-4ac4-9333-0a958f0606d1\",\n \"domain\": \"youtube.com\",\n \"context\": [\n {\n \"context\": \"helo\",\n \"last-seen\": 1749583705\n },\n {\n \"context\": \"mailbody\",\n \"last-seen\": 1749573498\n },\n {\n \"context\": \"osint\",\n \"last-seen\": 1749538772\n }\n ],\n \"status\": \"completed\",\n \"created_at\": \"2025-06-10T21:20:45.000000Z\",\n \"updated_at\": \"2025-06-10T21:20:47.000000Z\"\n },\n ]\n}"
tags:
- 'Spamhaus Domain Context'
/api/v1/spamhaus-intelligence/domain-contexts/create:
post:
summary: 'Create Domain Context Check'
operationId: createDomainContextCheck
description: "Queues a new domain context check using Spamhaus Intelligence data.\nIt identifies where the domain has been seen across signals like `helo`, `dkim`, `osint`, etc.\nThe result is processed asynchronously — use the `show` endpoint to poll results."
parameters: []
responses:
201:
description: ''
content:
application/json:
schema:
type: object
example:
data:
uuid: 9f27ad13-bdb6-429d-92b1-2048c8c9f969
domain: example.com
context: null
status: queued
created_at: '2025-06-14T18:59:22.000000Z'
updated_at: '2025-06-14T18:59:22.000000Z'
properties:
data:
type: object
properties:
uuid:
type: string
example: 9f27ad13-bdb6-429d-92b1-2048c8c9f969
domain:
type: string
example: example.com
context:
type: string
example: null
status:
type: string
example: queued
created_at:
type: string
example: '2025-06-14T18:59:22.000000Z'
updated_at:
type: string
example: '2025-06-14T18:59:22.000000Z'
tags:
- 'Spamhaus Domain Context'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
domain:
type: string
description: 'The domain to check.'
example: example.com
nullable: false
required:
- domain
'/api/v1/spamhaus-intelligence/domain-contexts/{spamhausDomainContextCheck_uuid}':
get:
summary: 'Show Domain Context Check'
operationId: showDomainContextCheck
description: "Retrieves the details of a specific domain context check by its UUID.\nThe record is created by the `create` endpoint and processed\nContexts indicate where the domain was observed in spam intelligence sources."
parameters: []
responses:
200:
description: ''
content:
text/plain:
schema:
type: string
example: "{\n \"data\": {\n \"uuid\": \"9f27ad13-bdb6-429d-92b1-2048c8c9f969\",\n \"domain\": \"example.com\",\n \"context\": [\n {\n \"context\": \"helo\",\n \"last-seen\": 1749911599\n },\n {\n \"context\": \"mailsample\",\n \"last-seen\": 1749911555\n },\n {\n \"context\": \"mailbody\",\n \"last-seen\": 1749834513\n },\n {\n \"context\": \"sandbox\",\n \"last-seen\": 1749684424\n },\n ],\n \"status\": \"completed\",\n \"created_at\": \"2025-06-14T18:59:22.000000Z\",\n \"updated_at\": \"2025-06-14T19:03:12.000000Z\"\n }\n}"
tags:
- 'Spamhaus Domain Context'
parameters:
-
in: path
name: spamhausDomainContextCheck_uuid
description: 'The UUID of the domain context check.'
example: 9f27ad13-bdb6-429d-92b1-2048c8c9f969
required: true
schema:
type: string
/api/v1/spamhaus-intelligence/domain-reputation:
get:
summary: 'List Domain Reputation Checks'
operationId: listDomainReputationChecks
description: "Retrieves a paginated collection of Spamhaus Domain Reputation Checks.\nEach check includes status, reputation, general domain data, dimensions, blacklist status,\nand IP reputation (if available)."
parameters: []
responses:
200:
description: ''
content:
text/plain:
schema:
type: string
example: "{\n \"data\": [\n {\n \"uuid\": \"9f1f8afe-e040-4776-bfcd-1c0b56b51362\",\n \"domain\": \"google.com\",\n \"reputation\": \"39.0\",\n \"status\": \"completed\",\n \"domain_general_info\": {\n \"tags\": [\"corporate\", \"neverlist\", \"phish\", \"spam\"],\n \"score\": 39,\n \"whois\": {\n \"created\": 874296000,\n \"expires\": 1852516800,\n \"registrar\": \"MarkMonitor Inc.\"\n },\n \"abused\": false,\n \"domain\": \"google.com\",\n \"clusters\": {\n \"auth\": \"d10b985f5dcb791268b7b25fc85fdf75dbeb3bf7\"\n },\n \"last-seen\": 1749558460\n },\n \"dimensions\": {\n \"smtp\": -4,\n \"human\": 25,\n \"infra\": 15,\n \"malware\": -1,\n \"identity\": 4\n },\n \"blacklist_listing_status\": {\n \"ts\": 1749558460,\n \"is-listed\": false\n },\n \"ip_results\": {\n \"code\": 404\n },\n \"created_at\": \"2025-06-10T17:57:27.000000Z\",\n \"updated_at\": \"2025-06-10T17:57:42.000000Z\"\n }\n ],\n\n @note\nThe timestamps within the data array (e.g., `created`, `expires`, 'last-seen', `ts`) are UNIX timestamps"
tags:
- 'Spamhaus Domain Reputation'
/api/v1/spamhaus-intelligence/domain-reputation/create:
post:
summary: 'Create Domain Reputation Check'
operationId: createDomainReputationCheck
description: "Queues a domain reputation check using Spamhaus Intelligence data.\nIt performs four separate checks: general domain info, reputation dimensions,\nlisting status, and IP reputation.\nThe result is processed asynchronously — use the `show` endpoint to poll for completion.\n\nThis operation consumes **4 credits**."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
uuid: 9f2608e2-e475-44c6-a9fd-36ff1bdebc08
domain: example.com
reputation: null
status: queued
domain_general_info: null
dimensions: null
blacklist_listing_status: null
ip_results: null
created_at: '2025-06-13T23:24:26.000000Z'
updated_at: '2025-06-13T23:24:26.000000Z'
properties:
data:
type: object
properties:
uuid:
type: string
example: 9f2608e2-e475-44c6-a9fd-36ff1bdebc08
domain:
type: string
example: example.com
reputation:
type: string
example: null
status:
type: string
example: queued
domain_general_info:
type: string
example: null
dimensions:
type: string
example: null
blacklist_listing_status:
type: string
example: null
ip_results:
type: string
example: null
created_at:
type: string
example: '2025-06-13T23:24:26.000000Z'
updated_at:
type: string
example: '2025-06-13T23:24:26.000000Z'
tags:
- 'Spamhaus Domain Reputation'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
domain:
type: string
description: 'The domain to perform the spamhaus domain reputation check.'
example: example.com
nullable: false
required:
- domain
'/api/v1/spamhaus-intelligence/domain-reputation/{spamhausDomainReputationCheck_uuid}':
get:
summary: 'Show Domain Reputation Check'
operationId: showDomainReputationCheck
description: "Retrieve the results of a single spamhaus domain reputation check by its UUID.\nThe record is created by the `create` endpoint and processed\nasynchronously; poll this endpoint until `status` becomes `completed`"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
uuid: 9f2608e2-e475-44c6-a9fd-36ff1bdebc08
domain: example.com
reputation: '30.5'
status: completed
domain_general_info:
tags:
- neverlist
- phish
- spam
score: 30.5
whois:
created: 808372800
expires: 1755057600
registrar: 'RESERVED-Internet Assigned Numbers Authority'
abused: false
domain: example.com
clusters:
auth: 13403b4f56ecfa2f9f3d6df0b187d8ce903d0902
last-seen: 1749859948
dimensions:
smtp: -7.5
human: 25
infra: 13
blacklist_listing_status:
ts: 1749859948
is-listed: false
ip_results:
code: 404
created_at: '2025-06-13T23:24:26.000000Z'
updated_at: '2025-06-14T03:37:07.000000Z'
properties:
data:
type: object
properties:
uuid:
type: string
example: 9f2608e2-e475-44c6-a9fd-36ff1bdebc08
domain:
type: string
example: example.com
reputation:
type: string
example: '30.5'
status:
type: string
example: completed
domain_general_info:
type: object
properties:
tags:
type: array
example:
- neverlist
- phish
- spam
items:
type: string
score:
type: number
example: 30.5
whois:
type: object
properties:
created:
type: integer
example: 808372800
expires:
type: integer
example: 1755057600
registrar:
type: string
example: 'RESERVED-Internet Assigned Numbers Authority'
abused:
type: boolean
example: false
domain:
type: string
example: example.com
clusters:
type: object
properties:
auth:
type: string
example: 13403b4f56ecfa2f9f3d6df0b187d8ce903d0902
last-seen:
type: integer
example: 1749859948
dimensions:
type: object
properties:
smtp:
type: number
example: -7.5
human:
type: integer
example: 25
infra:
type: integer
example: 13
blacklist_listing_status:
type: object
properties:
ts:
type: integer
example: 1749859948
is-listed:
type: boolean
example: false
ip_results:
type: object
properties:
code:
type: integer
example: 404
created_at:
type: string
example: '2025-06-13T23:24:26.000000Z'
updated_at:
type: string
example: '2025-06-14T03:37:07.000000Z'
404:
description: ''
content:
application/json:
schema:
type: object
example:
code: 404
message: 'Not found'
properties:
code:
type: integer
example: 404
message:
type: string
example: 'Not found'
tags:
- 'Spamhaus Domain Reputation'
parameters:
-
in: path
name: spamhausDomainReputationCheck_uuid
description: 'The UUID of the domain context check.'
example: 9f27ad13-bdb6-429d-92b1-2048c8c9f969
required: true
schema:
type: string
/api/v1/spamhaus-intelligence/domain-senders:
get:
summary: 'List Domain Sender Checks'
operationId: listDomainSenderChecks
description: 'Retrieves a paginated collection of Spamhaus Domain Sender Checks.'
parameters: []
responses:
200:
description: ''
content:
text/plain:
schema:
type: string
example: "{\n \"data\": [\n {\n \"uuid\": \"9f2069c3-d7b6-4060-a856-c1d109fe2235\",\n \"domain\": \"pogo.com\",\n \"sender\": [\n {\n \"ip\": \"183.141.150.216\",\n \"helo\": \"pogo.com\",\n \"score\": 0,\n \"last-seen\": 1749585427\n },\n {\n \"ip\": \"116.3.104.27\",\n \"helo\": \"pogo.com\",\n \"score\": 0,\n \"last-seen\": 1749439474\n },\n {\n \"ip\": \"222.125.227.118\",\n \"helo\": \"pogo.com\",\n \"score\": 0,\n \"last-seen\": 1749438632\n }\n // ... more senders\n ],\n \"status\": \"completed\",\n \"created_at\": \"2025-06-11T04:20:22.000000Z\",\n \"updated_at\": \"2025-06-11T04:20:50.000000Z\"\n },\n {\n \"uuid\": \"9f206885-6a3b-4256-8b84-6f617fce6924\",\n \"domain\": \"bing.com\",\n \"sender\": [\n {\n \"ip\": \"52.252.41.58\",\n \"helo\": \"wqipxemnq.info.bing.com\",\n \"score\": 0,\n \"last-seen\": 1749615589\n },\n {\n \"ip\": \"52.254.9.53\",\n \"helo\": \"dpbiacww.info.bing.com\",\n \"score\": 0,\n \"last-seen\": 1749615482\n },\n {\n \"ip\": \"197.232.20.52\",\n \"helo\": null,\n \"score\": 0,\n \"last-seen\": 1749615383\n }\n // ... more senders\n ],\n \"status\": \"completed\",\n \"created_at\": \"2025-06-11T04:16:53.000000Z\",\n \"updated_at\": \"2025-06-11T04:20:49.000000Z\"\n }\n ]\n}"
tags:
- 'Spamhaus Domain Sender'
/api/v1/spamhaus-intelligence/domain-senders/create:
post:
summary: 'Create Domain Sender Check'
operationId: createDomainSenderCheck
description: "Queues a new domain sender check using Spamhaus Intelligence data.\nThe result is processed asynchronously — use the `show` endpoint to poll results."
parameters: []
responses:
201:
description: ''
content:
application/json:
schema:
type: object
example:
data:
uuid: 9f27d192-0a68-4d8a-8e84-2eee1f8996a0
domain: example.com
sender: null
status: queued
created_at: '2025-06-14T20:41:25.000000Z'
updated_at: '2025-06-14T20:41:25.000000Z'
properties:
data:
type: object
properties:
uuid:
type: string
example: 9f27d192-0a68-4d8a-8e84-2eee1f8996a0
domain:
type: string
example: example.com
sender:
type: string
example: null
status:
type: string
example: queued
created_at:
type: string
example: '2025-06-14T20:41:25.000000Z'
updated_at:
type: string
example: '2025-06-14T20:41:25.000000Z'
tags:
- 'Spamhaus Domain Sender'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
domain:
type: string
description: 'The domain to check.'
example: example.com
nullable: false
required:
- domain
'/api/v1/spamhaus-intelligence/domain-senders/{spamhausDomainSenderCheck_uuid}':
get:
summary: 'Show Domain Sender Check'
operationId: showDomainSenderCheck
description: "Retrieves the details of a specific domain sender check by its UUID.\nThe record is created by the `create` endpoint and processed"
parameters: []
responses:
200:
description: ''
content:
text/plain:
schema:
type: string
example: "{\n \"data\": {\n \"uuid\": \"9f206306-b83a-4225-84da-b038bef96344\",\n \"domain\": \"google.com\",\n \"sender\": [\n {\n \"ip\": \"185.176.220.64\",\n \"helo\": null,\n \"score\": -14.9,\n \"last-seen\": 1749613973\n },\n {\n \"ip\": \"17.172.82.74\",\n \"helo\": null,\n \"score\": 39.3,\n \"last-seen\": 1749613935\n },\n {\n \"ip\": \"39.189.23.79\",\n \"helo\": \"aspmx.l.google.com\",\n \"score\": 0,\n \"last-seen\": 1749613924\n },\n {\n \"ip\": \"20.18.77.32\",\n \"helo\": \"hdqefk.google.com\",\n \"score\": 0,\n \"last-seen\": 1749613785\n },\n {\n \"ip\": \"116.4.12.32\",\n \"helo\": \"smtp.google.com\",\n \"score\": 0,\n \"last-seen\": 1749613732\n }\n // ... more senders\n ],\n \"status\": \"completed\",\n \"created_at\": \"2025-06-11T04:01:31.000000Z\",\n \"updated_at\": \"2025-06-11T04:01:37.000000Z\"\n }\n}"
tags:
- 'Spamhaus Domain Sender'
parameters:
-
in: path
name: spamhausDomainSenderCheck_uuid
description: 'The UUID of the domain sender check.'
example: 9f27d192-0a68-4d8a-8e84-2eee1f8996a0
required: true
schema:
type: string
/api/v1/spamhaus-intelligence/nameserver-reputation:
get:
summary: 'List Nameserver Reputation Checks'
operationId: listNameserverReputationChecks
description: "Retrieves a paginated collection of Spamhaus Nameserver Reputation Checks.\nThe reputation score of a nameserver is the average reputation of the domains for which the NS is authoritative, while the counter shows the total number of domains served by such NS."
parameters: []
responses:
200:
description: ''
content:
text/plain:
schema:
type: string
example: "{\n \"data\": [\n {\n \"uuid\": \"9f223498-5153-4217-918c-5761e4ff8f9a\",\n \"domain\": \"youtube.com\",\n \"nameserver_reputation\": [\n {\n \"ns\": \"ns1.google.com\",\n \"score\": 5.0,\n \"counter\": 4267,\n \"last-seen\": 1749692237\n },\n {\n \"ns\": \"ns2.google.com\",\n \"score\": 4.9,\n \"counter\": 4231,\n \"last-seen\": 1749692237\n },\n {\n \"ns\": \"ns3.google.com\",\n \"score\": 14.4,\n \"counter\": 1185,\n \"last-seen\": 1749692237\n },\n {\n \"ns\": \"ns4.google.com\",\n \"score\": 14.3,\n \"counter\": 1154,\n \"last-seen\": 1749692237\n }\n ],\n \"status\": \"completed\",\n \"created_at\": \"2025-06-12T01:43:21.000000Z\",\n \"updated_at\": \"2025-06-12T01:43:22.000000Z\"\n },\n ]\n}"
tags:
- 'Spamhaus Nameserver Reputation'
/api/v1/spamhaus-intelligence/nameserver-reputation/create:
post:
summary: 'Create Nameserver Reputation Check'
operationId: createNameserverReputationCheck
description: "Queues a new nameserver reputation check using Spamhaus Intelligence data.\nThe result is processed asynchronously — use the `show` endpoint to poll results."
parameters: []
responses:
201:
description: ''
content:
application/json:
schema:
type: object
example:
data:
uuid: 9f27c65c-4e47-4f72-ba33-a12ab143e300
domain: example.com
nameserver_reputation: null
status: queued
created_at: '2025-06-14T20:10:04.000000Z'
updated_at: '2025-06-14T20:10:04.000000Z'
properties:
data:
type: object
properties:
uuid:
type: string
example: 9f27c65c-4e47-4f72-ba33-a12ab143e300
domain:
type: string
example: example.com
nameserver_reputation:
type: string
example: null
status:
type: string
example: queued
created_at:
type: string
example: '2025-06-14T20:10:04.000000Z'
updated_at:
type: string
example: '2025-06-14T20:10:04.000000Z'
tags:
- 'Spamhaus Nameserver Reputation'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
domain:
type: string
description: 'The domain for which to perform the nameserver reputation check.'
example: example.com
nullable: false
required:
- domain
'/api/v1/spamhaus-intelligence/nameserver-reputation/{spamhausNsReputationCheck_uuid}':
get:
summary: 'Show Nameserver Reputation Check'
operationId: showNameserverReputationCheck
description: "Retrieves the details of a specific nameserver reputation check by its UUID.\nThe record is created by the `create` endpoint"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
uuid: 9f27c65c-4e47-4f72-ba33-a12ab143e300
domain: example.com
nameserver_reputation:
-
ns: a.iana-servers.net
score: 22.2
counter: 14
last-seen: 1749914687
-
ns: b.iana-servers.net
score: 22.2
counter: 14
last-seen: 1749914687
status: completed
created_at: '2025-06-14T20:10:04.000000Z'
updated_at: '2025-06-14T20:15:31.000000Z'
properties:
data:
type: object
properties:
uuid:
type: string
example: 9f27c65c-4e47-4f72-ba33-a12ab143e300
domain:
type: string
example: example.com
nameserver_reputation:
type: array
example:
-
ns: a.iana-servers.net
score: 22.2
counter: 14
last-seen: 1749914687
-
ns: b.iana-servers.net
score: 22.2
counter: 14
last-seen: 1749914687
items:
type: object
properties:
ns:
type: string
example: a.iana-servers.net
score:
type: number
example: 22.2
counter:
type: integer
example: 14
last-seen:
type: integer
example: 1749914687
status:
type: string
example: completed
created_at:
type: string
example: '2025-06-14T20:10:04.000000Z'
updated_at:
type: string
example: '2025-06-14T20:15:31.000000Z'
tags:
- 'Spamhaus Nameserver Reputation'
parameters:
-
in: path
name: spamhausNsReputationCheck_uuid
description: ''
example: 0aa8345f-68e4-384a-92c7-7c617ab67357
required: true
schema:
type: string
-
in: path
name: spamhausNameserverReputationCheck_uuid
description: 'The UUID of the nameserver reputation check.'
example: 9f27c65c-4e47-4f72-ba33-a12ab143e300
required: true
schema:
type: string
/api/v1/tags:
get:
summary: 'List tags'
operationId: listTags
description: 'Returns all tags belonging to the authenticated user.'
parameters: []
responses:
200:
description: success
content:
application/json:
schema:
type: object
example:
data:
-
uuid: a0ec82c6-8aca-48fa-9112-0dac09a0dfb3
name: Google
color: '#F59E0B'
created_at: '2026-01-25T21:31:07.000000Z'
updated_at: '2026-01-25T21:31:07.000000Z'
-
uuid: a0e0a58e-1189-41b4-9a85-8d14aa42930c
name: prod
color: '#3B82F6'
created_at: '2026-01-19T23:58:26.000000Z'
updated_at: '2026-01-19T23:58:26.000000Z'
properties:
data:
type: array
example:
-
uuid: a0ec82c6-8aca-48fa-9112-0dac09a0dfb3
name: Google
color: '#F59E0B'
created_at: '2026-01-25T21:31:07.000000Z'
updated_at: '2026-01-25T21:31:07.000000Z'
-
uuid: a0e0a58e-1189-41b4-9a85-8d14aa42930c
name: prod
color: '#3B82F6'
created_at: '2026-01-19T23:58:26.000000Z'
updated_at: '2026-01-19T23:58:26.000000Z'
items:
type: object
properties:
uuid:
type: string
example: a0ec82c6-8aca-48fa-9112-0dac09a0dfb3
name:
type: string
example: Google
color:
type: string
example: '#F59E0B'
created_at:
type: string
example: '2026-01-25T21:31:07.000000Z'
updated_at:
type: string
example: '2026-01-25T21:31:07.000000Z'
tags:
- Tags
post:
summary: 'Create tag'
operationId: createTag
description: 'Creates a new tag for the authenticated user.'
parameters: []
responses:
200:
description: success
content:
application/json:
schema:
type: object
example:
data:
uuid: a0eceb46-8e38-42d4-996a-b8a85fa31be7
name: 'Company A'
color: '#374151'
created_at: '2026-01-26T02:23:19.000000Z'
updated_at: '2026-01-26T02:23:19.000000Z'
available_colors:
- '#EF4444'
- '#F97316'
- '#F59E0B'
- '#EAB308'
- '#84CC16'
- '#22C55E'
- '#10B981'
- '#14B8A6'
- '#06B6D4'
- '#0EA5E9'
- '#3B82F6'
- '#6366F1'
- '#8B5CF6'
- '#A855F7'
- '#D946EF'
- '#EC4899'
- '#F43F5E'
- '#64748B'
- '#6B7280'
- '#374151'
properties:
data:
type: object
properties:
uuid:
type: string
example: a0eceb46-8e38-42d4-996a-b8a85fa31be7
name:
type: string
example: 'Company A'
color:
type: string
example: '#374151'
created_at:
type: string
example: '2026-01-26T02:23:19.000000Z'
updated_at:
type: string
example: '2026-01-26T02:23:19.000000Z'
available_colors:
type: array
example:
- '#EF4444'
- '#F97316'
- '#F59E0B'
- '#EAB308'
- '#84CC16'
- '#22C55E'
- '#10B981'
- '#14B8A6'
- '#06B6D4'
- '#0EA5E9'
- '#3B82F6'
- '#6366F1'
- '#8B5CF6'
- '#A855F7'
- '#D946EF'
- '#EC4899'
- '#F43F5E'
- '#64748B'
- '#6B7280'
- '#374151'
items:
type: string
tags:
- Tags
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'The name of the tag.'
example: 'Company A'
nullable: false
color:
type: string
description: 'The hex color for the tag.'
example: '#374151'
nullable: false
required:
- name
- color
'/api/v1/tags/{uuid}':
get:
summary: 'Show tag'
operationId: showTag
description: 'Returns a single tag identified by its UUID.'
parameters: []
responses:
200:
description: success
content:
application/json:
schema:
type: object
example:
data:
uuid: a0e0a58e-1189-41b4-9a85-8d14aa42930c
name: prod
color: '#3B82F6'
created_at: '2026-01-19T23:58:26.000000Z'
updated_at: '2026-01-19T23:58:26.000000Z'
properties:
data:
type: object
properties:
uuid:
type: string
example: a0e0a58e-1189-41b4-9a85-8d14aa42930c
name:
type: string
example: prod
color:
type: string
example: '#3B82F6'
created_at:
type: string
example: '2026-01-19T23:58:26.000000Z'
updated_at:
type: string
example: '2026-01-19T23:58:26.000000Z'
tags:
- Tags
parameters:
-
in: path
name: uuid
description: ''
example: 1
required: true
schema:
type: integer
'/api/v1/tags/{tag_uuid}':
delete:
summary: 'Delete tag'
operationId: deleteTag
description: "Deletes a tag identified by its UUID.\nThis action is permanent and cannot be undone. This tag and all related data\nwill be deleted permanently."
parameters: []
responses:
200:
description: success
content:
application/json:
schema:
type: object
example:
data:
success: true
message: 'Successfully deleted your tag.'
properties:
data:
type: object
properties:
success:
type: boolean
example: true
message:
type: string
example: 'Successfully deleted your tag.'
tags:
- Tags
parameters:
-
in: path
name: tag_uuid
description: ''
example: 1
required: true
schema:
type: integer
tags:
-
name: Authentication
description: "\nThis section provides endpoints for user authentication and token retrieval"
-
name: 'Account management'
description: "\nThis section handles operations related to user accounts within the application.\nIt includes endpoints for user registration, profile management and password reset."
-
name: Workspaces
description: "\nThis section provides endpoints to manage workspace-related operations.\nIt includes functionalities for creating, updating, and deleting workspaces"
-
name: Domains
description: "\nThis section manages operations related to domain management for authenticated users.\nIt provides endpoints for listing, creating, updating, and deleting domains.\nAdditionally, there are endpoints for managing SPF, DKIM, and DMARC records\nassociated with each domain to enhance email security and authentication."
-
name: 'Email Accounts'
description: "\nThis section provides endpoints to manage email accounts associated with a workspace.\nIt includes functionalities for listing all email accounts, retrieving details of a specific email account,\ncreating new IMAP/SMTP email accounts, testing IMAP and SMTP connections, and deleting existing email accounts."
-
name: 'Contact Verification'
description: "\nThis section provides endpoints to manage and verify contact lists.\nIt includes functionalities for listing all contact lists, retrieving details of a specific contact list,\ndownloading completed contact lists, and creating new contact verification requests."
-
name: 'Blacklist Checks'
description: "\nThis section provides endpoints to manage and perform blacklist checks on domains\nand email accounts. It includes functionalities for listing all blacklist checks for domains and email accounts,\nretrieving details of a specific blacklist check, and creating new ad-hoc blacklist checks."
-
name: 'DMARC Reports'
description: "\nThis section provides endpoints to manage and retrieve DMARC reports\nfor domains associated with a workspace. It includes functionalities for listing domains with DMARC reports,\nretrieving DMARC report statistics, sources, and failures for specific domains between two dates."
-
name: 'Email Authentication'
description: "\nThis section provides endpoints to manage SPF, DKIM, and DMARC records for domains.\nIt includes functiona'lities for looking up, validating, and generating SPF, DKIM, and DMARC records."
-
name: 'Content Spam Check'
description: "\nThis section provides an endpoint to check content for spam.\nIt includes functionalities for submitting content for spam check and managing usage limits."
-
name: 'Hosted Domain Redirect'
description: "\nThis section provides endpoints to manage hosted domain redirects.\nIt includes functionalities for listing, creating, viewing, and deleting hosted domain redirects."
-
name: 'Domain Host Lookup'
description: "\nFind the domain host or corporate spam filter for any domain."
-
name: 'Domain Masking Proxy'
description: "\nThis section provides endpoints to manage all your domain masking proxies."
-
name: 'Email Host Lookup'
description: "\nFind the email host or corporate spam filter for any email address."
-
name: Endpoints
description: ''
-
name: 'Inbox Placement Tests'
description: "\nThis section provides endpoints to manage and perform inbox placement tests using test inboxes on various\nEmail Service providers."
-
name: 'SURBL Blacklist Checks'
description: "\nThis section provides endpoints to manage and perform SURBL blacklist checks on domains."
-
name: 'Spam Filter Tests'
description: "\nThis section provides endpoints to manage email tests associated with a workspace.\nIt includes functionalities for listing all email tests, retrieving details of a specific email test,\nand creating new email tests."
-
name: 'Spamhaus A Record Reputation'
description: "\nA records are the A (or AAAA) records to which the domain or www.domain resolves to."
-
name: 'Spamhaus Domain Context'
description: "\nA context indicates where the domain was observed within the signals Spamhaus receive and analyze."
-
name: 'Spamhaus Domain Reputation'
description: "\nGet real-time reputation intelligence from Spamhaus, a leading provider of DNS, email, and malware-related data."
-
name: 'Spamhaus Domain Sender'
description: "\nThis API call fetches information relating to the IP addresses that have been seen sending emails for the domain."
-
name: 'Spamhaus Nameserver Reputation'
description: "\nThis API call delivers a list of nameservers operating as authoritatives for this domain, including current and historical ones."
-
name: Tags
description: "\nThis section provides endpoints to create and manage tags."
components:
securitySchemes:
default:
type: http
scheme: bearer
description: 'You can retrieve your token by visiting your dashboard and clicking Generate API token.'
security:
-
default: []