Listar clientes
GET
/customers
FACTUCAT_API_URL="${FACTUCAT_API_URL:-https://sandbox.factucat.com/api/v1}"
curl --fail-with-body --request GET \ --url "$FACTUCAT_API_URL/customers" \ --header "X-API-Key: $FACTUCAT_API_KEY"const baseUrl = process.env.FACTUCAT_API_URL || "https://sandbox.factucat.com/api/v1"const response = await fetch(`${baseUrl}/customers`, { method: "GET", headers: { 'X-API-Key': process.env.FACTUCAT_API_KEY, },})const text = await response.text()if (!response.ok) throw new Error(`HTTP ${response.status}: ${text}`)console.log(JSON.parse(text))import jsonimport osimport urllib.errorimport urllib.request
base_url = os.environ.get("FACTUCAT_API_URL", "https://sandbox.factucat.com/api/v1")request = urllib.request.Request( f"{base_url}/customers", method="GET", headers={ "X-API-Key": os.environ["FACTUCAT_API_KEY"], },)try: with urllib.request.urlopen(request) as response: text = response.read().decode("utf-8")except urllib.error.HTTPError as error: raise RuntimeError(f"HTTP {error.code}: {error.read().decode('utf-8')}") from errorprint(json.loads(text))package main
import ( "fmt" "io" "net/http" "os")
func main() { baseURL := os.Getenv("FACTUCAT_API_URL") if baseURL == "" { baseURL = "https://sandbox.factucat.com/api/v1" } request, err := http.NewRequest("GET", baseURL + "/customers", nil) if err != nil { panic(err) } request.Header.Set("X-API-Key", os.Getenv("FACTUCAT_API_KEY")) response, err := http.DefaultClient.Do(request) if err != nil { panic(err) } defer response.Body.Close() text, _ := io.ReadAll(response.Body) if response.StatusCode < 200 || response.StatusCode >= 300 { panic(fmt.Sprintf("HTTP %d: %s", response.StatusCode, text)) } fmt.Print(string(text))}Authorizations
Sección titulada «Authorizations»Parameters
Sección titulada «Parameters»Query Parameters
Sección titulada «Query Parameters»query
string
limit
integer
offset
integer
Responses
Sección titulada «Responses»Operación exitosa
Media typeapplication/json
object
data
required
Array<object>
object
id
required
string format: uuid
userId
required
string
legalName
required
string
rfc
required
string
postalCode
required
string
taxRegime
required
string
preferredCfdiUse
string | null
fiscalResidence
string
taxId
string
email
string format: email
whatsappPhone
string
sendInvoices
required
boolean
invoiceLanguage
required
string
currency
required
string
createdAt
required
string format: date-time
updatedAt
required
string format: date-time
meta
required
object
requestId
required
string
idempotencyKey
string
pagination
object
limit
required
integer
offset
required
integer
hasMore
required
boolean
nextCursor
string | null
Datos inválidos
Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
requestId
required
string
retryable
required
boolean
reason
string
API key ausente, inválida o de otro ambiente
Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
requestId
required
string
retryable
required
boolean
reason
string
Plan inactivo o permisos insuficientes
Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
requestId
required
string
retryable
required
boolean
reason
string
Recurso no encontrado
Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
requestId
required
string
retryable
required
boolean
reason
string
Método no permitido
Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
requestId
required
string
retryable
required
boolean
reason
string
Conflicto o solicitud en curso. error.reason es opcional; duplicate_rfc indica que ya existe un cliente con ese RFC en la cuenta; stamp_in_progress indica que el documento se está timbrando: consúltalo antes de reintentar.
Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
requestId
required
string
retryable
required
boolean
reason
string
Límite de solicitudes alcanzado
Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
requestId
required
string
retryable
required
boolean
reason
string
Headers
Sección titulada «Headers»Retry-After
integer
Segundos antes de reintentar.
Error interno
Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
requestId
required
string
retryable
required
boolean
reason
string
PAC temporalmente no disponible
Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
requestId
required
string
retryable
required
boolean
reason
string