Formulario A1 — Desplazamiento a UE / EEE / Suiza / Reino Unido / Gibraltar
Añade test=1 para realizar pruebas sin efectos reales. En producción, omite este parámetro.
Tramita el alta de un nuevo periodo de desplazamiento de un trabajador y genera el certificado PDA1.
Parámetros comunes
- test (número (1)) : Para pruebas, añade el parámetro test=1. Para producción se debe omitir.
- regimen (número entero) : Régimen, 4 dígitos. Posibles valores:
- 0111: Régimen general
- Tabla con los códigos de régimen (opens in a new tab)
- ccc (número entero) : Cuenta de cotización, 11 dígitos.
- dni (caracteres) : Documento de identidad del trabajador.
- nss (número entero) : Número de Seguridad Social, 12 dígitos.
- desde (date) : Inicio del desplazamiento, formato YYYY-MM-DD. Sistema RED sólo acepta fechas dentro de la ventana ±90 días respecto a la fecha actual; el endpoint rechaza la petición antes de salir al RED si la fecha cae fuera de ese rango.
- hasta (date) : Fin del desplazamiento, formato YYYY-MM-DD. Debe ser ≥
desdey ≤ 90 días desde hoy. - paises (arreglo de caracteres) : Códigos ISO 3166-1 numéricos de 3 dígitos. Para los tipos 1, 2 y 4 envíalo con un único elemento (el array conserva un mínimo de 1 país).
- 724: España
- Tabla con los códigos de país (opens in a new tab).
- tipo_desplazamiento (número entero) : Tipo de desplazamiento, posibles valores:
- 1: Un solo país, periodo no superior a 24 meses. Envía
tipo_desplazamiento_1. - 2: Un solo país, periodo superior a 24 meses. Envía
tipo_desplazamiento_2. - 3: Dos o más Estados miembros (UE/EEE/Suiza/Reino Unido). Envía
tipo_desplazamiento_3. - 4: Funcionario, tripulación aérea o régimen especial del mar. Envía
tipo_desplazamiento_4.
- 1: Un solo país, periodo no superior a 24 meses. Envía
Subobjeto tipo_desplazamiento_1 (un solo país, < 24 meses)
Requerido cuando tipo_desplazamiento = 1.
- vinculacion_directa_empresa_espanola (S | N) : ¿El trabajador mantiene la vinculación directa sólo con la empresa española? Obligatorio.
- sujeto_solo_seguridad_espanola (S | N) : ¿El trabajador está sujeto únicamente a la Seguridad Social española? Obligatorio.
- enviado_por_empresa_o_teletrabajo (S | N) : ¿Enviado por su empresa o autorización de teletrabajo? Obligatorio.
- opcion_actividad (número entero) : Lugar donde se va a realizar la actividad. Obligatorio. Posibles valores:
- 1: En una empresa, dirección o lugar de trabajo concreto (obliga a enviar el objeto
lugar_actividaddescrito abajo). - 2: No existe dirección fija de actividad.
- 1: En una empresa, dirección o lugar de trabajo concreto (obliga a enviar el objeto
- sustitucion_persona_desplazada (S | N) : ¿El trabajador es enviado en sustitución de otra persona desplazada con anterioridad, y que ya ha regresado? Obligatorio.
- residente_espana_contratado_temporal (S | N) : ¿El trabajador ha residido en España el mes anterior al inicio de su desplazamiento, ha sido contratado en España y se trata de una situación temporal inferior a 24 meses? Opcional. Sólo aplica cuando
sustitucion_persona_desplazada = Ny únicamente si TGSS presenta la pregunta en esa pantalla; en caso contrario se ignora. - primer_contrato_espana (S | N) : ¿El trabajador ha residido en España el mes anterior al inicio de su desplazamiento y se trata de su primer contrato en España? Opcional. Sólo aplica cuando
residente_espana_contratado_temporal = Ny únicamente si TGSS presenta la pregunta en esa pantalla; en caso contrario se ignora.
Objeto lugar_actividad (sólo cuando opcion_actividad = 1)
Si tipo_desplazamiento_1.opcion_actividad = 1, hay que enviar el subobjeto lugar_actividad con el domicilio de desplazamiento. Si opcion_actividad = 2, no se envía este objeto.
- denominacion (caracteres, máx 75) : Denominación de la empresa de destino o lugar de trabajo. Obligatorio.
- nombre_via (caracteres, máx 35) : Nombre de la vía. Obligatorio.
- numero (caracteres, máx 4) : Número. Opcional.
- poblacion (caracteres, máx 10) : Población / Localidad. Obligatorio.
- codigo_postal (caracteres, máx 8) : Código Postal. Opcional.
- pais_destino (caracteres, 3 dígitos) : Código ISO 3166-1 numérico del país de destino. Obligatorio.
Subobjeto tipo_desplazamiento_3 (actividad en dos o más Estados miembros)
Requerido cuando tipo_desplazamiento = 3.
- reside_en_espana (S | N) : ¿El trabajador reside en España? Obligatorio.
- tipo_actividad_residente (número entero) : Tipo de actividad del trabajador residente. Requerido si
tipo_desplazamiento_3.reside_en_espana = S. Posibles valores:- 1: Solo cuenta ajena.
- 2: Cuenta ajena y cuenta propia en diferentes Estados.
- 3: Funcionario que ejerce actividad por cuenta ajena/propia en otro(s) Estado(s).
- actividad_25_porciento_espana (S | N) : Requerido si
tipo_desplazamiento_3.tipo_actividad_residente = 1. - actividad_empresas_otros_estados (S | N) : Requerido si
tipo_desplazamiento_3.actividad_25_porciento_espana = S. - tipo_contratacion_menos_25 (número entero) : Tipo de contratación del trabajador (cuando no realiza al menos el 25% de la actividad en España). Requerido si
tipo_desplazamiento_3.actividad_25_porciento_espana = N. Posibles valores:- 1: Una empresa con sede en España.
- 2: Dos o más empresas con sede en España.
- 3: Dos o más empresas y al menos dos con sede en Estados miembros distintos de España.
- opcion_desplazamiento (S | N) : ¿El domicilio de actividad de la empresa y el de residencia del trabajador coinciden en el mismo emplazamiento? Obligatorio.
Subobjeto tipo_desplazamiento_4 (funcionario, tripulación aérea o régimen especial del mar)
Requerido cuando tipo_desplazamiento = 4.
- tipo_funcionario_mar_aereo (número entero) : Categoría del trabajador. Obligatorio. Posibles valores:
- 1: Funcionario.
- 2: Tripulación aérea.
- 3: Régimen Especial del Mar (a bordo de un buque).
- reside_espana_salario_empresa_espanola (S | N) : Requerido si
tipo_desplazamiento_4.tipo_funcionario_mar_aereo = 3. ¿El trabajador reside en España y el salario es abonado por una empresa española?
Ejemplo — tipo_desplazamiento = 1 con opcion_actividad = 2
{
"test": 1,
"regimen": "0111",
"ccc": "12345678901",
"dni": "12345678Z",
"nss": "123456789012",
"tipo_desplazamiento": 1,
"desde": "2026-06-10",
"hasta": "2026-06-30",
"paises": ["056"],
"tipo_desplazamiento_1": {
"vinculacion_directa_empresa_espanola": "S",
"sujeto_solo_seguridad_espanola": "S",
"enviado_por_empresa_o_teletrabajo": "S",
"opcion_actividad": 2,
"sustitucion_persona_desplazada": "N",
"residente_espana_contratado_temporal": "S"
}
}Ejemplo — tipo_desplazamiento = 1 con opcion_actividad = 1
{
"test": 1,
"regimen": "0111",
"ccc": "12345678901",
"dni": "12345678Z",
"nss": "123456789012",
"tipo_desplazamiento": 1,
"desde": "2026-06-10",
"hasta": "2026-06-30",
"paises": ["056"],
"tipo_desplazamiento_1": {
"vinculacion_directa_empresa_espanola": "S",
"sujeto_solo_seguridad_espanola": "S",
"enviado_por_empresa_o_teletrabajo": "S",
"opcion_actividad": 1,
"lugar_actividad": {
"denominacion": "Empresa destino BVBA",
"nombre_via": "Rue de la Loi",
"numero": "16",
"poblacion": "Bruselas",
"codigo_postal": "1040",
"pais_destino": "056"
},
"sustitucion_persona_desplazada": "N"
}
}Ejemplo — tipo_desplazamiento = 3 (múltiples países)
{
"test": 1,
"regimen": "0111",
"ccc": "12345678901",
"dni": "12345678Z",
"nss": "123456789012",
"tipo_desplazamiento": 3,
"desde": "2026-06-10",
"hasta": "2026-06-30",
"paises": [
"276", "040", "056", "208", "724", "250", "348",
"380", "442", "578", "528", "616", "620", "203",
"642", "752"
],
"tipo_desplazamiento_3": {
"reside_en_espana": "S",
"tipo_actividad_residente": 1,
"actividad_25_porciento_espana": "S",
"actividad_empresas_otros_estados": "N",
"opcion_desplazamiento": "N"
}
}Respuesta OK
El Sistema RED devuelve el PDA1 en PDF (codificado en base64) cuando la tramitación se acepta.
{
"success": true,
"message": "Con los datos introducidos se ha procedido a tramitar correctamente el desplazamiento y a generar el PDA1. Dicho documento estará a su disposición en un plazo de 24/48 horas a través de comunicación en SEDE ELECTRÓNICA.",
"status": 200,
"data": {
"file": {
"contentType": "application/pdf",
"name": "document.pdf",
"content": "base64"
}
}
}Respuesta 409 — A1 no generado pero con justificante disponible
En algunos casos el Sistema RED rechaza la emisión del PDA1 pero emite igualmente un justificante de desplazamiento descargable. El supuesto más habitual es el error 4224 (el periodo solicitado coincide total o parcialmente con otro desplazamiento ya anotado): el A1 no se genera y hay que tramitarlo por SEDE Electrónica (Modelo TA/300), pero el Sistema RED genera un justificante que debe adjuntarse a esa solicitud.
En ese supuesto el endpoint responde con HTTP 409 Conflict:
success:false.status:409.message: los mensajes del Sistema RED concatenados por. #(incluye el código4224y el aviso de justificante generado).data.a1_generado:false— el PDA1 no se ha emitido.data.justificante_generado:true— hay justificante descargable.data.file: el justificante de desplazamiento en PDF (base64).
{
"success": false,
"message": "4224 El periodo coincide total o parcialmente con otro ya anotado. Con los datos introducidos por usted no es posible la obtención del PD A1 a través de este servicio RED. Tiene que presentar la solicitud través del servicio de SEDE ELECTRONICA: Trabajadores Desplazados Modelo TA/300. Para justificar la realización a través de SEDE ELECTRONICA, deberá adjuntar el justificante que se ha emitido.. # No se ha podido generar el A1.. # Justificante generado correctamente. Pulse el enlace para abrirlo.. # Se recomienda guardar el PDF antes de imprimirlo por si tiene problemas con la impresora.",
"status": 409,
"data": {
"a1_generado": false,
"justificante_generado": true,
"file": {
"contentType": "application/pdf",
"name": "document.pdf",
"content": "base64"
}
}
}Distingue este caso por el status 409 y el flag data.justificante_generado = true: aunque success sea false, hay un PDF que descargar en data.file (el justificante a adjuntar en SEDE Electrónica). Un fallo técnico del Sistema RED, en cambio, no incluye data.file.
Respuesta con avisos del Sistema RED
Cuando el Sistema RED responde con mensajes de validación (avisos al usuario), success será false y message concatenará los avisos separados por . # .
{
"success": false,
"message": "El periodo solicitado solapa con otro desplazamiento ya tramitado. # Revise las fechas indicadas.",
"status": 200,
"data": []
}