Ir al contenido

Consultar nómina

GET
/payroll/batches/{id}
FACTUCAT_API_URL="${FACTUCAT_API_URL:-https://sandbox.factucat.com/api/v1}"
curl --fail-with-body --request GET \
--url "$FACTUCAT_API_URL/payroll/batches/$DOCUMENT_ID" \
--header "X-API-Key: $FACTUCAT_API_KEY"

Solo lectura. Requiere payroll:read y acceso a nómina de Plan Miau. Despacho en modo de solo lectura conserva acceso. OAuth usa el espacio seleccionado al autorizar; las API keys usan su cuenta propietaria. CURP, NSS y cuenta bancaria se enmascaran salvo en los documentos fiscales XML y PDF.

id
required
string format: uuid

Operación exitosa

Media typeapplication/json
object
data
required
object
id
required
string format: uuid
/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/
userId
required
string
>= 1 characters
title
required
string
status
required
string
Allowed values: draft stamping partially_stamped stamped cancelled error
periodStart
required
string format: date
/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$/
periodEnd
required
string format: date
/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$/
paymentDate
string format: date
/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$/
sendEmailOnStamp
required
boolean
allowManualImssOverride
required
boolean
totalReceipts
required
integer
<= 9007199254740991
stampedReceipts
required
integer
<= 9007199254740991
errorReceipts
required
integer
<= 9007199254740991
cancelledReceipts
required
integer
<= 9007199254740991
subtotalPerceptions
required
number
subtotalDeductions
required
number
totalNet
required
number
stampedAt
string format: date-time
/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$/
cancelledAt
string format: date-time
/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$/
createdAt
required
string format: date-time
/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$/
updatedAt
required
string format: date-time
/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$/
receipts
required
Array<object>
object
id
required
string format: uuid
/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/
batchId
required
string format: uuid
/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/
userId
required
string
>= 1 characters
employeeId
required
string format: uuid
/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/
employeeNumber
required
string
employeeFullName
required
string
employeeRfc
required
string
employeeCurp
required
string
employeePostalCode
required
string
employeeFiscalRegime
required
string
employeeEmail
string format: email
/^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/
contractType
required
string
payrollRegimeType
required
string
paymentPeriodicity
required
string
federalEntityCode
required
string
periodStart
required
string format: date
/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$/
periodEnd
required
string format: date
/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$/
paymentDate
string format: date
/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$/
serie
string
folio
required
string
inputMode
required
string
Allowed values: net gross
inputSalaryPeriod
required
number
grossSalaryPeriod
required
number
netSalaryPeriod
required
number
integratedDailySalary
required
number
isrBeforeSubsidy
required
number
employmentSubsidy
required
number
isrWithholding
required
number
imssWithholding
required
number
isLegallyCompleteForStamp
required
boolean
imssIncidences
required
object
daysCotizadosImss
required
integer
<= 31
daysAusentismo
required
integer
<= 31
daysIncapacidad
required
integer
<= 31
notes
string
<= 500 characters
imssDetail
required
object
status
required
string
Allowed values: calculated_legal manual_override incomplete_legal_data omitted_by_employer_policy not_applicable_regime
legallyCompleteForStamp
required
boolean
warnings
required
Array<string>
periodStart
required
string format: date
/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$/
periodEnd
required
string format: date
/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$/
daysPeriod
required
integer
<= 9007199254740991
daysCotizadosImss
required
integer
<= 9007199254740991
daysAusentismo
required
integer
<= 9007199254740991
daysIncapacidad
required
integer
<= 9007199254740991
notes
string
sbcDailyInput
required
number
sbcDailyLegal
required
number
basePeriod
required
number
baseExcedente
required
number
breakdown
required
object
emExcedente
required
number
emPrestacionesDinero
required
number
emGastosMedPensionados
required
number
invalidezVida
required
number
cesantiaVejez
required
number
total
required
number
segments
required
Array<object>
object
startDate
required
string format: date
/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$/
endDate
required
string format: date
/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$/
daysInSegment
required
integer
<= 9007199254740991
daysCotizados
required
integer
<= 9007199254740991
umaDaily
required
number
minimumWageDaily
required
number
versionTag
required
string
sbcLegalDaily
required
number
basePeriod
required
number
baseExcedente
required
number
breakdown
required
object
emExcedente
required
number
emPrestacionesDinero
required
number
emGastosMedPensionados
required
number
invalidezVida
required
number
cesantiaVejez
required
number
total
required
number
parameterVersionTags
required
Array<string>
otherPerceptionsTotal
required
number
otherDeductionsTotal
required
number
otherPaymentsTotal
required
number
totalPerceptions
required
number
totalDeductions
required
number
netPayable
required
number
calculationWarnings
required
Array<string>
status
required
string
Allowed values: draft ready stamping stamped error cancelled
satUuid
string
stampErrorMessage
string
cancellationEvidence
object
source
required
string
Allowed values: cancel_request cancel_response sat_query sat_query_error
state
string
cancelUuidCode
string
esCancelable
string
estatusCancelacion
string
validacionEfos
string
lastCheckedAt
required
string format: date-time
/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$/
attempts
required
integer
<= 9007199254740991
needsVerification
required
boolean
lastError
string
lastEmailSentAt
string format: date-time
/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$/
stampedAt
string format: date-time
/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$/
cancelledAt
string format: date-time
/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$/
createdAt
required
string format: date-time
/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$/
updatedAt
required
string format: date-time
/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$/
concepts
required
Array<object>
object
kind
required
string
Allowed values: perception deduction other_payment
humanCode
required
string
Allowed values: SALARIO_BASE BONO AGUINALDO DESCUENTO ISR IMSS SUBSIDIO_AL_EMPLEO OTRO
amount
required
number
<= 99999999
satCode
required
string
>= 1 characters <= 10 characters
description
required
string
>= 1 characters <= 200 characters
taxableAmount
required
number
exemptAmount
required
number
editable
required
boolean
cancellationReceipts
required
Array<object>
object
id
required
string format: uuid
/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/
receiptId
required
string format: uuid
/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/
cancelledSatUuid
required
string
>= 1 characters
replacementSatUuid
string
cancelReason
required
string
Allowed values: 01 02 03 04
createdAt
required
string format: date-time
/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$/
meta
required
object
requestId
required
string
>= 1 characters
idempotencyKey
string
>= 1 characters
pagination
object
limit
required
integer
> 0 <= 9007199254740991
offset
required
integer
<= 9007199254740991
hasMore
required
boolean
nextCursor
string | null

