Skip to main content
GET
/
api
/
profiles
List Profiles
curl --request GET \
  --url https://api.example.com/api/profiles
{
  "data": [
    {
      "id": "<string>",
      "user_id": "<string>",
      "nombre": "<string>",
      "rfc": "<string>",
      "tipo_persona": {},
      "regimenes_fiscales": [
        "<string>"
      ],
      "validaciones_habilitadas": {},
      "created_at": "<string>",
      "updated_at": "<string>",
      "frozen": true,
      "frozen_reason": {},
      "frozen_at": {}
    }
  ],
  "count": 123
}

Authentication

This endpoint requires authentication using a JWT token in the Authorization header.

Response

data
Profile[]
required
Array of profile objects
id
string
required
Unique identifier for the profile
user_id
string
required
ID of the user who owns this profile
nombre
string
required
Name of the profile or business entity
rfc
string
required
RFC (Registro Federal de Contribuyentes) - Mexican tax identification number
tipo_persona
enum
required
Type of taxpayer entity. Can be FISICA (individual) or MORAL (corporation)
regimenes_fiscales
string[]
required
Array of tax regime codes applicable to this profile
validaciones_habilitadas
object
required
Configuration object for validation rules enabled for this profile
created_at
string
required
ISO 8601 timestamp of when the profile was created
updated_at
string
required
ISO 8601 timestamp of when the profile was last updated
frozen
boolean
Whether the profile is frozen (inactive due to plan limits or other reasons)
frozen_reason
enum
Reason why the profile is frozen. Can be plan_limit, user_suspension, payment_issue, or null
frozen_at
string | null
ISO 8601 timestamp of when the profile was frozen, or null if not frozen
count
number
required
Total number of profiles returned

Example Request

curl -X GET https://api.contafy.com/api/profiles \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json"

Example Response

{
  "data": [
    {
      "id": "prof_1234567890",
      "user_id": "user_0987654321",
      "nombre": "Mi Empresa SA de CV",
      "rfc": "XAXX010101000",
      "tipo_persona": "MORAL",
      "regimenes_fiscales": ["601", "603"],
      "validaciones_habilitadas": {
        "validarRFCIngresos": true,
        "validarRFCGastos": true,
        "validarRegimenFiscal": false,
        "validarUUIDDuplicado": true,
        "bloquearSiRFCNoCoincide": false,
        "bloquearSiRegimenNoCoincide": false
      },
      "created_at": "2024-01-15T10:30:00.000Z",
      "updated_at": "2024-02-20T14:45:00.000Z",
      "frozen": false
    },
    {
      "id": "prof_9876543210",
      "user_id": "user_0987654321",
      "nombre": "Juan Pérez",
      "rfc": "PERJ850101ABC",
      "tipo_persona": "FISICA",
      "regimenes_fiscales": ["605"],
      "validaciones_habilitadas": {
        "validarRFCIngresos": true,
        "validarRFCGastos": false
      },
      "created_at": "2024-03-01T08:00:00.000Z",
      "updated_at": "2024-03-01T08:00:00.000Z",
      "frozen": true,
      "frozen_reason": "plan_limit",
      "frozen_at": "2024-03-15T12:00:00.000Z"
    }
  ],
  "count": 2
}

Error Responses

401 Unauthorized

{
  "error": "Unauthorized",
  "message": "Invalid or missing authentication token"
}

500 Internal Server Error

{
  "error": "Internal Server Error",
  "message": "An error occurred while retrieving profiles"
}