Saltar al contenido

Documentación de la API de FANDIT

Referencia completa de la API REST v2 de FANDIT: todos los endpoints de subvenciones, concesiones, usuarios, clientes, contactos y expedientes, en una sola página, con parámetros, ejemplo de petición en varios lenguajes y ejemplo de respuesta.

Documentación interactiva. Especificación OpenAPI 3.0.3 y referencia en texto para LLMs en GitHub, y visor Swagger UI.

Primeros pasos

GETFiltros generales/api/v2/data-filters/

Petición que permite obtener un listado de información general, incluyendo acciones, tipos de aplicantes, CNAEs, comunidades, tipos de subvenciones y otros datos relevantes. Cada elemento contiene su correspondiente ID, el cual puede utilizarse para filtrar en otros endpoints de listados. Las actividades (activities_v2) ya no incluyen su lista de CNAE; el catálogo de CNAE sigue en la lista de primer nivel cnaes, que está previsto eliminar en una próxima versión. Para un catálogo más ligero, con todos los elementos como {id, name}, los grupos de acciones (action_groups), los estados (status_code) y el nombre del parámetro de /funds/ de cada categoría, usa search-filters.


Cabeceras
Authorization string Token de usuario. (Obligatorio)

Ejemplo de petición
curl --request GET \
  --url 'https://api.fandit.es/api/v2/data-filters/' \
  --header 'Authorization: Token TU_API_KEY'
import requests

url = "https://api.fandit.es/api/v2/data-filters/"

headers = {
    "Authorization": "Token TU_API_KEY"
}

response = requests.get(url, headers=headers)

print(response.status_code)
print(response.json())
const url = "https://api.fandit.es/api/v2/data-filters/";

const options = {
  method: "GET",
  headers: {
    "Authorization": "Token TU_API_KEY"
  }
};

const response = await fetch(url, options);
const data = await response.json();

console.log(data);
<?php

$url = "https://api.fandit.es/api/v2/data-filters/";

$curl = curl_init($url);

curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => [
        "Authorization: Token TU_API_KEY"
    ]
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
Ejemplo de respuesta
{
  "action_items": [
    {
      "name": "Digitalización",
      "action_groups": [
        {
          "name": "Transformación digital",
          "action_items": [
            { "id": 1, "name": "Implantación de ERP" },
            { "id": 2, "name": "Comercio electrónico" }
          ]
        }
      ]
    }
  ],
  "activities": [
    { "id": 4, "name": "Industria manufacturera" },
    { "id": 6, "name": "Energías renovables" }
  ],
  "applicants": [
    { "id": 1, "name": "Autónomo" },
    { "id": 2, "name": "Pyme" }
  ],
  "cnaes": [
    { "code": "4321", "code2009": "4321", "id": 4321, "title": "Instalaciones eléctricas" }
  ],
  "communities": [
    {
      "action": "update",
      "code": "MD",
      "country": 1,
      "id": 13,
      "name": "Comunidad de Madrid",
      "provinces": [
        { "id": 28, "name": "Madrid" }
      ]
    }
  ],
  "credits": [
    { "description": "Línea ICO Empresas y Emprendedores", "id": 1, "name": "ICO Empresas" }
  ],
  "groups": [
    { "id": 1, "name": "Administradores" },
    { "id": 2, "name": "Gestores" }
  ],
  "origins": [
    { "action": "update", "id": 1, "name": "Fondos Next Generation EU" }
  ],
  "provinces": [
    { "id": 28, "name": "Madrid" },
    { "id": 46, "name": "Valencia" }
  ],
  "regions_types": [
    { "code": 1, "id": 1, "name": "Objetivo Transición Justa" }
  ],
  "types_fund": [
    { "id": 1, "name": "Subvención" },
    { "id": 2, "name": "Préstamo" }
  ],
  "user_profile": [
    { "id": 1, "name": "Básico" },
    { "id": 2, "name": "Pro" }
  ]
}
GETCatálogo de filtros/api/v2/search-filters/

Petición que devuelve, agrupado por categoría, el catálogo de valores con los que se filtra el listado de subvenciones. Cada categoría trae param_name (la clave que hay que enviar en requestData de /funds/; null si la categoría no es un filtro), una descripción y sus items, todos ligeros: {id, name}, y en actions_v2 además group_id y group_name. Categorías: provinces, communities, applicants_v2, actions_v2, action_groups, activities_v2, types, region_types, origins y status_code. Frente a data-filters (que sigue disponible sin cambios), no incluye CNAE (cnaes), planes de usuario (groups), credits ni user_profile; incluye los grupos temáticos de acciones (action_groups) y los estados de la convocatoria (status_code), y unifica los nombres: types_fund pasa a types y regions_types a region_types. action_groups no es un filtro: para filtrar por un grupo, envía en actions_v2 los ids de las acciones con ese group_id. Si alguna categoría no existe devuelve 400 con {"error": "Categorías no válidas: cnaes", "code": "invalid_category", "valid_categories": [...]}. No consume créditos.


Cabeceras
Authorization string Token de usuario. (Obligatorio)

Parámetros
categories string Categorías a devolver, separadas por comas (p. ej. provinces,actions_v2). Sin este parámetro devuelve todas.
platform string Slug de la plataforma (marca blanca) cuyas restricciones se aplican al catálogo.

Ejemplo de petición
curl --request GET \
  --url 'https://api.fandit.es/api/v2/search-filters/' \
  --get \
  --data-urlencode 'categories=provinces,actions_v2,action_groups,status_code' \
  --header 'Authorization: Token TU_API_KEY'
import requests

url = "https://api.fandit.es/api/v2/search-filters/"

params = {
    "categories": "provinces,actions_v2,action_groups,status_code"
}

headers = {
    "Authorization": "Token TU_API_KEY"
}

response = requests.get(url, params=params, headers=headers)

print(response.status_code)
print(response.json())
const url = "https://api.fandit.es/api/v2/search-filters/";

const params = new URLSearchParams({
  "categories": "provinces,actions_v2,action_groups,status_code"
});

const options = {
  method: "GET",
  headers: {
    "Authorization": "Token TU_API_KEY"
  }
};

const response = await fetch(`${url}?${params}`, options);
const data = await response.json();

console.log(data);
<?php

$url = "https://api.fandit.es/api/v2/search-filters/";

$query = http_build_query([
    "categories" => "provinces,actions_v2,action_groups,status_code"
]);

$curl = curl_init("$url?$query");

curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => [
        "Authorization: Token TU_API_KEY"
    ]
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
Ejemplo de respuesta
{
  "categories": {
    "provinces": {
      "param_name": "provinces",
      "description": "Provincia donde aplica la convocatoria",
      "items": [
        { "id": 1, "name": "Álava" }
      ]
    },
    "actions_v2": {
      "param_name": "actions_v2",
      "description": "Acción a llevar a cabo por el solicitante",
      "items": [
        { "id": 69, "name": "Implantación de ERP", "group_id": 3, "group_name": "Transformación digital" }
      ]
    },
    "action_groups": {
      "param_name": null,
      "description": "Grupo temático de acciones",
      "items": [
        { "id": 3, "name": "Transformación digital" }
      ]
    },
    "status_code": {
      "param_name": "status_code",
      "description": "Estado de la convocatoria",
      "items": [
        { "id": 0, "name": "Pendiente" },
        { "id": 1, "name": "Abierta" },
        { "id": 2, "name": "Cerrada" }
      ]
    }
  }
}

SSO

POSTRegistro de usuarios/api/v1/users/partners-brand/registration/

Petición para registrar un nuevo usuario en la plataforma.


Parámetros
first_name string Nombre del usuario. (Obligatorio)
last_name string Apellido del usuario.
email string Correo electrónico con el que registrar el usuario. (Obligatorio)
password1 string Contraseña. (Obligatorio)
password2 string Confirmación de contraseña. (Obligatorio)
platform string Plataforma hija, en caso de tener.
general_notifications boolean Recibir notificaciones generales.

Ejemplo de petición
curl --request POST \
  --url 'https://api.fandit.es/api/v1/users/partners-brand/registration/' \
  --data '{"first_name":"Laura","last_name":"Gómez","email":"laura.gomez@ejemplo.com","password1":"TU_CONTRASEÑA","password2":"TU_CONTRASEÑA","platform":"","general_notifications":false}' \
  --header 'Content-Type: application/json'
import requests

url = "https://api.fandit.es/api/v1/users/partners-brand/registration/"

headers = {
    "Content-Type": "application/json"
}

payload = {
    "first_name": "Laura",
    "last_name": "Gómez",
    "email": "laura.gomez@ejemplo.com",
    "password1": "TU_CONTRASEÑA",
    "password2": "TU_CONTRASEÑA",
    "platform": "",
    "general_notifications": False
}

response = requests.post(url, headers=headers, json=payload)

print(response.status_code)
print(response.json())
const url = "https://api.fandit.es/api/v1/users/partners-brand/registration/";

const options = {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    "first_name": "Laura",
    "last_name": "Gómez",
    "email": "laura.gomez@ejemplo.com",
    "password1": "TU_CONTRASEÑA",
    "password2": "TU_CONTRASEÑA",
    "platform": "",
    "general_notifications": false
  })
};

const response = await fetch(url, options);
const data = await response.json();

console.log(data);
<?php

$url = "https://api.fandit.es/api/v1/users/partners-brand/registration/";

$payload = json_encode([
    "first_name" => "Laura",
    "last_name" => "Gómez",
    "email" => "laura.gomez@ejemplo.com",
    "password1" => "TU_CONTRASEÑA",
    "password2" => "TU_CONTRASEÑA",
    "platform" => "",
    "general_notifications" => false
]);

$curl = curl_init($url);

curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_HTTPHEADER => [
        "Content-Type: application/json",
        "Content-Type: application/json"
    ],
    CURLOPT_POSTFIELDS => $payload
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
Ejemplo de respuesta
{
  "otp": "927154",
  "uuid": "7c9e6679-7425-40de-944b-e07fc1f90ae7"
}
PUTCambio de contraseña/api/v1/users/partners-brand/password-change/

Petición para cambiar la contraseña de un usuario ya registrado.


Parámetros
token string Token de usuario. (Obligatorio)
password string Contraseña. (Obligatorio)
password_confirm string Confirmación de contraseña. (Obligatorio)

Ejemplo de petición
curl --request PUT \
  --url 'https://api.fandit.es/api/v1/users/partners-brand/password-change/' \
  --data '{"token":"TU_TOKEN","password":"TU_NUEVA_CONTRASEÑA","password_confirm":"TU_NUEVA_CONTRASEÑA"}' \
  --header 'Content-Type: application/json'
import requests

url = "https://api.fandit.es/api/v1/users/partners-brand/password-change/"

headers = {
    "Content-Type": "application/json"
}

payload = {
    "token": "TU_TOKEN",
    "password": "TU_NUEVA_CONTRASEÑA",
    "password_confirm": "TU_NUEVA_CONTRASEÑA"
}

response = requests.put(url, headers=headers, json=payload)

print(response.status_code)
print(response.json())
const url = "https://api.fandit.es/api/v1/users/partners-brand/password-change/";

const options = {
  method: "PUT",
  headers: {
    "Content-Type": "application/json",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    "token": "TU_TOKEN",
    "password": "TU_NUEVA_CONTRASEÑA",
    "password_confirm": "TU_NUEVA_CONTRASEÑA"
  })
};

const response = await fetch(url, options);
const data = await response.json();

console.log(data);
<?php

$url = "https://api.fandit.es/api/v1/users/partners-brand/password-change/";

$payload = json_encode([
    "token" => "TU_TOKEN",
    "password" => "TU_NUEVA_CONTRASEÑA",
    "password_confirm" => "TU_NUEVA_CONTRASEÑA"
]);

$curl = curl_init($url);

curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "PUT",
    CURLOPT_HTTPHEADER => [
        "Content-Type: application/json",
        "Content-Type: application/json"
    ],
    CURLOPT_POSTFIELDS => $payload
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
Ejemplo de respuesta
"Contraseña actualizada correctamente."
DELETEEliminar de usuario/api/v1/users/partners-brand/delete-user/

Petición para eliminar un usuario registrado.


Parámetros
token string OTP del usuario. (Obligatorio)

Ejemplo de petición
curl --request DELETE \
  --url 'https://api.fandit.es/api/v1/users/partners-brand/delete-user/' \
  --data '{"token":"927154"}' \
  --header 'Content-Type: application/json'
import requests

url = "https://api.fandit.es/api/v1/users/partners-brand/delete-user/"

headers = {
    "Content-Type": "application/json"
}

payload = {
    "token": "927154"
}

response = requests.delete(url, headers=headers, json=payload)

print(response.status_code)
print(response.json())
const url = "https://api.fandit.es/api/v1/users/partners-brand/delete-user/";

const options = {
  method: "DELETE",
  headers: {
    "Content-Type": "application/json",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    "token": "927154"
  })
};

const response = await fetch(url, options);
const data = await response.json();

console.log(data);
<?php

$url = "https://api.fandit.es/api/v1/users/partners-brand/delete-user/";

$payload = json_encode([
    "token" => "927154"
]);

$curl = curl_init($url);

curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "DELETE",
    CURLOPT_HTTPHEADER => [
        "Content-Type: application/json",
        "Content-Type: application/json"
    ],
    CURLOPT_POSTFIELDS => $payload
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
Ejemplo de respuesta
"Usuario eliminado correctamente."
GETValidar correo/api/v1/users/partners-brand/check-user/{email}

Petición para validar si un correo ya existe en la plataforma.


Parámetros
email string Correo electrónico a validar. (Obligatorio)

Ejemplo de petición
curl --request GET \
  --url 'https://api.fandit.es/api/v1/users/partners-brand/check-user/laura.gomez@ejemplo.com'
import requests

url = "https://api.fandit.es/api/v1/users/partners-brand/check-user/laura.gomez@ejemplo.com"

response = requests.get(url)

print(response.status_code)
print(response.json())
const url = "https://api.fandit.es/api/v1/users/partners-brand/check-user/laura.gomez@ejemplo.com";

const options = {
  method: "GET",
  headers: {
  }
};

const response = await fetch(url, options);
const data = await response.json();

console.log(data);
<?php

$url = "https://api.fandit.es/api/v1/users/partners-brand/check-user/laura.gomez@ejemplo.com";

$curl = curl_init($url);

curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => [
    ]
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
Ejemplo de respuesta
{
  "username": "laura.gomez"
}
POSTLogin de usuario/api/v1/users/partners-brand/login/

Petición para iniciar sesión de un usuario con su correo y contraseña.


Parámetros
email string Correo electrónico con el que registrar el usuario. (Obligatorio)
password string Contraseña. (Obligatorio)

Ejemplo de petición
curl --request POST \
  --url 'https://api.fandit.es/api/v1/users/partners-brand/login/' \
  --data '{"email":"laura.gomez@ejemplo.com","password":"TU_CONTRASEÑA"}' \
  --header 'Content-Type: application/json'
import requests

url = "https://api.fandit.es/api/v1/users/partners-brand/login/"

headers = {
    "Content-Type": "application/json"
}

payload = {
    "email": "laura.gomez@ejemplo.com",
    "password": "TU_CONTRASEÑA"
}

response = requests.post(url, headers=headers, json=payload)

print(response.status_code)
print(response.json())
const url = "https://api.fandit.es/api/v1/users/partners-brand/login/";

const options = {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    "email": "laura.gomez@ejemplo.com",
    "password": "TU_CONTRASEÑA"
  })
};

const response = await fetch(url, options);
const data = await response.json();

console.log(data);
<?php

$url = "https://api.fandit.es/api/v1/users/partners-brand/login/";

$payload = json_encode([
    "email" => "laura.gomez@ejemplo.com",
    "password" => "TU_CONTRASEÑA"
]);

$curl = curl_init($url);

curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_HTTPHEADER => [
        "Content-Type: application/json",
        "Content-Type: application/json"
    ],
    CURLOPT_POSTFIELDS => $payload
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
Ejemplo de respuesta
{
  "otp": "482913",
  "uuid": "3f2504e0-4f89-11d3-9a0c-0305e82c3301"
}

Autenticación

POSTLogin de usuario/api/v2/users/login/

Petición para obtener los token de usuario y experto si es el caso.


Parámetros
email string Correo electrónico con el que registrar el usuario. (Obligatorio)
password string Contraseña. (Obligatorio)

Ejemplo de petición
curl --request POST \
  --url 'https://api.fandit.es/api/v2/users/login/' \
  --data '{"email":"tu@correo.es","password":"TU_CONTRASEÑA"}' \
  --header 'Content-Type: application/json'
import requests

url = "https://api.fandit.es/api/v2/users/login/"

headers = {
    "Content-Type": "application/json"
}

payload = {
    "email": "tu@correo.es",
    "password": "TU_CONTRASEÑA"
}

response = requests.post(url, headers=headers, json=payload)

print(response.status_code)
print(response.json())
const url = "https://api.fandit.es/api/v2/users/login/";

const options = {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    "email": "tu@correo.es",
    "password": "TU_CONTRASEÑA"
  })
};

const response = await fetch(url, options);
const data = await response.json();

console.log(data);
<?php

$url = "https://api.fandit.es/api/v2/users/login/";

$payload = json_encode([
    "email" => "tu@correo.es",
    "password" => "TU_CONTRASEÑA"
]);

$curl = curl_init($url);

curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_HTTPHEADER => [
        "Content-Type: application/json",
        "Content-Type: application/json"
    ],
    CURLOPT_POSTFIELDS => $payload
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
Ejemplo de respuesta
{
  "token": "9a1c3f5e7b2d4a6c8e0f1b3d5a7c9e1f3b5d7a9c",
  "ExpertToken": "b3e1a2c4d5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0",
  "user": {
    "id": 10482,
    "email": "laura.gomez@empresa.es",
    "username": "laura.gomez",
    "first_name": "Laura",
    "last_name": "Gómez",
    "platform": 3,
    "is_active": true,
    "communities_list": [1, 8],
    "provinces_list": [28, 41],
    "applicants_list": [2, 5],
    "region_types_list": [1],
    "actions_list": [3, 7, 12],
    "activities_list": [15, 22],
    "general_notifications": true,
    "distributor": "FANDIT",
    "business_name": "Innovatech Soluciones S.L.",
    "phone": "+34600123456",
    "fund_types_list": [1, 4],
    "origins_list": [2]
  }
}
GETCurrent de usuario/api/v2/users/current/

Petición para obtener toda la información del usuario logueado.


Cabeceras
Authorization string Token de usuario. (Obligatorio)

Ejemplo de petición
curl --request GET \
  --url 'https://api.fandit.es/api/v2/users/current/' \
  --header 'Authorization: Token TU_API_KEY'
import requests

url = "https://api.fandit.es/api/v2/users/current/"

headers = {
    "Authorization": "Token TU_API_KEY"
}

response = requests.get(url, headers=headers)

print(response.status_code)
print(response.json())
const url = "https://api.fandit.es/api/v2/users/current/";

const options = {
  method: "GET",
  headers: {
    "Authorization": "Token TU_API_KEY"
  }
};

const response = await fetch(url, options);
const data = await response.json();

console.log(data);
<?php

$url = "https://api.fandit.es/api/v2/users/current/";

$curl = curl_init($url);

curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => [
        "Authorization: Token TU_API_KEY"
    ]
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
Ejemplo de respuesta
{
  "id": 10482,
  "email": "laura.gomez@empresa.es",
  "username": "laura.gomez",
  "first_name": "Laura",
  "last_name": "Gómez",
  "platform": 3,
  "is_active": true,
  "communities_list": [1, 8],
  "provinces_list": [28, 41],
  "applicants_list": [2, 5],
  "region_types_list": [1],
  "actions_list": [3, 7, 12],
  "activities_list": [15, 22],
  "general_notifications": true,
  "distributor": "FANDIT",
  "business_name": "Innovatech Soluciones S.L.",
  "phone": "+34600123456",
  "fund_types_list": [1, 4],
  "origins_list": [2]
}
POSTLogin de experto/api/v2/experts/login

Petición para obtener el token de experto.


Parámetros
email string Correo electrónico con el que registrar el usuario. (Obligatorio)
password string Contraseña. (Obligatorio)

Ejemplo de petición
curl --request POST \
  --url 'https://api.fandit.es/api/v2/experts/login' \
  --data '{"email":"tu@correo.es","password":"TU_CONTRASEÑA"}' \
  --header 'Content-Type: application/json'
import requests

url = "https://api.fandit.es/api/v2/experts/login"

headers = {
    "Content-Type": "application/json"
}

payload = {
    "email": "tu@correo.es",
    "password": "TU_CONTRASEÑA"
}

response = requests.post(url, headers=headers, json=payload)

print(response.status_code)
print(response.json())
const url = "https://api.fandit.es/api/v2/experts/login";

const options = {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    "email": "tu@correo.es",
    "password": "TU_CONTRASEÑA"
  })
};

const response = await fetch(url, options);
const data = await response.json();

console.log(data);
<?php

$url = "https://api.fandit.es/api/v2/experts/login";

$payload = json_encode([
    "email" => "tu@correo.es",
    "password" => "TU_CONTRASEÑA"
]);

$curl = curl_init($url);

curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_HTTPHEADER => [
        "Content-Type: application/json",
        "Content-Type: application/json"
    ],
    CURLOPT_POSTFIELDS => $payload
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
Ejemplo de respuesta
{
  "token": "9a1c3f5e7b2d4a6c8e0f1b3d5a7c9e1f3b5d7a9c",
  "expert": {
    "id": 542,
    "first_name": "Carlos",
    "last_name": "Ruiz",
    "username": "carlos.ruiz",
    "phone": "+34611223344",
    "business_name": "Consultora Ayudas y Subvenciones S.L.",
    "profile_avatar": "https://fandit-media.s3.amazonaws.com/experts/avatars/542.jpg",
    "profile_avatar_thumbnail": "https://fandit-media.s3.amazonaws.com/experts/avatars/542_thumb.jpg",
    "communities": [
      { "id": 1, "name": "Andalucía" },
      { "id": 13, "name": "Madrid" }
    ],
    "provinces": [
      { "id": 28, "name": "Madrid" },
      { "id": 41, "name": "Sevilla" }
    ],
    "actions": [
      { "id": 3, "name": "Digitalización" },
      { "id": 7, "name": "Internacionalización" }
    ],
    "action_items": [
      { "id": 12, "name": "Implantación de ERP" }
    ],
    "applicant_types": [
      { "id": 2, "name": "Pyme" }
    ],
    "fund_types": [
      { "id": 1, "name": "Subvención" },
      { "id": 4, "name": "Préstamo" }
    ],
    "region_types": [
      { "id": 1, "name": "Nacional" }
    ],
    "activities": [
      { "id": 15, "name": "Industria" }
    ],
    "expert_types": [
      { "id": 2, "name": "Consultoría" }
    ],
    "solution_types": [
      { "id": 1, "name": "Gestión de ayudas" }
    ],
    "is_super_expert": true,
    "groups": ["Expert"],
    "permissions": [],
    "active_custom_forms": 4,
    "marketplace_membership": {
      "id": 2,
      "name": "Premium",
      "funds_limit": 50,
      "leads_limit": 20,
      "leads_etg": true,
      "priority": 1
    },
    "integrations": [
      {
        "id": 9,
        "extension_name": "CRM Sync",
        "handler_name": "crm_sync_handler",
        "url_api": null,
        "created_at": "2025-02-10T09:30:00Z",
        "updated_at": "2026-06-15T11:12:00Z",
        "is_active": true,
        "extension": 3
      }
    ],
    "platforms_with_billing_access": ["FANDIT"],
    "marketplace_partners_info": [
      { "name": "FANDIT Marketplace", "schema": "https", "url": "marketplace.fandit.es" }
    ],
    "email": "carlos.ruiz@consultora-ayudas.es",
    "website": "https://consultora-ayudas.es",
    "contact_email": "contacto@consultora-ayudas.es",
    "profile_image": "https://fandit-media.s3.amazonaws.com/experts/profile/542.jpg",
    "title": "Consultor senior en subvenciones públicas",
    "experience": "Más de 10 años gestionando ayudas y subvenciones para pymes.",
    "services": "Diagnóstico de ayudas, tramitación y justificación de subvenciones.",
    "areas": "Digitalización, Internacionalización, I+D+i",
    "extra_info": "Colegiado en el Colegio de Economistas de Madrid.",
    "marketplace_visibility": true,
    "marketplace_name": "Consultora Ayudas y Subvenciones",
    "slug": "consultora-ayudas-y-subvenciones",
    "assessment": 5,
    "status": 1,
    "daily_downloaded_instructions": [12, 8, 15],
    "monthly_downloaded_instructions": [340, 298],
    "custom_forms_available": 6,
    "access_ecosystem": 1,
    "partners_with_user": ["FANDIT"],
    "workflow_funds": [101, 102, 205]
  }
}
GETCurrent de experto/api/v2/experts/current/

Petición para obtener toda la información del expert logueado.


Cabeceras
Authorization string Token de experto. (Obligatorio)

Ejemplo de petición
curl --request GET \
  --url 'https://api.fandit.es/api/v2/experts/current/' \
  --header 'Authorization: ExpertToken TU_API_KEY'
import requests

url = "https://api.fandit.es/api/v2/experts/current/"

headers = {
    "Authorization": "ExpertToken TU_API_KEY"
}

response = requests.get(url, headers=headers)

print(response.status_code)
print(response.json())
const url = "https://api.fandit.es/api/v2/experts/current/";

const options = {
  method: "GET",
  headers: {
    "Authorization": "ExpertToken TU_API_KEY"
  }
};

const response = await fetch(url, options);
const data = await response.json();

console.log(data);
<?php

$url = "https://api.fandit.es/api/v2/experts/current/";

$curl = curl_init($url);

curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => [
        "Authorization: ExpertToken TU_API_KEY"
    ]
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
Ejemplo de respuesta
{
  "id": 542,
  "first_name": "Carlos",
  "last_name": "Ruiz",
  "username": "carlos.ruiz",
  "phone": "+34611223344",
  "business_name": "Consultora Ayudas y Subvenciones S.L.",
  "profile_avatar": "https://fandit-media.s3.amazonaws.com/experts/avatars/542.jpg",
  "profile_avatar_thumbnail": "https://fandit-media.s3.amazonaws.com/experts/avatars/542_thumb.jpg",
  "communities": [
    { "id": 1, "name": "Andalucía" },
    { "id": 13, "name": "Madrid" }
  ],
  "provinces": [
    { "id": 28, "name": "Madrid" },
    { "id": 41, "name": "Sevilla" }
  ],
  "actions": [
    { "id": 3, "name": "Digitalización" },
    { "id": 7, "name": "Internacionalización" }
  ],
  "action_items": [
    { "id": 12, "name": "Implantación de ERP" }
  ],
  "applicant_types": [
    { "id": 2, "name": "Pyme" }
  ],
  "fund_types": [
    { "id": 1, "name": "Subvención" },
    { "id": 4, "name": "Préstamo" }
  ],
  "region_types": [
    { "id": 1, "name": "Nacional" }
  ],
  "activities": [
    { "id": 15, "name": "Industria" }
  ],
  "expert_types": [
    { "id": 2, "name": "Consultoría" }
  ],
  "solution_types": [
    { "id": 1, "name": "Gestión de ayudas" }
  ],
  "is_super_expert": true,
  "groups": ["Expert"],
  "permissions": [],
  "active_custom_forms": 4,
  "marketplace_membership": {
    "id": 2,
    "name": "Premium",
    "funds_limit": 50,
    "leads_limit": 20,
    "leads_etg": true,
    "priority": 1
  },
  "integrations": [
    {
      "id": 9,
      "extension_name": "CRM Sync",
      "handler_name": "crm_sync_handler",
      "url_api": null,
      "created_at": "2025-02-10T09:30:00Z",
      "updated_at": "2026-06-15T11:12:00Z",
      "is_active": true,
      "extension": 3
    }
  ],
  "platforms_with_billing_access": ["FANDIT"],
  "marketplace_partners_info": [
    { "name": "FANDIT Marketplace", "schema": "https", "url": "marketplace.fandit.es" }
  ],
  "email": "carlos.ruiz@consultora-ayudas.es",
  "website": "https://consultora-ayudas.es",
  "contact_email": "contacto@consultora-ayudas.es",
  "profile_image": "https://fandit-media.s3.amazonaws.com/experts/profile/542.jpg",
  "title": "Consultor senior en subvenciones públicas",
  "experience": "Más de 10 años gestionando ayudas y subvenciones para pymes.",
  "services": "Diagnóstico de ayudas, tramitación y justificación de subvenciones.",
  "areas": "Digitalización, Internacionalización, I+D+i",
  "extra_info": "Colegiado en el Colegio de Economistas de Madrid.",
  "marketplace_visibility": true,
  "marketplace_name": "Consultora Ayudas y Subvenciones",
  "slug": "consultora-ayudas-y-subvenciones",
  "assessment": 5,
  "status": 1,
  "daily_downloaded_instructions": [12, 8, 15],
  "monthly_downloaded_instructions": [340, 298],
  "custom_forms_available": 6,
  "access_ecosystem": 1,
  "partners_with_user": ["FANDIT"],
  "workflow_funds": [101, 102, 205]
}

Usuarios

GETListado de usuarios/api/v2/users/

Petición paginada para obtener todos los usuarios registrados.


Cabeceras
Authorization string Token de usuario. (Obligatorio)

Parámetros
page number Página del listado a visualizar. (Obligatorio)
page_size number Tamaño de la paginación. (Obligatorio)
platform string Marca gris seleccionada.
requestData.order string Nombre de atributo por el que ordenar los resultados.
requestData.general_text string Texto a buscar en todas las columnas.
requestData.user string Correo electrónico o nombre del usuario a filtrar.
requestData.profile string Perfil de los usuarios a filtrar (Básico, Pro, Equipo).
requestData.start_date string Fecha de creación (inicio de rango).
requestData.end_date string Fecha de creación (fin de rango).

Ejemplo de petición
curl --request GET \
  --url 'https://api.fandit.es/api/v2/users/' \
  --get \
  --data-urlencode 'page=1' \
  --data-urlencode 'page_size=20' \
  --data-urlencode 'requestData={"order":"-date_joined"}' \
  --header 'Authorization: Token TU_API_KEY'
import requests

url = "https://api.fandit.es/api/v2/users/"

params = {
    "page": "1",
    "page_size": "20",
    "requestData": "{\"order\":\"-date_joined\"}"
}

headers = {
    "Authorization": "Token TU_API_KEY"
}

response = requests.get(url, params=params, headers=headers)

print(response.status_code)
print(response.json())
const url = "https://api.fandit.es/api/v2/users/";

const params = new URLSearchParams({
  "page": "1",
  "page_size": "20",
  "requestData": "{\"order\":\"-date_joined\"}"
});

const options = {
  method: "GET",
  headers: {
    "Authorization": "Token TU_API_KEY"
  }
};

const response = await fetch(`${url}?${params}`, options);
const data = await response.json();

console.log(data);
<?php

$url = "https://api.fandit.es/api/v2/users/";

$query = http_build_query([
    "page" => "1",
    "page_size" => "20",
    "requestData" => "{\"order\":\"-date_joined\"}"
]);

$curl = curl_init("$url?$query");

curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => [
        "Authorization: Token TU_API_KEY"
    ]
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
Ejemplo de respuesta
{
  "count": 2,
  "next": null,
  "previous": null,
  "results": [
    {
      "id": 10482,
      "email": "usuario@empresa.es",
      "username": "usuario_empresa",
      "first_name": "Laura",
      "last_name": "Gómez",
      "platform": "fandit",
      "is_active": true,
      "communities_list": [1, 8],
      "provinces_list": [28, 8],
      "applicants_list": [1, 2],
      "region_types_list": [1],
      "actions_list": [1, 2, 3],
      "activities_list": [4],
      "general_notifications": true,
      "distributor": "FANDIT",
      "business_name": "Empresa Ejemplo SL",
      "phone": "600123456",
      "fund_types_list": [1, 2],
      "origins_list": [1],
      "groups_data": [
        { "id": 1, "name": "Administradores" },
        { "id": 2, "name": "Gestores" }
      ]
    },
    {
      "id": 10501,
      "email": "contacto@innovatech.es",
      "username": "innovatech_sl",
      "first_name": "Carlos",
      "last_name": "Fernández",
      "platform": "fandit",
      "is_active": true,
      "communities_list": [10],
      "provinces_list": [46],
      "applicants_list": [1],
      "region_types_list": [2],
      "actions_list": [2],
      "activities_list": [6],
      "general_notifications": false,
      "distributor": "FANDIT",
      "business_name": "Innovatech Soluciones SL",
      "phone": "611987654",
      "fund_types_list": [3],
      "origins_list": [2],
      "groups_data": [
        { "id": 2, "name": "Gestores" }
      ]
    }
  ]
}
GETDetalles del usuario/api/v2/users/{id}/

Petición para obtener toda la información de un usuario usuario específico.


Cabeceras
Authorization string Token de usuario. (Obligatorio)

Parámetros
id number Identificador del usuario a buscar. (Obligatorio)

Ejemplo de petición
curl --request GET \
  --url 'https://api.fandit.es/api/v2/users/10482/' \
  --header 'Authorization: Token TU_API_KEY'
import requests

url = "https://api.fandit.es/api/v2/users/10482/"

headers = {
    "Authorization": "Token TU_API_KEY"
}

response = requests.get(url, headers=headers)

print(response.status_code)
print(response.json())
const url = "https://api.fandit.es/api/v2/users/10482/";

const options = {
  method: "GET",
  headers: {
    "Authorization": "Token TU_API_KEY"
  }
};

const response = await fetch(url, options);
const data = await response.json();

console.log(data);
<?php

$url = "https://api.fandit.es/api/v2/users/10482/";

$curl = curl_init($url);

curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => [
        "Authorization: Token TU_API_KEY"
    ]
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
Ejemplo de respuesta
{
  "id": 10482,
  "email": "usuario@empresa.es",
  "username": "usuario_empresa",
  "first_name": "Laura",
  "last_name": "Gómez",
  "platform": "fandit",
  "is_active": true,
  "general_notifications": true,
  "distributor": "FANDIT",
  "business_name": "Empresa Ejemplo SL",
  "phone": "600123456",
  "communities_list": [1, 8],
  "provinces_list": [28, 8],
  "applicants_list": [1, 2],
  "region_types_list": [1],
  "action_items_list": [1, 2, 3],
  "activities_list": [4],
  "fund_types_list": [1, 2],
  "origins_list": [1],
  "groups_data": [
    { "id": 1, "name": "Administradores" },
    { "id": 2, "name": "Gestores" }
  ]
}
POSTCrear usuario/api/v2/users/

Petición para crear un nuevo usuario.


Cabeceras
Authorization string Token de usuario. (Obligatorio)

Parámetros
email string Correo electrónico con el que registrar el usuario. (Obligatorio)
password string Contraseña. (Obligatorio)
username string Username del usuario. (Obligatorio)
first_name string Nombre del usuario. (Obligatorio)
last_name string Apellido del usuario.
business_name string Nombre o razón social.
phone string Número telefónico del usuario.
distributor string Nombre del distribuidor.
general_notifications boolean Recibir notificaciones generales.
communities array of numbers Comunidades de interes del usuario.
provinces array of numbers Provincias de interes del usuario.
applicants array of numbers Tipo de solicitante del usuario.
region_types array of numbers Regiones de interes del usuario.
action_items array of numbers Acción a llevar a cabo por el usuario.
activities array of numbers Sector económico del usuario.
fund_types array of numbers Tipo de ayuda.
origins array of numbers Origen de los fondos.

Ejemplo de petición
curl --request POST \
  --url 'https://api.fandit.es/api/v2/users/' \
  --data '{"email":"nuevo.usuario@empresa.es","password":"TU_CONTRASEÑA","username":"nuevo_usuario","first_name":"Marta","last_name":"Ruiz","business_name":"Consultora Ejemplo SL","phone":"622345678","distributor":"FANDIT","general_notifications":true,"communities":[1],"provinces":[28],"applicants":[1],"region_types":[1],"action_items":[1],"activities":[3],"fund_types":[1],"origins":[1]}' \
  --header 'Authorization: Token TU_API_KEY'
import requests

url = "https://api.fandit.es/api/v2/users/"

headers = {
    "Authorization": "Token TU_API_KEY"
}

payload = {
    "email": "nuevo.usuario@empresa.es",
    "password": "TU_CONTRASEÑA",
    "username": "nuevo_usuario",
    "first_name": "Marta",
    "last_name": "Ruiz",
    "business_name": "Consultora Ejemplo SL",
    "phone": "622345678",
    "distributor": "FANDIT",
    "general_notifications": True,
    "communities": [
        1
    ],
    "provinces": [
        28
    ],
    "applicants": [
        1
    ],
    "region_types": [
        1
    ],
    "action_items": [
        1
    ],
    "activities": [
        3
    ],
    "fund_types": [
        1
    ],
    "origins": [
        1
    ]
}

response = requests.post(url, headers=headers, json=payload)

print(response.status_code)
print(response.json())
const url = "https://api.fandit.es/api/v2/users/";

const options = {
  method: "POST",
  headers: {
    "Authorization": "Token TU_API_KEY",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    "email": "nuevo.usuario@empresa.es",
    "password": "TU_CONTRASEÑA",
    "username": "nuevo_usuario",
    "first_name": "Marta",
    "last_name": "Ruiz",
    "business_name": "Consultora Ejemplo SL",
    "phone": "622345678",
    "distributor": "FANDIT",
    "general_notifications": true,
    "communities": [
      1
    ],
    "provinces": [
      28
    ],
    "applicants": [
      1
    ],
    "region_types": [
      1
    ],
    "action_items": [
      1
    ],
    "activities": [
      3
    ],
    "fund_types": [
      1
    ],
    "origins": [
      1
    ]
  })
};

const response = await fetch(url, options);
const data = await response.json();

console.log(data);
<?php

$url = "https://api.fandit.es/api/v2/users/";

$payload = json_encode([
    "email" => "nuevo.usuario@empresa.es",
    "password" => "TU_CONTRASEÑA",
    "username" => "nuevo_usuario",
    "first_name" => "Marta",
    "last_name" => "Ruiz",
    "business_name" => "Consultora Ejemplo SL",
    "phone" => "622345678",
    "distributor" => "FANDIT",
    "general_notifications" => true,
    "communities" => [
        1
    ],
    "provinces" => [
        28
    ],
    "applicants" => [
        1
    ],
    "region_types" => [
        1
    ],
    "action_items" => [
        1
    ],
    "activities" => [
        3
    ],
    "fund_types" => [
        1
    ],
    "origins" => [
        1
    ]
]);

$curl = curl_init($url);

curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_HTTPHEADER => [
        "Authorization: Token TU_API_KEY",
        "Content-Type: application/json"
    ],
    CURLOPT_POSTFIELDS => $payload
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
Ejemplo de respuesta
{
  "id": 10530,
  "email": "nuevo.usuario@empresa.es",
  "username": "nuevo_usuario",
  "first_name": "Marta",
  "last_name": "Ruiz",
  "platform": "fandit",
  "is_active": true,
  "general_notifications": true,
  "distributor": "FANDIT",
  "business_name": "Consultora Ejemplo SL",
  "phone": "622345678",
  "communities_list": [1],
  "provinces_list": [28],
  "applicants_list": [1],
  "region_types_list": [1],
  "action_items_list": [1],
  "activities_list": [3],
  "fund_types_list": [1],
  "origins_list": [1],
  "groups_data": [
    { "id": 2, "name": "Gestores" }
  ]
}
PATCHActualizar usuario/api/v2/users/{id}/

Petición para actualizar los datos de un usuario específico.


Cabeceras
Authorization string Token de usuario. (Obligatorio)

Parámetros
id string Identificador del usuario a buscar. (Obligatorio)
password string Contraseña.
username string Username del usuario.
first_name string Nombre del usuario.
last_name string Apellido del usuario.
business_name string Nombre o razón social.
phone string Número telefónico del usuario.
distributor string Nombre del distribuidor.
general_notifications boolean Recibir notificaciones generales.
communities array of numbers Comunidades de interes del usuario.
provinces array of numbers Provincias de interes del usuario.
applicants array of numbers Tipo de solicitante del usuario.
region_types array of numbers Regiones de interes del usuario.
action_items array of numbers Acción a llevar a cabo por el usuario.
activities array of numbers Sector económico del usuario.
fund_types array of numbers Tipo de ayuda.
origins array of numbers Origen de los fondos.

Ejemplo de petición
curl --request PATCH \
  --url 'https://api.fandit.es/api/v2/users/10482/' \
  --data '{"phone":"600123456","business_name":"Empresa Ejemplo SL","general_notifications":true}' \
  --header 'Authorization: Token TU_API_KEY'
import requests

url = "https://api.fandit.es/api/v2/users/10482/"

headers = {
    "Authorization": "Token TU_API_KEY"
}

payload = {
    "phone": "600123456",
    "business_name": "Empresa Ejemplo SL",
    "general_notifications": True
}

response = requests.patch(url, headers=headers, json=payload)

print(response.status_code)
print(response.json())
const url = "https://api.fandit.es/api/v2/users/10482/";

const options = {
  method: "PATCH",
  headers: {
    "Authorization": "Token TU_API_KEY",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    "phone": "600123456",
    "business_name": "Empresa Ejemplo SL",
    "general_notifications": true
  })
};

const response = await fetch(url, options);
const data = await response.json();

console.log(data);
<?php

$url = "https://api.fandit.es/api/v2/users/10482/";

$payload = json_encode([
    "phone" => "600123456",
    "business_name" => "Empresa Ejemplo SL",
    "general_notifications" => true
]);

$curl = curl_init($url);

curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "PATCH",
    CURLOPT_HTTPHEADER => [
        "Authorization: Token TU_API_KEY",
        "Content-Type: application/json"
    ],
    CURLOPT_POSTFIELDS => $payload
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
Ejemplo de respuesta
{
  "id": 10482,
  "email": "usuario@empresa.es",
  "username": "usuario_empresa",
  "first_name": "Laura",
  "last_name": "Gómez",
  "platform": "fandit",
  "is_active": true,
  "general_notifications": true,
  "distributor": "FANDIT",
  "business_name": "Empresa Ejemplo SL",
  "phone": "600123456",
  "communities_list": [1, 8],
  "provinces_list": [28, 8],
  "applicants_list": [1, 2],
  "region_types_list": [1],
  "action_items_list": [1, 2, 3],
  "activities_list": [4],
  "fund_types_list": [1, 2],
  "origins_list": [1],
  "groups_data": [
    { "id": 1, "name": "Administradores" },
    { "id": 2, "name": "Gestores" }
  ]
}
DELETEEliminar usuario/api/v2/users/{id}/

Petición para eliminar un usuario específico.


Cabeceras
Authorization string Token de usuario. (Obligatorio)

Parámetros
id string Identificador del usuario a buscar. (Obligatorio)

Ejemplo de petición
curl --request DELETE \
  --url 'https://api.fandit.es/api/v2/users/10482/' \
  --header 'Authorization: Token TU_API_KEY'
import requests

url = "https://api.fandit.es/api/v2/users/10482/"

headers = {
    "Authorization": "Token TU_API_KEY"
}

response = requests.delete(url, headers=headers)

print(response.status_code)
print(response.json())
const url = "https://api.fandit.es/api/v2/users/10482/";

const options = {
  method: "DELETE",
  headers: {
    "Authorization": "Token TU_API_KEY"
  }
};

const response = await fetch(url, options);
const data = await response.json();

console.log(data);
<?php

$url = "https://api.fandit.es/api/v2/users/10482/";

$curl = curl_init($url);

curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "DELETE",
    CURLOPT_HTTPHEADER => [
        "Authorization: Token TU_API_KEY"
    ]
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
Ejemplo de respuesta
"User deleted successfully"

Subvenciones

GETListado de subvenciones/api/v2/funds/

Petición paginada para obtener las subvenciones actuales. Para obtener solo convocatorias con concesiones (lo que antes devolvía /funds/concessions/, ya eliminado) envía with_concessions: true en requestData. Cada resultado incluye el número e importe de concesiones, si tiene convocatorias relacionadas, el origen de los datos (source: InfoSubvenciones, Sede electrónica, Fandit Manual o Boletines) y la URL pública de la convocatoria (url) en el dominio de tu marca; usa siempre ese valor en lugar de construirlo. Con start_date y end_date devuelve las convocatorias del rango; con solo start_date, solo las de ese mismo día (no «desde esa fecha»): para «desde una fecha hasta hoy» envía también end_date con la fecha de hoy. Las fechas van en formato aaaa-mm-dd; con otro formato devuelve 400 con {"errors": "Formato de fecha inválido en *start_date*, usa aaaa-mm-dd"}.


Cabeceras
Authorization string Token de usuario (Obligatorio). (Obligatorio)

Parámetros
page number Página del listado a visualizar (Obligatorio). (Obligatorio)
page_size number Resultados por página: 20 por defecto, máximo 200. Va fuera de requestData, como page.
search_by_text string Texto a buscar en el título de la subvención.
search_by_vectorized_text string Texto a buscar mediante búsqueda vectorizada (semántica) en la subvención.
is_open boolean Si la subvención aun está abierta o no para el público.
with_concessions boolean Solo convocatorias con al menos una concesión. Por defecto false; acepta true, "true" y "1".
with_related_funds boolean Solo convocatorias con convocatorias relacionadas. Por defecto false; acepta true, "true" y "1". Se combina con with_concessions y con el resto de filtros.
provinces array of numbers Provincia donde aplica la subvención.
communities array of numbers Comunidades donde aplica la subvención.
applicants array of numbers Tipos de solicitantes que pueden aplicar a la subvención.
action_items array of numbers Acción a llevar a cabo por el solicitante.
max_budget number Máximo de presupuesto de la ayuda.
region_types array of numbers Regiones donde aplica la subvención.
office string Nombre del organismo.
start_date string Fecha de publicación (aaaa-mm-dd). Junto con end_date, inicio del rango; sin end_date, solo las convocatorias de ese mismo día.
end_date string Fecha de publicación (fin de rango, aaaa-mm-dd). Solo se aplica junto con start_date.
final_period_start_date string Fecha de cierre (inicio de rango, aaaa-mm-dd).
final_period_end_date string Fecha de cierre (fin de rango, aaaa-mm-dd).
update_date_start string Fecha de actualización (inicio de rango, aaaa-mm-dd): convocatorias con cualquier hito en el rango salvo la apertura del plazo de solicitud (convocatoria general, bases reguladoras, modificación o resolución, creación de fecha de inicio y modificación de fecha).
update_date_end string Fecha de actualización (fin de rango, aaaa-mm-dd).
min_total_amount number Presupuesto de la convocatoria (incio de rango).
max_total_amount number Presupuesto de la convocatoria (fin de rango).
activities array of numbers Sector económico del solicitante.
types array of numbers Tipo de Ayuda.
origins array of numbers Origen de los fondos.
bdns number Identificador de la subvención.

