# PureWL DPP > Developer guides and API reference for the PureWL Data Privacy Protection (DPP) platform — dark web monitoring, data broker opt-out, and user management. ## Guides ### Get started - [Introduction to PureWL APIs](/introduction-to-apis): An introduction to PureWL's RESTful APIs and the core concepts you need to integrate with the Data Privacy Protection platform. - [How PureWL APIs Work](/how-do-apis-work): Walks through the Data Privacy Protection workflow, from obtaining an access token to exposure checks, dark web monitoring, and data broker opt-out. - [Quickstart](/quickstart): Go from a Secret Key to your first successful authenticated PureWL DPP API call in minutes. ## API Reference ### Overview - [API Reference](/api-reference/overview): A complete reference for the PureWL API, organized into authentication, user management, dark web monitoring, and data broker opt-out endpoint groups. - [API Access Authentication](/api-reference/authentication): Exchange your Secret Key for an Access Token, and refresh it when it expires. - [Errors](/api-reference/errors): How PureWL DPP API responses report success and failure: the response envelope, HTTP status codes, and retry guidance. - [Rate Limits](/api-reference/rate-limits): How PureWL DPP API rate limiting works and how to back off when you hit a limit. ### User Management - [User Management](/api-reference/user-management/overview): Create, list, update, enable, disable, renew, and delete users, and onboard them to one or more PureWL DPP services in a single call. - [Create a User](/api-reference/user-management/create-user): Create a user and onboard them to one or more services in a single call. - [List Users](/api-reference/user-management/list-users): Retrieves a paginated list of users. - [Get User](/api-reference/user-management/get-user): Retrieve a user's profile details, account status, and subscribed services by username. - [Update a User](/api-reference/user-management/update-user): Updates the profile service attributes of an existing user. - [Enable a User](/api-reference/user-management/enable-user): Enables a previously disabled user. - [Disable a User](/api-reference/user-management/disable-user): Disables an active user. - [Extend User Expiry](/api-reference/user-management/extend-expiry): Extends the expiry date for an existing user. - [Renew a User](/api-reference/user-management/renew-user): Renews an existing user's subscription for the given `period`. - [Delete a User](/api-reference/user-management/delete-user): Permanently delete a user from a service. ### Dark Web Monitoring **Quick Scan** - [Stats by Email](/api-reference/dark-web-monitoring/quick-scan/stats-email): Returns aggregate exposure counts for an email address from the dark-web breach dataset (total records, distinct breach sources, and how recently it was last seen), plus the same roll-up for its domain. - [Stats by Domain](/api-reference/dark-web-monitoring/quick-scan/stats-domain): Returns aggregate exposure counts for an entire domain from the dark-web breach dataset, broken down into employee vs. consumer exposure. **Dark Web Scan** - [Get Records by Email](/api-reference/dark-web-monitoring/dark-web-scan/email): Returns every record in the dark-web breach dataset that exposes the given email address. - [Get Records by Domain](/api-reference/dark-web-monitoring/dark-web-scan/domain): Returns breach records in the dark-web breach dataset that touch the given domain — accounts belonging to it (employee exposure) and machines that had it as a login target. - [Get Records by Phone Number](/api-reference/dark-web-monitoring/dark-web-scan/phone-number): Returns breach records in the dark-web breach dataset that expose the given phone number. - [Get Records by Username](/api-reference/dark-web-monitoring/dark-web-scan/username): Returns breach records in the dark-web breach dataset that expose the given username (handle/login). - [Get Records by Password](/api-reference/dark-web-monitoring/dark-web-scan/password): Look up breach records that expose a password. - [Get Records by IP Address](/api-reference/dark-web-monitoring/dark-web-scan/ip-address): Returns breach records in the dark-web breach dataset associated with the given IP address. - [Get Records by Bank Number](/api-reference/dark-web-monitoring/dark-web-scan/bank-number): Returns breach records in the dark-web breach dataset that reference the given bank account number. - [Get Records by Credit Card Number](/api-reference/dark-web-monitoring/dark-web-scan/credit-card-number): Returns breach records in the dark-web breach dataset that expose the given payment card number. - [Get Records by National ID](/api-reference/dark-web-monitoring/dark-web-scan/national-id): Returns breach records in the dark-web breach dataset that expose the given national identity number. - [Get Records by Social Security Number](/api-reference/dark-web-monitoring/dark-web-scan/ssn): Returns breach records in the dark-web breach dataset that expose the given US Social Security Number. - [Get Records by Passport Number](/api-reference/dark-web-monitoring/dark-web-scan/passport-number): Returns breach records in the dark-web breach dataset that expose the given passport number. - [Get Records by Health Insurance ID](/api-reference/dark-web-monitoring/dark-web-scan/health-insurance-id): Look up breach records that expose a health insurance ID. - [Get Records by Driver's License](/api-reference/dark-web-monitoring/dark-web-scan/drivers-license): Returns breach records in the dark-web breach dataset that expose the given driver's license number. **Breach Catalog** - [List All Breach Metadata](/api-reference/dark-web-monitoring/breach-catalog/list-breaches): Returns a paginated catalog of the data breaches and infostealer/malware sources tracked in the dark-web breach dataset. - [Get Metadata for a Breach](/api-reference/dark-web-monitoring/breach-catalog/get-breach): Returns the metadata for a single breach in the dark-web breach dataset, identified by its breach source id (the uuid from the catalog listing), wrapped as a single-result list. **ID Enrichment** - [Get User Exposure by Phone Number](/api-reference/dark-web-monitoring/id-enrichment/phone): Pulls every breach record exposing the given phone number and collapses them into ONE profile (one field per key, arrays for multiple distinct values). - [Get User Exposure by Email](/api-reference/dark-web-monitoring/id-enrichment/email): Pulls every breach record exposing the given email and collapses them into ONE profile: each field appears once, with a single value or — when several distinct values were exposed — an array. **Real-Time Dark Web Monitoring** - [User & Asset Management](/api-reference/dark-web-monitoring/real-time/user-asset-management): Register the people Real-Time Dark Web Monitoring watches, and attach the email addresses, phone numbers, and other assets it searches for. - [Dark Web Monitoring Webhooks](/api-reference/dark-web-monitoring/real-time/webhooks): Receive the dwm.breach.detected event when your monitored users' assets have new breach records, with its payload. ### Data Broker Opt-Out Service **Broker Scan** - [Instant People Search](/api-reference/data-broker-opt-out/broker-scan/instant-people-search): A one-off lookup that runs a broker probe and returns a minimal response split into two arrays. **Evidence Based Scan** - [Evidence Based Scan](/api-reference/data-broker-opt-out/broker-scan/evidence-based-scan): Get the status of every data broker for a user. - [Retrieve Screenshots](/api-reference/data-broker-opt-out/broker-scan/retrieve-screenshots): Returns a 1-hour URL for a screenshot. **Broker Catalog** - [List Brokers](/api-reference/data-broker-opt-out/broker-catalog/list-brokers): The data broker catalogue, a page at a time. - [Get Broker by ID](/api-reference/data-broker-opt-out/broker-catalog/get-broker): One broker by its brokerId, in the same shape as the list. **Automate Opt-Out** - [Initiate Profile Request (POA Sign)](/api-reference/data-broker-opt-out/automate-opt-out/initiate-profile-request): Records Power-of-Attorney consent: marks the profile signed=true, stamps signedOn and starts the 60-day removal cycle. - [Get Profile Status](/api-reference/data-broker-opt-out/automate-opt-out/get-profile-status): Get the status of every data broker for a user. - [Data Broker Opt-Out Webhooks](/api-reference/data-broker-opt-out/automate-opt-out/webhooks): Receive Data Broker Opt-Out events without polling: rmd.scan.complete, rmd.removal.confirmed, and rmd.data.reappeared, with their payloads. **ID Enrichment** - [Person Lookup](/api-reference/data-broker-opt-out/id-enrichment/person-lookup): Resolves a person from name + location into one merged identity profile: aliases, ages, addresses, phone numbers and relatives. - [Reverse Phone Lookup](/api-reference/data-broker-opt-out/id-enrichment/reverse-phone-lookup): Reverse phone lookup for US numbers: the registered owner's name, address, carrier and phone-type classification when available. ## Demo ### Get started - [Demo](/demo/overview): Run live DPP scans from your browser — dark web monitoring and data broker scans against the sandbox API. ### Data Broker Opt-Out - [Instant People Search](/demo/people-search): Run a live people-search scan across data broker sites. - [Evidence Based Scan](/demo/people-search-evidence): Run a live evidence-enabled broker scan and see a screenshot of each broker page. ### Dark Web Monitoring - [Quick Exposure Scan](/demo/exposure-scan): See how many dark web exposures are on record for an email address. - [Historical Breach Data](/demo/breach-data): Run a live plaintext dark web breach scan. - [Historical Breach Data (Redacted)](/demo/breach-data-redacted): Run a live redacted dark web breach scan. - [Historical Infostealer Data](/demo/infostealer-data): Run a live plaintext infostealer scan. - [Historical Infostealer Data (Redacted)](/demo/infostealer-data-redacted): Run a live redacted infostealer scan. - [Complete Historical Data](/demo/complete-historical-data): Run a live combined breach and infostealer scan. - [Complete Historical Data (Redacted)](/demo/complete-historical-data-redacted): Run a live redacted combined breach and infostealer scan.