{
  "producto": "PanDaaS",
  "version": "3.1.0",
  "descripcion": "Data as a Service. Catálogos argentinos limpios, versionados y servidos por HTTP: marcas y modelos de vehículos, y los nomencladores de ARCA que necesita un sistema de facturación.",
  "baseUrl": "https://api.pandaas.com.ar",
  "autenticacion": {
    "tipo": "Bearer",
    "encabezado": "Authorization: Bearer <token>",
    "formato": "32 caracteres hexadecimales",
    "dondeObtenerlo": "https://admin.pandaas.com.ar",
    "siFalta": "401 Unauthorized",
    "siSePasaDelCupo": "429 Too Many Requests"
  },
  "datasets": [
    {
      "nombre": "AutoBase",
      "descripcion": "Marcas, modelos y segmentos de vehículos del mercado argentino. Es el catálogo que usan las aseguradoras, las concesionarias y los talleres para no mantener cada uno su propia lista.",
      "endpoints": [
        {
          "metodo": "GET",
          "ruta": "/autobase/makes",
          "descripcion": "Lista las marcas ordenadas por nombre.",
          "requiereToken": true,
          "devuelve": "Make[]",
          "parametros": [
            {
              "nombre": "onlyValidated",
              "en": "query",
              "tipo": "boolean",
              "requerido": false,
              "porDefecto": "true",
              "descripcion": "Dejalo en true para recibir solo las marcas revisadas. En false vienen también las provisionales, que son fichas cargadas automáticamente y todavía sin revisión editorial."
            }
          ],
          "ejemplo": "curl -H \"Authorization: Bearer $PANDAAS_TOKEN\" https://api.pandaas.com.ar/autobase/makes"
        },
        {
          "metodo": "GET",
          "ruta": "/autobase/makes/{id}",
          "descripcion": "Devuelve una marca por su identificador.",
          "requiereToken": true,
          "devuelve": "Make",
          "parametros": [
            {
              "nombre": "id",
              "en": "ruta",
              "tipo": "integer",
              "requerido": true,
              "descripcion": "Identificador de la marca."
            }
          ],
          "ejemplo": "curl -H \"Authorization: Bearer $PANDAAS_TOKEN\" https://api.pandaas.com.ar/autobase/makes/1"
        },
        {
          "metodo": "GET",
          "ruta": "/autobase/makes/{id}/models",
          "descripcion": "Modelos de una marca. Es un atajo de /autobase/models?makeId={id}, para no tener que armar la query desde el cliente.",
          "requiereToken": true,
          "devuelve": "Model[]",
          "parametros": [
            {
              "nombre": "id",
              "en": "ruta",
              "tipo": "integer",
              "requerido": true,
              "descripcion": "Identificador de la marca."
            },
            {
              "nombre": "onlyValidated",
              "en": "query",
              "tipo": "boolean",
              "requerido": false,
              "porDefecto": "true",
              "descripcion": "Excluye los modelos pendientes de revisión."
            }
          ],
          "ejemplo": "curl -H \"Authorization: Bearer $PANDAAS_TOKEN\" https://api.pandaas.com.ar/autobase/makes/1/models"
        },
        {
          "metodo": "GET",
          "ruta": "/autobase/models",
          "descripcion": "Lista modelos. Sin filtros devuelve el catálogo completo, que son más de 6.600 fichas: para un combo encadenado conviene filtrar siempre por marca.",
          "requiereToken": true,
          "devuelve": "Model[]",
          "parametros": [
            {
              "nombre": "makeId",
              "en": "query",
              "tipo": "integer?",
              "requerido": false,
              "descripcion": "Restringe a una marca."
            },
            {
              "nombre": "segmentId",
              "en": "query",
              "tipo": "integer?",
              "requerido": false,
              "descripcion": "Restringe a un segmento."
            },
            {
              "nombre": "onlyValidated",
              "en": "query",
              "tipo": "boolean",
              "requerido": false,
              "porDefecto": "true",
              "descripcion": "Excluye los modelos pendientes de revisión."
            }
          ],
          "ejemplo": "curl -H \"Authorization: Bearer $PANDAAS_TOKEN\" https://api.pandaas.com.ar/autobase/models"
        },
        {
          "metodo": "GET",
          "ruta": "/autobase/models/{id}",
          "descripcion": "Devuelve un modelo por su identificador.",
          "requiereToken": true,
          "devuelve": "Model",
          "parametros": [
            {
              "nombre": "id",
              "en": "ruta",
              "tipo": "integer",
              "requerido": true,
              "descripcion": "Identificador del modelo."
            }
          ],
          "ejemplo": "curl -H \"Authorization: Bearer $PANDAAS_TOKEN\" https://api.pandaas.com.ar/autobase/models/1"
        },
        {
          "metodo": "GET",
          "ruta": "/autobase/segments",
          "descripcion": "Lista todos los segmentos.",
          "requiereToken": true,
          "devuelve": "Segment[]",
          "parametros": [],
          "ejemplo": "curl -H \"Authorization: Bearer $PANDAAS_TOKEN\" https://api.pandaas.com.ar/autobase/segments"
        },
        {
          "metodo": "GET",
          "ruta": "/autobase/segments/{id}",
          "descripcion": "Devuelve un segmento por su identificador.",
          "requiereToken": true,
          "devuelve": "Segment",
          "parametros": [
            {
              "nombre": "id",
              "en": "ruta",
              "tipo": "integer",
              "requerido": true,
              "descripcion": "Identificador del segmento."
            }
          ],
          "ejemplo": "curl -H \"Authorization: Bearer $PANDAAS_TOKEN\" https://api.pandaas.com.ar/autobase/segments/1"
        }
      ]
    },
    {
      "nombre": "ARCABase",
      "endpoints": [
        {
          "metodo": "GET",
          "ruta": "/arcabase/cities",
          "descripcion": "Lista localidades. Sin filtros son 2.372 filas: para un autocompletado usá search, y para un combo encadenado, provinceId.",
          "requiereToken": true,
          "devuelve": "City[]",
          "parametros": [
            {
              "nombre": "provinceId",
              "en": "query",
              "tipo": "integer?",
              "requerido": false,
              "descripcion": "Restringe a una provincia."
            },
            {
              "nombre": "search",
              "en": "query",
              "tipo": "string",
              "requerido": false,
              "descripcion": "Devuelve solo las localidades cuyo nombre empieza con este texto. No distingue mayúsculas ni acentos."
            }
          ],
          "ejemplo": "curl -H \"Authorization: Bearer $PANDAAS_TOKEN\" https://api.pandaas.com.ar/arcabase/cities"
        },
        {
          "metodo": "GET",
          "ruta": "/arcabase/cities/{id}",
          "descripcion": "Devuelve una localidad por su identificador.",
          "requiereToken": true,
          "devuelve": "City",
          "parametros": [
            {
              "nombre": "id",
              "en": "ruta",
              "tipo": "integer",
              "requerido": true,
              "descripcion": "Identificador de la localidad."
            }
          ],
          "ejemplo": "curl -H \"Authorization: Bearer $PANDAAS_TOKEN\" https://api.pandaas.com.ar/arcabase/cities/1"
        },
        {
          "metodo": "GET",
          "ruta": "/arcabase/identity-document-types",
          "descripcion": "Lista todos los tipos de documento.",
          "requiereToken": true,
          "devuelve": "IdentityDocumentType[]",
          "parametros": [],
          "ejemplo": "curl -H \"Authorization: Bearer $PANDAAS_TOKEN\" https://api.pandaas.com.ar/arcabase/identity-document-types"
        },
        {
          "metodo": "GET",
          "ruta": "/arcabase/identity-document-types/{id}",
          "descripcion": "Devuelve un tipo de documento por su código.",
          "requiereToken": true,
          "devuelve": "IdentityDocumentType",
          "parametros": [
            {
              "nombre": "id",
              "en": "ruta",
              "tipo": "integer",
              "requerido": true,
              "descripcion": "Código oficial del tipo de documento (DocTipo)."
            }
          ],
          "ejemplo": "curl -H \"Authorization: Bearer $PANDAAS_TOKEN\" https://api.pandaas.com.ar/arcabase/identity-document-types/1"
        },
        {
          "metodo": "GET",
          "ruta": "/arcabase/invoice-type-rules",
          "descripcion": "Lista las combinaciones habilitadas.",
          "requiereToken": true,
          "devuelve": "InvoiceTypeRule[]",
          "parametros": [
            {
              "nombre": "emitterId",
              "en": "query",
              "tipo": "integer?",
              "requerido": false,
              "descripcion": "Condición frente al IVA de quien emite."
            },
            {
              "nombre": "recieverId",
              "en": "query",
              "tipo": "integer?",
              "requerido": false,
              "descripcion": "Condición frente al IVA de quien recibe."
            }
          ],
          "ejemplo": "curl -H \"Authorization: Bearer $PANDAAS_TOKEN\" https://api.pandaas.com.ar/arcabase/invoice-type-rules"
        },
        {
          "metodo": "GET",
          "ruta": "/arcabase/invoice-types",
          "descripcion": "Lista los tipos de comprobante.",
          "requiereToken": true,
          "devuelve": "InvoiceType[]",
          "parametros": [
            {
              "nombre": "letter",
              "en": "query",
              "tipo": "string",
              "requerido": false,
              "descripcion": "Filtra por letra del comprobante (A, B, C, M, E). Sin filtro devuelve los 96, incluidos los que no tienen letra."
            }
          ],
          "ejemplo": "curl -H \"Authorization: Bearer $PANDAAS_TOKEN\" https://api.pandaas.com.ar/arcabase/invoice-types"
        },
        {
          "metodo": "GET",
          "ruta": "/arcabase/invoice-types/{id}",
          "descripcion": "Devuelve un tipo de comprobante por su código de ARCA.",
          "requiereToken": true,
          "devuelve": "InvoiceType",
          "parametros": [
            {
              "nombre": "id",
              "en": "ruta",
              "tipo": "integer",
              "requerido": true,
              "descripcion": "Código oficial del comprobante (CbteTipo)."
            }
          ],
          "ejemplo": "curl -H \"Authorization: Bearer $PANDAAS_TOKEN\" https://api.pandaas.com.ar/arcabase/invoice-types/1"
        },
        {
          "metodo": "GET",
          "ruta": "/arcabase/provinces",
          "descripcion": "Lista las 25 provincias.",
          "requiereToken": true,
          "devuelve": "Province[]",
          "parametros": [],
          "ejemplo": "curl -H \"Authorization: Bearer $PANDAAS_TOKEN\" https://api.pandaas.com.ar/arcabase/provinces"
        },
        {
          "metodo": "GET",
          "ruta": "/arcabase/provinces/{id}",
          "descripcion": "Devuelve una provincia por su código.",
          "requiereToken": true,
          "devuelve": "Province",
          "parametros": [
            {
              "nombre": "id",
              "en": "ruta",
              "tipo": "integer",
              "requerido": true,
              "descripcion": "Código de provincia de PanDaaS (1 a 25)."
            }
          ],
          "ejemplo": "curl -H \"Authorization: Bearer $PANDAAS_TOKEN\" https://api.pandaas.com.ar/arcabase/provinces/1"
        },
        {
          "metodo": "GET",
          "ruta": "/arcabase/provinces/{id}/cities",
          "descripcion": "Localidades de una provincia. Atajo de /arcabase/cities?provinceId={id}.",
          "requiereToken": true,
          "devuelve": "City[]",
          "parametros": [
            {
              "nombre": "id",
              "en": "ruta",
              "tipo": "integer",
              "requerido": true,
              "descripcion": "Código de la provincia."
            }
          ],
          "ejemplo": "curl -H \"Authorization: Bearer $PANDAAS_TOKEN\" https://api.pandaas.com.ar/arcabase/provinces/1/cities"
        },
        {
          "metodo": "GET",
          "ruta": "/arcabase/responsable-types",
          "descripcion": "Lista todas las condiciones frente al IVA.",
          "requiereToken": true,
          "devuelve": "ResponsableType[]",
          "parametros": [],
          "ejemplo": "curl -H \"Authorization: Bearer $PANDAAS_TOKEN\" https://api.pandaas.com.ar/arcabase/responsable-types"
        },
        {
          "metodo": "GET",
          "ruta": "/arcabase/responsable-types/{id}",
          "descripcion": "Devuelve una condición por su código.",
          "requiereToken": true,
          "devuelve": "ResponsableType",
          "parametros": [
            {
              "nombre": "id",
              "en": "ruta",
              "tipo": "integer",
              "requerido": true,
              "descripcion": "Código de la condición."
            }
          ],
          "ejemplo": "curl -H \"Authorization: Bearer $PANDAAS_TOKEN\" https://api.pandaas.com.ar/arcabase/responsable-types/1"
        }
      ]
    },
    {
      "nombre": "Sistema",
      "endpoints": [
        {
          "metodo": "GET",
          "ruta": "/",
          "descripcion": "Documentación de la API en HTML.",
          "requiereToken": false,
          "parametros": [],
          "ejemplo": "curl https://api.pandaas.com.ar/"
        },
        {
          "metodo": "GET",
          "ruta": "/help",
          "descripcion": "Catálogo completo de la API: datasets, endpoints, parámetros, modelos de respuesta y códigos de error.\n\nSe arma por reflexión sobre las rutas que la aplicación tiene registradas, no de una lista escrita a mano, así que nunca queda desfasado del código que efectivamente está corriendo.",
          "requiereToken": false,
          "devuelve": "CatalogoApi",
          "parametros": [],
          "ejemplo": "curl https://api.pandaas.com.ar/help"
        },
        {
          "metodo": "GET",
          "ruta": "/help/{dataset}",
          "descripcion": "Los endpoints de un dataset, para no traerse el catálogo entero.",
          "requiereToken": false,
          "devuelve": "GrupoDoc",
          "parametros": [
            {
              "nombre": "dataset",
              "en": "ruta",
              "tipo": "string",
              "requerido": true,
              "descripcion": "Nombre del dataset: AutoBase, ARCABase o Sistema."
            }
          ],
          "ejemplo": "curl https://api.pandaas.com.ar/help/1"
        },
        {
          "metodo": "GET",
          "ruta": "/openapi",
          "descripcion": "Devuelve la API descrita en OpenAPI 3.0.3.\n\nSale del mismo catálogo que /help, así que las tres vistas —la página HTML, el JSON de /help y esta especificación— no pueden contradecirse entre sí.",
          "requiereToken": false,
          "parametros": [],
          "ejemplo": "curl https://api.pandaas.com.ar/openapi"
        },
        {
          "metodo": "GET",
          "ruta": "/openapi.json",
          "descripcion": "Alias con extensión, que es lo que esperan algunas herramientas. Necesita el handler declarado en el Web.config: si no, IIS trata el .json como archivo estático y responde 404 sin llegar acá.",
          "requiereToken": false,
          "parametros": [],
          "ejemplo": "curl https://api.pandaas.com.ar/openapi.json"
        },
        {
          "metodo": "GET",
          "ruta": "/status",
          "descripcion": "Dice si la API está viva y si llega a la base.\n\nExiste por un motivo concreto: entre enero y agosto de 2026 la API respondió 500 en todos sus endpoints porque el binario publicado consultaba tablas que habían sido renombradas, y nadie se enteró. Este endpoint es lo que hace que eso se note el mismo día.",
          "requiereToken": false,
          "parametros": [],
          "ejemplo": "curl https://api.pandaas.com.ar/status"
        }
      ]
    }
  ],
  "modelos": {
    "autenticacionDoc": {
      "nombre": "AutenticacionDoc",
      "propiedades": [
        {
          "nombre": "tipo",
          "tipo": "string",
          "puedeSerNulo": true
        },
        {
          "nombre": "encabezado",
          "tipo": "string",
          "puedeSerNulo": true
        },
        {
          "nombre": "formato",
          "tipo": "string",
          "puedeSerNulo": true
        },
        {
          "nombre": "dondeObtenerlo",
          "tipo": "string",
          "puedeSerNulo": true
        },
        {
          "nombre": "siFalta",
          "tipo": "string",
          "puedeSerNulo": true
        },
        {
          "nombre": "siSePasaDelCupo",
          "tipo": "string",
          "puedeSerNulo": true
        }
      ]
    },
    "catalogoApi": {
      "nombre": "CatalogoApi",
      "descripcion": "El catálogo que sirve /help.\n\nNo hay una lista de endpoints escrita a mano en ningún lado: esto recorre las rutas que Web API tiene registradas de verdad y les pega encima los comentarios /// del código. Un controller nuevo aparece en la documentación por el solo hecho de existir, y un endpoint que se borra desaparece. Es la única forma de que la documentación de un producto que se vende como API no se atrase.",
      "propiedades": [
        {
          "nombre": "producto",
          "tipo": "string",
          "puedeSerNulo": true
        },
        {
          "nombre": "version",
          "tipo": "string",
          "puedeSerNulo": true
        },
        {
          "nombre": "descripcion",
          "tipo": "string",
          "puedeSerNulo": true
        },
        {
          "nombre": "baseUrl",
          "tipo": "string",
          "puedeSerNulo": true
        },
        {
          "nombre": "autenticacion",
          "tipo": "AutenticacionDoc",
          "puedeSerNulo": true
        },
        {
          "nombre": "datasets",
          "tipo": "GrupoDoc[]",
          "puedeSerNulo": true
        },
        {
          "nombre": "modelos",
          "tipo": "string[]",
          "puedeSerNulo": true
        },
        {
          "nombre": "errores",
          "tipo": "ErrorDoc[]",
          "puedeSerNulo": true
        },
        {
          "nombre": "todosLosEndpoints",
          "tipo": "EndpointDoc[]",
          "puedeSerNulo": true,
          "descripcion": "Todos los endpoints en una sola lista, sin agrupar. Es una comodidad para el código que consume el catálogo dentro de la aplicación, no parte de la respuesta: serializarla repetiría entero el contenido de Datasets y duplicaría el tamaño de /help."
        }
      ]
    },
    "city": {
      "nombre": "City",
      "descripcion": "Localidad, con la provincia a la que pertenece embebida.",
      "propiedades": [
        {
          "nombre": "id",
          "tipo": "integer",
          "puedeSerNulo": false,
          "descripcion": "Identificador estable de la localidad."
        },
        {
          "nombre": "name",
          "tipo": "string",
          "puedeSerNulo": true,
          "descripcion": "Nombre de la localidad."
        },
        {
          "nombre": "province",
          "tipo": "Province",
          "puedeSerNulo": true,
          "descripcion": "Provincia a la que pertenece. Nunca es null."
        }
      ]
    },
    "endpointDoc": {
      "nombre": "EndpointDoc",
      "propiedades": [
        {
          "nombre": "metodo",
          "tipo": "string",
          "puedeSerNulo": true
        },
        {
          "nombre": "ruta",
          "tipo": "string",
          "puedeSerNulo": true
        },
        {
          "nombre": "descripcion",
          "tipo": "string",
          "puedeSerNulo": true
        },
        {
          "nombre": "requiereToken",
          "tipo": "boolean",
          "puedeSerNulo": false
        },
        {
          "nombre": "devuelve",
          "tipo": "string",
          "puedeSerNulo": true
        },
        {
          "nombre": "parametros",
          "tipo": "ParametroDoc[]",
          "puedeSerNulo": true
        },
        {
          "nombre": "ejemplo",
          "tipo": "string",
          "puedeSerNulo": true
        }
      ]
    },
    "errorDoc": {
      "nombre": "ErrorDoc",
      "propiedades": [
        {
          "nombre": "codigo",
          "tipo": "integer",
          "puedeSerNulo": false
        },
        {
          "nombre": "significado",
          "tipo": "string",
          "puedeSerNulo": true
        },
        {
          "nombre": "queHacer",
          "tipo": "string",
          "puedeSerNulo": true
        }
      ]
    },
    "grupoDoc": {
      "nombre": "GrupoDoc",
      "propiedades": [
        {
          "nombre": "nombre",
          "tipo": "string",
          "puedeSerNulo": true
        },
        {
          "nombre": "descripcion",
          "tipo": "string",
          "puedeSerNulo": true
        },
        {
          "nombre": "endpoints",
          "tipo": "EndpointDoc[]",
          "puedeSerNulo": true
        }
      ]
    },
    "identityDocumentType": {
      "nombre": "IdentityDocumentType",
      "descripcion": "Tipo de documento de identidad del nomenclador de ARCA (CUIT, CUIL, DNI, pasaporte, etc.). El es el código oficial que viaja en el campo DocTipo de la facturación electrónica.",
      "propiedades": [
        {
          "nombre": "id",
          "tipo": "integer",
          "puedeSerNulo": false,
          "descripcion": "Código oficial de ARCA (DocTipo)."
        },
        {
          "nombre": "name",
          "tipo": "string",
          "puedeSerNulo": true,
          "descripcion": "Denominación del tipo de documento."
        }
      ]
    },
    "invoiceType": {
      "nombre": "InvoiceType",
      "descripcion": "Tipo de comprobante del nomenclador de ARCA (ex AFIP): factura, nota de crédito, recibo, etc. El es el código oficial que viaja en el campo CbteTipo de los web services de facturación electrónica.",
      "propiedades": [
        {
          "nombre": "id",
          "tipo": "integer",
          "puedeSerNulo": false,
          "descripcion": "Código oficial de ARCA (CbteTipo)."
        },
        {
          "nombre": "name",
          "tipo": "string",
          "puedeSerNulo": true,
          "descripcion": "Denominación completa, por ejemplo \"NOTAS DE CREDITO A\"."
        },
        {
          "nombre": "abreviation",
          "tipo": "string",
          "puedeSerNulo": true,
          "descripcion": "Abreviatura de uso corriente (\"NC A\"), o null si no tiene."
        },
        {
          "nombre": "letter",
          "tipo": "string",
          "puedeSerNulo": true,
          "descripcion": "Letra del comprobante (A, B, C, M, E), o null si no aplica."
        }
      ]
    },
    "invoiceTypeRule": {
      "nombre": "InvoiceTypeRule",
      "descripcion": "Una combinación válida emisor / receptor / tipo de comprobante.\n\nEs la regla que responde la pregunta que se hace cualquier sistema de facturación antes de emitir: \"siendo yo responsable inscripto y mi cliente consumidor final, ¿qué comprobantes puedo emitirle?\".",
      "propiedades": [
        {
          "nombre": "emitter",
          "tipo": "ResponsableType",
          "puedeSerNulo": true,
          "descripcion": "Condición frente al IVA de quien emite."
        },
        {
          "nombre": "reciever",
          "tipo": "ResponsableType",
          "puedeSerNulo": true,
          "descripcion": "Condición frente al IVA de quien recibe."
        },
        {
          "nombre": "invoiceType",
          "tipo": "InvoiceType",
          "puedeSerNulo": true,
          "descripcion": "Comprobante habilitado para esa combinación."
        }
      ]
    },
    "make": {
      "nombre": "Make",
      "descripcion": "Marca de vehículo.",
      "propiedades": [
        {
          "nombre": "id",
          "tipo": "integer",
          "puedeSerNulo": false,
          "descripcion": "Identificador estable de la marca."
        },
        {
          "nombre": "name",
          "tipo": "string",
          "puedeSerNulo": true,
          "descripcion": "Nombre comercial, tal como lo usa la terminal."
        },
        {
          "nombre": "isProvisional",
          "tipo": "boolean",
          "puedeSerNulo": false,
          "descripcion": "true cuando la ficha se cargó de forma provisional y todavía no pasó por la revisión editorial. Por defecto la API no las devuelve."
        },
        {
          "nombre": "logoUrl",
          "tipo": "string",
          "puedeSerNulo": true,
          "descripcion": "URL absoluta del logo, o null si la marca no tiene logo cargado."
        }
      ]
    },
    "model": {
      "nombre": "Model",
      "descripcion": "Modelo de vehículo, con su marca y su segmento embebidos.",
      "propiedades": [
        {
          "nombre": "id",
          "tipo": "integer",
          "puedeSerNulo": false,
          "descripcion": "Identificador estable del modelo."
        },
        {
          "nombre": "name",
          "tipo": "string",
          "puedeSerNulo": true,
          "descripcion": "Denominación del modelo, sin la marca adelante."
        },
        {
          "nombre": "make",
          "tipo": "Make",
          "puedeSerNulo": true,
          "descripcion": "Marca a la que pertenece. Nunca es null."
        },
        {
          "nombre": "segment",
          "tipo": "Segment",
          "puedeSerNulo": true,
          "descripcion": "Segmento asignado, o null si todavía no se clasificó."
        },
        {
          "nombre": "isProvisional",
          "tipo": "boolean",
          "puedeSerNulo": false,
          "descripcion": "true si la ficha está pendiente de revisión editorial."
        }
      ]
    },
    "parametroDoc": {
      "nombre": "ParametroDoc",
      "propiedades": [
        {
          "nombre": "nombre",
          "tipo": "string",
          "puedeSerNulo": true
        },
        {
          "nombre": "en",
          "tipo": "string",
          "puedeSerNulo": true
        },
        {
          "nombre": "tipo",
          "tipo": "string",
          "puedeSerNulo": true
        },
        {
          "nombre": "requerido",
          "tipo": "boolean",
          "puedeSerNulo": false
        },
        {
          "nombre": "porDefecto",
          "tipo": "string",
          "puedeSerNulo": true
        },
        {
          "nombre": "descripcion",
          "tipo": "string",
          "puedeSerNulo": true
        }
      ]
    },
    "province": {
      "nombre": "Province",
      "descripcion": "Provincia argentina.\n\nAtención: el es el código propio de PanDaaS, no el del nomenclador de ARCA. El esquema es 1 = Buenos Aires (interior), 2 = Gran Buenos Aires, 3 = Capital Federal y de 4 en adelante el resto en orden alfabético. Es el corte que usan los operadores logísticos argentinos, y es el que referencian las localidades de esta misma base.",
      "propiedades": [
        {
          "nombre": "id",
          "tipo": "integer",
          "puedeSerNulo": false,
          "descripcion": "Código de provincia de PanDaaS (1 a 25)."
        },
        {
          "nombre": "name",
          "tipo": "string",
          "puedeSerNulo": true,
          "descripcion": "Nombre de la provincia."
        }
      ]
    },
    "responsableType": {
      "nombre": "ResponsableType",
      "descripcion": "Condición del contribuyente frente al IVA: responsable inscripto, monotributista, consumidor final, exento, etc.",
      "propiedades": [
        {
          "nombre": "id",
          "tipo": "integer",
          "puedeSerNulo": false,
          "descripcion": "Código de la condición."
        },
        {
          "nombre": "name",
          "tipo": "string",
          "puedeSerNulo": true,
          "descripcion": "Denominación de la condición."
        }
      ]
    },
    "segment": {
      "nombre": "Segment",
      "descripcion": "Segmento de mercado de un modelo (hatchback, SUV, pick-up, etc.).",
      "propiedades": [
        {
          "nombre": "id",
          "tipo": "integer",
          "puedeSerNulo": false,
          "descripcion": "Identificador estable del segmento."
        },
        {
          "nombre": "name",
          "tipo": "string",
          "puedeSerNulo": true,
          "descripcion": "Nombre del segmento."
        }
      ]
    }
  },
  "errores": [
    {
      "codigo": 200,
      "significado": "OK",
      "queHacer": "El cuerpo trae el recurso pedido."
    },
    {
      "codigo": 400,
      "significado": "Parámetro inválido",
      "queHacer": "Revisá tipos y valores contra la sección de parámetros del endpoint."
    },
    {
      "codigo": 401,
      "significado": "Token ausente, inexistente, desactivado o vencido",
      "queHacer": "El cuerpo aclara el motivo en el campo 'error'. Los tokens se administran en admin.pandaas.com.ar."
    },
    {
      "codigo": 404,
      "significado": "El recurso no existe",
      "queHacer": "El id pedido no está en el catálogo. No es un error de integración."
    },
    {
      "codigo": 429,
      "significado": "Límite mensual del token superado",
      "queHacer": "Esperá al mes que viene o pedí que te amplíen el cupo."
    },
    {
      "codigo": 500,
      "significado": "Error del servidor",
      "queHacer": "Escribinos: es nuestro. Guardamos el request en el log de consultas."
    }
  ]
}