Ejemplo de petición
curl --request GET \
  --url 'https://api.fandit.es/api/v2/funds/' \
  --get \
  --data-urlencode 'page=1' \
  --data-urlencode 'requestData={"search_by_text":"digitalización","is_open":true}' \
  --header 'Authorization: Token TU_API_KEY'
import requests

url = "https://api.fandit.es/api/v2/funds/"

params = {
    "page": "1",
    "requestData": "{\"search_by_text\":\"digitalización\",\"is_open\":true}"
}

headers = {
    "Authorization": "Token TU_API_KEY"
}

response = requests.get(url, params=params, headers=headers)

print(response.status_code)
print(response.json())
const url = "https://api.fandit.es/api/v2/funds/";

const params = new URLSearchParams({
  "page": "1",
  "requestData": "{\"search_by_text\":\"digitalización\",\"is_open\":true}"
});

const options = {
  method: "GET",
  headers: {
    "Authorization": "Token TU_API_KEY"
  }
};

const response = await fetch(`${url}?${params}`, options);
const data = await response.json();

console.log(data);
<?php

$url = "https://api.fandit.es/api/v2/funds/";

$query = http_build_query([
    "page" => "1",
    "requestData" => "{\"search_by_text\":\"digitalización\",\"is_open\":true}"
]);

$curl = curl_init("$url?$query");

curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => [
        "Authorization: Token TU_API_KEY"
    ]
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
Ejemplo de respuesta
{
  "count": 128,
  "next": "https://api.fandit.es/api/v2/funds/?page=2",
  "previous": null,
  "results": [
    {
      "id": 5891,
      "slug": "kit-digital-segmento-iii",
      "formatted_title": "Kit Digital - Segmento III (0-2 empleados)",
      "status_text": "Abierta",
      "new_entity": 1,
      "total_amount": 500000000,
      "entity": "Red.es",
      "concessions": 4820,
      "concessions_amount": 1050000,
      "related_funds": true,
      "source": "InfoSubvenciones",
      "url": "https://fandit.es/subvenciones/detalles-subvencion/5891"
    },
    {
      "id": 6120,
      "slug": "linea-avanza-pyme-2026",
      "formatted_title": "Línea Avanza PYME 2026",
      "status_text": "Cerrada",
      "new_entity": 2,
      "total_amount": 25000000,
      "entity": "Ministerio de Industria y Turismo",
      "concessions": 312,
      "concessions_amount": 8400000,
      "related_funds": false,
      "source": "Boletines",
      "url": "https://fandit.es/subvenciones/detalles-subvencion/6120"
    }
  ]
}
GETDetalles de una subvención/api/v2/fund-details/{slug}/

Petición para obtener toda la información de una subvención específica. La respuesta incluye el número e importe total de concesiones (concessions, concessions_amount), si tiene convocatorias relacionadas (related_funds), el origen de los datos (source) y la URL pública de la convocatoria (url) en el dominio de tu marca.


Cabeceras
Authorization string Token de usuario (Obligatorio). (Obligatorio)

Parámetros
id / slug string Id ó Slug de la subvención buscar (Obligatorio). (Obligatorio)

Ejemplo de petición
curl --request GET \
  --url 'https://api.fandit.es/api/v2/fund-details/kit-digital-segmento-iii/' \
  --header 'Authorization: Token TU_API_KEY'
import requests

url = "https://api.fandit.es/api/v2/fund-details/kit-digital-segmento-iii/"

headers = {
    "Authorization": "Token TU_API_KEY"
}

response = requests.get(url, headers=headers)

print(response.status_code)
print(response.json())
const url = "https://api.fandit.es/api/v2/fund-details/kit-digital-segmento-iii/";

const options = {
  method: "GET",
  headers: {
    "Authorization": "Token TU_API_KEY"
  }
};

const response = await fetch(url, options);
const data = await response.json();

console.log(data);
<?php

$url = "https://api.fandit.es/api/v2/fund-details/kit-digital-segmento-iii/";

$curl = curl_init($url);

curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => [
        "Authorization: Token TU_API_KEY"
    ]
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
Ejemplo de respuesta
{
  "slug": "kit-digital-segmento-iii",
  "formatted_title": "Kit Digital - Segmento III (0-2 empleados)",
  "goal_extra": "Fomentar la digitalización de pequeñas empresas y autónomos mediante la adopción de soluciones de digitalización disponibles en el mercado.",
  "status_text": "Abierta",
  "scope": "Nacional",
  "total_amount": 500000000,
  "request_amount": 2000,
  "publisher": "Red.es",
  "applicants": "Autónomos y microempresas de 0 a 2 empleados",
  "term": "Hasta agotar presupuesto o el 31/12/2026",
  "help_type": "Subvención directa",
  "expenses": "Servicios de digitalización prestados por Agentes Digitalizadores adheridos",
  "fund_execution_period": "12 meses desde la fecha de concesión",
  "line": "Programa Kit Digital",
  "extra_limit": 2000,
  "info_extra": "Convocatoria financiada por el Plan de Recuperación, Transformación y Resiliencia - Next Generation EU",
  "concessions": 4820,
  "concessions_amount": 1050000,
  "related_funds": true,
  "source": "InfoSubvenciones",
  "url": "https://fandit.es/subvenciones/detalles-subvencion/5891"
}
GETConcesiones por CIF/api/v2/funds/concessions/beneficiaries-by-cif/

Petición paginada para obtener las concesiones por un CIF en específico. Filtra solo por nif (sin él devuelve 400); fund_id y fund_slug ya no se admiten aquí y se ignoran. Las filas se ordenan por concession_date descendente y, a igualdad, por id descendente; el orden es estable entre páginas y las concesiones sin fecha aparecen primero. Las filas no incluyen fund_slug ni beneficiary_cif: identifica la ayuda con fund_id (su URL pública se obtiene con fund-details, campo url) y el CIF es siempre el nif enviado en la petición. beneficiary_name puede variar ligeramente entre filas según cómo lo publique BDNS.


Cabeceras
Authorization string Token de usuario (Obligatorio). (Obligatorio)

Parámetros
page number Página del listado a visualizar (Obligatorio). (Obligatorio)
page_size number Filas por página: 500 por defecto, máximo 1000. Va fuera de requestData, como page.
nif string CIF del beneficiario a buscar (Obligatorio). (Obligatorio)

Ejemplo de petición
curl --request GET \
  --url 'https://api.fandit.es/api/v2/funds/concessions/beneficiaries-by-cif/' \
  --get \
  --data-urlencode 'page=1' \
  --data-urlencode 'requestData={"nif":"B12345678"}' \
  --header 'Authorization: Token TU_API_KEY'
import requests

url = "https://api.fandit.es/api/v2/funds/concessions/beneficiaries-by-cif/"

params = {
    "page": "1",
    "requestData": "{\"nif\":\"B12345678\"}"
}

headers = {
    "Authorization": "Token TU_API_KEY"
}

response = requests.get(url, params=params, headers=headers)

print(response.status_code)
print(response.json())
const url = "https://api.fandit.es/api/v2/funds/concessions/beneficiaries-by-cif/";

const params = new URLSearchParams({
  "page": "1",
  "requestData": "{\"nif\":\"B12345678\"}"
});

const options = {
  method: "GET",
  headers: {
    "Authorization": "Token TU_API_KEY"
  }
};

const response = await fetch(`${url}?${params}`, options);
const data = await response.json();

console.log(data);
<?php

$url = "https://api.fandit.es/api/v2/funds/concessions/beneficiaries-by-cif/";

$query = http_build_query([
    "page" => "1",
    "requestData" => "{\"nif\":\"B12345678\"}"
]);

$curl = curl_init("$url?$query");

curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => [
        "Authorization: Token TU_API_KEY"
    ]
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
Ejemplo de respuesta
{
  "count": 3,
  "next": null,
  "previous": null,
  "results": [
    {
      "fund_id": 5891,
      "fund_title": "Kit Digital - Segmento III (0-2 empleados)",
      "beneficiary_name": "Soluciones Digitales Andalucía, S.L.",
      "concession_date": "2026-03-14",
      "awarded_amount": 2000
    },
    {
      "fund_id": 6120,
      "fund_title": "Línea Avanza PYME 2026",
      "beneficiary_name": "Soluciones Digitales Andalucía, S.L.",
      "concession_date": "2025-11-02",
      "awarded_amount": 15000
    }
  ]
}
GETConcesiones por subvención/api/v2/funds/concessions/beneficiaries/

Petición paginada para obtener las concesiones por una subvención en específico. Filtra solo por fund_id o fund_slug (sin ninguno devuelve 400); nif ya no se admite aquí y se ignora. Las filas ya no incluyen fund_slug ni fund_title: si los necesitas, pídelos una vez a fund-details. Las filas se ordenan por concession_date descendente y, a igualdad, por id descendente; el orden es estable entre páginas y las concesiones sin fecha aparecen primero.


Cabeceras
Authorization string Token de usuario (Obligatorio). (Obligatorio)

Parámetros
page number Página del listado a visualizar (Obligatorio). (Obligatorio)
page_size number Filas por página: 500 por defecto, máximo 1000. Va fuera de requestData, como page.
fund_slug string Slug de la subvención a buscar. No se puede combinar con fund_id.
fund_id string Id de la subvención a buscar. No se puede combinar con fund_slug.

Ejemplo de petición
curl --request GET \
  --url 'https://api.fandit.es/api/v2/funds/concessions/beneficiaries/' \
  --get \
  --data-urlencode 'page=1' \
  --data-urlencode 'requestData={"fund_slug":"kit-digital-segmento-iii"}' \
  --header 'Authorization: Token TU_API_KEY'
import requests

url = "https://api.fandit.es/api/v2/funds/concessions/beneficiaries/"

params = {
    "page": "1",
    "requestData": "{\"fund_slug\":\"kit-digital-segmento-iii\"}"
}

headers = {
    "Authorization": "Token TU_API_KEY"
}

response = requests.get(url, params=params, headers=headers)

print(response.status_code)
print(response.json())
const url = "https://api.fandit.es/api/v2/funds/concessions/beneficiaries/";

const params = new URLSearchParams({
  "page": "1",
  "requestData": "{\"fund_slug\":\"kit-digital-segmento-iii\"}"
});

const options = {
  method: "GET",
  headers: {
    "Authorization": "Token TU_API_KEY"
  }
};

const response = await fetch(`${url}?${params}`, options);
const data = await response.json();

console.log(data);
<?php

$url = "https://api.fandit.es/api/v2/funds/concessions/beneficiaries/";

$query = http_build_query([
    "page" => "1",
    "requestData" => "{\"fund_slug\":\"kit-digital-segmento-iii\"}"
]);

$curl = curl_init("$url?$query");

curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => [
        "Authorization: Token TU_API_KEY"
    ]
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
Ejemplo de respuesta
{
  "count": 4820,
  "next": "https://api.fandit.es/api/v2/funds/concessions/beneficiaries/?page=2",
  "previous": null,
  "results": [
    {
      "fund_id": 5891,
      "beneficiary_cif": "B87654321",
      "beneficiary_name": "Talleres Mecánicos Herrero, S.L.",
      "concession_date": "2026-02-20",
      "awarded_amount": 2000
    },
    {
      "fund_id": 5891,
      "beneficiary_cif": "B11223344",
      "beneficiary_name": "Panadería Artesana Ruiz, S.L.",
      "concession_date": "2026-01-08",
      "awarded_amount": 2000
    }
  ]
}
GETNormativa de una subvención/api/v2/funds/fund-normative/{id}/

Petición para obtener la normativa de una subvención específica. Si se envía el parámetro opcional pdf_id, devuelve los metadatos y la url de ese PDF en concreto en vez del detalle normativo. Los enlaces a PDF (url con pdf_id y pdf_files[].source sin pdf_id) son URLs firmadas de S3 que caducan (1 hora por defecto): descarga el PDF en el momento o vuelve a pedir la URL, no la guardes para más tarde.


Cabeceras
Authorization string Token de usuario (Obligatorio). (Obligatorio)

Parámetros
id number Id de la subvención a buscar (Obligatorio). (Obligatorio)
pdf_id number Id del PDF de normativa a consultar (query param) (Opcional).

Ejemplo de petición
curl --request GET \
  --url 'https://api.fandit.es/api/v2/funds/fund-normative/5891/' \
  --header 'Authorization: Token TU_API_KEY'
import requests

url = "https://api.fandit.es/api/v2/funds/fund-normative/5891/"

headers = {
    "Authorization": "Token TU_API_KEY"
}

response = requests.get(url, headers=headers)

print(response.status_code)
print(response.json())
const url = "https://api.fandit.es/api/v2/funds/fund-normative/5891/";

const options = {
  method: "GET",
  headers: {
    "Authorization": "Token TU_API_KEY"
  }
};

const response = await fetch(url, options);
const data = await response.json();

console.log(data);
<?php

$url = "https://api.fandit.es/api/v2/funds/fund-normative/5891/";

$curl = curl_init($url);

curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => [
        "Authorization: Token TU_API_KEY"
    ]
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
Ejemplo de respuesta
{
  "office": "Red.es",
  "department": "Ministerio para la Transformación Digital y de la Función Pública",
  "has_regulation_url": true,
  "pdf_files": [
    {
      "id": 5023,
      "title": "Bases reguladoras Kit Digital Segmento III",
      "filename": "bases_reguladoras_kit_digital_iii.pdf",
      "primary": true
    },
    {
      "id": 5024,
      "title": "Modificación de las bases reguladoras",
      "filename": "modificacion_bases_kit_digital_iii.pdf",
      "primary": false
    }
  ],
  "has_link": true,
  "bdns_list": ["639942", "651203"],
  "competitiva": false,
  "no_competitiva": true,
  "minimis": false
}
GETEvaluación de una subvención/api/v2/funds/fund-evaluation/{id}/

Petición para obtener los requisitos de evaluación de una subvención específica. Con el parámetro pdf_id, el campo url devuelve una URL firmada de S3 que caduca (1 hora por defecto).


Cabeceras
Authorization string Token de usuario (Obligatorio). (Obligatorio)

Parámetros
id number Id de la subvención a buscar (Obligatorio). (Obligatorio)

Ejemplo de petición
curl --request GET \
  --url 'https://api.fandit.es/api/v2/funds/fund-evaluation/5891/' \
  --header 'Authorization: Token TU_API_KEY'
import requests

url = "https://api.fandit.es/api/v2/funds/fund-evaluation/5891/"

headers = {
    "Authorization": "Token TU_API_KEY"
}

response = requests.get(url, headers=headers)

print(response.status_code)
print(response.json())
const url = "https://api.fandit.es/api/v2/funds/fund-evaluation/5891/";

const options = {
  method: "GET",
  headers: {
    "Authorization": "Token TU_API_KEY"
  }
};

const response = await fetch(url, options);
const data = await response.json();

console.log(data);
<?php

$url = "https://api.fandit.es/api/v2/funds/fund-evaluation/5891/";

$curl = curl_init($url);

curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => [
        "Authorization: Token TU_API_KEY"
    ]
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
Ejemplo de respuesta
{
  "id": 5891,
  "requirements": "Se evaluará el cumplimiento de los requisitos de admisibilidad y la disponibilidad de crédito presupuestario en el momento de la solicitud, por estricto orden de presentación.",
  "minimis": false
}
GETDocumentos requeridos de una subvención/api/v2/funds/fund-required-documents/{id}/

Petición para obtener la documentación requerida de una subvención específica. Con el parámetro pdf_id, el campo url devuelve una URL firmada de S3 que caduca (1 hora por defecto).


Cabeceras
Authorization string Token de usuario (Obligatorio). (Obligatorio)

Parámetros
id number Id de la subvención a buscar (Obligatorio). (Obligatorio)

Ejemplo de petición
curl --request GET \
  --url 'https://api.fandit.es/api/v2/funds/fund-required-documents/5891/' \
  --header 'Authorization: Token TU_API_KEY'
