{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/facture-ar/json-schema/facture-ar-cuit-schema.json",
  "title": "Cuit",
  "description": "CUIT de tu cuenta. Nunca incluye certificados, claves privadas ni tickets de acceso.",
  "x-generated": "2026-11-07",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/facture-ar-openapi.json#/components/schemas/Cuit",
  "type": "object",
  "required": [
    "id",
    "number",
    "testing_certificate_valid",
    "production_certificate_valid",
    "testing_afip_connection_valid",
    "production_afip_connection_valid",
    "is_default",
    "setupStatus",
    "userId",
    "createdAt",
    "updatedAt"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "ID del CUIT"
    },
    "number": {
      "type": "string",
      "pattern": "^[0-9]{2}-[0-9]{8}-[0-9]{1}$",
      "description": "Número de CUIT en formato XX-XXXXXXXX-X"
    },
    "persona": {
      "type": [
        "object",
        "null"
      ],
      "description": "Datos del padrón de ARCA (datosGenerales, datosMonotributo o datosRegimenGeneral, etc.) tal como los devuelve ARCA"
    },
    "personaLastUpdated": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time",
      "description": "Última actualización de los datos del padrón"
    },
    "pos": {
      "type": [
        "object",
        "null"
      ],
      "description": "Puntos de venta tal como los devuelve ARCA (FEParamGetPtosVenta). La lista está en ResultGet.PtoVenta"
    },
    "posLastUpdated": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time",
      "description": "Última actualización de los puntos de venta"
    },
    "default_pos": {
      "type": [
        "integer",
        "null"
      ],
      "description": "Punto de venta por defecto"
    },
    "default_concept": {
      "type": [
        "integer",
        "null"
      ],
      "description": "Concepto por defecto (1 productos, 2 servicios, 3 productos y servicios)"
    },
    "default_invoice_type": {
      "type": [
        "integer",
        "null"
      ],
      "description": "Tipo de comprobante por defecto (código de ARCA)"
    },
    "default_iva": {
      "type": [
        "integer",
        "null"
      ],
      "description": "Alícuota de IVA por defecto (código de ARCA)"
    },
    "production_certificate_expiration": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time",
      "description": "Vencimiento del certificado de producción"
    },
    "production_ta_expiration": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time",
      "description": "Vencimiento del ticket de acceso de producción"
    },
    "testing_certificate_expiration": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time",
      "description": "Vencimiento del certificado de homologación"
    },
    "testing_ta_expiration": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time",
      "description": "Vencimiento del ticket de acceso de homologación"
    },
    "testing_certificate_valid": {
      "type": "boolean",
      "description": "El certificado de homologación es válido"
    },
    "production_certificate_valid": {
      "type": "boolean",
      "description": "El certificado de producción es válido"
    },
    "testing_afip_connection_valid": {
      "type": "boolean",
      "description": "La conexión con ARCA en homologación funciona"
    },
    "production_afip_connection_valid": {
      "type": "boolean",
      "description": "La conexión con ARCA en producción funciona"
    },
    "is_default": {
      "type": "boolean",
      "description": "Es el CUIT por defecto de la cuenta"
    },
    "setupStatus": {
      "type": "string",
      "enum": [
        "INITIALIZED",
        "IN_PROGRESS",
        "TEST_CERTIFICATE_COMPLETE",
        "PROD_CERTIFICATE_COMPLETE",
        "AWAITING_DELEGATION",
        "DELEGATION_COMPLETE",
        "AUTOMATION_IN_PROGRESS",
        "AUTOMATION_FAILED",
        "COMPLETED",
        "SKIPPED"
      ],
      "description": "Estado de la configuración del CUIT"
    },
    "integrationMode": {
      "type": [
        "string",
        "null"
      ],
      "enum": [
        "DELEGATION",
        "CERTIFICATE",
        null
      ],
      "description": "Modo de conexión con ARCA"
    },
    "testingSetupState": {
      "type": [
        "string",
        "null"
      ],
      "enum": [
        "REQUESTED",
        "COMPLETED",
        null
      ],
      "description": "Estado de la configuración de homologación. Solo viene en GET /cuits"
    },
    "productionSetupState": {
      "type": [
        "string",
        "null"
      ],
      "enum": [
        "REQUESTED",
        "COMPLETED",
        null
      ],
      "description": "Estado de la configuración de producción. Solo viene en GET /cuits"
    },
    "userId": {
      "type": "string",
      "description": "ID del usuario dueño del CUIT"
    },
    "createdAt": {
      "type": "string",
      "format": "date-time",
      "description": "Fecha de creación"
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time",
      "description": "Fecha de última actualización"
    }
  }
}