Trámites
Punto automatiza las matriculaciones y transferencias de vehículos con la DGT. Crea el trámite en una sola llamada adjuntando los documentos necesarios, y cuando haya un cambio de estado te avisaremos en tiempo real mediante eventos en tu webhook. También puedes consultar el estado en cualquier momento y descargar los documentos generados: Modelos 576, 01, 04, 05 y 06 (IEDMT), Modelo 620 (ITP), Modelo IVTM y sus justificantes de pago, Permiso de Circulación temporal, Ficha técnica temporal y Justificante de presentación.
Flujo
1. Crear el trámite con sus documentos 2. Recibir eventos de cambio de estado 3. Consultar el trámite y descargar documentos
Paso 1 — Crear el trámite
Matriculación
POST /v1/procedures/registration
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY{
"vin": "WBAWV31090P173837",
"userEmail": "cliente@empresa.com",
"documents": [
{ "type": "national_id", "url": "<file_url>" },
{ "type": "technical_sheet", "url": "<file_url>" }
]
}Respuesta:
{
"id": "pro_123456",
"createdAt": "2026-05-26T10:30:00.000Z",
"updatedAt": "2026-05-26T10:30:00.000Z",
"type": "VEHICLE_REGISTRATION",
"typeDescription": "Matriculación",
"status": "PENDING",
"statusDescription": "Pendiente",
"webUrl": "https://clientes.puntoauto.com/procedures/pro_123456",
"companyTaxId": "B12345678",
"vehicle": {
"vin": "WBAWV31090P173837",
"vrm": null
},
"documents": [
{
"id": "doc_ABC123",
"createdAt": "2026-05-26T10:30:00.000Z",
"downloadUrl": "https://storage.example.com/docs/national_id.pdf",
"type": "national_id",
"name": "DNI",
"mimeType": "application/pdf",
"metadata": {}
},
{
"id": "doc_ABC124",
"createdAt": "2026-05-26T10:30:00.000Z",
"downloadUrl": "https://storage.example.com/docs/technical_sheet.pdf",
"type": "technical_sheet",
"name": "Ficha técnica",
"mimeType": "application/pdf",
"metadata": {}
}
],
"generatedDocuments": [],
"incidents": [],
"docRecipient": null,
"docRecipientAddress": {},
"metadata": {}
}El campo vehicle.vrm (matrícula) estará vacío hasta que la DGT lo asigne al completarse el trámite.
Modo borrador
Por defecto el trámite se confirma al crearlo. Si necesitas enviarlo más tarde (por ejemplo, para adjuntar documentos adicionales primero), usa "confirmed": false:
{
"vin": "WBAWV31090P173837",
"confirmed": false,
"documents": []
}El trámite quedará en estado DRAFT. Puedes actualizarlo con PATCH /v1/procedures/registration/{id} y confirmarlo explícitamente con POST /v1/procedures/{id}/confirm.
Transferencia
POST /v1/procedures/transfer
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY{
"vrm": "1234BCD",
"taxableBase": 15499.00,
"invoiceNumber": "FAC-2026-001",
"userEmail": "cliente@empresa.com",
"documents": [
{ "type": "national_id", "url": "<file_url>" },
{ "type": "sales_agreement", "url": "<file_url>" },
{ "type": "veh_registration_cert", "url": "<file_url>" }
]
}Respuesta:
{
"id": "pro_123456",
"createdAt": "2026-05-26T10:30:00.000Z",
"updatedAt": "2026-05-26T10:30:00.000Z",
"type": "VEHICLE_TRANSFER",
"typeDescription": "Transferencia",
"status": "PENDING",
"statusDescription": "Pendiente",
"webUrl": "https://clientes.puntoauto.com/procedures/pro_123456",
"companyTaxId": "B12345678",
"vrm": "1234BCD",
"taxableBase": 15499.00,
"invoiceNumber": "FAC-2026-001",
"documents": [
{
"id": "doc_ABC123",
"createdAt": "2026-05-26T10:30:00.000Z",
"downloadUrl": "https://storage.example.com/docs/national_id.pdf",
"type": "national_id",
"name": "DNI",
"mimeType": "application/pdf",
"metadata": {}
},
{
"id": "doc_ABC124",
"createdAt": "2026-05-26T10:30:00.000Z",
"downloadUrl": "https://storage.example.com/docs/sales_agreement.pdf",
"type": "sales_agreement",
"name": "Contrato de compraventa",
"mimeType": "application/pdf",
"metadata": {}
},
{
"id": "doc_ABC125",
"createdAt": "2026-05-26T10:30:00.000Z",
"downloadUrl": "https://storage.example.com/docs/veh_registration_cert.pdf",
"type": "veh_registration_cert",
"name": "Permiso de circulación",
"mimeType": "application/pdf",
"metadata": {}
}
],
"generatedDocuments": [],
"incidents": [],
"docRecipient": null,
"docRecipientAddress": {},
"metadata": {}
}Tipos de documento habituales
| Tipo | Descripción |
|---|---|
national_id | DNI — Documento Nacional de Identidad |
foreigner_id | NIE — Número de Identificación de Extranjero |
passport | Pasaporte |
tax_id | Tarjeta del NIF |
veh_registration_cert | Permiso de circulación actual |
technical_sheet | Ficha técnica |
sales_agreement | Contrato de compraventa |
invoice | Factura de venta |
power_of_attorney | Poder notarial |
inheritance_deed | Adjudicación de herencia |
leasing_renting_contract | Contrato de leasing o renting |
lost_documents_declaration | Declaración de pérdida de documentos |
responsible_declaration | Declaración responsable |
representation_auth | Mandato de representación |
residence_registration_cert | Certificado de empadronamiento |
Consulta la Referencia API para el listado completo.
Paso 2 — Recibir eventos
Configura un webhook para recibir notificaciones en tiempo real cada vez que el estado de un trámite cambie o se genere un nuevo documento.
Crear una suscripción
Ponte en contacto con nosotros tech@punto.ai para registrar un webhook a una URL de tu dominio.
Deberás indicarnos:
- URL: URL a la que quieres que enviemos los eventos (ver Webhooks para más detalles)
- Eventos: Listado de eventos que quieres recibir. Si no especificas una lista configuraremos todos los tipos de eventos.
- Cabeceras (opcional): Cabecera HTTP que quieres que incluyamos en los eventos para validar que son legítimos.
Estructura del evento
{
"event": "procedure.status_changed",
"data": {
"id": "pro_123456",
"path": "/v1/procedures/pro_123456",
"timestamp": "2026-05-26T10:30:00.000Z",
"procedureType": "VEHICLE_REGISTRATION",
"status": "DONE"
}
}Estados de un trámite
| Estado | Descripción |
|---|---|
DRAFT | Borrador — en preparación, aún no confirmado |
BLOCKED | Bloqueado — requiere atención del cliente o falta información |
PENDING | Pendiente — recibido y a la espera de ser procesado por Punto |
IN_PROGRESS | En progreso — siendo tramitado por el equipo de Punto |
ON_HOLD | Esperando — pendiente de respuesta de organismos externos |
DONE | Finalizado — trámite completado con éxito |
CANCELLED | Cancelado — cancelado por solicitud o por incidencias |
DELIVERED_TO_CLIENT | Entregado al cliente — documentos finales entregados |
Cuando el estado pase a DONE, la matrícula y los documentos generados estarán disponibles. En matriculaciones la matrícula se encuentra en vehicle.vrm; en transferencias, en vrm. Si el estado pasa a CANCELLED, el campo statusDescription indicará el motivo.
Paso 3 — Consultar y descargar
Puedes consultar el estado de un trámite en cualquier momento:
GET /v1/procedures/{id}
Authorization: Bearer YOUR_API_KEYRespuesta ejemplo (completado):
{
"id": "pro_123456",
"createdAt": "2026-05-26T10:30:00.000Z",
"updatedAt": "2026-05-26T11:45:00.000Z",
"type": "VEHICLE_REGISTRATION",
"typeDescription": "Matriculación",
"status": "DONE",
"statusDescription": "Finalizado",
"webUrl": "https://clientes.puntoauto.com/procedures/pro_123456",
"companyTaxId": "B12345678",
"vehicle": {
"vin": "WBAWV31090P173837",
"vrm": "1234ABC"
},
"documents": [],
"generatedDocuments": [
{
"id": "doc_GEN001",
"createdAt": "2026-05-26T11:45:00.000Z",
"downloadUrl": "https://storage.example.com/docs/temp_veh_registration_cert.pdf",
"type": "temp_veh_registration_cert",
"name": "Permiso de Circulación temporal",
"mimeType": "application/pdf",
"metadata": {}
},
{
"id": "doc_GEN002",
"createdAt": "2026-05-26T11:45:00.000Z",
"downloadUrl": "https://storage.example.com/docs/es_576_doc.pdf",
"type": "es_576_doc",
"name": "Modelo 576",
"mimeType": "application/pdf",
"metadata": {}
}
],
"incidents": [],
"metadata": {}
}Los documentos generados se encuentran en el array generatedDocuments. Usa el campo downloadUrl de cada documento para descargarlo (la URL caduca pasados unos minutos).
Documentos generados
| Documento | Tipo en la API |
|---|---|
| Permiso de Circulación temporal | temp_veh_registration_cert |
| Permiso de Circulación definitivo | final_veh_registration_cert |
| Ficha técnica temporal | temp_technical_sheet |
| Ficha técnica definitiva | final_technical_sheet |
| Modelo 576 (IEDMT) | es_576_doc |
| Justificante de pago del IEDMT | es_iedmt_payment_proof |
| Modelo 01 | es_01_doc |
| Solicitud de IVA reducido | es_04_doc |
| Modelo 05 | es_05_doc |
| Modelo 06 (pago del IEDMT) | es_06_doc |
| Modelo IVTM | es_ivtm_doc |
| Justificante de pago del IVTM | es_ivtm_payment_proof |
| Modelo 620 (ITP) | es_itp_doc |
| Justificante de pago del ITP | es_itp_payment_proof |
| Justificante de presentación | submission_proof |
| Factura del trámite | procedure_invoice |
Opcional — Añadir documentos a un trámite
Si necesitas subir documentos adicionales después de crear el trámite, usa file (multipart) o url (enlace al fichero):
POST /v1/procedures/{id}/documentsSiguientes pasos
- Informes DGT — solicita informes de vehículos sin crear un trámite
- Firmas electrónicas — envía documentos a firmar
- Referencia API — documentación completa de todos los endpoints