import requests

url = "https://api.fandit.es/api/v2/funds/fund-required-documents/5891/"

headers = {
    "Authorization": "Token TU_API_KEY"
}

response = requests.get(url, headers=headers)

print(response.status_code)
print(response.json())
const url = "https://api.fandit.es/api/v2/funds/fund-required-documents/5891/";

const options = {
  method: "GET",
  headers: {
    "Authorization": "Token TU_API_KEY"
  }
};

const response = await fetch(url, options);
const data = await response.json();

console.log(data);
<?php

$url = "https://api.fandit.es/api/v2/funds/fund-required-documents/5891/";

$curl = curl_init($url);

curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => [
        "Authorization: Token TU_API_KEY"
    ]
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
Ejemplo de respuesta
{
  "required_documents": "DNI o NIE del solicitante, certificado de estar al corriente de pagos con la Agencia Tributaria y la Seguridad Social, y formulario de solicitud cumplimentado.",
  "template_document": [
    {
      "id": 7745,
      "title": "Formulario de solicitud",
      "filename": "formulario_solicitud_kit_digital.pdf",
      "primary": true
    },
    {
      "id": 7746,
      "title": "Modelo de declaración responsable",
      "filename": "declaracion_responsable.pdf",
      "primary": false
    }
  ]
}
POSTAyudas de mínimis por NIF/api/v2/fund-minimis-by-nif/

Petición para obtener todas las concesiones sujetas al reglamento de mínimis de un NIF concreto, para saber cuánto de mínimis ha recibido ya una empresa. La respuesta es un array sin paginar: vacío si el NIF no tiene concesiones, que es el único caso que significa «sin mínimis registrados». Antes de consultar BDNS se valida el NIF (formato, longitud y dígito o letra de control de DNI, NIE X/Y/Z, NIF K/L/M y CIF). Los errores devuelven un objeto con error y un code estable; decide según code, no según el texto: 400 nif_required si falta el NIF ({"error": "El NIF es requerido", "code": "nif_required"}), 400 invalid_nif si el formato, la longitud o el dígito de control no son válidos ({"error": "El dígito de control del NIF es inválido", "code": "invalid_nif"}; el texto varía según el fallo). Un 400 es un error del usuario: pide que revise el NIF y nunca lo muestres como «Total: 0» ni calcules el margen de mínimis. Si BDNS no responde, tarda más de 15 s, devuelve un error HTTP o una respuesta que no es JSON, devuelve 502 con {"error": "No se ha podido consultar BDNS, inténtalo más tarde", "code": "bdns_unavailable"}: es un fallo temporal, no significa que no haya ayudas de mínimis, así que reintenta más tarde y no lo trates como un array vacío. En el peor caso la respuesta tarda unos 30 s. Cada concesión incluye concession_id (identificador único de la concesión en BDNS), concession_code (código público, p. ej. SB137062769), registration_date (fecha de registro en BDNS) e instrument (tipo de ayuda: subvención, préstamo, garantía…). Usa concession_id para no contar duplicados al sumar el total de mínimis: dos filas con el mismo concession_id son la misma concesión y cuentan una vez; con ids distintos son concesiones reales y cuentan todas, aunque coincidan convocatoria, fecha e importe. concession_amount es la ayuda equivalente concedida, también en préstamos y garantías. Si BDNS no envía algún campo, sale null.


Cabeceras
Authorization string Token de usuario (Obligatorio). (Obligatorio)

Parámetros
nif string NIF o CIF del beneficiario a consultar: DNI, NIE, NIF K/L/M o CIF con dígito de control válido (Obligatorio). (Obligatorio)

Ejemplo de petición
curl --request POST \
  --url 'https://api.fandit.es/api/v2/fund-minimis-by-nif/' \
  --data '{"nif":"B12345678"}' \
  --header 'Authorization: Token TU_API_KEY'
import requests

url = "https://api.fandit.es/api/v2/fund-minimis-by-nif/"

headers = {
    "Authorization": "Token TU_API_KEY"
}

payload = {
    "nif": "B12345678"
}

response = requests.post(url, headers=headers, json=payload)

print(response.status_code)
print(response.json())
const url = "https://api.fandit.es/api/v2/fund-minimis-by-nif/";

const options = {
  method: "POST",
  headers: {
    "Authorization": "Token TU_API_KEY",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    "nif": "B12345678"
  })
};

const response = await fetch(url, options);
const data = await response.json();

console.log(data);
<?php

$url = "https://api.fandit.es/api/v2/fund-minimis-by-nif/";

$payload = json_encode([
    "nif" => "B12345678"
]);

$curl = curl_init($url);

curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_HTTPHEADER => [
        "Authorization: Token TU_API_KEY",
        "Content-Type: application/json"
    ],
    CURLOPT_POSTFIELDS => $payload
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
Ejemplo de respuesta
[
  {
    "bdns": "787822",
    "organs": "ESTADO MINISTERIO DE INDUSTRIA Y TURISMO FUNDACIÓN EOI, F.S.P.",
    "minimis": "REG (UE) 2023/2831 de minimis, General",
    "concession_date": "2025-05-12",
    "activity": "62 - Programación, consultoría y otras actividades relacionadas con la informática",
    "concession_amount": 9500.0,
    "concession_id": 118734521,
    "concession_code": "SB118734521",
    "registration_date": "2025-05-20",
    "instrument": "SUBVENCIÓN y ENTREGA DINERARIA SIN CONTRAPRESTACIÓN"
  },
  {
    "bdns": "748908",
    "organs": "LOCAL MADRID ÁREA DE GOBIERNO DE ECONOMÍA, INNOVACIÓN Y HACIENDA",
    "minimis": "REG (UE) 2023/2831 de minimis, General",
    "concession_date": "2024-12-10",
    "activity": "H - TRANSPORTE Y ALMACENAMIENTO; T - OTROS SERVICIOS",
    "concession_amount": 50000.0,
    "concession_id": 104562387,
    "concession_code": "SB104562387",
    "registration_date": "2024-12-18",
    "instrument": "SUBVENCIÓN y ENTREGA DINERARIA SIN CONTRAPRESTACIÓN"
  }
]
POSTChatbot de subvención/api/v2/funds/chatbot/

Petición para resolver preguntas sobre una subvención concreta mediante el asistente de IA, acotando las respuestas a la documentación de esa subvención.


Cabeceras
Authorization string Token de usuario (Obligatorio). (Obligatorio)

Parámetros
fund_id number Id de la subvención sobre la que preguntar (Obligatorio). (Obligatorio)
prompt string Pregunta del usuario (Obligatorio). (Obligatorio)
record array of objects Historial de la conversación, array de objetos con las claves role y content (Opcional).
max_tokens number Límite de tokens de la respuesta, por defecto 2048 (Opcional).

Ejemplo de petición
curl --request POST \
  --url 'https://api.fandit.es/api/v2/funds/chatbot/' \
  --data '{"fund_id":5891,"prompt":"¿Cuál es el plazo de solicitud?","record":[],"max_tokens":2048}' \
  --header 'Authorization: Token TU_API_KEY'
import requests

url = "https://api.fandit.es/api/v2/funds/chatbot/"

headers = {
    "Authorization": "Token TU_API_KEY"
}

payload = {
    "fund_id": 5891,
    "prompt": "¿Cuál es el plazo de solicitud?",
    "record": [],
    "max_tokens": 2048
}

response = requests.post(url, headers=headers, json=payload)

print(response.status_code)
print(response.json())
const url = "https://api.fandit.es/api/v2/funds/chatbot/";

const options = {
  method: "POST",
  headers: {
    "Authorization": "Token TU_API_KEY",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    "fund_id": 5891,
    "prompt": "¿Cuál es el plazo de solicitud?",
    "record": [],
    "max_tokens": 2048
  })
};

const response = await fetch(url, options);
const data = await response.json();

console.log(data);
<?php

$url = "https://api.fandit.es/api/v2/funds/chatbot/";

$payload = json_encode([
    "fund_id" => 5891,
    "prompt" => "¿Cuál es el plazo de solicitud?",
    "record" => [],
    "max_tokens" => 2048
]);

$curl = curl_init($url);

curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_HTTPHEADER => [
        "Authorization: Token TU_API_KEY",
        "Content-Type: application/json"
    ],
    CURLOPT_POSTFIELDS => $payload
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
Ejemplo de respuesta
{
  "response": "El plazo de solicitud para el Kit Digital - Segmento III permanece abierto hasta agotar el presupuesto asignado o, como máximo, hasta el 31 de diciembre de 2026. Se recomienda presentar la solicitud lo antes posible, ya que la concesión se realiza por estricto orden de entrada."
}

Expedientes

GETListado de expedientes/api/v2/forms/

Petición paginada para obtener todos los expedientes creados.


Cabeceras
Authorization string Token de experto (Obligatorio). (Obligatorio)

Parámetros
page number Página del listado a visualizar (Obligatorio). (Obligatorio)
page_size number Tamaño de la paginación (Obligatorio). (Obligatorio)
isActive number Mostrar solo los expedientes activos o no.
general_text string Texto a buscar en todos los campos del expediente.
guest_email string Correo electrónico del solicitante.
guest_name string Cliente o razón social.
client_name string contacto del expediente.
status string Estado del expediente.
sub_status string Subestado del expediente.
start_date string Fecha de creación (inicio de rango).
end_date string Fecha de creación (fin de rango).
expert_name string Nombre del gestor.
fund_title string Título del expediente.
reference string Referencia del expediente.
concession_date_start string Fecha de concesión (inicio de rango).
concession_date_end string Fecha de concesión (fin de rango).
presentation_date_start string Fecha de presentación (inicio de rango).
presentation_date_end string Fecha de presentación (fin de rango).
requested_amount_min string Monto solicitado (inicio de rango).
requested_amount_max string Monto solicitado (fin de rango).
awarded_amount_min string Monto concedido (inicio de rango).
awarded_amount_max string Monto concedido (fin de rango).
my_workflows boolean Mostrar solo los expediente asignados al experto logueado.

Ejemplo de petición
curl --request GET \
  --url 'https://api.fandit.es/api/v2/forms/' \
  --get \
  --data-urlencode 'page=1' \
  --data-urlencode 'page_size=10' \
  --data-urlencode 'isActive=1' \
  --data-urlencode 'requestData={"general_text":"kit digital"}' \
  --header 'Authorization: ExpertToken TU_EXPERT_TOKEN'
import requests

url = "https://api.fandit.es/api/v2/forms/"

params = {
    "page": "1",
    "page_size": "10",
    "isActive": "1",
    "requestData": "{\"general_text\":\"kit digital\"}"
}

headers = {
    "Authorization": "ExpertToken TU_EXPERT_TOKEN"
}

response = requests.get(url, params=params, headers=headers)

print(response.status_code)
print(response.json())
const url = "https://api.fandit.es/api/v2/forms/";

const params = new URLSearchParams({
  "page": "1",
  "page_size": "10",
  "isActive": "1",
  "requestData": "{\"general_text\":\"kit digital\"}"
});

const options = {
  method: "GET",
  headers: {
    "Authorization": "ExpertToken TU_EXPERT_TOKEN"
  }
};

const response = await fetch(`${url}?${params}`, options);
const data = await response.json();

console.log(data);
<?php

$url = "https://api.fandit.es/api/v2/forms/";

$query = http_build_query([
    "page" => "1",
    "page_size" => "10",
    "isActive" => "1",
    "requestData" => "{\"general_text\":\"kit digital\"}"
]);

$curl = curl_init("$url?$query");

curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => [
        "Authorization: ExpertToken TU_EXPERT_TOKEN"
    ]
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
Ejemplo de respuesta
{
  "count": 128,
  "next": "https://api.fandit.es/api/v2/forms/?page=2&page_size=10",
  "previous": null,
  "results": [
    {
      "id": 4521,
      "identifier": "EXP-2026-04521",
      "uuid": "a1b2c3d4-5e6f-4a1b-8c9d-0e1f2a3b4c5d",
      "title": "Ayuda Kit Digital - Segmento III",
      "client_data": {
        "id": 982,
        "business_name": "Innovaciones Digitales SL",
        "email": "contacto@innovacionesdigitales.es",
        "nif": "B12345678"
      },
      "expert_data": {
        "id": 34,
        "name": "Marta Sánchez",
        "email": "marta.sanchez@fandit.es"
      },
      "company": "Innovaciones Digitales SL",
      "phone": "600112233",
      "platform": "fandit",
      "reference": "REF-2026-0088",
      "additional_data": "Solicitud vinculada a la convocatoria Kit Digital 2026",
      "status_group": {
        "id": 2,
        "name": "En trámite"
      },
      "current_status": {
        "id": 5,
        "name": "Pendiente de documentación"
      },
      "requested_amount": 12000,
      "awarded_amount": null,
      "presentation_date": "2026-03-14",
      "concession_date": null,
      "shared_client": true
    }
  ]
}
GETDetalle de un expediente/api/v2/forms/{workflow_id}/

Petición para obtener toda la información de un expediente específico.


Cabeceras
Authorization string Token de experto (Obligatorio). (Obligatorio)

Parámetros
workflow_id string Id del expediente a buscar (Obligatorio). (Obligatorio)

Ejemplo de petición
curl --request GET \
  --url 'https://api.fandit.es/api/v2/forms/4521/' \
  --header 'Authorization: ExpertToken TU_EXPERT_TOKEN'
import requests

url = "https://api.fandit.es/api/v2/forms/4521/"

headers = {
    "Authorization": "ExpertToken TU_EXPERT_TOKEN"
}

response = requests.get(url, headers=headers)

print(response.status_code)
print(response.json())
const url = "https://api.fandit.es/api/v2/forms/4521/";

const options = {
  method: "GET",
  headers: {
    "Authorization": "ExpertToken TU_EXPERT_TOKEN"
  }
};

const response = await fetch(url, options);
const data = await response.json();

console.log(data);
<?php

$url = "https://api.fandit.es/api/v2/forms/4521/";

$curl = curl_init($url);

curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => [
        "Authorization: ExpertToken TU_EXPERT_TOKEN"
    ]
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
Ejemplo de respuesta
{
  "id": 4521,
  "identifier": "EXP-2026-04521",
  "uuid": "a1b2c3d4-5e6f-4a1b-8c9d-0e1f2a3b4c5d",
  "title": "Ayuda Kit Digital - Segmento III",
  "client_data": {
    "id": 982,
    "business_name": "Innovaciones Digitales SL",
    "email": "contacto@innovacionesdigitales.es",
    "nif": "B12345678"
  },
  "expert_data": {
    "id": 34,
    "name": "Marta Sánchez",
    "email": "marta.sanchez@fandit.es"
  },
  "company": "Innovaciones Digitales SL",
  "phone": "600112233",
  "platform": "fandit",
  "reference": "REF-2026-0088",
  "additional_data": "Solicitud vinculada a la convocatoria Kit Digital 2026",
  "status_group": {
    "id": 2,
    "name": "En trámite"
  },
  "current_status": {
    "id": 5,
    "name": "Pendiente de documentación"
  },
  "requested_amount": 12000,
  "awarded_amount": null,
  "presentation_date": "2026-03-14",
  "concession_date": null,
  "shared_client": true
}
GETEstados y subestados de expedientes/api/v2/forms/status-groups-list/

Petición paginada para obtener todos los posibles estados y subestados que puede tener un expediente, y poder seleccionarlos al momento de crear uno.


Cabeceras
Authorization string Token de experto (Obligatorio). (Obligatorio)

Ejemplo de petición
curl --request GET \
  --url 'https://api.fandit.es/api/v2/forms/status-groups-list/' \
  --header 'Authorization: ExpertToken TU_EXPERT_TOKEN'
import requests

url = "https://api.fandit.es/api/v2/forms/status-groups-list/"

headers = {
    "Authorization": "ExpertToken TU_EXPERT_TOKEN"
}

