IndexToast
ES
EnglishEspañolPortuguês (Brasil)DeutschFrançaisNederlands

Tu espacio. Tu API.

La misma guía API del panel Business. Todos los endpoints, costes y ejemplos, sin iniciar sesión.

Abrir espacio Business

Conecta tu espacio

  1. Crea un proyecto de cliente en el panel. Copia su UUID.
  2. Verifica tu correo. Un propietario o administrador puede crear una clave con permisos en API y webhooks.
  3. Guarda la clave en una variable de entorno del servidor llamada INDEXTOAST_API_KEY. Nunca la pongas en código del navegador ni en una URL.
GET /usage
curl https://api.indextoast.com/v1/business/usage \
  -H "Authorization: Bearer $INDEXTOAST_API_KEY"
GET /projects
curl https://api.indextoast.com/v1/business/projects \
  -H "Authorization: Bearer $INDEXTOAST_API_KEY"
PermisoAcceso
usage:readGET /usage · GET /projects
jobs:readGET /batches · GET /batches/:id
jobs:writePOST /batches/review · POST /batches

Las claves caducan y pueden revocarse. Los cambios de espacio, proyectos, claves, webhooks y facturación requieren una sesión autorizada; las claves API no gestionan pagos.

Standard

Envía URLs para indexación Standard. Cada URL única usa 1 acción Standard.

Revisa primero. Envía una vez.

La revisión es gratuita. Devuelve quantity, duplicates, unitCost, requiredUnits, available, canSubmit y URLs normalizadas. El saldo se comprueba al enviar.

1 · POST /batches/review · jobs:write
curl https://api.indextoast.com/v1/business/batches/review \
  -H "Authorization: Bearer $INDEXTOAST_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{
  "projectId": "YOUR_PROJECT_UUID",
  "name": "Client campaign",
  "operation": "standard",
  "urls": [
    "https://example.com/page-one",
    "https://example.com/page-two"
  ],
  "idempotencyKey": "campaign-standard-001"
}'
2 · POST /batches · jobs:write
curl https://api.indextoast.com/v1/business/batches \
  -H "Authorization: Bearer $INDEXTOAST_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{
  "projectId": "YOUR_PROJECT_UUID",
  "name": "Client campaign",
  "operation": "standard",
  "urls": [
    "https://example.com/page-one",
    "https://example.com/page-two"
  ],
  "idempotencyKey": "campaign-standard-001"
}'

Usa entre 1 y 1.000 URLs HTTP(S) públicas, un UUID de proyecto del espacio, un nombre de 1–100 caracteres y una clave de idempotencia de 8–150 caracteres. Las URLs normalizadas duplicadas se cobran una vez.

202 Accepted · response excerpt
{
  "id": "BATCH_UUID",
  "operation": "standard",
  "quantity": 2,
  "status": "queued",
  "successful": 0,
  "failed": 0,
  "results": []
}

202 significa aceptado para procesamiento. No confirma indexación ni plazo. La capacidad se descuenta una vez al aceptar.

Comprobador de indexación

Comprueba si las URLs se detectan en el índice de búsqueda. Cada URL única usa 1 acción Standard, incluidos los resultados inconclusos.

Revisa primero. Envía una vez.

La revisión es gratuita. Devuelve quantity, duplicates, unitCost, requiredUnits, available, canSubmit y URLs normalizadas. El saldo se comprueba al enviar.

1 · POST /batches/review · jobs:write
curl https://api.indextoast.com/v1/business/batches/review \
  -H "Authorization: Bearer $INDEXTOAST_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{
  "projectId": "YOUR_PROJECT_UUID",
  "name": "Client campaign",
  "operation": "check",
  "urls": [
    "https://example.com/page-one",
    "https://example.com/page-two"
  ],
  "idempotencyKey": "campaign-check-001"
}'
2 · POST /batches · jobs:write
curl https://api.indextoast.com/v1/business/batches \
  -H "Authorization: Bearer $INDEXTOAST_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{
  "projectId": "YOUR_PROJECT_UUID",
  "name": "Client campaign",
  "operation": "check",
  "urls": [
    "https://example.com/page-one",
    "https://example.com/page-two"
  ],
  "idempotencyKey": "campaign-check-001"
}'

Usa entre 1 y 1.000 URLs HTTP(S) públicas, un UUID de proyecto del espacio, un nombre de 1–100 caracteres y una clave de idempotencia de 8–150 caracteres. Las URLs normalizadas duplicadas se cobran una vez.

202 Accepted · response excerpt
{
  "id": "BATCH_UUID",
  "operation": "check",
  "quantity": 2,
  "status": "queued",
  "successful": 0,
  "failed": 0,
  "results": []
}

202 significa aceptado para procesamiento. No confirma indexación ni plazo. La capacidad se descuenta una vez al aceptar.

Resultados del comprobador de indexación

GET /batches/:id · results excerpt
{
  "results": [
    {
      "url": "https://example.com/page-one",
      "result": "indexed"
    },
    {
      "url": "https://example.com/page-two",
      "result": "unknown"
    }
  ]
}

indexed = detectada; not_indexed = no detectada en esta comprobación; unknown = inconclusa. Un lote completado indica procesamiento, no un resultado positivo. Lee el resultado de cada URL.

Boost

Boost usa 20 unidades Business compartidas por URL única.

