GuíaEjemplosReferencia API
apisunat.netIngresar

Cuenta

  • GETComprobar la clave
  • GETPlan y consumo del mes

Emisores

  • GETListar RUC
  • POSTRegistrar un RUC
  • GETConsultar un RUC
  • PATCHActivar o desactivar un RUC
  • PUTGuardar credenciales SUNAT
  • POSTValidar el RUC con SUNAT
  • POSTPasar el RUC a producción

Series y establecimientos

  • GETListar series
  • GETListar establecimientos
  • POSTCrear o actualizar un establecimiento

Utilidades

  • POSTCalcular totales e IGV
  • GETListar catálogos SUNAT
  • GETBuscar en el catálogo 25 (productos SUNAT)
  • GETConsultar un catálogo

Documentos

  • GETListar documentos
  • POSTEmitir factura, boleta, nota o retención
  • GETConsultar un documento
  • GETDescargar PDF, XML, ZIP o CDR
  • POSTReenviar a SUNAT
  • POSTConsultar el ticket en SUNAT
  • GETHistorial de correos
  • POSTEnviar por correo
  • POSTReintentar un correo

Anulaciones

  • POSTAnular documentos
  • GETConsultar una anulación

GRE

  • POSTEmitir una guía de remisión (GRE)
  • GETConsultar una guía

Recursos

  • GETEspecificación OpenAPI
  • GETColección Postman
  • GETResumen para asistentes de IA
POST/issuer/guides

Emitir una guía de remisión (GRE)

SUNAT no tiene beta para guías: requiere una clave asu_live_ y un RUC habilitado para producción.

Send request

Use the documented inputs to call this endpoint directly.

API serverbase URL
Bearer tokenBearerAuthoptional
Stored only in this browser for the BearerAuth security scheme and reused on every API page in this group.

Parameters

Values are applied to the request and the example on the right.

Idempotency-Keyheader · stringrequired

Clave única por operación (máximo 255 caracteres). Repetirla con el mismo cuerpo devuelve el mismo resultado durante 7 días.

Request body

application/jsonrequired
actionsoptional
affectedDocumentoptional
arrivalAddressstringrequired
arrivalEstablishmentCodestringoptional

Motivo 04: código de establecimiento SUNAT de llegada (4 dígitos).

arrivalUbigeostringrequired
carrierMtcNumberstringoptional
carrierNamestringoptional
carrierRucstringoptional
consigneeoptional
containerNumberstringoptional
customerrequired
driverDocumentstringoptional
driverDocumentTypestringoptional

Tipo de documento del conductor (catálogo 06): 1 DNI, 4 CE, 7 pasaporte.

driverLastNamestringoptional

Apellidos del conductor principal. Si se omite, se toman de driverName.

driverLicensestringoptional
driverNamestringoptional
establishmentCodestringoptional
issueDatestringrequired
issueTimestringoptional
itemsarray<>required
legendsarray<>optional
motiveCodeenumrequired

Values: "01" · "02" · "04" · "06" · "13"

motiveDescriptionstringoptional
notesstringoptional
numberobjectoptional
packagesnumberoptional
portCodestringoptional
relatedDocumentoptional
relatedDocumentsarray<>optional
remitteroptional
rucstringoptional
secondaryDriversarray<>optional
secondaryVehiclePlatesarray<string>optional
secondaryVehiclesarray<>optional
seriesobjectoptional
startAddressstringrequired
startEstablishmentCodestringoptional

Motivo 04: código de establecimiento SUNAT de partida (4 dígitos).

startUbigeostringrequired
transferDatestringoptional
transportModeenumrequired

Values: "01" · "02"

transshipmentIndicatorbooleanoptional
vehicleCategoryM1booleanoptional
vehiclePlatestringoptional
weightKgnumberoptional

Responses

202application/json

Aceptado; SUNAT puede seguir procesando.

{
  "createdAt": "string",
  "currency": "string",
  "customer": {
    "documentNumber": "string",
    "documentType": "string",
    "name": "string"
  },
  "environment": "string",
  "fullNumber": "string",
  "id": "",
  "issueDate": "string",
  "issuerRuc": "string",
  "links": {
    "cdr": "string",
    "pdf": "string",
    "self": "string",
    "xml": "string",
    "zip": "string"
  },
  "number": "string",
  "series": "string",
  "status": "string",
  "sunat": {
    "attempts": 1.5,
    "description": "string",
    "errorCode": "string",
    "errorMessage": "string",
    "responseCode": "string",
    "ticket": "string"
  },
  "test": true,
  "total": "string",
  "type": "string",
  "updatedAt": "string"
}
createdAtobjectrequired
currencyobjectrequired
customerobjectrequired
environmentstringrequired
fullNumberobjectrequired

Serie y número, por ejemplo F001-123.

idstringrequired

Identificador del documento en API SUNAT (UUID).

issueDateobjectrequired
issuerRucobjectrequired
linksrequired
numberobjectrequired
seriesstringrequired
statusstringrequired
sunatrequired
testbooleanrequired

true si se emitió con una clave asu_test_ (sandbox en SUNAT beta).

