# Political Comms > Documentation for the Political Comms P2P texting platform - help center, onboarding, compliance, and API reference. ## Docs - [CLAUDE](https://docs.politicalcomms.com/CLAUDE.md) - [AI Agent Integration](https://docs.politicalcomms.com/agent-readiness.md): How AI agents discover, search, and reason about Political Comms. MCP server, OpenAPI, llms.txt, and the rest of the discovery surface. - [Get Message Stats](https://docs.politicalcomms.com/api-reference/analytics/get-message-stats.md): Get message statistics aggregated by status with daily breakdowns. - [Authentication](https://docs.politicalcomms.com/api-reference/authentication.md): API keys, the X-API-Key header, scoping to your organization hierarchy, and how to keep secrets safe. - [Best Practices](https://docs.politicalcomms.com/api-reference/best-practices.md): API key security, caching recommendations, rate limit strategies, and date range optimization. - [Get Usage](https://docs.politicalcomms.com/api-reference/billing/get-usage.md): Get usage and billing data by organization. - [Get Usage by Initiator](https://docs.politicalcomms.com/api-reference/billing/get-usage-by-initiator.md): Get usage grouped by initiating organization. - [List Brands](https://docs.politicalcomms.com/api-reference/brands/list-brands.md): List all brands. Optionally filter by organization. - [List Campaigns](https://docs.politicalcomms.com/api-reference/campaigns/list-campaigns.md): List all campaigns. Filter by organization or brand. - [Analyze Contact List](https://docs.politicalcomms.com/api-reference/contact-lists/analyze-contact-list.md): Trigger LRN mobile/landline/VoIP/invalid analysis for an imported list. Billable. - [Get Contact List](https://docs.politicalcomms.com/api-reference/contact-lists/get-contact-list.md): Fetch a single contact list including import progress and analysis results. - [Import Contact List](https://docs.politicalcomms.com/api-reference/contact-lists/import-contact-list.md): Import a CSV from a client-supplied presigned S3 or public HTTPS URL. Returns immediately; poll `GET /contact-lists/{id}` for `ready`. - [List Contact Lists](https://docs.politicalcomms.com/api-reference/contact-lists/list-contact-lists.md): List all contact lists. Filter by organization or brand. - [Error Handling](https://docs.politicalcomms.com/api-reference/errors.md): Conventional HTTP response codes with a structured error object containing code, message, and additional context. - [Introduction](https://docs.politicalcomms.com/api-reference/introduction.md): Public REST API for integrating messaging data, project statistics, and billing into your stack. - [Get Media File](https://docs.politicalcomms.com/api-reference/media-files/get-media-file.md): Fetch a single media file including readiness + metadata. - [Import Media](https://docs.politicalcomms.com/api-reference/media-files/import-media.md): Import media from a client-supplied presigned S3 or public HTTPS URL. Server fetches, stores, and runs the optimization pipeline. Poll `GET /media/{id}` for `ready`. - [List Media Files](https://docs.politicalcomms.com/api-reference/media-files/list-media-files.md): List all media files. Filter by organization or brand. - [Get Hierarchy](https://docs.politicalcomms.com/api-reference/organizations/get-hierarchy.md): Get the full organization hierarchy with brands and campaigns. - [List Organizations](https://docs.politicalcomms.com/api-reference/organizations/list-organizations.md): List all descendant organizations accessible to your API key. - [List Phone Numbers](https://docs.politicalcomms.com/api-reference/phone-numbers/list-phone-numbers.md): List all phone numbers across both channels: 10DLC numbers (owned via a campaign) and toll-free numbers (owned via a toll-free verification). Each row carries a `channel` and an `owner_type` indicating what it belongs to. The `campaign_id`/`campaign_name`/`brand_id`/`brand_name` fields are populated… - [Create Project](https://docs.politicalcomms.com/api-reference/projects/create-project.md): Create a new project in draft status. Broadcast type only. - [Get Project](https://docs.politicalcomms.com/api-reference/projects/get-project.md): Fetch a single project. - [Get Project Stats (all)](https://docs.politicalcomms.com/api-reference/projects/get-project-stats-all.md): Get project statistics for a date range across the hierarchy. - [Get Project Stats (single)](https://docs.politicalcomms.com/api-reference/projects/get-project-stats-single.md): Aggregate metrics for a single project (sent, delivered, undeliverable, clicks, replies, opt-outs). - [List Projects](https://docs.politicalcomms.com/api-reference/projects/list-projects.md): List all projects. Filter by organization, brand, or campaign. - [Schedule Project](https://docs.politicalcomms.com/api-reference/projects/schedule-project.md): Transition a project to `scheduled` status. - [Test Project](https://docs.politicalcomms.com/api-reference/projects/test-project.md): Send test message(s). Pass `test_contacts` as an array of 1-50 `{ phone }` objects. Merge fields in the message template are rendered from a sample contact in the project's contact list, not from the request. - [Unschedule Project](https://docs.politicalcomms.com/api-reference/projects/unschedule-project.md): Transition a scheduled project back to `ready`. - [Update Project](https://docs.politicalcomms.com/api-reference/projects/update-project.md): Update a project while in `draft` or `awaiting_test`. `organization_id` / `brand_id` / `campaign_id` / `channel` / `toll_free_verification_id` are immutable after creation; including them in the body returns a 400. All other fields are partial: send only the keys you want to change. - [Rate Limits](https://docs.politicalcomms.com/api-reference/rate-limits.md): 100 requests per hour per API key, with X-RateLimit-* response headers and 429 backoff guidance. - [Get Toll-Free Verification](https://docs.politicalcomms.com/api-reference/toll-free-verifications/get-toll-free-verification.md): Fetch a single toll-free verification, including the phone numbers it covers and any rejection reason. - [List Toll-Free Verifications](https://docs.politicalcomms.com/api-reference/toll-free-verifications/list-toll-free-verifications.md): List toll-free verifications (the carrier registrations behind your toll-free numbers) across your organization hierarchy. Filter by organization or by submission status. - [List Tracking Domains](https://docs.politicalcomms.com/api-reference/tracking-domains/list-tracking-domains.md): List active tracking domains across accessible organizations. Optional filter by organization. - [Event Types](https://docs.politicalcomms.com/api-reference/webhooks/events.md): Full JSON payload samples for message.sent, message.delivered, message.failed, message.replied, and link.clicked. - [Overview](https://docs.politicalcomms.com/api-reference/webhooks/overview.md): Real-time webhook notifications for messages, replies, and link clicks. Use cases, payload format, and architecture. - [Retry Policy](https://docs.politicalcomms.com/api-reference/webhooks/retry-policy.md): Four attempts with exponential backoff. Best practices for making handlers idempotent. - [Setup & Configuration](https://docs.politicalcomms.com/api-reference/webhooks/setup.md): Add a webhook endpoint, subscribe to events, copy the signing secret, and send a test webhook. - [Signature Validation](https://docs.politicalcomms.com/api-reference/webhooks/signature-validation.md): Every webhook request is signed with HMAC-SHA256 using your endpoint secret. Validate before trusting the payload. - [Changelog](https://docs.politicalcomms.com/changelog.md): Recent updates, improvements, and fixes to the Political Comms platform. - [The Campaign Registry (10DLC)](https://docs.politicalcomms.com/compliance/campaign-registry.md): Centralized registration system for verified business text messaging in the United States. Brand setup, campaign creation, costs, and timelines. - [Campaign Verify](https://docs.politicalcomms.com/compliance/campaign-verify.md): Nonpartisan verification service for U.S. political campaigns, PACs, and committees. Eligibility, process, costs, and validity. - [Compliance Checklist](https://docs.politicalcomms.com/compliance/checklist.md): Run through this 10-item checklist for every campaign to make sure you stay compliant with all regulations. - [CTIA Messaging Principles & Best Practices](https://docs.politicalcomms.com/compliance/ctia.md): Wireless industry standards for protecting consumers and maintaining message deliverability - opt-in consent, informed consent, opt-out handling. - [FCC Political Text Messaging Rules](https://docs.politicalcomms.com/compliance/fcc-political.md): How the FCC applies TCPA specifically to political text messaging campaigns, including the Facebook v. Duguid autodialer ruling. - [Compliance Glossary](https://docs.politicalcomms.com/compliance/glossary.md): Definitions for 10DLC, A2P, ATDS, CSP, TCPA, TCR, 527 organizations, and other terms you'll encounter in political-text compliance. - [Compliance & Regulatory Guide](https://docs.politicalcomms.com/compliance/overview.md): Stay compliant with federal regulations and industry best practices for political text messaging - TCPA, FCC, CTIA, 10DLC, and Campaign Verify. - [Telephone Consumer Protection Act (TCPA)](https://docs.politicalcomms.com/compliance/tcpa.md): Federal law protecting consumers from unwanted automated calls and text messages. Key requirements, political exemptions, and penalties up to $1,500 per message. - [Messaging Best Practices](https://docs.politicalcomms.com/help/best-practices.md): How to write effective opening messages, when to send, opt-out handling, response rate optimization, and what to avoid. - [Billing & Account Balance](https://docs.politicalcomms.com/help/billing.md): How balance-based billing works, auto-recharge, organization hierarchy, 10DLC costs, and refund policy. - [Compliance Basics](https://docs.politicalcomms.com/help/compliance.md): TCPA, consent, CTIA principles, and how to handle opt-out requests. - [Getting Started](https://docs.politicalcomms.com/help/getting-started.md): What the platform does, how 10DLC works, what you need to register, and how fast you can launch your first campaign. - [Platform Features](https://docs.politicalcomms.com/help/platform-features.md): Throughput, MMS, personalization, two-way conversations, team permissions, and reporting. - [Technical Support](https://docs.politicalcomms.com/help/technical-support.md): Supported devices, delivery troubleshooting, API integration, contact imports, error handling, and where to learn more. - [Welcome to Political Comms](https://docs.politicalcomms.com/introduction.md): Enterprise-grade P2P texting for political campaigns, PACs, parties, and nonprofits. Documentation, compliance guidance, and API reference. - [Privacy Policy](https://docs.politicalcomms.com/legal/privacy.md): Political Comms' privacy practices for the data we collect, how we use it, and your choices. - [Terms of Use](https://docs.politicalcomms.com/legal/terms.md): Terms of Use governing access to and use of the Political Comms platform. - [Step 2: 10DLC Brand & Campaign Registration](https://docs.politicalcomms.com/onboarding/10dlc-registration.md): Register each brand with The Campaign Registry, vet with Campaign Verify, create campaigns, and provision phone numbers. - [Step 1: Account Setup & Organization Profile](https://docs.politicalcomms.com/onboarding/account-setup.md): Configure your organization details, invite team members, set preferences, and add billing - typically 10–15 minutes. - [Step 3: Upload & Organize Contacts](https://docs.politicalcomms.com/onboarding/contacts.md): Import voter lists via CSV, validate with carrier lookup, segment for targeting, and manage opt-out lists. - [Step 4: Create Your First Messaging Project](https://docs.politicalcomms.com/onboarding/first-project.md): Build a project, compose your message with personalization, add media, set up quick replies, send tests, and queue for sending. - [Step 5: Monitor, Engage, and Optimize](https://docs.politicalcomms.com/onboarding/monitoring.md): Track delivery, respond to replies, manage opt-outs, analyze performance, and iterate on what works. - [Onboarding Guide](https://docs.politicalcomms.com/onboarding/overview.md): Get up and running in 2-3 business days. Five sequential steps from account setup to sending your first message. ## OpenAPI Specs - [openapi](https://docs.politicalcomms.com/api-reference/openapi.json) ## Optional - [Dashboard](https://app.politicalcomms.com) - [Status](https://status.politicalcomms.com)