Proyectos
Un proyecto es una marca monitorizada: su dominio, configuración regional, prompts y competidores. Casi todos los demás endpoints reciben un project_id, así que empieza aquí.
GET/dimensions/projects
Lista los proyectos del usuario autenticado (también sirve como comprobación de autenticación).
GET/dimensions/projects/:id
Obtén información detallada sobre un proyecto: nombres coincidentes, sector, modelo de negocio, recuento de prompts por enfoque de marca y data_coverage (los modelos, países e idiomas que realmente tienen datos), de modo que una sola llamada sustituye a las consultas independientes de modelos y locales.
GET/dimensions/models
Lista los modelos presentes en las métricas diarias del proyecto.
GET/dimensions/locales
Lista los países e idiomas presentes en las métricas diarias del proyecto.
POST/projects
Crea un proyecto completo en una sola llamada (modo rápido): proyecto, prompts (en cola para ejecución y categorización), competidores y suscripción al correo semanal. Idempotente cuando se proporciona external_identifier. El proyecto siempre pertenece al propietario de la cuenta.
- Cuerpo (JSON):
website_url(obligatorio, URL HTTP(S) pública con un nombre de host DNS o una dirección IP pública; se rechazan las URL con credenciales, las direcciones IP privadas y especiales, localhost y los nombres de host internos),name(obligatorio),main_country(obligatorio),main_language(obligatorio),brand_name,description,industry(array),business_model,target_audience,brand_voice,goals,primary_products(array),matching_names(array),prompts(array, máx. 100),competitors(array de objetos {domain, brand_name, matching_names}),owned_media(objeto, Growth+),use_subdomain,weekly_email_subscribed,external_identifier(solo cuentas con embed habilitado; clave de idempotencia, [a-z0-9_-]{1,64}),execute_prompts_immediately(por defecto, true).
PATCH/projects/:id
Actualiza el perfil del proyecto (el Brand Book y el emparejamiento de marca), los mismos campos que en la configuración del proyecto. Los campos del Brand Book (description, industry, brand_voice, target_audience) alimentan a GEO Writer, las sugerencias de prompts y las recomendaciones. Cambiar matching_names relanza el emparejamiento de menciones/citaciones sobre el historial del proyecto en segundo plano (rematching: true; mientras tanto, las ediciones quedan bloqueadas); un cambio de brand_name solo se aplica a las ejecuciones futuras. Los campos desconocidos se rechazan.
- Cuerpo (JSON): envía solo los campos que quieras cambiar:
brand_name,description,industry(una sola clave),business_model,target_audience,brand_voice,goals,primary_products(array de sustitución completa),matching_names(array de SUSTITUCIÓN COMPLETA; envía todas las variantes que quieras conservar).
Asistente de borradores de proyecto
Asistente de creación de proyectos en varios pasos con sugerencias de IA: POST /project_drafts inicia un borrador (devuelve el nombre, la descripción y el sector sugeridos para la URL), PATCH envía cada paso (details, prompts, competitors, owned_media) con una validación estricta del avance entre pasos y devuelve sugerencias para el siguiente paso, y POST /project_drafts/:id/finalize crea el proyecto real. Los borradores caducan tras 24h.
- La
website_urlinicial debe ser una URL HTTP(S) pública con un nombre de host DNS o una dirección IP pública. Se rechazan las URL con credenciales, las direcciones IP privadas y especiales, localhost y los nombres de host internos. Pasos:details(name obligatorio),prompts(máx. 100, sujeto a cuota),competitors(limitado por plan),owned_media(opcional, Growth+). Sugerencias por paso, con opción de desactivarlas mediantesuggest=false; las URL frías pueden tardar hasta ~2 minutos, configura el timeout del cliente en 180s. Finalize es idempotente y vuelve a comprobar todos los requisitos.