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/issuers/{ruc}/production

Pasar el RUC a producción

Habilita el RUC de producción cuando la prueba real (factura y baja) está aceptada. Desde ese momento las claves asu_live_ emiten con él en SUNAT producción. Con una clave asu_test_ responde TEST_MODE_ISSUER.

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.

rucpath · stringrequired

Responses

200application/json

Correcto.

{
  "active": true,
  "address": {
    "department": "string",
    "district": "string",
    "line": "string",
    "province": "string",
    "ubigeo": "string"
  },
  "createdAt": "string",
  "credentials": {
    "beta": {
      "certificateExpiresAt": "string",
      "configured": true,
      "hasCertificate": true,
      "hasSolPassword": true,
      "lastError": "string",
      "solUser": "string",
      "validatedAt": "string"
    },
    "produccion": {
      "certificateExpiresAt": "string",
      "configured": true,
      "hasCertificate": true,
      "hasSolPassword": true,
      "lastError": "string",
      "solUser": "string",
      "validatedAt": "string"
    }
  },
  "environment": "string",
  "isDefault": true,
  "legalName": "string",
  "livemode": true,
  "productionEnabled": true,
  "ruc": "string",
  "status": "string",
  "tradeName": "string",
  "updatedAt": "string"
}
activebooleanrequired
addressrequired
createdAtobjectrequired
credentialsrequired
environmentstringrequired

Solo informativo: produccion si el RUC está habilitado, si no beta. El ambiente de cada emisión lo decide la clave.

isDefaultbooleanrequired
legalNamestringrequired
livemodebooleanrequired

Modo del RUC: true = producción (claves asu_live_), false = prueba (claves asu_test_, SUNAT beta). El mismo RUC puede existir una vez en cada modo.

productionEnabledbooleanrequired

true cuando las claves asu_live_ ya pueden emitir en SUNAT producción.

rucstringrequired
statusstringrequired

Estado de la validación beta del RUC.

tradeNamestringrequired
updatedAtobjectrequired
400application/json

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

{
  "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.

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

WORKSPACE_SUSPENDED: El workspace está suspendido.

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

ISSUER_NOT_FOUND: El RUC no está registrado en el workspace.

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

PRODUCTION_VALIDATION_REQUIRED: El RUC necesita una validación de producción aceptada.

TEST_MODE_ISSUER: El RUC es de modo prueba (clave asu_test_): la prueba real y la habilitación de producción se hacen en el RUC de producción con una clave asu_live_.

{
  "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
Validar el RUC con SUNAT< PreviousListar seriesNext >

Powered by heyo

curl --request POST \
  'https://api.apisunat.net/api/v1/issuer/issuers/string/production'
{
  "active": true,
  "address": {
    "department": "string",
    "district": "string",
    "line": "string",
    "province": "string",
    "ubigeo": "string"
  },
  "createdAt": "string",
  "credentials": {
    "beta": {
      "certificateExpiresAt": "string",
      "configured": true,
      "hasCertificate": true,
      "hasSolPassword": true,
      "lastError": "string",
      "solUser": "string",
      "validatedAt": "string"
    },
    "produccion": {
      "certificateExpiresAt": "string",
      "configured": true,
      "hasCertificate": true,
      "hasSolPassword": true,
      "lastError": "string",
      "solUser": "string",
      "validatedAt": "string"
    }
  },
  "environment": "string",
  "isDefault": true,
  "legalName": "string",
  "livemode": true,
  "productionEnabled": true,
  "ruc": "string",
  "status": "string",
  "tradeName": "string",
  "updatedAt": "string"
}