Datos inválidos

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: bad_request conflict csd_required forbidden internal_error pac_unavailable invalid_api_key invalid_json method_not_allowed missing_api_key missing_idempotency_key missing_scope not_found plan_required rate_limit_exceeded validation_error invalid_input INVALID_ISSUE_DATE idempotency_conflict idempotency_in_progress
message
required
string
>= 1 characters
requestId
required
string
>= 1 characters
retryable
required
boolean
reason
string

API key ausente, inválida o de otro ambiente

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: bad_request conflict csd_required forbidden internal_error pac_unavailable invalid_api_key invalid_json method_not_allowed missing_api_key missing_idempotency_key missing_scope not_found plan_required rate_limit_exceeded validation_error invalid_input INVALID_ISSUE_DATE idempotency_conflict idempotency_in_progress
message
required
string
>= 1 characters
requestId
required
string
>= 1 characters
retryable
required
boolean
reason
string

Plan inactivo o permisos insuficientes

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: bad_request conflict csd_required forbidden internal_error pac_unavailable invalid_api_key invalid_json method_not_allowed missing_api_key missing_idempotency_key missing_scope not_found plan_required rate_limit_exceeded validation_error invalid_input INVALID_ISSUE_DATE idempotency_conflict idempotency_in_progress
message
required
string
>= 1 characters
requestId
required
string
>= 1 characters
retryable
required
boolean
reason
string

Recurso no encontrado

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: bad_request conflict csd_required forbidden internal_error pac_unavailable invalid_api_key invalid_json method_not_allowed missing_api_key missing_idempotency_key missing_scope not_found plan_required rate_limit_exceeded validation_error invalid_input INVALID_ISSUE_DATE idempotency_conflict idempotency_in_progress
message
required
string
>= 1 characters
requestId
required
string
>= 1 characters
retryable
required
boolean
reason
string

Método no permitido

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: bad_request conflict csd_required forbidden internal_error pac_unavailable invalid_api_key invalid_json method_not_allowed missing_api_key missing_idempotency_key missing_scope not_found plan_required rate_limit_exceeded validation_error invalid_input INVALID_ISSUE_DATE idempotency_conflict idempotency_in_progress
message
required
string
>= 1 characters
requestId
required
string
>= 1 characters
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
Allowed values: bad_request conflict csd_required forbidden internal_error pac_unavailable invalid_api_key invalid_json method_not_allowed missing_api_key missing_idempotency_key missing_scope not_found plan_required rate_limit_exceeded validation_error invalid_input INVALID_ISSUE_DATE idempotency_conflict idempotency_in_progress
message
required
string
>= 1 characters
requestId
required
string
>= 1 characters
retryable
required
boolean
reason
string

Límite de solicitudes alcanzado

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: bad_request conflict csd_required forbidden internal_error pac_unavailable invalid_api_key invalid_json method_not_allowed missing_api_key missing_idempotency_key missing_scope not_found plan_required rate_limit_exceeded validation_error invalid_input INVALID_ISSUE_DATE idempotency_conflict idempotency_in_progress
message
required
string
>= 1 characters
requestId
required
string
>= 1 characters
retryable
required
boolean
reason
string
Retry-After
integer

Segundos antes de reintentar.

Error interno

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: bad_request conflict csd_required forbidden internal_error pac_unavailable invalid_api_key invalid_json method_not_allowed missing_api_key missing_idempotency_key missing_scope not_found plan_required rate_limit_exceeded validation_error invalid_input INVALID_ISSUE_DATE idempotency_conflict idempotency_in_progress
message
required
string
>= 1 characters
requestId
required
string
>= 1 characters
retryable
required
boolean
reason
string

PAC temporalmente no disponible

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: bad_request conflict csd_required forbidden internal_error pac_unavailable invalid_api_key invalid_json method_not_allowed missing_api_key missing_idempotency_key missing_scope not_found plan_required rate_limit_exceeded validation_error invalid_input INVALID_ISSUE_DATE idempotency_conflict idempotency_in_progress
message
required
string
>= 1 characters
requestId
required
string
>= 1 characters
retryable
required
boolean
reason
string