response = requests.get(url, headers=headers)

print(response.status_code)
print(response.json())
const url = "https://api.fandit.es/api/v2/forms/status-groups-list/";

const options = {
  method: "GET",
  headers: {
    "Authorization": "ExpertToken TU_EXPERT_TOKEN"
  }
};

const response = await fetch(url, options);
const data = await response.json();

console.log(data);
<?php

$url = "https://api.fandit.es/api/v2/forms/status-groups-list/";

$curl = curl_init($url);

curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => [
        "Authorization: ExpertToken TU_EXPERT_TOKEN"
    ]
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
Ejemplo de respuesta
{
  "count": 6,
  "next": null,
  "previous": null,
  "results": [
    {
      "id": 1,
      "name": "En trámite",
      "status": [
        { "id": 1, "initial_state": true, "name": "Pendiente de documentación", "template": 1 },
        { "id": 2, "initial_state": false, "name": "En revisión", "template": 1 }
      ]
    },
    {
      "id": 2,
      "name": "Concedido",
      "status": [
        { "id": 3, "initial_state": false, "name": "Concedido - pendiente de justificación", "template": 1 },
        { "id": 4, "initial_state": false, "name": "Justificado", "template": 1 }
      ]
    }
  ]
}
GETPlantillas de expedientes/api/v2/templates/

Petición paginada para obtener todas las plantillas necesarias para la creación de un expediente.


Cabeceras
Authorization string Token de experto (Obligatorio). (Obligatorio)

Ejemplo de petición
curl --request GET \
  --url 'https://api.fandit.es/api/v2/templates/' \
  --header 'Authorization: ExpertToken TU_EXPERT_TOKEN'
import requests

url = "https://api.fandit.es/api/v2/templates/"

headers = {
    "Authorization": "ExpertToken TU_EXPERT_TOKEN"
}

response = requests.get(url, headers=headers)

print(response.status_code)
print(response.json())
const url = "https://api.fandit.es/api/v2/templates/";

const options = {
  method: "GET",
  headers: {
    "Authorization": "ExpertToken TU_EXPERT_TOKEN"
  }
};

const response = await fetch(url, options);
const data = await response.json();

console.log(data);
<?php

$url = "https://api.fandit.es/api/v2/templates/";

$curl = curl_init($url);

curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => [
        "Authorization: ExpertToken TU_EXPERT_TOKEN"
    ]
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
Ejemplo de respuesta
{
  "count": 14,
  "next": "https://api.fandit.es/api/v2/templates/?page=2",
  "previous": null,
  "results": [
    {
      "copied": false,
      "created_at": "2025-11-04T09:32:11Z",
      "custom_forms": {
        "mine": 3,
        "others": 8
      },
      "expert_data": {
        "email": "marta.sanchez@fandit.es",
        "id": 34,
        "name": "Marta Sánchez"
      },
      "experts": [12, 34, 56],
      "fund_data": {
        "id": 210,
        "title": "Kit Digital - Segmento III"
      },
      "id": 58,
      "platform": "fandit",
      "public": true,
      "title": "Plantilla Kit Digital",
      "updated_at": "2026-02-18T14:05:44Z"
    }
  ]
}
GETGestores disponibles/api/v2/experts/available-experts/

Petición para obtener todos los gestores con los que se puede compartir o asignar expedientes y clientes.


Cabeceras
Authorization string Token de experto (Obligatorio). (Obligatorio)

Ejemplo de petición
curl --request GET \
  --url 'https://api.fandit.es/api/v2/experts/available-experts/' \
  --header 'Authorization: ExpertToken TU_EXPERT_TOKEN'
import requests

url = "https://api.fandit.es/api/v2/experts/available-experts/"

headers = {
    "Authorization": "ExpertToken TU_EXPERT_TOKEN"
}

response = requests.get(url, headers=headers)

print(response.status_code)
print(response.json())
const url = "https://api.fandit.es/api/v2/experts/available-experts/";

const options = {
  method: "GET",
  headers: {
    "Authorization": "ExpertToken TU_EXPERT_TOKEN"
  }
};

const response = await fetch(url, options);
const data = await response.json();

console.log(data);
<?php

$url = "https://api.fandit.es/api/v2/experts/available-experts/";

$curl = curl_init($url);

curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => [
        "Authorization: ExpertToken TU_EXPERT_TOKEN"
    ]
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
Ejemplo de respuesta
{
  "count": 3,
  "next": null,
  "previous": null,
  "results": [
    { "id": 12, "email": "javier.ortega@fandit.es", "first_name": "Javier", "last_name": "Ortega" },
    { "id": 34, "email": "marta.sanchez@fandit.es", "first_name": "Marta", "last_name": "Sánchez" }
  ]
}
POSTCrear expediente/api/v2/forms/

Petición crear un nuevo expediente.


Cabeceras
Authorization string Token de experto (Obligatorio). (Obligatorio)

Parámetros
template_id number Id de plantilla de expediente.
title string Título del nuevo expediente (Obligatorio). (Obligatorio)
shared_client boolean Compartir los datos del solicitante.
expert_id number Id del gestor asignado.
client number Id del cliente asignado (Obligatorio). (Obligatorio)
applicant_additional_data string Nº Expediente (información adicional).
applicant_reference string Referencia.

Ejemplo de petición
curl --request POST \
  --url 'https://api.fandit.es/api/v2/forms/' \
  --data '{"template_id":58,"title":"Ayuda Kit Digital - Segmento III","shared_client":true,"expert_id":34,"client":982,"applicant_additional_data":"Solicitud vinculada a la convocatoria Kit Digital 2026","applicant_reference":"REF-2026-0088"}' \
  --header 'Authorization: ExpertToken TU_EXPERT_TOKEN'
import requests

url = "https://api.fandit.es/api/v2/forms/"

headers = {
    "Authorization": "ExpertToken TU_EXPERT_TOKEN"
}

payload = {
    "template_id": 58,
    "title": "Ayuda Kit Digital - Segmento III",
    "shared_client": True,
    "expert_id": 34,
    "client": 982,
    "applicant_additional_data": "Solicitud vinculada a la convocatoria Kit Digital 2026",
    "applicant_reference": "REF-2026-0088"
}

response = requests.post(url, headers=headers, json=payload)

print(response.status_code)
print(response.json())
const url = "https://api.fandit.es/api/v2/forms/";

const options = {
  method: "POST",
  headers: {
    "Authorization": "ExpertToken TU_EXPERT_TOKEN",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    "template_id": 58,
    "title": "Ayuda Kit Digital - Segmento III",
    "shared_client": true,
    "expert_id": 34,
    "client": 982,
    "applicant_additional_data": "Solicitud vinculada a la convocatoria Kit Digital 2026",
    "applicant_reference": "REF-2026-0088"
  })
};

const response = await fetch(url, options);
const data = await response.json();

console.log(data);
<?php

$url = "https://api.fandit.es/api/v2/forms/";

$payload = json_encode([
    "template_id" => 58,
    "title" => "Ayuda Kit Digital - Segmento III",
    "shared_client" => true,
    "expert_id" => 34,
    "client" => 982,
    "applicant_additional_data" => "Solicitud vinculada a la convocatoria Kit Digital 2026",
    "applicant_reference" => "REF-2026-0088"
]);

$curl = curl_init($url);

curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_HTTPHEADER => [
        "Authorization: ExpertToken TU_EXPERT_TOKEN",
        "Content-Type: application/json"
    ],
    CURLOPT_POSTFIELDS => $payload
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
Ejemplo de respuesta
{
  "workflow_id": 4837,
  "exist_applicant": true,
  "uuid": "f3a1b2c4-6d7e-4f8a-9b0c-1d2e3f4a5b6c"
}
POSTActualizar estados y subestados de expedientes/api/v2/forms/update-status/

Petición para actualizar el estado de expedientes de forma masiva.


Cabeceras
Authorization string Token de experto (Obligatorio). (Obligatorio)

Parámetros
workflows array of numbers Array de ids de expedientes a actualizar (Obligatorio). (Obligatorio)
new_status_group number Estado del expediente (Obligatorio). (Obligatorio)
new_status number Subestado del expediente (Obligatorio). (Obligatorio)
observation string Nota de observación.

Ejemplo de petición
curl --request POST \
  --url 'https://api.fandit.es/api/v2/forms/update-status/' \
  --data '{"workflows":[4521,4498,4390],"new_status_group":2,"new_status":9,"observation":"Actualización masiva de estado tras revisión documental."}' \
  --header 'Authorization: ExpertToken TU_EXPERT_TOKEN'
import requests

url = "https://api.fandit.es/api/v2/forms/update-status/"

headers = {
    "Authorization": "ExpertToken TU_EXPERT_TOKEN"
}

payload = {
    "workflows": [
        4521,
        4498,
        4390
    ],
    "new_status_group": 2,
    "new_status": 9,
    "observation": "Actualización masiva de estado tras revisión documental."
}

response = requests.post(url, headers=headers, json=payload)

print(response.status_code)
print(response.json())
const url = "https://api.fandit.es/api/v2/forms/update-status/";

const options = {
  method: "POST",
  headers: {
    "Authorization": "ExpertToken TU_EXPERT_TOKEN",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    "workflows": [
      4521,
      4498,
      4390
    ],
    "new_status_group": 2,
    "new_status": 9,
    "observation": "Actualización masiva de estado tras revisión documental."
  })
};

const response = await fetch(url, options);
const data = await response.json();

console.log(data);
<?php

$url = "https://api.fandit.es/api/v2/forms/update-status/";

$payload = json_encode([
    "workflows" => [
        4521,
        4498,
        4390
    ],
    "new_status_group" => 2,
    "new_status" => 9,
    "observation" => "Actualización masiva de estado tras revisión documental."
]);

$curl = curl_init($url);

curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_HTTPHEADER => [
        "Authorization: ExpertToken TU_EXPERT_TOKEN",
        "Content-Type: application/json"
    ],
    CURLOPT_POSTFIELDS => $payload
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
Ejemplo de respuesta
{
  "response": "Se han actualizado 3 expedientes correctamente."
}
POSTEliminar, archivar o restaurar expedientes/api/v2/forms/update/

Petición para eliminar, archivar o restaurar expedientes de forma masiva.


Cabeceras
Authorization string Token de experto (Obligatorio). (Obligatorio)

Parámetros
workflows array of numbers Array de ids de expedientes a actualizar (Obligatorio). (Obligatorio)
action string Acción a llevar a cabo (Eliminar, archivar, desarchivar) (Obligatorio). (Obligatorio)

Ejemplo de petición
curl --request POST \
  --url 'https://api.fandit.es/api/v2/forms/update/' \
  --data '{"workflows":[4521,4498,4390],"action":"archive"}' \
  --header 'Authorization: ExpertToken TU_EXPERT_TOKEN'
import requests

url = "https://api.fandit.es/api/v2/forms/update/"

headers = {
    "Authorization": "ExpertToken TU_EXPERT_TOKEN"
}

payload = {
    "workflows": [
        4521,
        4498,
        4390
    ],
    "action": "archive"
}

response = requests.post(url, headers=headers, json=payload)

print(response.status_code)
print(response.json())
const url = "https://api.fandit.es/api/v2/forms/update/";

const options = {
  method: "POST",
  headers: {
    "Authorization": "ExpertToken TU_EXPERT_TOKEN",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    "workflows": [
      4521,
      4498,
      4390
    ],
    "action": "archive"
  })
};

const response = await fetch(url, options);
const data = await response.json();

console.log(data);
<?php

$url = "https://api.fandit.es/api/v2/forms/update/";

$payload = json_encode([
    "workflows" => [
        4521,
        4498,
        4390
    ],
    "action" => "archive"
]);

$curl = curl_init($url);

curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_HTTPHEADER => [
        "Authorization: ExpertToken TU_EXPERT_TOKEN",
        "Content-Type: application/json"
    ],
    CURLOPT_POSTFIELDS => $payload
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
Ejemplo de respuesta
{
  "response": "Se han archivado 3 expedientes correctamente."
}
POSTAsignar expedientes a un gestor/api/v2/forms/expert-assign/

Petición para asignarle un mismo gestor a expedientes de forma masiva.


Cabeceras
Authorization string Token de experto (Obligatorio). (Obligatorio)

Parámetros
workflows array of numbers Array de ids de expedientes a actualizar (Obligatorio). (Obligatorio)
expert_id number Id del experto a asignar (Obligatorio). (Obligatorio)

Ejemplo de petición
curl --request POST \
  --url 'https://api.fandit.es/api/v2/forms/expert-assign/' \
  --data '{"workflows":[4521,4498,4390],"expert_id":34}' \
  --header 'Authorization: ExpertToken TU_EXPERT_TOKEN'
import requests

url = "https://api.fandit.es/api/v2/forms/expert-assign/"

headers = {
    "Authorization": "ExpertToken TU_EXPERT_TOKEN"
}

payload = {
    "workflows": [
        4521,
        4498,
        4390
    ],
    "expert_id": 34
}

response = requests.post(url, headers=headers, json=payload)

print(response.status_code)
print(response.json())
const url = "https://api.fandit.es/api/v2/forms/expert-assign/";

const options = {
  method: "POST",
  headers: {
    "Authorization": "ExpertToken TU_EXPERT_TOKEN",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    "workflows": [
      4521,
      4498,
      4390
    ],
    "expert_id": 34
  })
};

const response = await fetch(url, options);
const data = await response.json();

console.log(data);
<?php

$url = "https://api.fandit.es/api/v2/forms/expert-assign/";

$payload = json_encode([
    "workflows" => [
        4521,
        4498,
        4390
    ],
    "expert_id" => 34
]);

$curl = curl_init($url);

curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_HTTPHEADER => [
        "Authorization: ExpertToken TU_EXPERT_TOKEN",
        "Content-Type: application/json"
    ],
    CURLOPT_POSTFIELDS => $payload
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
Ejemplo de respuesta
{
  "response": "Se han asignado 3 expedientes al gestor seleccionado."
}
POSTImportar expedientes/api/v2/forms/list-import/

Petición para importar expedientes de forma masiva a partir de un excel.


Cabeceras
Authorization string Token de experto (Obligatorio). (Obligatorio)

Parámetros
file File Archivo con expedientes a importar (Obligatorio). (Obligatorio)

Ejemplo de petición
curl --request POST \
  --url 'https://api.fandit.es/api/v2/forms/list-import/' \
  --File 'Remove-Content-Type=True' \
  --header 'Authorization: ExpertToken TU_EXPERT_TOKEN'
import requests

url = "https://api.fandit.es/api/v2/forms/list-import/"

headers = {
    "Authorization": "ExpertToken TU_EXPERT_TOKEN",
    "Remove-Content-Type": "True"
}

files = {
    "file": open("archivo.xlsx", "rb")
}

response = requests.post(url, headers=headers, files=files)

print(response.status_code)
print(response.json())
const url = "https://api.fandit.es/api/v2/forms/list-import/";

const fileInput = document.querySelector("input[type=file]");

const formData = new FormData();
formData.append("file", fileInput.files[0]);

const options = {
  method: "POST",
  headers: {
    "Authorization": "ExpertToken TU_EXPERT_TOKEN",
    "Remove-Content-Type": "True"
  },
  body: formData
};

const response = await fetch(url, options);
const data = await response.json();

console.log(data);
<?php

$url = "https://api.fandit.es/api/v2/forms/list-import/";

$payload = [
    "file" => new CURLFile("archivo.xlsx")
];

$curl = curl_init($url);

curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_HTTPHEADER => [
        "Authorization: ExpertToken TU_EXPERT_TOKEN",
        "Remove-Content-Type: True"
    ],
    CURLOPT_POSTFIELDS => $payload
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
Ejemplo de respuesta
{
  "response": "Se han importado 12 expedientes correctamente."
}

Clientes

