PanDaaS

PanDaaS · API

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.

URL base
https://api.pandaas.com.ar
Versión
3.3.0
Formato
JSON, campos en camelCase, codificación UTF-8
Verbos
Solo GET: los catálogos son de lectura

Todo lo que ves en esta página está también en /help como JSON, y en /openapi como especificación OpenAPI 3 lista para importar en Postman o para generar un cliente.

Autenticación

Cada llamada lleva un token en el encabezado Authorization. Los tokens se administran en el panel.

curl -H "Authorization: Bearer a1b2c3d4e5f60718293a4b5c6d7e8f90" \
     https://api.pandaas.com.ar/autobase/segments
Formato del token
32 caracteres hexadecimales
Sin token o inválido
401 Unauthorized
Cupo mensual agotado
429 Too Many Requests

Los endpoints de Sistema son abiertos: podés revisar la documentación y el estado del servicio antes de tener una credencial.

AutoBase

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.

GET /autobase/makes

Lista las marcas ordenadas por nombre.

ParámetroEnTipoPor defectoDescripción
onlyValidatedquerybooleantrueDejalo 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.

Devuelve Make[]

curl -H "Authorization: Bearer $PANDAAS_TOKEN" https://api.pandaas.com.ar/autobase/makes

GET /autobase/makes/{id}

Devuelve una marca por su identificador.

ParámetroEnTipoPor defectoDescripción
id obligatoriorutainteger—Identificador de la marca.

Devuelve Make

curl -H "Authorization: Bearer $PANDAAS_TOKEN" https://api.pandaas.com.ar/autobase/makes/1

GET /autobase/makes/{id}/models

Modelos de una marca. Es un atajo de /autobase/models?makeId={id}, para no tener que armar la query desde el cliente.

ParámetroEnTipoPor defectoDescripción
id obligatoriorutainteger—Identificador de la marca.
onlyValidatedquerybooleantrueExcluye los modelos pendientes de revisión.

Devuelve Model[]

curl -H "Authorization: Bearer $PANDAAS_TOKEN" https://api.pandaas.com.ar/autobase/makes/1/models

GET /autobase/models

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.

ParámetroEnTipoPor defectoDescripción
makeIdqueryinteger?—Restringe a una marca.
segmentIdqueryinteger?—Restringe a un segmento.
onlyValidatedquerybooleantrueExcluye los modelos pendientes de revisión.

Devuelve Model[]

curl -H "Authorization: Bearer $PANDAAS_TOKEN" https://api.pandaas.com.ar/autobase/models

GET /autobase/models/{id}

Devuelve un modelo por su identificador.

Los Ids no se rompen. Si el que pedís correspondía a un modelo duplicado que se fusionó con otro, recibís el modelo que quedó, con su propio Id: si el id de la respuesta no es el que pediste, guardá el nuevo.

ParámetroEnTipoPor defectoDescripción
id obligatoriorutainteger—Identificador del modelo.

Devuelve Model

curl -H "Authorization: Bearer $PANDAAS_TOKEN" https://api.pandaas.com.ar/autobase/models/1

GET /autobase/segments

Lista todos los segmentos.

Devuelve Segment[]

curl -H "Authorization: Bearer $PANDAAS_TOKEN" https://api.pandaas.com.ar/autobase/segments

GET /autobase/segments/{id}

Devuelve un segmento por su identificador.

ParámetroEnTipoPor defectoDescripción
id obligatoriorutainteger—Identificador del segmento.

Devuelve Segment

curl -H "Authorization: Bearer $PANDAAS_TOKEN" https://api.pandaas.com.ar/autobase/segments/1

ARCABase

GET /arcabase/cities

Lista localidades. Sin filtros son 2.372 filas: para un autocompletado usá search, y para un combo encadenado, provinceId.

ParámetroEnTipoPor defectoDescripción
provinceIdqueryinteger?—Restringe a una provincia.
searchquerystring—Devuelve solo las localidades cuyo nombre empieza con este texto. No distingue mayúsculas ni acentos.

Devuelve City[]

