> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.propexo.com/api-reference/crm-generic-ap-is/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.propexo.com/_mcp/server. ## Read Endpoints All GET endpoints are generic and will be uniform for all CRM systems. There are no system-specific GET endpoints. Since Propexo is a unified API, the data shape will be the same for all systems. What will differ is the completeness of the data returned. For example, Propexo's response payload will always include a `middle_name` field, but it may be `null` for Knock, while Funnel provides a value. > **Warning** > > Except for a few limited cases, all fields in every response payload are nullable. This is to account for the fact that not all systems will hydrate all fields. There are few core fields which should be have values in every payload, including `id`, `created_at`, `updated_at`, `last_seen`, `integration_id`, and `integration_vendor`. You should assume all other fields may be null in some cases. Please reach out to Propexo for details if you have questions about any field. ## Write Endpoints With the Propexo API, you can choose to leverage our generic write endpoints or the system-specific write endpoints. The benefit to using generic write endpoints is that you do not have to manage many different endpoints that perform the same operation. > **Note** > > Below is an example of what it might look like to write to the generic endpoint creating a prospect. ```js // Propexo will route the request to the // appropriate system-specific endpoint // under the hood. await app.post('crm/v1/prospects', { ...prospectPayload, integration_id: 'foo' }) ``` > **Note** > > Below is an example of what it might look like to write to a system-specific endpoint. Note that you would need to understand the system context and define the Knock specific endpoint. ```js // You would need to understand the system context // and define the Knock specific endpoint. await app.post('crm/v1/prospects/knock', { ...prospectPayload, integration_id: 'bar' }) ``` The end result will be the same. You are just given the option to choose how much control you would like. ## API Docs - CRM Generic APIs > Agents [Get all Agents](https://docs.propexo.com/api-reference/crm-generic-ap-is/agents/get-all-agents.md) - CRM Generic APIs > Agents [Get an Agent by ID](https://docs.propexo.com/api-reference/crm-generic-ap-is/agents/get-an-agent-by-id.md) - CRM Generic APIs > Appointments [Create Appointment](https://docs.propexo.com/api-reference/crm-generic-ap-is/appointments/create-appointment.md) - CRM Generic APIs > Appointments [Query Realtime Appointment Availability](https://docs.propexo.com/api-reference/crm-generic-ap-is/appointments/query-realtime-appointment-availability.md) - CRM Generic APIs > Appointments [Update Appointment](https://docs.propexo.com/api-reference/crm-generic-ap-is/appointments/update-appointment.md) - CRM Generic APIs > Attributions [Get all Attributions](https://docs.propexo.com/api-reference/crm-generic-ap-is/attributions/get-all-attributions.md) - CRM Generic APIs > Attributions [Get an Attribution by ID](https://docs.propexo.com/api-reference/crm-generic-ap-is/attributions/get-an-attribution-by-id.md) - CRM Generic APIs > Communications [Create Communication](https://docs.propexo.com/api-reference/crm-generic-ap-is/communications/create-communication.md) - CRM Generic APIs > Communities [Get all communities](https://docs.propexo.com/api-reference/crm-generic-ap-is/communities/get-all-communities.md) - CRM Generic APIs > Communities [Get a community by ID](https://docs.propexo.com/api-reference/crm-generic-ap-is/communities/get-a-community-by-id.md) - CRM Generic APIs > Events [Get all Events](https://docs.propexo.com/api-reference/crm-generic-ap-is/events/get-all-events.md) - CRM Generic APIs > Events [Create Event](https://docs.propexo.com/api-reference/crm-generic-ap-is/events/create-event.md) - CRM Generic APIs > Events [Get an Event by ID](https://docs.propexo.com/api-reference/crm-generic-ap-is/events/get-an-event-by-id.md) - CRM Generic APIs > Listings [Get all Listings](https://docs.propexo.com/api-reference/crm-generic-ap-is/listings/get-all-listings.md) - CRM Generic APIs > Listings [Create Listing](https://docs.propexo.com/api-reference/crm-generic-ap-is/listings/create-listing.md) - CRM Generic APIs > Listings [Get a Listing by ID](https://docs.propexo.com/api-reference/crm-generic-ap-is/listings/get-a-listing-by-id.md) - CRM Generic APIs > Prospects [Get all Prospects](https://docs.propexo.com/api-reference/crm-generic-ap-is/prospects/get-all-prospects.md) - CRM Generic APIs > Prospects [Create Prospect](https://docs.propexo.com/api-reference/crm-generic-ap-is/prospects/create-prospect.md) - CRM Generic APIs > Prospects [Get a Prospect by ID](https://docs.propexo.com/api-reference/crm-generic-ap-is/prospects/get-a-prospect-by-id.md) - CRM Generic APIs > Prospects [Update Prospect](https://docs.propexo.com/api-reference/crm-generic-ap-is/prospects/update-prospect.md) - CRM Generic APIs > Webhooks [V 1 Webhooks Data New](https://docs.propexo.com/api-reference/crm-generic-ap-is/webhooks/v-1-webhooks-data-new.md) - CRM Generic APIs > Webhooks [V 1 Webhooks Data Update](https://docs.propexo.com/api-reference/crm-generic-ap-is/webhooks/v-1-webhooks-data-update.md) - CRM Generic APIs > Webhooks [V 1 Webhooks First Sync Complete](https://docs.propexo.com/api-reference/crm-generic-ap-is/webhooks/v-1-webhooks-first-sync-complete.md) - CRM Generic APIs > Webhooks [V 1 Webhooks Sync Complete](https://docs.propexo.com/api-reference/crm-generic-ap-is/webhooks/v-1-webhooks-sync-complete.md) - CRM Generic APIs > Webhooks [V 1 Webhooks Job Failure](https://docs.propexo.com/api-reference/crm-generic-ap-is/webhooks/v-1-webhooks-job-failure.md) - CRM Generic APIs > Webhooks [V 1 Webhooks Write Operation Failure](https://docs.propexo.com/api-reference/crm-generic-ap-is/webhooks/v-1-webhooks-write-operation-failure.md) ## OpenAPI Specification The raw OpenAPI 3.1 specification for this API is available at: - [OpenAPI JSON](https://docs.propexo.com/api-reference/crm-generic-ap-is/openapi.json) - [OpenAPI YAML](https://docs.propexo.com/api-reference/crm-generic-ap-is/openapi.yaml)