openapi: 3.1.0 info: title: PDCP agents User 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: User paths: /v1/user/domain-verification/request: delete: summary: Request Domain Delete tags: - User responses: '200': description: OK content: application/json: schema: type: object required: - domain - message properties: domain: type: string description: The domain to be deleted message: type: string '400': $ref: '#/components/responses/ErrorResponse' '401': $ref: '#/components/responses/ErrorResponse' '429': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' default: $ref: '#/components/responses/ErrorResponse' operationId: delete-v1-user-domain-verification-request requestBody: content: application/json: schema: type: object required: - domain - verification_type properties: domain: type: string description: Root domain to delete (e.g., example.com) verification_type: $ref: '#/components/schemas/DomainVerificationType' description: Delete domain verification request. Only root domains are supported. security: - X-API-Key: [] parameters: - schema: type: string in: header name: X-Team-Id description: 'Retrieve the Team ID from: https://cloud.projectdiscovery.io/settings/team' /v1/user/notification_preference: get: summary: Get User Notification Preferences operationId: get-v1-user-notification-preference tags: - User responses: '200': description: User notification preferences content: application/json: schema: type: object required: - weekly_digest_email - onboard_preference - real_time_autoscan - enable_auto_retest properties: weekly_digest_email: type: boolean description: Whether to receive weekly digest emails onboard_preference: type: object additionalProperties: true description: Dynamic key-value pairs for onboarding preferences real_time_autoscan: type: boolean description: Whether to receive real-time autoscan notifications enable_auto_retest: type: boolean description: Whether to enable auto retest leaks_notifications: type: object description: Leak notification preferences by type properties: my_leaks: type: boolean description: Personal email leak notifications employee_leaks: type: boolean description: Corporate/employee domain leak notifications customer_leaks: type: boolean description: Customer domain leak notifications '401': $ref: '#/components/responses/MessageResponse' '500': $ref: '#/components/responses/MessageResponse' default: $ref: '#/components/responses/ErrorResponse' security: - X-API-Key: [] description: Get user's notification preferences patch: summary: Update User Notification Preferences operationId: patch-v1-user-notification-preference tags: - User requestBody: required: true content: application/json: schema: type: object properties: weekly_digest_email: type: boolean description: Whether to receive weekly digest emails onboard_preference: type: object additionalProperties: true description: Dynamic key-value pairs for onboarding preferences leaks_notifications: type: object description: Leak notification preferences by type properties: my_leaks: type: boolean description: Personal email leak notifications employee_leaks: type: boolean description: Corporate/employee domain leak notifications customer_leaks: type: boolean description: Customer domain leak notifications real_time_autoscan: type: boolean description: Whether to receive real-time autoscan notifications enable_auto_retest: type: boolean description: Whether to enable auto retest responses: '200': description: Successfully updated notification preferences content: application/json: schema: type: object properties: message: type: string example: Notification preferences updated successfully '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: Update user's notification preferences /v1/user/migrate_to_team: post: summary: Migrate Personal workspace data to a new team tags: - User 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-migrate-to-team requestBody: $ref: '#/components/requestBodies/CreateTeamRequest' security: - X-API-Key: [] description: Migrate Personal workspace data to a new team components: schemas: DomainVerificationType: title: DomainVerificationType enum: - dns_text_record - html_meta_tag - file_upload default: dns_text_record responses: ErrorResponse: description: Example response content: application/json: schema: type: object required: - message properties: message: type: string kind: type: string code: type: string error: type: string error_id: type: string param: type: string status: type: integer MessageResponse: description: Example response content: application/json: schema: type: object required: - message properties: message: type: string requestBodies: CreateTeamRequest: content: application/json: schema: type: object properties: name: type: string required: - name securitySchemes: X-API-Key: name: X-API-Key type: apiKey in: header x-internal: false