openapi: 3.1.0 info: title: ZoomInfo Authentication API description: The ZoomInfo API is a set of HTTPS endpoints you can use to programmatically retrieve and integrate ZoomInfo data into your existing technology stack and ... contact: name: ZoomInfo API Support url: https://www.zoominfo.com/about/help-center email: support@zoominfo.com version: '1.0' x-last-validated: '2026-04-18' servers: - url: https://api.zoominfo.com description: ZoomInfo API Production Server security: - bearerAuth: [] tags: - name: Authentication description: 'The ZoomInfo API authenticates client access requests using a JSON Web Token (JWT). A JWT is a string that is generated by the server for the client that can then be passed along in an HTTPS request. **Note**: The Authenticate endpoint is one method for authenticating with the ZoomInfo API with a username and password. For other methods that utilize public libraries for Java, Python, and NodeJS, see the ''Authentication methods'' section in the [ZoomInfo API introduction](#intro). To obtain the token, the client exchanges valid user credentials with the server which generates the token and provides it back to the client. An access token generally has a set expiration time after which a new token will need to be requested by the client. Use the Authenticate endpoint to pass valid ZoomInfo user credentials to the API. If authentication is successful, a JWT access token is provided in the response body. **Important: The token is good for 60 minutes from the time that the response was generated.** * **Do not generate a new JWT with every call/request.** * **As a best practice to keep the session active, refresh the JWT every 55 minutes.**' paths: /authenticate: parameters: [] post: tags: - Authentication summary: Zoominfo Authenticate description: 'Return a valid JWT access token by inputting your ZoomInfo username and password. **Important: The token is good for 60 minutes from the time that the response was generated.** - **Do not generate a new JWT with every call/request.** - **As a best practice to keep the session active, refresh the JWT every 55 minutes.**' operationId: Authenticate parameters: [] requestBody: description: '' content: application/json: schema: allOf: - $ref: '#/components/schemas/AuthenticateRequest' - examples: - username: username password: password contentMediaType: application/json example: username: username password: password required: true responses: default: description: '' headers: {} content: {} deprecated: false x-microcks-operation: delay: 0 dispatcher: FALLBACK components: schemas: AuthenticateRequest: title: AuthenticateRequest required: - username - password type: object properties: username: type: string example: Acme Corporation password: type: string example: password examples: - username: username password: password securitySchemes: httpBearer: type: http scheme: bearer bearerAuth: type: http scheme: bearer bearerFormat: JWT description: JWT token obtained from the /authenticate endpoint