GETListado de clientes/api/v2/clients/

Petición paginada para obtener todos los clientes que correspondan según el permiso del gestor.


Cabeceras
Authorization string Token de experto (Obligatorio). (Obligatorio)

Parámetros
page number Página del listado a visualizar (Obligatorio). (Obligatorio)
page_size number Tamaño de la paginación (Obligatorio, máximo 200). (Obligatorio)
order string Nombre de atributo por el que ordenar los resultados.
general_text string Texto a buscar en todos los campos del cliente.
email__contains string Correo electrónico del cliente.
nif__icontains string NIF/CIF del cliente.
reference__icontains string Referencia del cliente.
business_name__icontains string Nombre o razón social.
contacts__icontains string Contacto del cliente.
simulator_check string Cliente con perfil de solicitante completo.
status__in string Estado del usuario.
expert__in array of number Mostrar solo mis clientes asignados.
provinces_to_work__id__in array of numbers Provincias de interés del cliente.
applicant_types__id__in array of numbers Tipo de solicitante.
province_id__in array of numbers Provincia de la sede.
cnaes__id__in array of numbers CNAE(s) del cliente.

Ejemplo de petición
curl --request GET \
  --url 'https://api.fandit.es/api/v2/clients/' \
  --get \
  --data-urlencode 'page=1' \
  --data-urlencode 'page_size=10' \
  --data-urlencode 'filters={"business_name__icontains":"innovatech","status__in":"1"}' \
  --header 'Authorization: ExpertToken TU_EXPERT_TOKEN'
import requests

url = "https://api.fandit.es/api/v2/clients/"

params = {
    "page": "1",
    "page_size": "10",
    "filters": "{\"business_name__icontains\":\"innovatech\",\"status__in\":\"1\"}"
}

headers = {
    "Authorization": "ExpertToken TU_EXPERT_TOKEN"
}

response = requests.get(url, params=params, headers=headers)

print(response.status_code)
print(response.json())
const url = "https://api.fandit.es/api/v2/clients/";

const params = new URLSearchParams({
  "page": "1",
  "page_size": "10",
  "filters": "{\"business_name__icontains\":\"innovatech\",\"status__in\":\"1\"}"
});

const options = {
  method: "GET",
  headers: {
    "Authorization": "ExpertToken TU_EXPERT_TOKEN"
  }
};

const response = await fetch(`${url}?${params}`, options);
const data = await response.json();

console.log(data);
<?php

$url = "https://api.fandit.es/api/v2/clients/";

$query = http_build_query([
    "page" => "1",
    "page_size" => "10",
    "filters" => "{\"business_name__icontains\":\"innovatech\",\"status__in\":\"1\"}"
]);

$curl = curl_init("$url?$query");

curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => [
        "Authorization: ExpertToken TU_EXPERT_TOKEN"
    ]
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
Ejemplo de respuesta
{
  "count": 128,
  "next": "https://api.fandit.es/api/v2/clients/?page=2&page_size=10",
  "previous": null,
  "results": [
    {
      "id": 3021,
      "expert_data": { "id": 45, "name": "María Fernández", "email": "maria.fernandez@despacho.es" },
      "experts": [45, 52],
      "public": false,
      "status": 1,
      "platform_data": { "id": 2, "name": "FANDIT" },
      "nif": "B12345678",
      "business_name": "Innovatech Soluciones SL",
      "email": "contacto@innovatech-soluciones.es",
      "phone": null,
      "reference": null,
      "notes": null,
      "province": [28],
      "address": "Calle Alcalá 120, 3ºB",
      "postal_code": "28009",
      "location": "Madrid",
      "legal_representative_name": "Carlos Ruiz Gómez",
      "legal_representative_nif": "12345678Z",
      "legal_representation_type": "Administrador único",
      "contacts": "Carlos Ruiz Gómez - 600111222",
      "cnaes": [6201, 6202],
      "provinces_to_work": [28, 8],
      "applicant_types": [1, 3],
      "action_items": [1, 2],
      "employees_quantity": 18,
      "constitution_date": "2015-03-12",
      "last_year_billing": 850000,
      "investment_budget": 120000,
      "project_description": "Digitalización de procesos internos y desarrollo de nueva plataforma de gestión."
    },
    {
      "id": 3045,
      "expert_data": { "id": 52, "name": "Javier Ortega", "email": "javier.ortega@despacho.es" },
      "experts": [52],
      "public": true,
      "status": 1,
      "platform_data": { "id": 2, "name": "FANDIT" },
      "nif": "44556677Q",
      "business_name": "Panadería Hermanos Soler",
      "email": "info@panaderiasoler.es",
      "phone": null,
      "reference": "REF-2024-0198",
      "notes": "Cliente interesado en ayudas de digitalización",
      "province": [8],
      "address": "Avinguda Diagonal 455",
      "postal_code": "08036",
      "location": "Barcelona",
      "legal_representative_name": "Marta Soler Puig",
      "legal_representative_nif": "87654321X",
      "legal_representation_type": "Autónomo",
      "contacts": "Marta Soler Puig - 611223344",
      "cnaes": [1071],
      "provinces_to_work": [8],
      "applicant_types": [2],
      "action_items": [3],
      "employees_quantity": 6,
      "constitution_date": "2019-07-01",
      "last_year_billing": 210000,
      "investment_budget": 35000,
      "project_description": "Ampliación de obrador y compra de maquinaria."
    }
  ]
}
GETDetalle del cliente/api/v2/clients/{client_id}/

Petición para obtener toda la información de una cliente específico.


Cabeceras
Authorization string Token de experto (Obligatorio). (Obligatorio)

Parámetros
client_id string client_id del cliente a buscar (Obligatorio). (Obligatorio)

Ejemplo de petición
curl --request GET \
  --url 'https://api.fandit.es/api/v2/clients/3021/' \
  --header 'Authorization: ExpertToken TU_EXPERT_TOKEN'
import requests

url = "https://api.fandit.es/api/v2/clients/3021/"

headers = {
    "Authorization": "ExpertToken TU_EXPERT_TOKEN"
}

response = requests.get(url, headers=headers)

print(response.status_code)
print(response.json())
const url = "https://api.fandit.es/api/v2/clients/3021/";

const options = {
  method: "GET",
  headers: {
    "Authorization": "ExpertToken TU_EXPERT_TOKEN"
  }
};

const response = await fetch(url, options);
const data = await response.json();

console.log(data);
<?php

$url = "https://api.fandit.es/api/v2/clients/3021/";

$curl = curl_init($url);

curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => [
        "Authorization: ExpertToken TU_EXPERT_TOKEN"
    ]
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
Ejemplo de respuesta
{
  "id": 3021,
  "expert_data": { "id": 45, "name": "María Fernández", "email": "maria.fernandez@despacho.es" },
  "experts": [45, 52],
  "public": false,
  "status": 1,
  "platform_data": { "id": 2, "name": "FANDIT" },
  "nif": "B12345678",
  "business_name": "Innovatech Soluciones SL",
  "email": "contacto@innovatech-soluciones.es",
  "phone": null,
  "reference": null,
  "notes": null,
  "province": [28],
  "address": "Calle Alcalá 120, 3ºB",
  "postal_code": "28009",
  "location": "Madrid",
  "legal_representative_name": "Carlos Ruiz Gómez",
  "legal_representative_nif": "12345678Z",
  "legal_representation_type": "Administrador único",
  "contacts": "Carlos Ruiz Gómez - 600111222",
  "cnaes": [6201, 6202],
  "provinces_to_work": [28, 8],
  "applicant_types": [1, 3],
  "action_items": [1, 2],
  "employees_quantity": 18,
  "constitution_date": "2015-03-12",
  "last_year_billing": 850000,
  "investment_budget": 120000,
  "project_description": "Digitalización de procesos internos y desarrollo de nueva plataforma de gestión."
}
POSTCrear cliente/api/v2/clients/

Petición crear un nuevo cliente.


Cabeceras
Authorization string Token de experto (Obligatorio). (Obligatorio)

Parámetros
nif string NIF/CIF del cliente (Obligatorio). (Obligatorio)
business_name string Nombre o razón social del cliente.
email string Correo electrónico del cliente.
phone string Teléfono del cliente.

Ejemplo de petición
curl --request POST \
  --url 'https://api.fandit.es/api/v2/clients/' \
  --data '{"nif":"B98765432","business_name":"Talleres Mecánicos Rivas SL","email":"admin@talleresrivas.es","phone":"911223344"}' \
  --header 'Authorization: ExpertToken TU_EXPERT_TOKEN'
import requests

url = "https://api.fandit.es/api/v2/clients/"

headers = {
    "Authorization": "ExpertToken TU_EXPERT_TOKEN"
}

payload = {
    "nif": "B98765432",
    "business_name": "Talleres Mecánicos Rivas SL",
    "email": "admin@talleresrivas.es",
    "phone": "911223344"
}

response = requests.post(url, headers=headers, json=payload)

print(response.status_code)
print(response.json())
const url = "https://api.fandit.es/api/v2/clients/";

const options = {
  method: "POST",
  headers: {
    "Authorization": "ExpertToken TU_EXPERT_TOKEN",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    "nif": "B98765432",
    "business_name": "Talleres Mecánicos Rivas SL",
    "email": "admin@talleresrivas.es",
    "phone": "911223344"
  })
};

const response = await fetch(url, options);
const data = await response.json();

console.log(data);
<?php

$url = "https://api.fandit.es/api/v2/clients/";

$payload = json_encode([
    "nif" => "B98765432",
    "business_name" => "Talleres Mecánicos Rivas SL",
    "email" => "admin@talleresrivas.es",
    "phone" => "911223344"
]);

$curl = curl_init($url);

curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_HTTPHEADER => [
        "Authorization: ExpertToken TU_EXPERT_TOKEN",
        "Content-Type: application/json"
    ],
    CURLOPT_POSTFIELDS => $payload
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
Ejemplo de respuesta
{
  "id": 3102,
  "expert_data": { "id": 45, "name": "María Fernández", "email": "maria.fernandez@despacho.es" },
  "experts": [45],
  "public": false,
  "status": 1,
  "platform_data": { "id": 2, "name": "FANDIT" },
  "nif": "B98765432",
  "business_name": "Talleres Mecánicos Rivas SL",
  "email": "admin@talleresrivas.es",
  "phone": "911223344",
  "reference": null,
  "notes": null,
  "province": [],
  "address": "",
  "postal_code": "",
  "location": "",
  "legal_representative_name": "",
  "legal_representative_nif": "",
  "legal_representation_type": "",
  "contacts": "",
  "cnaes": [],
  "provinces_to_work": [],
  "applicant_types": [],
  "action_items": [],
  "employees_quantity": null,
  "constitution_date": null,
  "last_year_billing": null,
  "investment_budget": null,
  "project_description": ""
}
PATCHActualizar cliente/api/v2/clients/{client_id}/

Petición para actualizar los datos de un cliente específico.


Cabeceras
Authorization string Token de experto (Obligatorio). (Obligatorio)

Parámetros
client_id string Identificador del cliente a actualizar (Obligatorio). (Obligatorio)
nif string NIF/CIF del cliente.
business_name string Nombre o razón social del cliente.
email string Correo electrónico del cliente.
phone string Teléfono del cliente.
public boolean Cliente disponible para compartir con otros gestores.
status string Estado del usuario.
address string Dirección del cliente.
postal_code string Codigo postal del cliente.
location string Localización del cliente.
legal_representative_name string Nombre de representante legal.
legal_representative_nif string NIF/CIF de representante legal.
legal_representation_type string Tipo de representación legal.
province number Provincia de la sede.
cnaes array of numbers CNAE(s) del cliente.
provinces_to_work array of numbers Provincias de interés del cliente.
applicant_types array of numbers Tipo de solicitante.
action_items array of numbers Acciones a llevar a cabo.
employees_quantity number Cantidad de empleados.
constitution_date string Fecha de constitución.
last_year_billing number Facturación anual.
investment_budget number Inversión prevista.
project_description string Descripción del proyecto.

Ejemplo de petición
curl --request PATCH \
  --url 'https://api.fandit.es/api/v2/clients/3021/' \
  --data '{"business_name":"Innovatech Soluciones SL","phone":"910445566","public":true,"employees_quantity":22,"last_year_billing":920000,"investment_budget":150000}' \
  --header 'Authorization: ExpertToken TU_EXPERT_TOKEN'
import requests

url = "https://api.fandit.es/api/v2/clients/3021/"

headers = {
    "Authorization": "ExpertToken TU_EXPERT_TOKEN"
}

payload = {
    "business_name": "Innovatech Soluciones SL",
    "phone": "910445566",
    "public": True,
    "employees_quantity": 22,
    "last_year_billing": 920000,
    "investment_budget": 150000
}

response = requests.patch(url, headers=headers, json=payload)

print(response.status_code)
print(response.json())
const url = "https://api.fandit.es/api/v2/clients/3021/";

const options = {
  method: "PATCH",
  headers: {
    "Authorization": "ExpertToken TU_EXPERT_TOKEN",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    "business_name": "Innovatech Soluciones SL",
    "phone": "910445566",
    "public": true,
    "employees_quantity": 22,
    "last_year_billing": 920000,
    "investment_budget": 150000
  })
};

const response = await fetch(url, options);
const data = await response.json();

console.log(data);
<?php

$url = "https://api.fandit.es/api/v2/clients/3021/";

$payload = json_encode([
    "business_name" => "Innovatech Soluciones SL",
    "phone" => "910445566",
    "public" => true,
    "employees_quantity" => 22,
    "last_year_billing" => 920000,
    "investment_budget" => 150000
]);

$curl = curl_init($url);

curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "PATCH",
    CURLOPT_HTTPHEADER => [
        "Authorization: ExpertToken TU_EXPERT_TOKEN",
        "Content-Type: application/json"
    ],
    CURLOPT_POSTFIELDS => $payload
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
Ejemplo de respuesta
{
  "id": 3021,
  "expert_data": { "id": 45, "name": "María Fernández", "email": "maria.fernandez@despacho.es" },
  "experts": [45, 52],
  "public": true,
  "status": 1,
  "platform_data": { "id": 2, "name": "FANDIT" },
  "nif": "B12345678",
  "business_name": "Innovatech Soluciones SL",
  "email": "contacto@innovatech-soluciones.es",
  "phone": "910445566",
  "reference": null,
  "notes": null,
  "province": [28],
  "address": "Calle Alcalá 120, 3ºB",
  "postal_code": "28009",
  "location": "Madrid",
  "legal_representative_name": "Carlos Ruiz Gómez",
  "legal_representative_nif": "12345678Z",
  "legal_representation_type": "Administrador único",
  "contacts": "Carlos Ruiz Gómez - 600111222",
  "cnaes": [6201, 6202],
  "provinces_to_work": [28, 8],
  "applicant_types": [1, 3],
  "action_items": [1, 2],
  "employees_quantity": 22,
  "constitution_date": "2015-03-12",
  "last_year_billing": 920000,
  "investment_budget": 150000,
  "project_description": "Digitalización de procesos internos y desarrollo de nueva plataforma de gestión."
}
POSTCompartir clientes/api/v2/clients/share/

Petición para compartir clientes con otros gestores.


Cabeceras
Authorization string Token de experto (Obligatorio). (Obligatorio)

Parámetros
client_ids array of numbers Array de ids de clientes a compartir (Obligatorio, formato: 1, 2, 3). (Obligatorio)
experts array of numbers Array de ids de experts con los que compartir (Obligatorio, formato: 1, 2, 3). (Obligatorio)

Ejemplo de petición
curl --request POST \
  --url 'https://api.fandit.es/api/v2/clients/share/' \
  --data '{"client_ids":[3021,3045,3102],"experts":[45,52]}' \
  --header 'Authorization: ExpertToken TU_EXPERT_TOKEN'
import requests

url = "https://api.fandit.es/api/v2/clients/share/"

