Módulos IA Funcionalidades Pasos Precios FAQ Blog Tutorial Vídeos Glosario Sobre nosotros Agencias
API REST v1

Guia de integracion API REST

Conecte sus aplicaciones a AILabsAudit mediante la API REST. Obtenga auditorias, clientes, informes y analiticas programaticamente.

Tabla de contenido

  1. Requisitos previos
  2. Obtener su clave API
  3. Autenticacion
  4. Primera peticion
  5. Endpoints
  6. Paginacion y filtros
  7. Errores y rate limiting
  8. Ejemplos de codigo

Requisitos previos

Antes de integrar la API REST, asegurese de tener:

1

Una cuenta Enterprise o Partner

El acceso a la API requiere un plan Enterprise o estatus de partner. Solicite acceso si aun no lo tiene.

2

Una clave API REST

Necesitara una clave API (formato aila_...) generada desde la pagina API e Integraciones.

3

Un cliente HTTP

Cualquier cliente HTTP funciona: curl, Python requests, JavaScript fetch, Postman, etc.

Obtener su clave API

Su clave API es la misma que se usa para conexiones MCP. Si ya tiene una, puede usarla directamente.

1

Ir a API e Integraciones

Navegue a Cuenta → API e Integraciones en su panel de control.

2

Crear una nueva clave

Haga clic en "Crear clave API", asigne un nombre (ej. "Mi App") y seleccione los permisos deseados.

3

Copiar y guardarla de forma segura

Su clave empieza por aila_. Copiela inmediatamente — no se mostrara de nuevo. Guardela en una variable de entorno, nunca en su codigo fuente.

Consejo

Tambien puede explorar la API de forma interactiva a traves de nuestra documentacion Swagger que lista todos los endpoints disponibles.

Autenticacion

La API soporta dos metodos de autenticacion. Elija el que se adapte a su stack:

Metodo 1: Header X-Api-Key

CURL
curl -H "X-Api-Key: aila_your_key_here" \
     https://ailabsaudit.com/api/v1/clients

Metodo 2: Authorization Bearer

CURL
curl -H "Authorization: Bearer aila_your_key_here" \
     https://ailabsaudit.com/api/v1/clients

Seguridad

Nunca exponga su clave API en codigo del lado del cliente (JavaScript en el navegador). Siempre haga las llamadas API desde su servidor (backend).

Primera peticion

Verifiquemos que su conexion funciona obteniendo su lista de clientes:

CURL
curl -s -H "X-Api-Key: aila_your_key_here" \
     https://ailabsaudit.com/api/v1/clients | python3 -m json.tool

Respuesta exitosa (200 OK)

JSON
{
    "success": true,
    "data": [
        {
            "id": 42,
            "name": "Acme Corp",
            "sector": "Technology",
            "website": "https://acme.com",
            "country": "FR",
            "created_at": "2025-01-15T10:30:00Z"
        }
    ],
    "pagination": {
        "page": 1,
        "per_page": 20,
        "total": 1,
        "total_pages": 1
    }
}

Listo!

Si ve su lista de clientes, su clave API esta funcionando. Ahora puede explorar todos los endpoints disponibles a continuacion.

Endpoints

La API esta organizada en 8 grupos de endpoints. Todas las URLs tienen el prefijo https://ailabsaudit.com/api/v1/.

Clientes

Metodo Endpoint Description
GET /clients Listar todos los clientes
GET /clients/{id} Detalle del cliente
GET /clients/{id}/contacts Contactos del cliente
GET /clients/{id}/competitors Competidores del cliente
GET /clients/{id}/360 Vista 360 completa

Audits

Metodo Endpoint Description
GET /audits Listar auditorias
GET /audits/{id} Detalle de auditoria
GET /audits/{id}/results Resultados de auditoria
GET /audits/{id}/scores Puntuaciones de visibilidad
POST /audits/launch Lanzar una nueva auditoria

Informes

Metodo Endpoint Description
GET /reports Listar informes
GET /reports/{id} Detalle del informe
GET /reports/{id}/download Descargar PDF

Planes de accion

Metodo Endpoint Description
GET /action-plans Listar planes de accion
GET /action-plans/{id} Detalle del plan
GET /action-plans/{id}/progress Progreso del plan

Cuestionarios

Metodo Endpoint Description
GET /questionnaires Listar cuestionarios
GET /questionnaires/{id}/responses Respuestas del cuestionario

Analytics

Metodo Endpoint Description
GET /analytics/portfolio Vision general del portfolio
GET /analytics/leaderboard Ranking de visibilidad
GET /analytics/scores/distribution Distribucion de puntuaciones

Modelos

Metodo Endpoint Description
GET /models Listar modelos IA disponibles
GET /models/{id} Detalle del modelo y precios

Cuenta

Metodo Endpoint Description
GET /account/profile Su perfil
GET /account/credits Saldo de creditos
GET /account/subscription Info de suscripcion

Documentacion completa

Para la lista completa de endpoints, parametros y esquemas de respuesta, consulte la documentacion Swagger interactiva.