totalobjectrequired
typestringrequired

Tipo SUNAT: 01, 03, 07, 08, 09, 20 o 40.

updatedAtobjectrequired
400application/json

VALIDATION_ERROR: El cuerpo, los parámetros o una regla del comprobante no son válidos. fields indica el campo.

IDEMPOTENCY_REQUIRED: Falta el header Idempotency-Key.

{
  "error": {
    "code": "string",
    "fields": {},
    "message": "string",
    "requestId": "",
    "retryable": true
  }
}
errorrequired
401application/json

UNAUTHENTICATED: Falta la clave API o no es válida.

{
  "error": {
    "code": "string",
    "fields": {},
    "message": "string",
    "requestId": "",
    "retryable": true
  }
}
errorrequired
402application/json

TRIAL_EXPIRED: La prueba gratuita venció.

TRIAL_EXHAUSTED: La prueba gratuita consumió sus operaciones.

PLAN_LIMIT_REACHED: Se consumieron las operaciones del plan en el mes.

{
  "error": {
    "code": "string",
    "fields": {},
    "message": "string",
    "requestId": "",
    "retryable": true
  }
}
errorrequired
403application/json

WORKSPACE_SUSPENDED: El workspace está suspendido.

ISSUER_FORBIDDEN: El RUC no pertenece al workspace de la clave.

LIVE_KEY_REQUIRED: La operación requiere una clave asu_live_ (guías de remisión, que no tienen beta en SUNAT).

PRODUCTION_NOT_ENABLED: Una clave asu_live_ emite siempre en SUNAT producción y el RUC todavía no está habilitado. Usa una clave asu_test_ para probar en beta o completa la validación de producción.

{
  "error": {
    "code": "string",
    "fields": {},
    "message": "string",
    "requestId": "",
    "retryable": true
  }
}
errorrequired
409application/json

ISSUER_NOT_CONFIGURED: El RUC no tiene credenciales SUNAT listas: guarda el certificado y completa la validación beta (clave asu_test_) o la de producción (clave asu_live_).

IDEMPOTENCY_CONFLICT: La Idempotency-Key ya se usó con otro cuerpo.

REQUEST_IN_PROGRESS: Otra petición con la misma Idempotency-Key sigue en proceso.

{
  "error": {
    "code": "string",
    "fields": {},
    "message": "string",
    "requestId": "",
    "retryable": true
  }
}
errorrequired
422application/json

CUSTOMER_NOT_FOUND: No se encontraron datos para el RUC o DNI del cliente; envía customer.name.

INVALID_EMAIL: El destinatario no es un correo válido.

{
  "error": {
    "code": "string",
    "fields": {},
    "message": "string",
    "requestId": "",
    "retryable": true
  }
}
errorrequired
429application/json

RATE_LIMITED: Se superó el límite de peticiones. Respeta el header Retry-After.

{
  "error": {
    "code": "string",
    "fields": {},
    "message": "string",
    "requestId": "",
    "retryable": true
  }
}
errorrequired
500application/json

INTERNAL_ERROR: Error interno. Reintenta y comparte el requestId con soporte.

{
  "error": {
    "code": "string",
    "fields": {},
    "message": "string",
    "requestId": "",
    "retryable": true
  }
}
errorrequired
Consultar una anulación< PreviousConsultar una guíaNext >

Powered by heyo

curl --request POST \
  'https://api.apisunat.net/api/v1/issuer/guides' \
  --header 'Idempotency-Key: string' \
  --header 'Content-Type: application/json' \
  --data '{
  "ruc": "20123456789",
  "issueDate": "2026-10-27",
  "motiveCode": "01",
  "transportMode": "02",
  "customer": {
    "documentType": "6",
    "documentNumber": "20100066603",
    "name": "Destino S.A.C."
  },
  "startAddress": "Av. Partida 123",
  "startUbigeo": "150101",
  "arrivalAddress": "Av. Llegada 456",
  "arrivalUbigeo": "150203",
  "vehiclePlate": "ABC123",
  "driverName": "Juan Pérez",
  "driverDocument": "12345678",
  "driverLicense": "Q12345678",
  "weightKg": 25,
  "packages": 2,
  "items": [
    {
      "description": "Producto trasladado",
      "quantity": 2,
      "unitCode": "NIU"
    }
  ]
}'
{
  "createdAt": "string",
  "currency": "string",
  "customer": {
    "documentNumber": "string",
    "documentType": "string",
    "name": "string"
  },
  "environment": "string",
  "fullNumber": "string",
  "id": "",
  "issueDate": "string",
  "issuerRuc": "string",
  "links": {
    "cdr": "string",
    "pdf": "string",
    "self": "string",
    "xml": "string",
    "zip": "string"
  },
  "number": "string",
  "series": "string",
  "status": "string",
  "sunat": {
    "attempts": 1.5,
    "description": "string",
    "errorCode": "string",
    "errorMessage": "string",
    "responseCode": "string",
    "ticket": "string"
  },
  "test": true,
  "total": "string",
  "type": "string",
  "updatedAt": "string"
}