# Agile CRM > Agile CRM is an all-in-one customer relationship management platform for small and mid-sized > businesses, combining contact management, sales pipeline tracking, marketing automation, helpdesk > ticketing and telephony. Its REST API exposes contacts, companies, deals, campaigns, tasks, events, > notes, tracks, tickets and documents over HTTP Basic authentication. Generated by API Evangelist on 2026-08-13 from apis.yml and the artifacts in this repository. Agile CRM does not publish an llms.txt of its own — https://www.agilecrm.com/llms.txt returns 404. ## Before you call anything - **Base URL is tenant-scoped and templated:** `https://{domain}.agilecrm.com/dev` where `{domain}` is your own account subdomain. There is no shared api.* host. - **Auth is HTTP Basic.** Username = the account holder's email address. Password = the *first* key on Admin Settings > API & Analytics, the one labelled "API Key for REST client". Any other key on that screen returns 401. - **Ask for JSON explicitly.** The default response format is XML. Send `Accept: application/json` on every request. - **Everything is case-sensitive** — enum values, tag names, and the email used as the Basic username. "Test" and "test" are different values. - **Writes are not safely retryable.** There is no idempotency key, no request-id echo and no conditional headers. Retrying a create after a timeout produces a duplicate record. - **There are no published rate limits and no rate-limit headers.** Pace yourself conservatively; the API gives you no runtime signal to back off on. - **204 does not always mean success.** On a GET, Agile CRM returns 204 instead of 404 when the record does not exist. ## API surface The API is documented as one REST API, split in this repository into ten tag-scoped OpenAPI documents totalling 71 operations. - [Contacts API](../openapi/agile-crm-contacts-api-openapi.yml): 20 operations — create, read, update, delete, tag, score and search contacts and companies. - [Deals API](../openapi/agile-crm-deals-api-openapi.yml): 13 operations — deals are addressed as `/api/opportunity`. - [Notes API](../openapi/agile-crm-notes-api-openapi.yml): 8 operations on contact and deal notes. - [Tasks API](../openapi/agile-crm-tasks-api-openapi.yml): 8 operations. - [HelpDesk API](../openapi/agile-crm-helpdesk-api-openapi.yml): 6 operations on tickets. - [Events API](../openapi/agile-crm-events-api-openapi.yml): 5 operations on calendar events. - [Tracks API](../openapi/agile-crm-tracks-api-openapi.yml): 4 operations — tracks (deal pipelines) are addressed as `/api/milestone/pipelines`. - [Campaigns API](../openapi/agile-crm-campaigns-api-openapi.yml): 3 operations — campaigns are addressed as `/api/workflows`; list, enrol a contact, remove a subscriber. - [Documents API](../openapi/agile-crm-documents-api-openapi.yml): 3 operations. - [Companies API](../openapi/agile-crm-companies-api-openapi.yml): 1 operation. Watch the naming: the noun in the docs and the noun in the URL differ for three objects. Deal = `/api/opportunity`. Track = `/api/milestone/pipelines`. Campaign = `/api/workflows`. ## Artifacts in this repository - [apis.yml](../apis.yml) — the APIs.json index for Agile CRM. - [Authentication](../authentication/agile-crm-authentication.yml) — Basic auth profile and the full-account privilege model. - [Conventions](../conventions/agile-crm-conventions.yml) — paging, content negotiation, versioning, case sensitivity, bulk operations. - [Error catalog](../errors/agile-crm-problem-types.yml) — the five statuses the vendor documents. - [Data model](../data-model/agile-crm-data-model.yml) — 11 entities, 15 relationships. - [Webhooks](../asyncapi/agile-crm-webhooks.yml) — four events across two modules, unsigned. - [Plans and pricing](../plans/agile-crm-plans-pricing.yml) — four tiers, contact ceilings. - [Rate limits](../rate-limits/agile-crm-rate-limits.yml) — none published. - [Lifecycle](../lifecycle/agile-crm-lifecycle.yml) — no versioning, deprecation, SLA or status page. - [Packages](../packages/agile-crm-packages.yml) — nine first-party SDKs, only one ever on a registry. - [Components](../components/agile-crm-components.yml) — embeddable front-end surfaces. - [Conformance](../conformance/agile-crm-conformance.yml) — standards assertions with evidence. - [Domain security](../security/agile-crm-domain-security.yml) — TLS/DNS probe results. - [Well-known probe](../well-known/agile-crm-well-known.yml) — nothing served. - [Agent skills](../skills/_index.yml) — packaged flows grounded in real operations. ## Provider surfaces - Developer page: https://www.agilecrm.com/api - REST API reference (authoritative): https://github.com/agilecrm/rest-api - Webhooks guide: https://github.com/agilecrm/webhooks - GitHub organisation: https://github.com/agilecrm - Pricing: https://www.agilecrm.com/pricing - Terms: https://www.agilecrm.com/terms - Privacy policy: https://www.agilecrm.com/privacy-policy ## What Agile CRM does not publish Recorded so an agent does not go looking. Each was probed on 2026-08-13. - No OpenAPI or Swagger document (`/openapi.json`, `/openapi.yaml`, `/swagger.json`, `/api-docs` all 404). - No MCP server, hosted or installable. - No A2A agent card. Every `/.well-known/*` path returns 403 from the origin. - No GraphQL endpoint, no gRPC/protobuf. - No AsyncAPI document. - No status page. `status.agilecrm.com` is the application login, not a status page. - No changelog, no versioning policy, no deprecation policy, no SLA. - No security.txt, no bug bounty, no trust centre, no named certifications. - No sandbox or test mode, and no first-party CLI.