# PowerDialer API > Manage PowerDialer contact lists and read call analytics server-to-server. - [Introduction](https://docs.powerdialer.ai/introduction.md): Manage PowerDialer contact lists and read a user's call analytics from your own systems, server to server. - [Authentication](https://docs.powerdialer.ai/authentication.md): Every request carries the shared API key and the PowerDialer user it acts for. - [Quickstart](https://docs.powerdialer.ai/quickstart.md): Create a contact list, add contacts and read analytics in three requests. - [Contact lists](https://docs.powerdialer.ai/guides/contact-lists.md): Create, update and delete the lists reps dial from. - [Contacts in a list](https://docs.powerdialer.ai/guides/contacts.md): Add contacts in batches of up to 10,000, and remove them by id or phone number. - [Analytics summary](https://docs.powerdialer.ai/guides/analytics.md): Read the acting user's call counts and rates for a range of calendar days. - [Errors and limits](https://docs.powerdialer.ai/reference/errors-and-limits.md): Status codes, the error body format, rate limits and payload caps. - [Best practices](https://docs.powerdialer.ai/reference/best-practices.md): How to integrate reliably: batching, ids, phone formats and key handling. - [Create a list](https://docs.powerdialer.ai/api-reference/create-contact-list.md): Creates a list, optionally seeded with contacts in the same call. Contacts go through the same path as a CSV upload, including background enrichment. If the payload repeats a phone number, only the first occurrence is kept and the response adds `duplicatesInPayload`. - [Update a list](https://docs.powerdialer.ai/api-reference/update-contact-list.md): Renames the list and/or changes its group. Send at least one field. `"groupName": null` clears the group. - [Delete a list](https://docs.powerdialer.ai/api-reference/delete-contact-list.md): Deletes the list and the contacts in it, exactly as deleting in the app does. - [Add contacts (batch)](https://docs.powerdialer.ai/api-reference/add-contacts.md): Appends up to 10,000 contacts in one transaction. A phone number already in the list is skipped and counted in `skippedExisting` (its name and metadata are not updated). Repeated numbers inside one payload collapse to the first one and are counted in `duplicatesInPayload`. A failure leaves nothing h… - [Remove a contact by id](https://docs.powerdialer.ai/api-reference/remove-contact-by-id.md): Removes one contact from the list by its id. Removing deletes the contact record, the same as deleting a contact in the app. - [Remove a contact by phone number](https://docs.powerdialer.ai/api-reference/remove-contact-by-phone.md): Removes every contact in the list whose primary or additional number matches `phoneNumber`, with or without the leading `+`. URL-encode `+` as `%2B`. Removing deletes the contact record, the same as deleting a contact in the app. - [Analytics summary](https://docs.powerdialer.ai/api-reference/analytics-summary.md): Returns the acting user's call counts for a range of calendar days. "Connected" and "conversation" use the same definitions as the PowerDialer dashboard. The range may cover at most 366 days; impossible dates answer `400`. - [Create a list](https://docs.powerdialer.ai/api-reference/contact-lists/create-a-list.md): Creates a list, optionally seeded with contacts in the same call. Contacts go through the same path as a CSV upload, including background enrichment. If the payload repeats a phone number, only the first occurrence is kept and the response adds `duplicatesInPayload`. - [Delete a list](https://docs.powerdialer.ai/api-reference/contact-lists/delete-a-list.md): Deletes the list and the contacts in it, exactly as deleting in the app does. - [Update a list](https://docs.powerdialer.ai/api-reference/contact-lists/update-a-list.md): Renames the list and/or changes its group. Send at least one field. `"groupName": null` clears the group. - [Add contacts (batch)](https://docs.powerdialer.ai/api-reference/contacts/add-contacts-batch.md): Appends up to 10,000 contacts in one transaction. A phone number already in the list is skipped and counted in `skippedExisting` (its name and metadata are not updated). Repeated numbers inside one payload collapse to the first one and are counted in `duplicatesInPayload`. A failure leaves nothing h… - [Remove a contact by phone number](https://docs.powerdialer.ai/api-reference/contacts/remove-a-contact-by-phone-number.md): Removes every contact in the list whose primary or additional number matches `phoneNumber`, with or without the leading `+`. URL-encode `+` as `%2B`. Removing deletes the contact record, the same as deleting a contact in the app. - [Remove a contact by id](https://docs.powerdialer.ai/api-reference/contacts/remove-a-contact-by-id.md): Removes one contact from the list by its id. Removing deletes the contact record, the same as deleting a contact in the app. - [Analytics summary](https://docs.powerdialer.ai/api-reference/analytics/analytics-summary.md): Returns the acting user's call counts for a range of calendar days. "Connected" and "conversation" use the same definitions as the PowerDialer dashboard. The range may cover at most 366 days; impossible dates answer `400`. ## OpenAPI Specs - [openapi](/api-reference/openapi.json) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.