openapi: 3.0.3 info: title: Have I Been Pwned API v3 Breach Dataclasses API description: Version 3 of the Have I Been Pwned API. Authenticated APIs for breaches by account, pastes, domain search, domain verification, stealer logs, and subscription status require both the hibp-api-key and user-agent headers. Availability varies by subscription tier and is noted per operation. The Pwned Passwords range API is free and does not require authentication. version: 3.0.0 license: name: Creative Commons Attribution 4.0 International url: https://creativecommons.org/licenses/by/4.0/ servers: - url: https://haveibeenpwned.com/api/v3 description: HIBP API v3 server - url: https://api.pwnedpasswords.com description: Pwned Passwords k-Anonymity API (no authentication required) tags: - name: Dataclasses paths: /dataclasses: servers: - url: https://haveibeenpwned.com/api/v3 get: summary: Get all data classes in the system description: Returns the alphabetically ordered list of data classes seen across breaches in the system. This endpoint is unauthenticated, but it still requires a user-agent header. parameters: - $ref: '#/components/parameters/UserAgent' responses: '200': description: Alphabetically ordered list of data classes content: application/json: schema: type: array items: type: string '403': description: Forbidden — missing user agent content: application/json: schema: $ref: '#/components/schemas/Error' tags: - Dataclasses components: parameters: UserAgent: name: user-agent in: header required: true description: User agent string identifying the consuming application. Required on all documented requests, including unauthenticated endpoints; missing user agents may receive HTTP 403 responses. schema: type: string schemas: Error: type: object properties: statusCode: type: integer message: type: string required: - statusCode - message description: Standard error response returned by most authenticated HIBP APIs. securitySchemes: HibpApiKey: type: apiKey in: header name: hibp-api-key description: HIBP API key passed in the hibp-api-key header. Paid APIs require a 32-character hexadecimal value. On supported test-only endpoints, any 32-character hexadecimal value can be used as a test key for the hibp-integration-tests.com domain. externalDocs: description: Full API documentation and acceptable use policy url: https://haveibeenpwned.com/API/v3