Clients
Clients
Overview
Endpoints
POST /v2/clients
Request Body
{
"name": "Cliente Example",
"legalName": "Cliente Example S.A. de C.V.",
"rfc": "XAXX010101000",
"email": "cliente@example.com",
"phone": "+52 55 1234 5678",
"address": {
"street": "Av. Insurgentes Sur 123",
"city": "Ciudad de México",
"state": "CDMX",
"zipCode": "03100",
"country": "México"
}
}
Parameters
Parameter | Type | Required | Description |
---|---|---|---|
name | string | Yes | Client display name |
legalName | string | No | Legal business name |
rfc | string | Yes | RFC (tax identification) |
email | string | No | Client email address |
phone | string | No | Client phone number |
address | object | No | Client address information |
Response
{
"data": {
"id": "client_123",
"name": "Cliente Example",
"legalName": "Cliente Example S.A. de C.V.",
"client": {
"rfc": "XAXX010101000",
"email": "cliente@example.com"
},
"phone": "+52 55 1234 5678",
"address": {
"street": "Av. Insurgentes Sur 123",
"city": "Ciudad de México",
"state": "CDMX",
"zipCode": "03100",
"country": "México"
},
"timestamp": "2024-01-15T10:30:00.000Z"
},
"message": "Client created successfully"
}
GET /v2/clients
Query Parameters
Parameter | Type | Description |
---|---|---|
limit | number | Number of results to return (default: 20, max: 100) |
offset | number | Number of results to skip |
name | string | Filter by client name (partial match) |
rfc | string | Filter by RFC |
email | string | Filter by email address |
from | string | Filter clients created from date (ISO 8601) |
to | string | Filter clients created to date (ISO 8601) |
Response
{
"data": [
{
"id": "client_123",
"name": "Cliente Example",
"legalName": "Cliente Example S.A. de C.V.",
"client": {
"rfc": "XAXX010101000",
"email": "cliente@example.com"
},
"timestamp": "2024-01-15T10:30:00.000Z"
}
],
"message": "Clients retrieved successfully",
"totalResults": 1,
"hasMore": false,
"next": null
}
GET /v2/clients/{clientId}
Response
{
"data": {
"id": "client_123",
"name": "Cliente Example",
"legalName": "Cliente Example S.A. de C.V.",
"client": {
"rfc": "XAXX010101000",
"email": "cliente@example.com"
},
"phone": "+52 55 1234 5678",
"address": {
"street": "Av. Insurgentes Sur 123",
"city": "Ciudad de México",
"state": "CDMX",
"zipCode": "03100",
"country": "México"
},
"timestamp": "2024-01-15T10:30:00.000Z"
},
"message": "Client retrieved successfully"
}
PUT /v2/clients/{clientId}
Request Body
{
"email": "nuevo-email@example.com",
"phone": "+52 55 9876 5432",
"address": {
"street": "Nueva Dirección 456",
"city": "Guadalajara",
"state": "Jalisco",
"zipCode": "44100",
"country": "México"
}
}
DELETE /v2/clients/{clientId}
RFC Validation
Type | Format | Example |
---|---|---|
Persona Física | AAAANNNNNNXXX | XAXX010101000 |
Persona Moral | AAA010101XXX | ABC010101001 |
Code Examples
Create a Client
Search Clients
Error Handling
Common Error Responses
{
"error": {
"code": "VALIDATION_ERROR",
"message": "Invalid request parameters",
"details": {
"rfc": "Invalid RFC format",
"email": "Invalid email format",
"name": "Name is required"
}
},
"message": "Request validation failed"
}
{
"error": {
"code": "DUPLICATE_RFC",
"message": "A client with this RFC already exists"
},
"message": "RFC must be unique"
}
{
"error": {
"code": "NOT_FOUND",
"message": "Client not found"
},
"message": "The requested client does not exist"
}
Best Practices
1.
2.
3.
4.
5.
6.
Integration with Other APIs
Creating Invoices for Clients
Processing Payments
Next Steps
Modified at 2025-06-11 04:57:50