headers = {
    "Authorization": "ExpertToken TU_EXPERT_TOKEN"
}

payload = {
    "client_ids": [
        3021,
        3045,
        3102
    ],
    "experts": [
        45,
        52
    ]
}

response = requests.post(url, headers=headers, json=payload)

print(response.status_code)
print(response.json())
const url = "https://api.fandit.es/api/v2/clients/share/";

const options = {
  method: "POST",
  headers: {
    "Authorization": "ExpertToken TU_EXPERT_TOKEN",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    "client_ids": [
      3021,
      3045,
      3102
    ],
    "experts": [
      45,
      52
    ]
  })
};

const response = await fetch(url, options);
const data = await response.json();

console.log(data);
<?php

$url = "https://api.fandit.es/api/v2/clients/share/";

$payload = json_encode([
    "client_ids" => [
        3021,
        3045,
        3102
    ],
    "experts" => [
        45,
        52
    ]
]);

$curl = curl_init($url);

curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_HTTPHEADER => [
        "Authorization: ExpertToken TU_EXPERT_TOKEN",
        "Content-Type: application/json"
    ],
    CURLOPT_POSTFIELDS => $payload
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
Ejemplo de respuesta
{
  "response": "Se han compartido 3 cliente(s) con 2 experto(s) correctamente."
}
DELETEEliminar cliente/api/v2/clients/{client_id}/

Petición un cliente en específico.


Cabeceras
Authorization string Token de experto (Obligatorio). (Obligatorio)

Parámetros
client_id string Id del cliente (Obligatorio). (Obligatorio)

Ejemplo de petición
curl --request DELETE \
  --url 'https://api.fandit.es/api/v2/clients/3021/' \
  --header 'Authorization: ExpertToken TU_EXPERT_TOKEN'
import requests

url = "https://api.fandit.es/api/v2/clients/3021/"

headers = {
    "Authorization": "ExpertToken TU_EXPERT_TOKEN"
}

response = requests.delete(url, headers=headers)

print(response.status_code)
print(response.json())
const url = "https://api.fandit.es/api/v2/clients/3021/";

const options = {
  method: "DELETE",
  headers: {
    "Authorization": "ExpertToken TU_EXPERT_TOKEN"
  }
};

const response = await fetch(url, options);
const data = await response.json();

console.log(data);
<?php

$url = "https://api.fandit.es/api/v2/clients/3021/";

$curl = curl_init($url);

curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "DELETE",
    CURLOPT_HTTPHEADER => [
        "Authorization: ExpertToken TU_EXPERT_TOKEN"
    ]
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
Ejemplo de respuesta
{
  "Response": "Cliente eliminado correctamente."
}

Contactos

GETListado de contactos/api/v2/summary-topics/

Petición paginada para obtener todos los contactos registrados.


Cabeceras
Authorization string Token de usuario (Obligatorio). (Obligatorio)

Parámetros
page number Página del listado a visualizar (Obligatorio). (Obligatorio)
page_size number Tamaño de la paginación (Obligatorio, máximo 200). (Obligatorio)
order string Nombre de atributo por el que ordenar los resultados.
general_text string Texto a buscar en todas las columnas.
email string Correo electrónico a buscar.
company string Nombre o razón social.
nif string NIF/CIF.
start_date string Fecha de último contacto (inicio de rango).
end_date string Fecha de último contacto (fin de rango).
unregistered_users number Contactos con usuario registrado o no.
provinces array of numbers Provincia.
applicants array of numbers Tipo de solicitante.

Ejemplo de petición
curl --request GET \
  --url 'https://api.fandit.es/api/v2/summary-topics/' \
  --get \
  --data-urlencode 'page=1' \
  --data-urlencode 'page_size=20' \
  --data-urlencode 'filters={"company":"innovatech"}' \
  --header 'Authorization: Token TU_API_KEY'
import requests

url = "https://api.fandit.es/api/v2/summary-topics/"

params = {
    "page": "1",
    "page_size": "20",
    "filters": "{\"company\":\"innovatech\"}"
}

headers = {
    "Authorization": "Token TU_API_KEY"
}

response = requests.get(url, params=params, headers=headers)

print(response.status_code)
print(response.json())
const url = "https://api.fandit.es/api/v2/summary-topics/";

const params = new URLSearchParams({
  "page": "1",
  "page_size": "20",
  "filters": "{\"company\":\"innovatech\"}"
});

const options = {
  method: "GET",
  headers: {
    "Authorization": "Token TU_API_KEY"
  }
};

const response = await fetch(`${url}?${params}`, options);
const data = await response.json();

console.log(data);
<?php

$url = "https://api.fandit.es/api/v2/summary-topics/";

$query = http_build_query([
    "page" => "1",
    "page_size" => "20",
    "filters" => "{\"company\":\"innovatech\"}"
]);

$curl = curl_init("$url?$query");

curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => [
        "Authorization: Token TU_API_KEY"
    ]
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
Ejemplo de respuesta
{
  "count": 2,
  "next": null,
  "previous": null,
  "results": [
    {
      "id": 3021,
      "email": "contacto@empresaejemplo.es",
      "name": "Ana López",
      "company": "Empresa Ejemplo SL",
      "cif": "B12345678",
      "contact_type": 1,
      "contact_type_label": "Solicitud web",
      "user": 10482,
      "contacts": 3,
      "last_contact_date": "2026-07-28",
      "created_at": "2026-06-15",
      "lead_status": 3,
      "lead_priority": 2,
      "status_label": "Interés",
      "priority_label": "Media",
      "investment_capital": 150000,
      "project_description": "Ampliación de planta de producción y digitalización de procesos",
      "applicants": [1],
      "provinces": [28],
      "action_items": [1, 2],
      "cnaes": [4321]
    },
    {
      "id": 3045,
      "email": "info@innovatech.es",
      "name": "Carlos Fernández",
      "company": "Innovatech Soluciones SL",
      "cif": "B87654321",
      "contact_type": 2,
      "contact_type_label": "Referido",
      "user": 10501,
      "contacts": 1,
      "last_contact_date": "2026-08-02",
      "created_at": "2026-08-01",
      "lead_status": 1,
      "lead_priority": 3,
      "status_label": "Nuevo",
      "priority_label": "Alta",
      "investment_capital": 320000,
      "project_description": "Implantación de sistema de energía solar fotovoltaica",
      "applicants": [2],
      "provinces": [46],
      "action_items": [3],
      "cnaes": [4322]
    }
  ]
}
GETDetalle del contacto/api/v2/summary-topics/{contact_id}/

Petición paginada para obtener todos los contactos registrados.


Cabeceras
Authorization string Token de usuario (Obligatorio). (Obligatorio)

Parámetros
contact_id string id del contacto a buscar (Obligatorio). (Obligatorio)

Ejemplo de petición
curl --request GET \
  --url 'https://api.fandit.es/api/v2/summary-topics/3021/' \
  --header 'Authorization: Token TU_API_KEY'
import requests

url = "https://api.fandit.es/api/v2/summary-topics/3021/"

headers = {
    "Authorization": "Token TU_API_KEY"
}

response = requests.get(url, headers=headers)

print(response.status_code)
print(response.json())
const url = "https://api.fandit.es/api/v2/summary-topics/3021/";

const options = {
  method: "GET",
  headers: {
    "Authorization": "Token TU_API_KEY"
  }
};

const response = await fetch(url, options);
const data = await response.json();

console.log(data);
<?php

$url = "https://api.fandit.es/api/v2/summary-topics/3021/";

$curl = curl_init($url);

curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => [
        "Authorization: Token TU_API_KEY"
    ]
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
Ejemplo de respuesta
{
  "id": 3021,
  "email": "contacto@empresaejemplo.es",
  "name": "Ana López",
  "company": "Empresa Ejemplo SL",
  "cif": "B12345678",
  "contact_type": 1,
  "contact_type_label": "Solicitud web",
  "user": 10482,
  "contacts": 3,
  "last_contact_date": "2026-07-28",
  "created_at": "2026-06-15",
  "lead_status": 3,
  "lead_priority": 2,
  "status_label": "Interés",
  "priority_label": "Media",
  "investment_capital": 150000,
  "project_description": "Ampliación de planta de producción y digitalización de procesos",
  "applicants": [1],
  "provinces": [28],
  "action_items": [1, 2],
  "cnaes": [4321]
}
POSTCrear contacto/api/v2/summary-topics/

Petición crear un nuevo contacto.


Cabeceras
Authorization string Token de usuario (Obligatorio). (Obligatorio)

Parámetros
email string Correo electrónico del contacto (Obligatorio). (Obligatorio)
name string Nombre.
company string Nombre o razón social.
phone string Teléfono.
lead_status number Estado del contacto ( Nuevo = 1, Toma de contacto = 2, Interés = 3, En evolución = 4, No me interesa = 5, Contratado = 6, Cerrado = 7).
priority_status number Prioridad del contacto (Baja = 1, Media = 2, Alta = 3).
investment_capital number Inversión prevista.
project_description string Descripción del proyecto.
applicants array of numbers Tipo de solicitante.
provinces array of numbers Provincia.
action_items array of numbers Acciones a llevar a cabo.
cnaes array of numbers CNAE(s) del contacto.

Ejemplo de petición
curl --request POST \
  --url 'https://api.fandit.es/api/v2/summary-topics/' \
  --data '{"email":"nuevo.contacto@empresa.es","name":"Marta Ruiz","company":"Consultora Ejemplo SL","phone":"600112233","lead_status":1,"priority_status":1,"investment_capital":80000,"project_description":"Proyecto de digitalización comercial","applicants":[1],"provinces":[28],"action_items":[1],"cnaes":[4321]}' \
  --header 'Authorization: Token TU_API_KEY'
import requests

url = "https://api.fandit.es/api/v2/summary-topics/"

headers = {
    "Authorization": "Token TU_API_KEY"
}

payload = {
    "email": "nuevo.contacto@empresa.es",
    "name": "Marta Ruiz",
    "company": "Consultora Ejemplo SL",
    "phone": "600112233",
    "lead_status": 1,
    "priority_status": 1,
    "investment_capital": 80000,
    "project_description": "Proyecto de digitalización comercial",
    "applicants": [
        1
    ],
    "provinces": [
        28
    ],
    "action_items": [
        1
    ],
    "cnaes": [
        4321
    ]
}

response = requests.post(url, headers=headers, json=payload)

print(response.status_code)
print(response.json())
const url = "https://api.fandit.es/api/v2/summary-topics/";

const options = {
  method: "POST",
  headers: {
    "Authorization": "Token TU_API_KEY",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    "email": "nuevo.contacto@empresa.es",
    "name": "Marta Ruiz",
    "company": "Consultora Ejemplo SL",
    "phone": "600112233",
    "lead_status": 1,
    "priority_status": 1,
    "investment_capital": 80000,
    "project_description": "Proyecto de digitalización comercial",
    "applicants": [
      1
    ],
    "provinces": [
      28
    ],
    "action_items": [
      1
    ],
    "cnaes": [
      4321
    ]
  })
};

const response = await fetch(url, options);
const data = await response.json();

console.log(data);
<?php

$url = "https://api.fandit.es/api/v2/summary-topics/";

$payload = json_encode([
    "email" => "nuevo.contacto@empresa.es",
    "name" => "Marta Ruiz",
    "company" => "Consultora Ejemplo SL",
    "phone" => "600112233",
    "lead_status" => 1,
    "priority_status" => 1,
    "investment_capital" => 80000,
    "project_description" => "Proyecto de digitalización comercial",
    "applicants" => [
        1
    ],
    "provinces" => [
        28
    ],
    "action_items" => [
        1
    ],
    "cnaes" => [
        4321
    ]
]);

$curl = curl_init($url);

curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_HTTPHEADER => [
        "Authorization: Token TU_API_KEY",
        "Content-Type: application/json"
    ],
    CURLOPT_POSTFIELDS => $payload
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
Ejemplo de respuesta
{
  "id": 3102,
  "email": "nuevo.contacto@empresa.es",
  "name": "Marta Ruiz",
  "company": "Consultora Ejemplo SL",
  "cif": "B11223344",
  "contact_type": 1,
  "contact_type_label": "Solicitud web",
  "user": null,
  "contacts": 1,
  "last_contact_date": "2026-08-10",
  "created_at": "2026-08-10",
  "lead_status": 1,
  "lead_priority": 1,
  "status_label": "Nuevo",
  "priority_label": "Baja",
  "investment_capital": 80000,
  "project_description": "Proyecto de digitalización comercial",
  "applicants": [1],
  "provinces": [28],
  "action_items": [1],
  "cnaes": [4321]
}
PATCHActualizar contacto/api/v2/summary-topics/{contact_id}/

Petición actualizar un contacto en específico.


Cabeceras
Authorization string Token de usuario (Obligatorio). (Obligatorio)

Parámetros
contact_id string Identificador del contacto a actualizar (Obligatorio). (Obligatorio)
name string Nombre.
company string Nombre o razón social.
phone string Teléfono.
lead_status number Estado del contacto ( Nuevo = 1, Toma de contacto = 2, Interés = 3, En evolución = 4, No me interesa = 5, Contratado = 6, Cerrado = 7).
priority_status number Prioridad del contacto (Baja = 1, Media = 2, Alta = 3).
investment_capital number Inversión prevista.
project_description string Descripción del proyecto.
applicants array of numbers Tipo de solicitante.
provinces array of numbers Provincia.
action_items array of numbers Acciones a llevar a cabo.
cnaes array of numbers CNAE(s) del contacto.

Ejemplo de petición
curl --request PATCH \
  --url 'https://api.fandit.es/api/v2/summary-topics/3021/' \
  --data '{"lead_status":4,"priority_status":3,"investment_capital":175000,"action_items":[1,2,3]}' \
  --header 'Authorization: Token TU_API_KEY'
import requests

url = "https://api.fandit.es/api/v2/summary-topics/3021/"

headers = {
    "Authorization": "Token TU_API_KEY"
}

payload = {
    "lead_status": 4,
    "priority_status": 3,
    "investment_capital": 175000,
    "action_items": [
        1,
        2,
        3
    ]
}

response = requests.patch(url, headers=headers, json=payload)

print(response.status_code)
print(response.json())
const url = "https://api.fandit.es/api/v2/summary-topics/3021/";

const options = {
  method: "PATCH",
  headers: {
    "Authorization": "Token TU_API_KEY",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    "lead_status": 4,
    "priority_status": 3,
    "investment_capital": 175000,
    "action_items": [
      1,
      2,
      3
    ]
  })
};

const response = await fetch(url, options);
const data = await response.json();

console.log(data);
<?php

$url = "https://api.fandit.es/api/v2/summary-topics/3021/";

$payload = json_encode([
    "lead_status" => 4,
    "priority_status" => 3,
    "investment_capital" => 175000,
    "action_items" => [
        1,
        2,
        3
    ]
]);

$curl = curl_init($url);

curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "PATCH",
    CURLOPT_HTTPHEADER => [
        "Authorization: Token TU_API_KEY",
        "Content-Type: application/json"
    ],
    CURLOPT_POSTFIELDS => $payload
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;
Ejemplo de respuesta
{
  "id": 3021,
  "email": "contacto@empresaejemplo.es",
  "name": "Ana López",
  "company": "Empresa Ejemplo SL",
  "cif": "B12345678",
  "contact_type": 1,
  "contact_type_label": "Solicitud web",
  "user": 10482,
  "contacts": 4,
  "last_contact_date": "2026-08-09",
  "created_at": "2026-06-15",
  "lead_status": 4,
  "lead_priority": 3,
  "status_label": "En evolución",
  "priority_label": "Alta",
  "investment_capital": 175000,
  "project_description": "Ampliación de planta de producción y digitalización de procesos",
  "applicants": [1],
  "provinces": [28],
  "action_items": [1, 2, 3],
  "cnaes": [4321]
}