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

http
POST /v1/procedures/registration
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY
json
{
  "vin": "WBAWV31090P173837",
  "userEmail": "cliente@empresa.com",
  "documents": [
    { "type": "national_id", "url": "<file_url>" },
    { "type": "technical_sheet", "url": "<file_url>" }
  ]
}

Respuesta:

json
{
  "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:

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

http
POST /v1/procedures/transfer
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY
json
{
  "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:

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

TipoDescripción
national_idDNI — Documento Nacional de Identidad
foreigner_idNIE — Número de Identificación de Extranjero
passportPasaporte
tax_idTarjeta del NIF
veh_registration_certPermiso de circulación actual
technical_sheetFicha técnica
sales_agreementContrato de compraventa
invoiceFactura de venta
power_of_attorneyPoder notarial
inheritance_deedAdjudicación de herencia
leasing_renting_contractContrato de leasing o renting
lost_documents_declarationDeclaración de pérdida de documentos
responsible_declarationDeclaración responsable
representation_authMandato de representación
residence_registration_certCertificado 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

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

EstadoDescripción
DRAFTBorrador — en preparación, aún no confirmado
BLOCKEDBloqueado — requiere atención del cliente o falta información
PENDINGPendiente — recibido y a la espera de ser procesado por Punto
IN_PROGRESSEn progreso — siendo tramitado por el equipo de Punto
ON_HOLDEsperando — pendiente de respuesta de organismos externos
DONEFinalizado — trámite completado con éxito
CANCELLEDCancelado — cancelado por solicitud o por incidencias
DELIVERED_TO_CLIENTEntregado 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:

http
GET /v1/procedures/{id}
Authorization: Bearer YOUR_API_KEY

Respuesta ejemplo (completado):

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

DocumentoTipo en la API
Permiso de Circulación temporaltemp_veh_registration_cert
Permiso de Circulación definitivofinal_veh_registration_cert
Ficha técnica temporaltemp_technical_sheet
Ficha técnica definitivafinal_technical_sheet
Modelo 576 (IEDMT)es_576_doc
Justificante de pago del IEDMTes_iedmt_payment_proof
Modelo 01es_01_doc
Solicitud de IVA reducidoes_04_doc
Modelo 05es_05_doc
Modelo 06 (pago del IEDMT)es_06_doc
Modelo IVTMes_ivtm_doc
Justificante de pago del IVTMes_ivtm_payment_proof
Modelo 620 (ITP)es_itp_doc
Justificante de pago del ITPes_itp_payment_proof
Justificante de presentaciónsubmission_proof
Factura del trámiteprocedure_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):

http
POST /v1/procedures/{id}/documents

Siguientes pasos