curl -H "Authorization: Bearer $PANDAAS_TOKEN" https://api.pandaas.com.ar/arcabase/cities

GET /arcabase/cities/{id}

Devuelve una localidad por su identificador.

ParámetroEnTipoPor defectoDescripción
id obligatoriorutainteger—Identificador de la localidad.

Devuelve City

curl -H "Authorization: Bearer $PANDAAS_TOKEN" https://api.pandaas.com.ar/arcabase/cities/1

GET /arcabase/concepts

Conceptos: producto, servicios o ambos. Define si ARCA va a exigir las fechas de servicio en el comprobante.

Devuelve Concept[]

curl -H "Authorization: Bearer $PANDAAS_TOKEN" https://api.pandaas.com.ar/arcabase/concepts

GET /arcabase/countries

Países del nomenclador de ARCA, para los comprobantes de exportación.

Devuelve Country[]

curl -H "Authorization: Bearer $PANDAAS_TOKEN" https://api.pandaas.com.ar/arcabase/countries

GET /arcabase/currencies

Monedas admitidas, ordenadas por nombre. "PES" son pesos argentinos.

Devuelve Currency[]

curl -H "Authorization: Bearer $PANDAAS_TOKEN" https://api.pandaas.com.ar/arcabase/currencies

GET /arcabase/identity-document-types

Lista todos los tipos de documento.

Devuelve IdentityDocumentType[]

curl -H "Authorization: Bearer $PANDAAS_TOKEN" https://api.pandaas.com.ar/arcabase/identity-document-types

GET /arcabase/identity-document-types/{id}

Devuelve un tipo de documento por su código.

ParámetroEnTipoPor defectoDescripción
id obligatoriorutainteger—Código oficial del tipo de documento (DocTipo).

Devuelve IdentityDocumentType

curl -H "Authorization: Bearer $PANDAAS_TOKEN" https://api.pandaas.com.ar/arcabase/identity-document-types/1

GET /arcabase/invoice-type-rules

Lista las combinaciones habilitadas.

Cubre a los cinco emisores de la facturación electrónica: Responsable Inscripto (clases A, B, M y E), Exento y los tres monotributos (C y E). Por cada clase trae factura, nota de débito y nota de crédito. Las demás condiciones —consumidor final, no categorizado, del exterior— no emiten, así que no aparecen como emisoras.

La M aparece como posible para el Responsable Inscripto porque la emite en lugar de la A cuando ARCA se la asigna; si no te la asignaron, emití A. La E es exportación y va al cliente del exterior.

Se arma con dos fuentes: qué clase emite cada condición (RG 1415) y qué receptores admite cada clase según la tabla de ARCA (FEParamGetCondicionIvaReceptor). Un responsable inscripto le emite Factura A a un monotributista desde la RG 5.003.

ParámetroEnTipoPor defectoDescripción
emitterIdqueryinteger?—Condición frente al IVA de quien emite.
recieverIdqueryinteger?—Condición frente al IVA de quien recibe.

Devuelve InvoiceTypeRule[]

curl -H "Authorization: Bearer $PANDAAS_TOKEN" https://api.pandaas.com.ar/arcabase/invoice-type-rules

GET /arcabase/invoice-types

Lista los tipos de comprobante.

ParámetroEnTipoPor defectoDescripción
letterquerystring—Filtra por letra del comprobante (A, B, C, M, E, R). Sin filtro devuelve los 96, incluidos los 20 cuya denominación oficial no nombra ninguna letra.
onlyElectronicquerybooleanfalseDeja solo los 36 que se pueden emitir por el web service de facturación electrónica. La tabla completa es el nomenclador de ARCA e incluye comprobantes en papel y de regímenes especiales: si estás armando el combo de un sistema que factura, querés esto en true.

Devuelve InvoiceType[]

curl -H "Authorization: Bearer $PANDAAS_TOKEN" https://api.pandaas.com.ar/arcabase/invoice-types

GET /arcabase/invoice-types/{id}

Devuelve un tipo de comprobante por su código de ARCA.

