Two API Approaches, One Module
Data Builder for Perfex CRM provides both REST API and GraphQL from a single module. They share the same authentication layer, the same token scopes, and the same security pipeline. The question is not which one to install – it is which one to use for each task.
REST API Strengths
REST uses predictable URL-based endpoints with HTTP methods:
# List clients
GET https://databuilder.polyxgo.com/api/v1/clients?per_page=10&sort=-id
# Get single client
GET https://databuilder.polyxgo.com/api/v1/clients/42
# Create a new task
POST https://databuilder.polyxgo.com/api/v1/tasks
{"name": "Review contract", "rel_type": "project", "rel_id": 5}Best for: Simple CRUD operations, webhook integrations, Zapier/Make.com automation, and scenarios where Postman testing matters.
GraphQL Strengths
GraphQL uses a single endpoint with flexible query language:
POST https://databuilder.polyxgo.com/api/v1/graphql
{
clients(limit: 10, sort: "-id") {
userid company email
}
}Best for: Mobile apps needing minimal data transfer, dashboards combining multiple resources, and frontend integrations that need flexible field selection.
Side-by-Side Comparison
| Feature | REST | GraphQL |
|---|---|---|
| Endpoints | Multiple (one per resource) | Single (/graphql) |
| Field selection | ?fields=id,name | Built into query syntax |
| Related data | Separate requests | Nested queries |
| Write operations | POST/PUT/DELETE | Mutations |
| Caching | HTTP-level (ETags) | Application-level |
| Documentation | API Explorer | Schema introspection |
| Pagination | HATEOAS links | limit/offset args |
| Error format | RFC 9457 Problem Details | |
When to Use Both Together
- Backend webhooks trigger REST calls to create/update records
- Frontend dashboards use GraphQL to fetch exactly what the UI needs
- Mobile apps use GraphQL to minimize bandwidth
- Polling triggers use REST
?since=parameter for incremental sync

Leave a Reply