Paginacion y filtros

Todos los endpoints de lista soportan paginacion mediante parametros de consulta:

Parametro Por defecto Description
page 1 Numero de pagina
per_page 20 Elementos por pagina (max 100)

Ejemplo con paginacion

CURL
curl -H "X-Api-Key: aila_your_key_here" \
     "https://ailabsaudit.com/api/v1/audits?page=2&per_page=10"

Objeto de paginacion en la respuesta

JSON
{
    "pagination": {
        "page": 2,
        "per_page": 10,
        "total": 47,
        "total_pages": 5
    }
}

Errores y rate limiting

Codigos de estado HTTP

Code Significado
200Exito
400Peticion incorrecta (parametros invalidos)
401No autorizado (clave API ausente o invalida)
403Prohibido (permisos insuficientes)
404No encontrado
429Limite de peticiones excedido
500Error del servidor

Formato de respuesta de error

JSON
{
    "success": false,
    "error": {
        "code": 401,
        "message": "Invalid or missing API key"
    }
}

Rate limiting

La API permite 60 peticiones por minuto por clave API. Los headers de respuesta incluyen informacion de limites:

HTTP HEADERS
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 58
X-RateLimit-Reset: 1709472000

Si alcanza el limite

Cuando reciba una respuesta 429, espere hasta el timestamp X-RateLimit-Reset antes de reintentar. Implemente backoff exponencial en su codigo para uso en produccion.

Ejemplos de codigo

Aqui tiene ejemplos completos para empezar en su lenguaje preferido:

import requests

API_KEY = "aila_your_key_here"
BASE_URL = "https://ailabsaudit.com/api/v1"

headers = {"X-Api-Key": API_KEY}

# List clients
response = requests.get(f"{BASE_URL}/clients", headers=headers)
clients = response.json()

for client in clients["data"]:
    print(f"{client['name']} — {client['sector']}")

    # Get audits for each client
    audits = requests.get(
        f"{BASE_URL}/audits",
        headers=headers,
        params={"client_id": client["id"], "per_page": 5}
    ).json()

    for audit in audits["data"]:
        print(f"  Audit #{audit['id']} — Score: {audit.get('score', 'N/A')}")

# Download a report as PDF
report_id = 1
r = requests.get(
    f"{BASE_URL}/reports/{report_id}/download",
    headers=headers
)
if r.status_code == 200:
    with open(f"report_{report_id}.pdf", "wb") as f:
        f.write(r.content)
    print(f"Report saved: report_{report_id}.pdf")
const API_KEY = "aila_your_key_here";
const BASE_URL = "https://ailabsaudit.com/api/v1";

const headers = { "X-Api-Key": API_KEY };

// List clients
async function getClients() {
    const response = await fetch(`${BASE_URL}/clients`, { headers });
    const { data, pagination } = await response.json();

    console.log(`${pagination.total} clients found`);
    data.forEach(client => {
        console.log(`${client.name} — ${client.sector}`);
    });

    return data;
}

// Get audit results
async function getAuditResults(auditId) {
    const response = await fetch(
        `${BASE_URL}/audits/${auditId}/results`,
        { headers }
    );
    return await response.json();
}

// Paginate through all audits
async function getAllAudits() {
    let page = 1;
    let allAudits = [];

    while (true) {
        const response = await fetch(
            `${BASE_URL}/audits?page=${page}&per_page=50`,
            { headers }
        );
        const { data, pagination } = await response.json();
        allAudits.push(...data);

        if (page >= pagination.total_pages) break;
        page++;
    }

    return allAudits;
}

getClients().then(console.log);
<?php
$apiKey = "aila_your_key_here";
$baseUrl = "https://ailabsaudit.com/api/v1";

function apiRequest($endpoint, $params = []) {
    global $apiKey, $baseUrl;

    $url = $baseUrl . $endpoint;
    if (!empty($params)) {
        $url .= "?" . http_build_query($params);
    }

    $ch = curl_init($url);
    curl_setopt_array($ch, [
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_HTTPHEADER => ["X-Api-Key: $apiKey"],
    ]);

    $response = curl_exec($ch);
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);

    if ($httpCode !== 200) {
        throw new Exception("API error: HTTP $httpCode");
    }

    return json_decode($response, true);
}

// List clients
$clients = apiRequest("/clients");
foreach ($clients["data"] as $client) {
    echo "{$client['name']} — {$client['sector']}\n";
}

// Get audits with pagination
$audits = apiRequest("/audits", [
    "page" => 1,
    "per_page" => 10
]);
echo "Total audits: {$audits['pagination']['total']}\n";

// Get client 360 view
$client360 = apiRequest("/clients/42/360");
print_r($client360["data"]);

Listo para integrar la API?

Cree su clave API en 30 segundos y empiece a construir su integracion.

Empezar

¿Listo para auditar tu visibilidad en IA?

Crea tu cuenta gratuita y recibe 1000 créditos de bonificación.

Crear cuenta gratuita