ParámetroEnTipoPor defectoDescripción
id obligatoriorutainteger—Código oficial del comprobante (CbteTipo).

Devuelve InvoiceType

curl -H "Authorization: Bearer $PANDAAS_TOKEN" https://api.pandaas.com.ar/arcabase/invoice-types/1

GET /arcabase/iva-rates

Alícuotas de IVA. El id va en cada ítem del array de IVA del comprobante; el campo percent trae el mismo valor como número, para no tener que parsear "10.5%".

Devuelve IvaRate[]

curl -H "Authorization: Bearer $PANDAAS_TOKEN" https://api.pandaas.com.ar/arcabase/iva-rates

GET /arcabase/provinces

Lista las 25 provincias.

Devuelve Province[]

curl -H "Authorization: Bearer $PANDAAS_TOKEN" https://api.pandaas.com.ar/arcabase/provinces

GET /arcabase/provinces/{id}

Devuelve una provincia por su código.

ParámetroEnTipoPor defectoDescripción
id obligatoriorutainteger—Código de provincia de PanDaaS (1 a 25).

Devuelve Province

curl -H "Authorization: Bearer $PANDAAS_TOKEN" https://api.pandaas.com.ar/arcabase/provinces/1

GET /arcabase/provinces/{id}/cities

Localidades de una provincia. Atajo de /arcabase/cities?provinceId={id}.

ParámetroEnTipoPor defectoDescripción
id obligatoriorutainteger—Código de la provincia.

Devuelve City[]

curl -H "Authorization: Bearer $PANDAAS_TOKEN" https://api.pandaas.com.ar/arcabase/provinces/1/cities

GET /arcabase/responsable-types

Lista las condiciones frente al IVA.

Para armar el combo del receptor en un sistema que factura, pedí invoiceClass con la letra del comprobante que vas a emitir: vuelven solo las condiciones que ARCA acepta para esa letra, y el error de informar una incompatible (el 10242) no puede ocurrir.

ParámetroEnTipoPor defectoDescripción
onlyCurrentquerybooleantrueDejalo en true para recibir solo las 11 condiciones que ARCA acepta hoy. En false vienen también las derogadas —"IVA Responsable no Inscripto", "Pequeño Contribuyente Eventual"—, marcadas con isCurrent en false y con currentEquivalentId apuntando a su reemplazo. Sirven para migrar datos viejos, no para facturar.
invoiceClassquerystring—Letra del comprobante: A, B, C o M. Filtra a las condiciones que ARCA admite como receptor de esa clase.

Devuelve ResponsableType[]

curl -H "Authorization: Bearer $PANDAAS_TOKEN" https://api.pandaas.com.ar/arcabase/responsable-types

GET /arcabase/responsable-types/{id}

Devuelve una condición por su código, vigente o derogada.

ParámetroEnTipoPor defectoDescripción
id obligatoriorutainteger—Código de la condición. En las vigentes es el código de ARCA.

Devuelve ResponsableType

curl -H "Authorization: Bearer $PANDAAS_TOKEN" https://api.pandaas.com.ar/arcabase/responsable-types/1

GET /arcabase/tax-types

Tipos de tributo que pueden sumarse a un comprobante: percepciones, ingresos brutos, impuestos provinciales y municipales.

Devuelve TaxType[]

curl -H "Authorization: Bearer $PANDAAS_TOKEN" https://api.pandaas.com.ar/arcabase/tax-types

Sistema

GET / sin token

Documentación de la API en HTML.

curl https://api.pandaas.com.ar/

GET /help sin token

Catálogo completo de la API: datasets, endpoints, parámetros, modelos de respuesta y códigos de error.

Se 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.

Devuelve CatalogoApi

curl https://api.pandaas.com.ar/help

GET /help/{dataset} sin token

Los endpoints de un dataset, para no traerse el catálogo entero.

ParámetroEnTipoPor defectoDescripción
dataset obligatoriorutastring—Nombre del dataset: AutoBase, ARCABase o Sistema.

Devuelve GrupoDoc

curl https://api.pandaas.com.ar/help/1

GET /openapi sin token