Revisa primero. Envía una vez.

La revisión es gratuita. Devuelve quantity, duplicates, unitCost, requiredUnits, available, canSubmit y URLs normalizadas. El saldo se comprueba al enviar.

1 · POST /batches/review · jobs:write
curl https://api.indextoast.com/v1/business/batches/review \
  -H "Authorization: Bearer $INDEXTOAST_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{
  "projectId": "YOUR_PROJECT_UUID",
  "name": "Client campaign",
  "operation": "boost",
  "urls": [
    "https://example.com/page-one",
    "https://example.com/page-two"
  ],
  "idempotencyKey": "campaign-boost-001"
}'
2 · POST /batches · jobs:write
curl https://api.indextoast.com/v1/business/batches \
  -H "Authorization: Bearer $INDEXTOAST_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{
  "projectId": "YOUR_PROJECT_UUID",
  "name": "Client campaign",
  "operation": "boost",
  "urls": [
    "https://example.com/page-one",
    "https://example.com/page-two"
  ],
  "idempotencyKey": "campaign-boost-001"
}'

Usa entre 1 y 1.000 URLs HTTP(S) públicas, un UUID de proyecto del espacio, un nombre de 1–100 caracteres y una clave de idempotencia de 8–150 caracteres. Las URLs normalizadas duplicadas se cobran una vez.

202 Accepted · response excerpt
{
  "id": "BATCH_UUID",
  "operation": "boost",
  "quantity": 2,
  "status": "queued",
  "successful": 0,
  "failed": 0,
  "results": []
}

202 significa aceptado para procesamiento. No confirma indexación ni plazo. La capacidad se descuenta una vez al aceptar.

Usa unidades Business mensuales o prepagadas para Boost. No hay una cuota Boost separada.

Seguir lotes

GET /batches/:id · jobs:read
curl https://api.indextoast.com/v1/business/batches/BATCH_UUID \
  -H "Authorization: Bearer $INDEXTOAST_API_KEY"
GET /batches · jobs:read
curl https://api.indextoast.com/v1/business/batches?page=1 \
  -H "Authorization: Bearer $INDEXTOAST_API_KEY"

Las listas contienen 20 lotes por página. Consulta hasMore antes de pedir la siguiente. Las consultas de estado son gratuitas; usa espera progresiva o un webhook.

Estados de procesamiento
queued → submitting → submitted / processing → completed
                                             ↘ failed / unknown

failed o unknown requiere revisión. Contacta con soporte con el ID antes de crear un reemplazo; una clave nueva puede descontar capacidad otra vez. Los reintentos de procesamiento usan la reserva original.

Verificar firmas de webhooks

Configura un endpoint HTTPS en API y webhooks. Guarda el secreto que se muestra una vez. Recibe eventos batch.finished firmados y deduplica por ID.

Cabecera de firma
x-indextoast-signature: t=TIMESTAMP,v1=HEX

HMAC-SHA256(secret, timestamp + "." + rawBody)
  • Verifica el cuerpo original con comparación en tiempo constante antes de procesar.
  • Rechaza timestamps separados más de cinco minutos del reloj del servidor, incluidos los futuros.
  • Guarda el ID antes de responder 2xx. Los reintentos son limitados; reconcilia eventos faltantes consultando el estado.

Uso y facturación

ServicioCoste por URL únicaSaldo
Standard1 acciónStandard
Comprobador de indexación1 acciónStandard
Boost20 unidadesStandard

Enviar 100 URLs Standard y comprobar cada una usa 200 unidades. Boost para 100 URLs usa 2.000 unidades; comprobarlas añade 100, para un total de 2.100.

GET /usage · response excerpt
{
  "plan": "agency",
  "included": 10000,
  "purchased": 0,
  "standardAvailable": 10000,
  "boostAvailable": 500,
  "unitCosts": {
    "standard": 1,
    "check": 1,
    "boost": 20
  },
  "monthlyActionLimit": null,
  "acceptedThisMonth": 0,
  "periodEnd": "2026-11-08T00:00:00.000Z"
}

Las acciones incluidas se usan antes que las compradas. Se renuevan en el período de pago sin acumularse; los saldos prepagados no caducan. Los saldos Regular y Business son independientes.

El límite mensual cuenta todas las operaciones aceptadas en el mes UTC. Vacío usa límites de saldo; 0 pausa nuevos trabajos. Es un límite de acciones, no un presupuesto monetario.

Errores y reintentos

Reintenta un envío con timeout usando el mismo contenido y clave. Se devuelve el lote existente sin nuevo débito. Si envías la cabecera opcional Idempotency-Key, debe coincidir con el cuerpo.

HTTPSignificado / siguiente paso
400 / 422Entrada inválida. Corrige el contenido antes de reintentar.
401 / 403Comprueba la clave, permisos y correo verificado.
404El proyecto o lote no está disponible en este espacio.
409STANDARD_BALANCE_REQUIRED · SPENDING_LIMIT · IDEMPOTENCY_CONFLICT
429 / 5xxRespeta Retry-After si se indica. Reintenta con espera exponencial y la misma clave.

Límite API: 120 solicitudes por minuto por IP, compartido entre rutas. Validación, revisión y consultas no gastan acciones. Un resultado de pago del comprobador puede ser inconcluso.

Contactar soportehello@indextoast.com