Actualizar una obligación
Actualiza los datos de una obligación individual de publicidad activa: enlaces, aclaraciones, opción de publicación y autoevaluación.
Parámetros de ruta
| Parámetro | Tipo | Descripción |
|---|---|---|
iddeclaracion |
int | ID de la declaración |
idobligacion |
int | ID de la obligación (campo id del árbol PA, NO idobligacion) |
Body de la petición
{
"obligacionId": 7001,
"enlaces": [
{
"url": "https://portal.entidad.es/transparencia/presupuestos",
"valida": true,
"orden": 0
},
{
"url": "https://sede.entidad.es/presupuestos-2024",
"valida": true,
"orden": 1
}
],
"aclaraciones": "Publicado en ambos portales",
"opcionPublicacion": 0,
"noCumple": false,
"autoevaluacion": [
{ "id": 456, "valor": 3 }
]
}
Tabla de campos del body
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
obligacionId |
int | Sí | ID del ítem PA (campo id del GET /pa) |
enlaces |
array | No | URLs donde se publica la información |
enlaces[].url |
string | Sí | URL completa (debe empezar por http:// o https://) |
enlaces[].valida |
bool | No | Si la URL ha sido validada como accesible (default: false) |
enlaces[].orden |
int | No | Orden de presentación, de 0 a 99 (default: 0) |
aclaraciones |
string | No | Texto libre de aclaraciones (máximo 5.000 caracteres) |
opcionPublicacion |
int | Sí | Opción de publicación (0-3, ver tabla) |
noCumple |
bool | No | Indica que la entidad declara no cumplir (default: false) |
autoevaluacion |
array | No | Valores de autoevaluación por criterio |
autoevaluacion[].id |
int | Sí | ID del ítem de autoevaluación (campo id del array autoevaluacion[] del GET /pa, ej: 949162) |
autoevaluacion[].valor |
int | Sí | Valor discreto para el criterio (0 a 100; ver tabla de valores admitidos) |
Opciones de publicación
| Código | Descripción | Requiere enlaces |
|---|---|---|
0 |
Publica información | Sí (al menos 1 URL) |
1 |
No publica por tipo de actividad | No |
2 |
No publica por otra razón | No |
3 |
No publica por carecer de la información | No |
Ejemplo de petición
curl -s -X PUT \
"https://apientidades-pro.transparenciacanarias.org/apientidades/v1/declaraciones/5001/pa/7001" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"obligacionId": 7001,
"enlaces": [
{
"url": "https://portal.entidad.es/transparencia/presupuestos",
"valida": true,
"orden": 0
}
],
"aclaraciones": "Presupuestos publicados en el portal",
"opcionPublicacion": 0,
"noCumple": false,
"autoevaluacion": [
{ "id": 456, "valor": 5 },
{ "id": 457, "valor": 2 }
]
}' | jq .
import requests
BASE_URL = "https://apientidades-pro.transparenciacanarias.org/apientidades/v1"
headers = {
"Authorization": f"Bearer {token}",
"Content-Type": "application/json"
}
payload = {
"obligacionId": 7001,
"enlaces": [
{
"url": "https://portal.entidad.es/transparencia/presupuestos",
"valida": True,
"orden": 0
}
],
"aclaraciones": "Presupuestos publicados en el portal",
"opcionPublicacion": 0,
"noCumple": False,
"autoevaluacion": [
{"id": 456, "valor": 5},
{"id": 457, "valor": 2}
]
}
response = requests.put(
f"{BASE_URL}/declaraciones/5001/pa/7001",
headers=headers,
json=payload
)
print(response.json())
var payload = new
{
obligacionId = 7001,
enlaces = new[]
{
new { url = "https://portal.entidad.es/transparencia/presupuestos", valida = true, orden = 0 }
},
aclaraciones = "Presupuestos publicados en el portal",
opcionPublicacion = 0,
noCumple = false,
autoevaluacion = new[]
{
new { id = 456, valor = 5 },
new { id = 457, valor = 2 }
}
};
var content = new StringContent(
JsonConvert.SerializeObject(payload),
Encoding.UTF8,
"application/json"
);
var response = await client.PutAsync(
$"{baseUrl}/declaraciones/5001/pa/7001", content);
Console.WriteLine(await response.Content.ReadAsStringAsync());
Respuesta exitosa (200)
Validaciones
| Validación | Límite | Error |
|---|---|---|
obligacionId existe en la declaración |
Verificado contra árbol PA real | 404 |
opcionPublicacion en rango |
0-3 | 400 |
| Cada enlace tiene URL | No vacía | 400 |
| URL bien formada | Empieza por http:// o https:// |
400 |
| Longitud URL | Max 2.048 caracteres | 400 |
| Orden de enlace | 0-99 | 400 |
| Cantidad de enlaces | Max 10 por obligación | 400 |
| Aclaraciones | Max 5.000 caracteres | 400 |
| Valor autoevaluación | 0 a 100 | 400 |
| ID autoevaluación | > 0 | 400 |
| Cantidad criterios autoevaluación | Max 10 | 400 |
Estado de la declaración
Este endpoint solo funciona cuando la declaración está en estado NoPresentada (1) o AlegacionesAbiertas (4). En otros estados, devuelve error 400.
Errores posibles
| Código | Descripción |
|---|---|
400 |
Validación fallida (ver tabla de validaciones) |
401 |
Token ausente, expirado o inválido |
404 |
La declaración u obligación no existe o no pertenece a la entidad |
Actualización masiva
Si necesita actualizar muchas obligaciones a la vez, use el endpoint bulk que permite enviar hasta 500 ítems en una sola petición transaccional.