Devuelve la API descrita en OpenAPI 3.0.3.

Sale 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í.

curl https://api.pandaas.com.ar/openapi

GET /openapi.json sin token

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á.

curl https://api.pandaas.com.ar/openapi.json

GET /status sin token

Dice si la API está viva y si llega a la base.

Existe 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.

curl https://api.pandaas.com.ar/status

Códigos de error

CódigoSignificadoQué hacer
200OKEl cuerpo trae el recurso pedido.
400Parámetro inválidoRevisá tipos y valores contra la sección de parámetros del endpoint.
401Token ausente, inexistente, desactivado o vencidoEl cuerpo aclara el motivo en el campo 'error'. Los tokens se administran en admin.pandaas.com.ar.
404El recurso no existeEl id pedido no está en el catálogo. No es un error de integración.
429Límite mensual del token superadoEsperá al mes que viene o pedí que te amplíen el cupo.
500Error del servidorEscribinos: es nuestro. Guardamos el request en el log de consultas.

Modelos

Los objetos que devuelven los endpoints. Los nombres van en camelCase, como salen serializados.

AutenticacionDoc

CampoTipoDescripción
tipostring puede ser null
encabezadostring puede ser null
formatostring puede ser null
dondeObtenerlostring puede ser null
siFaltastring puede ser null
siSePasaDelCupostring puede ser null

CatalogoApi

El catálogo que sirve /help.

No 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.

CampoTipoDescripción
productostring puede ser null
versionstring puede ser null
descripcionstring puede ser null
baseUrlstring puede ser null
autenticacionAutenticacionDoc puede ser null
datasetsGrupoDoc[] puede ser null
modelosstring[] puede ser null
erroresErrorDoc[] puede ser null
todosLosEndpointsEndpointDoc[] puede ser nullTodos 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

Localidad, con la provincia a la que pertenece embebida.

CampoTipoDescripción
idintegerIdentificador estable de la localidad.
namestring puede ser nullNombre de la localidad.
provinceProvince puede ser nullProvincia a la que pertenece. Nunca es null.

Concept

Concepto del comprobante: si lo que se factura son productos, servicios o ambos. Va en el campo Concepto, y determina si ARCA exige las fechas de servicio.

CampoTipoDescripción
idintegerCódigo oficial del concepto.
namestring puede ser nullDenominación.

Country

País, del nomenclador de ARCA. Se usa en los comprobantes de exportación.

CampoTipoDescripción
idintegerCódigo oficial del país.
namestring puede ser nullNombre del país.

Currency

Moneda del comprobante. El va en el campo MonId.

CampoTipoDescripción
idstring puede ser nullCódigo de ARCA: "PES" para pesos, "DOL" para dólar estadounidense.
namestring puede ser nullDenominación de la moneda.

EndpointDoc

CampoTipoDescripción
metodostring puede ser null
rutastring puede ser null
descripcionstring puede ser null
requiereTokenboolean
devuelvestring puede ser null
parametrosParametroDoc[] puede ser null
ejemplostring puede ser null

ErrorDoc

CampoTipoDescripción
codigointeger
significadostring puede ser null
queHacerstring puede ser null

GrupoDoc

CampoTipoDescripción
nombrestring puede ser null
descripcionstring puede ser null
endpointsEndpointDoc[] puede ser null

IdentityDocumentType

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.

CampoTipoDescripción
idintegerCódigo oficial de ARCA (DocTipo).
namestring puede ser nullDenominación del tipo de documento.

InvoiceType

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.

CampoTipoDescripción
idintegerCódigo oficial de ARCA (CbteTipo).
namestring puede ser nullDenominación completa, por ejemplo "NOTAS DE CREDITO A".
abreviationstring puede ser nullAbreviatura de uso corriente ("NC A"), o null si no tiene.
letterstring puede ser nullLetra del comprobante (A, B, C, M, E, R), o null si su denominación oficial no nombra ninguna.
wsfeEnabledbooleantrue si se puede emitir por el web service de facturación electrónica. La tabla es el nomenclador completo de ARCA e incluye comprobantes en papel y de regímenes especiales: de los 96, 36 son electrónicos.

