Nuclei internal API
The internal API from Nuclei — 33 operation(s) for internal.
The internal API from Nuclei — 33 operation(s) for internal.
openapi: 3.1.0
info:
title: PDCP agents internal API
version: '1.0'
summary: ProjectDiscovery Cloud Platform
description: For more details, checkout https://docs.projectdiscovery.io/api-reference/editor/scan
servers:
- url: https://api.projectdiscovery.io
description: Production
- url: https://api.dev.projectdiscovery.io
description: Development
- url: http://localhost:8085
description: Localhost
security:
- X-API-Key: []
tags:
- name: internal
paths:
/v1/admin/user/search:
get:
summary: Search user by name or email
tags:
- internal
responses:
'200':
description: OK
content:
application/octet-stream:
schema:
type: string
format: byte
'400':
$ref: '#/components/responses/MessageResponse'
'401':
$ref: '#/components/responses/MessageResponse'
'500':
$ref: '#/components/responses/MessageResponse'
default:
$ref: '#/components/responses/ErrorResponse'
operationId: get-v1-admin-user-search
x-internal: true
parameters:
- schema:
type: string
in: query
name: q
description: name or email filter
- schema:
type: string
enum:
- TRIAL
- ENT_TRIAL
- PRO
- ENT
- FREE
- VERIFIED_FREE
- GROWTH
in: query
name: plan
description: plan filter
- schema:
type: integer
in: query
name: offset
description: offset for pagination
- schema:
type: integer
in: query
name: limit
description: limit for pagination
- schema:
type: string
in: header
description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
name: X-Team-Id
/v1/admin/user/billing_assets:
get:
summary: Get billing assets for a user
tags:
- internal
responses:
'200':
description: OK
content:
application/octet-stream:
schema:
type: string
format: byte
'400':
$ref: '#/components/responses/MessageResponse'
'401':
$ref: '#/components/responses/MessageResponse'
'500':
$ref: '#/components/responses/MessageResponse'
default:
$ref: '#/components/responses/ErrorResponse'
operationId: get-v1-admin-user-billing-assets
x-internal: true
parameters:
- schema:
type: string
in: query
name: email
description: email of the user
required: true
/v1/admin/user/audit_logs:
get:
summary: Get audit logs for a user
tags:
- internal
responses:
'200':
description: OK
content:
application/octet-stream:
schema:
type: string
format: byte
'400':
$ref: '#/components/responses/MessageResponse'
'401':
$ref: '#/components/responses/MessageResponse'
'500':
$ref: '#/components/responses/MessageResponse'
default:
$ref: '#/components/responses/ErrorResponse'
operationId: get-v1-admin-user-audit-logs
x-internal: true
parameters:
- schema:
type: string
in: query
name: email
description: email of the user
- schema:
type: integer
format: int64
in: query
name: user_id
description: user id of the user
- schema:
type: integer
in: query
name: offset
description: offset for pagination
- schema:
type: string
in: query
name: path_name
description: path name filter
- schema:
type: string
in: query
name: status_code
description: status code filter comma separated e.g status_code=200,404
- schema:
type: string
in: query
name: status_code_not
description: status code not filter comma separated e.g status_code_not=200,404
- schema:
type: integer
in: query
name: limit
description: limit for pagination
/v1/admin/team/change_owner:
parameters:
- in: header
name: X-Team-ID
required: true
schema:
type: string
post:
tags:
- internal
summary: change owner for a team (New owner will take control of the existing owner's subscription)
operationId: post-v1-admin-team-change_owner
responses:
'200':
$ref: '#/components/responses/MessageResponse'
'400':
$ref: '#/components/responses/MessageResponse'
'401':
$ref: '#/components/responses/MessageResponse'
'404':
$ref: '#/components/responses/MessageResponse'
'500':
$ref: '#/components/responses/MessageResponse'
default:
$ref: '#/components/responses/ErrorResponse'
security:
- X-API-Key: []
requestBody:
content:
application/json:
schema:
type: object
required:
- new_owner_email
properties:
new_owner_email:
type: string
x-internal: true
/v1/admin/scan/token:
parameters: []
post:
tags:
- internal
summary: Set Scan token for user
operationId: post-v1-admin-scan-token
responses:
'200':
$ref: '#/components/responses/MessageResponse'
'400':
$ref: '#/components/responses/MessageResponse'
'401':
$ref: '#/components/responses/MessageResponse'
'500':
$ref: '#/components/responses/MessageResponse'
default:
$ref: '#/components/responses/ErrorResponse'
security:
- X-API-Key: []
requestBody:
content:
application/json:
schema:
type: object
required:
- extra_token
- email
properties:
base_token:
type: number
base_domain_count:
type: integer
extra_token:
type: number
email:
type: string
description: Comma separated emails
validity_months:
type: integer
minimum: 0
maximum: 12
expire_at:
type: string
format: date-time
x-internal: true
parameters:
- schema:
type: string
enum:
- create
- update
in: query
name: method
description: '''create'' or ''update'' mode'
required: true
- schema:
type: string
in: header
description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
name: X-Team-Id
patch:
tags:
- internal
summary: Update Scan token for user
operationId: patch-v1-admin-scan-token
responses:
'200':
$ref: '#/components/responses/MessageResponse'
'400':
$ref: '#/components/responses/MessageResponse'
'401':
$ref: '#/components/responses/MessageResponse'
'500':
$ref: '#/components/responses/MessageResponse'
default:
$ref: '#/components/responses/ErrorResponse'
security:
- X-API-Key: []
requestBody:
content:
application/json:
schema:
type: object
required:
- email
properties:
base_domain_count:
type: integer
base_count:
type: integer
extra_token:
type: number
email:
type: string
description: Comma separated emails
is_enforced_limit:
type: boolean
tag:
type: string
enum:
- TRIAL
- ENT_TRIAL
- PRO
- ENT
- FREE
- VERIFIED_FREE
- GROWTH
description: user tag eg - TRIAL
expire_at:
type: string
format: date-time
x-internal: true
parameters:
- schema:
type: string
in: header
name: X-Team-Id
description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
get:
summary: Get Token Usage (admin)
tags:
- internal
responses:
'200':
$ref: '#/components/responses/GetScansTokenResponse'
'400':
$ref: '#/components/responses/MessageResponse'
'401':
$ref: '#/components/responses/MessageResponse'
'404':
$ref: '#/components/responses/MessageResponse'
'500':
$ref: '#/components/responses/MessageResponse'
default:
$ref: '#/components/responses/ErrorResponse'
operationId: get-v1-admin-scan-token
description: Get token usage for given user
parameters:
- schema:
type: integer
in: query
name: user_id
description: user id to get scan token usage for
required: true
- schema:
type: string
in: query
name: email
description: email to get scan token usage for
- schema:
type: string
in: header
name: X-Team-Id
description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
/v1/user/onboarding_status:
get:
summary: Get User Setup Statistics
tags:
- internal
operationId: get-v1-user-setup-stats
responses:
'200':
$ref: '#/components/responses/GetUserSetupStatsResponse'
'400':
$ref: '#/components/responses/MessageResponse'
'401':
$ref: '#/components/responses/MessageResponse'
'500':
$ref: '#/components/responses/MessageResponse'
default:
$ref: '#/components/responses/ErrorResponse'
security:
- X-API-Key: []
description: Get user setup statistics
/v1/user/billing_assets:
get:
summary: Get Billing Assets details
tags:
- internal
operationId: get-v1-user-billing-assets
responses:
'200':
$ref: '#/components/responses/GetBillingAssetsResponse'
'400':
$ref: '#/components/responses/MessageResponse'
'401':
$ref: '#/components/responses/MessageResponse'
'500':
$ref: '#/components/responses/MessageResponse'
default:
$ref: '#/components/responses/ErrorResponse'
security:
- X-API-Key: []
description: Get billing assets details
/v1/admin/user/profile:
patch:
summary: Patch User Profile
operationId: patch-v1-admin-user-profile
tags:
- internal
responses:
'200':
$ref: '#/components/responses/PatchUserProfileResponse'
'401':
$ref: '#/components/responses/ErrorResponse'
'500':
$ref: '#/components/responses/ErrorResponse'
default:
$ref: '#/components/responses/ErrorResponse'
requestBody:
$ref: '#/components/requestBodies/PatchUserProfile'
security:
- X-API-Key: []
description: (ADMIN) Patch a user profile
parameters: []
/v1/admin/user/delete:
parameters: []
post:
summary: Admin delete user
tags:
- internal
responses:
'200':
$ref: '#/components/responses/MessageResponse'
'400':
$ref: '#/components/responses/MessageResponse'
'403':
$ref: '#/components/responses/MessageResponse'
'500':
$ref: '#/components/responses/MessageResponse'
default:
$ref: '#/components/responses/ErrorResponse'
operationId: post-v1-admin-user-delete
security:
- X-API-Key: []
x-internal: true
requestBody:
content:
application/json:
schema:
type: object
required:
- email
properties:
otp:
type: integer
email:
type: string
/v1/admin/users:
post:
summary: Create New User
operationId: post-v1-admin-users
tags:
- internal
responses:
'200':
$ref: '#/components/responses/PostCreateUserResponse'
'400':
$ref: '#/components/responses/ErrorResponse'
'401':
$ref: '#/components/responses/ErrorResponse'
'500':
$ref: '#/components/responses/ErrorResponse'
default:
$ref: '#/components/responses/ErrorResponse'
security:
- X-API-Key: []
requestBody:
content:
application/json:
schema:
type: object
properties:
ai_status:
type: boolean
scan_status:
type: boolean
static_scan:
type: boolean
neo_ai:
type: boolean
early_template:
type: boolean
create_auth_user:
type: boolean
tag:
type: string
enum:
- TRIAL
- ENT_TRIAL
- PRO
- ENT
- FREE
- VERIFIED_FREE
- GROWTH
email:
type: string
invite_email:
type: boolean
required:
- email
description: (ADMIN) Create a new user
/v1/user/team:
get:
summary: Get Team
operationId: get-v1-user-team
tags:
- internal
responses:
'200':
$ref: '#/components/responses/GetTeamResponse'
'401':
$ref: '#/components/responses/MessageResponse'
'403':
$ref: '#/components/responses/MessageResponse'
'500':
$ref: '#/components/responses/MessageResponse'
default:
$ref: '#/components/responses/ErrorResponse'
security:
- X-API-Key: []
description: Get a team metadata
parameters:
- schema:
type: string
in: header
description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
name: X-Team-Id
post:
summary: Create Workspace
tags:
- internal
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
message:
type: string
team_id:
type: string
required:
- message
- team_id
'400':
$ref: '#/components/responses/MessageResponse'
'401':
$ref: '#/components/responses/MessageResponse'
'500':
$ref: '#/components/responses/MessageResponse'
default:
$ref: '#/components/responses/ErrorResponse'
operationId: post-v1-user-team
requestBody:
$ref: '#/components/requestBodies/CreateTeamRequest'
security:
- X-API-Key: []
description: 'Create a new team '
parameters:
- schema:
type: string
in: header
description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
name: X-Team-Id
patch:
summary: Update Team
operationId: patch-v1-user-team
tags:
- internal
responses:
'200':
$ref: '#/components/responses/UpdateTeamResponse'
'400':
$ref: '#/components/responses/ErrorResponse'
'401':
$ref: '#/components/responses/ErrorResponse'
'403':
$ref: '#/components/responses/ErrorResponse'
'500':
$ref: '#/components/responses/ErrorResponse'
default:
$ref: '#/components/responses/ErrorResponse'
security:
- X-API-Key: []
requestBody:
$ref: '#/components/requestBodies/CreateTeamRequest'
description: Update a existing team
parameters:
- schema:
type: string
in: header
description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
name: X-Team-Id
delete:
summary: Delete Team
tags:
- internal
requestBody:
content:
application/json:
schema:
type: object
properties:
team_id:
type: string
required:
- team_id
responses:
'200':
description: OK
'400':
$ref: '#/components/responses/MessageResponse'
'403':
$ref: '#/components/responses/MessageResponse'
'500':
$ref: '#/components/responses/MessageResponse'
default:
$ref: '#/components/responses/ErrorResponse'
operationId: delete-v1-user-team
security:
- X-API-Key: []
description: Delete team (require 0 members)
parameters:
- schema:
type: string
in: header
description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
name: X-Team-Id
/v1/user/team/member:
get:
summary: Get Team Members
tags:
- internal
responses:
'200':
$ref: '#/components/responses/GetTeamMembersResponse'
'401':
$ref: '#/components/responses/ErrorResponse'
'403':
$ref: '#/components/responses/ErrorResponse'
'500':
$ref: '#/components/responses/ErrorResponse'
default:
$ref: '#/components/responses/ErrorResponse'
operationId: get-v1-user-team-member
security:
- X-API-Key: []
description: Get team member list
parameters:
- schema:
type: string
in: header
description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
name: X-Team-Id
post:
summary: Add Team Member
operationId: post-v1-user-team-member
tags:
- internal
responses:
'200':
$ref: '#/components/responses/MessageResponse'
'400':
$ref: '#/components/responses/MessageResponse'
'401':
$ref: '#/components/responses/MessageResponse'
'403':
$ref: '#/components/responses/MessageResponse'
'500':
$ref: '#/components/responses/MessageResponse'
default:
$ref: '#/components/responses/ErrorResponse'
security:
- X-API-Key: []
requestBody:
$ref: '#/components/requestBodies/AddTeamMemberRequest'
description: Invite a new team member
parameters:
- schema:
type: string
in: header
description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
name: X-Team-Id
delete:
summary: Delete Team Member
operationId: delete-v1-user-team-member
tags:
- internal
responses:
'200':
$ref: '#/components/responses/MessageResponse'
'400':
$ref: '#/components/responses/MessageResponse'
'401':
$ref: '#/components/responses/MessageResponse'
'403':
$ref: '#/components/responses/MessageResponse'
'500':
$ref: '#/components/responses/MessageResponse'
default:
$ref: '#/components/responses/ErrorResponse'
security:
- X-API-Key: []
requestBody:
$ref: '#/components/requestBodies/DeleteTeamMemberRequest'
description: Delete a team member using member email
parameters:
- schema:
type: string
in: header
description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
name: X-Team-Id
patch:
summary: Update Team Member
operationId: patch-v1-user-team-member
tags:
- internal
responses:
'200':
$ref: '#/components/responses/MessageResponse'
'400':
$ref: '#/components/responses/MessageResponse'
'401':
$ref: '#/components/responses/MessageResponse'
'403':
$ref: '#/components/responses/MessageResponse'
'500':
$ref: '#/components/responses/MessageResponse'
default:
$ref: '#/components/responses/ErrorResponse'
security:
- X-API-Key: []
requestBody:
$ref: '#/components/requestBodies/PatchTeamMemberRequest'
description: Accept team invite
parameters:
- schema:
type: string
in: header
description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
name: X-Team-Id
/v1/user/team/member/accept:
patch:
summary: Update Team Member
operationId: patch-v1-user-team-member-accept
tags:
- internal
responses:
'200':
$ref: '#/components/responses/MessageResponse'
'400':
$ref: '#/components/responses/MessageResponse'
'401':
$ref: '#/components/responses/MessageResponse'
'403':
$ref: '#/components/responses/MessageResponse'
'500':
$ref: '#/components/responses/MessageResponse'
default:
$ref: '#/components/responses/ErrorResponse'
requestBody:
$ref: '#/components/requestBodies/InviteTeamMemberRequest'
description: Accept team invite
parameters: []
/v1/user/team/default-members:
get:
summary: Get Default Team Members
operationId: get-v1-user-team-default-members
tags:
- internal
responses:
'200':
$ref: '#/components/responses/GetDefaultTeamMembersResponse'
'401':
$ref: '#/components/responses/ErrorResponse'
'403':
$ref: '#/components/responses/ErrorResponse'
'500':
$ref: '#/components/responses/ErrorResponse'
default:
$ref: '#/components/responses/ErrorResponse'
security:
- X-API-Key: []
description: Retrieve the list of configured default team members
parameters:
- schema:
type: string
in: header
description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
name: X-Team-Id
required: true
post:
summary: Set Default Team Members
operationId: post-v1-user-team-default-members
tags:
- internal
responses:
'200':
$ref: '#/components/responses/MessageResponse'
'400':
$ref: '#/components/responses/MessageResponse'
'401':
$ref: '#/components/responses/MessageResponse'
'403':
$ref: '#/components/responses/MessageResponse'
'500':
$ref: '#/components/responses/MessageResponse'
default:
$ref: '#/components/responses/ErrorResponse'
security:
- X-API-Key: []
requestBody:
$ref: '#/components/requestBodies/SetDefaultTeamMembersRequest'
description: Set (replace) the list of default team members
parameters:
- schema:
type: string
in: header
description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
name: X-Team-Id
required: true
delete:
summary: Delete Default Team Members
operationId: delete-v1-user-team-default-members
tags:
- internal
responses:
'200':
$ref: '#/components/responses/MessageResponse'
'400':
$ref: '#/components/responses/MessageResponse'
'401':
$ref: '#/components/responses/MessageResponse'
'403':
$ref: '#/components/responses/MessageResponse'
'500':
$ref: '#/components/responses/MessageResponse'
default:
$ref: '#/components/responses/ErrorResponse'
security:
- X-API-Key: []
requestBody:
$ref: '#/components/requestBodies/DeleteDefaultTeamMemberRequest'
description: Delete default team members (specific or all)
parameters:
- schema:
type: string
in: header
description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
name: X-Team-Id
required: true
/v1/admin/team/member:
post:
summary: Add Team Member (Admin)
operationId: post-v1-admin-team-member
tags:
- internal
responses:
'200':
$ref: '#/components/responses/MessageResponse'
'400':
$ref: '#/components/responses/MessageResponse'
'401':
$ref: '#/components/responses/MessageResponse'
'403':
$ref: '#/components/responses/MessageResponse'
'500':
$ref: '#/components/responses/MessageResponse'
default:
$ref: '#/components/responses/ErrorResponse'
security:
- X-API-Key: []
requestBody:
$ref: '#/components/requestBodies/AdminAddTeamMemberRequest'
description: (ADMIN) Invite a new team member
/v1/payment/stripe/checkout_session:
parameters: []
post:
summary: Create Subscription Checkout
operationId: post-v1-payment-stripe-checkout_session
tags:
- internal
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
message:
type: string
payment_url:
type: string
required:
- message
'400':
$ref: '#/components/responses/MessageResponse'
'401':
$ref: '#/components/responses/MessageResponse'
'500':
$ref: '#/components/responses/MessageResponse'
default:
$ref: '#/components/responses/ErrorResponse'
security:
- X-API-Key: []
requestBody:
content:
application/json:
schema:
type: object
properties:
price_id:
type: string
required:
- price_id
description: Create a new payment checkout
parameters:
- schema:
type: string
in: header
description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
name: X-Team-Id
/v1/integration/{name}:
parameters:
- schema:
type: string
name: name
in: path
required: true
get:
summary: Get Integration
tags:
- internal
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
status:
type: string
message:
type: string
key:
type: string
connection_id:
type: string
integration_id:
type: string
fetching_status:
type: boolean
required:
- status
- message
- key
- connection_id
- integration_id
- fetching_status
'400':
$ref: '#/components/responses/ErrorResponse'
'500':
$ref: '#/components/responses/ErrorResponse'
default:
$ref: '#/components/responses/ErrorResponse'
operationId: get-v1-integration
security:
- X-API-Key: []
description: Get integration list
parameters:
- schema:
type: string
in: header
description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
name: X-Team-Id
post:
summary: Create Integration
operationId: post-v1-integration
tags:
- internal
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
status:
type: string
message:
type: string
key:
type: string
connection_id:
type: string
integration_id:
type: string
fetching_status:
type: boolean
required:
- status
- key
- connection_id
- integration_id
- fetching_status
'400':
$ref: '#/components/responses/ErrorResponse'
'500':
$ref: '#/components/responses/ErrorResponse'
default:
$ref: '#/components/responses/ErrorResponse'
security:
- X-API-Key: []
description: Add Integration
parameters:
- schema:
type: string
in: header
description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
name: X-Team-Id
patch:
summary: Verify Integration
operationId: patch-v1-integration
tags:
- internal
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
message:
type: string
required:
- message
'400':
$ref: '#/components/responses/ErrorResponse'
'500':
$ref: '#/components/responses/ErrorResponse'
default:
$ref: '#/components/responses/ErrorResponse'
security:
- X-API-Key: []
requestBody:
content:
application/json:
schema:
type: object
properties:
connection_id:
type: string
required:
- connection_id
description: Verify connection_id
parameters:
- schema:
type: string
in: header
description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
name: X-Team-Id
delete:
summary: Delete Integration
tags:
- internal
responses:
'200':
description: OK
'400':
$ref: '#/components/responses/ErrorResponse'
default:
$ref: '#/components/responses/ErrorResponse'
operationId: delete-v1-integration
security:
- X-API-Key: []
requestBody:
content:
application/json:
schema:
type: object
properties:
connection_id:
type: string
required:
- connection_id
description: Deleted integration
parameters:
- schema:
type: string
in: header
description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team'
name: X-Team-Id
/v1/integration/{name}/all:
parameters:
- schema:
type: string
name: name
in: path
required: true
get:
summary: Get All Integrations
tags:
- internal
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
# --- truncated at 32 KB (77 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/nuclei/refs/heads/main/openapi/nuclei-internal-api-openapi.yml