InvoiceTypeRule

Una combinación válida emisor / receptor / tipo de comprobante.

Es 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?".

CampoTipoDescripción
emitterResponsableType puede ser nullCondición frente al IVA de quien emite.
recieverResponsableType puede ser nullCondición frente al IVA de quien recibe.
invoiceTypeInvoiceType puede ser nullComprobante habilitado para esa combinación.

IvaRate

Alícuota de IVA. El es el código que viaja en el campo Id de cada ítem del array Iva de la facturación electrónica.

CampoTipoDescripción
idintegerCódigo oficial de la alícuota.
namestring puede ser nullComo la nombra ARCA: "21%", "10.5%".
percentnumber? puede ser nullEl mismo valor como número, para calcular sin parsear el nombre.

Make

Marca de vehículo.

CampoTipoDescripción
idintegerIdentificador estable de la marca.
namestring puede ser nullNombre comercial, tal como lo usa la terminal.
isProvisionalbooleantrue 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.
logoUrlstring puede ser nullURL absoluta del logo, o null si la marca no tiene logo cargado.

Model

Modelo de vehículo, con su marca y su segmento embebidos.

CampoTipoDescripción
idintegerIdentificador estable del modelo.
namestring puede ser nullDenominación del modelo, sin la marca adelante.
makeMake puede ser nullMarca a la que pertenece. Nunca es null.
segmentSegment puede ser nullSegmento asignado, o null si todavía no se clasificó.
isProvisionalbooleantrue si la ficha está pendiente de revisión editorial.

ParametroDoc

CampoTipoDescripción
nombrestring puede ser null
enstring puede ser null
tipostring puede ser null
requeridoboolean
porDefectostring puede ser null
descripcionstring puede ser null

Province

Provincia argentina.

Atenció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. Para cruzar con otros sistemas, usá .

CampoTipoDescripción
idintegerCódigo de provincia de PanDaaS (1 a 25).
namestring puede ser nullNombre de la provincia.
isoCodestring puede ser nullCódigo ISO 3166-2:AR ("AR-X" para Córdoba, "AR-C" para la Ciudad de Buenos Aires). Es el identificador estándar para cruzar con mapas, operadores logísticos y cualquier sistema fuera de PanDaaS. Interior de Buenos Aires y Gran Buenos Aires comparten "AR-B": para ISO son la misma provincia.

ResponsableType

Condición del contribuyente frente al IVA: responsable inscripto, monotributista, consumidor final, exento, etc.

El de las condiciones vigentes es el código oficial que ARCA espera en el campo CondicionIVAReceptorId de la facturación electrónica (tabla FEParamGetCondicionIvaReceptor). Desde el 01/12/2026 la RG 5.616 lo hace obligatorio y ARCA rechaza el comprobante que informa un código inexistente o incompatible con la letra.

CampoTipoDescripción
idintegerCódigo de la condición. En las vigentes, es el código de ARCA.
namestring puede ser nullDenominación, tal como figura en la tabla de ARCA.
isCurrentbooleantrue si ARCA acepta hoy este código en CondicionIVAReceptorId. Las no vigentes son figuras derogadas —"IVA Responsable no Inscripto", "Pequeño Contribuyente Eventual"— que se conservan porque pueden estar guardadas en sistemas viejos, pero no se pueden informar.
currentEquivalentIdinteger? puede ser nullPara una condición derogada, la vigente que la reemplaza; null en las vigentes. Las equivalencias son razonables pero no idénticas: ante un caso real conviene revisar al contribuyente, no confiar a ciegas en el reemplazo.

Segment

Segmento de mercado de un modelo (hatchback, SUV, pick-up, etc.).

CampoTipoDescripción
idintegerIdentificador estable del segmento.
namestring puede ser nullNombre del segmento.

TaxType

Tipo de tributo que puede sumarse a un comprobante: percepciones, impuestos provinciales, ingresos brutos.

CampoTipoDescripción
idintegerCódigo oficial del tributo.
namestring puede ser nullDenominación.