# Nodexia · API v1 > La API de Nodexia: lee y crea datos de la operación de una organización desde sus propios sistemas, con una llave por sistema. Cada guía y cada operación tiene su versión Markdown en la misma dirección terminada en `.md`. Contrato OpenAPI: https://api.ndx-one.com/v1/openapi.json ## Fundamentos - [Crear la llave](https://developers.nodexia.es/guias/crear-la-llave.md): La credencial con la que tu sistema entra en la API. - [La primera petición](https://developers.nodexia.es/guias/primera-peticion.md): Comprueba que la llave entra y qué puede hacer. - [Paginar los resultados](https://developers.nodexia.es/guias/paginacion.md): Recorrer una lista entera, página a página. - [Idempotency-Key y reintentos](https://developers.nodexia.es/guias/idempotencia-y-reintentos.md): Repetir una petición sin hacerla dos veces. - [Errores y límites](https://developers.nodexia.es/guias/errores-y-limites.md): Qué significa cada error y cuánto aguanta la API. ## Recursos - [Contactos](https://developers.nodexia.es/guias/contactos.md): Buscar, leer la ficha y dar de alta. - [Actividades](https://developers.nodexia.es/guias/actividades.md): Lo que pasa con un contacto, en su histórico. - [Tareas](https://developers.nodexia.es/guias/tareas.md): Dejar a alguien del equipo algo por hacer sobre un contacto. ## Casos de uso - [Integrar una centralita o un asistente de voz](https://developers.nodexia.es/guias/centralita-o-asistente-de-voz.md): Reconocer a quien llama, darle contexto y dejar la llamada en su ficha. ## Referencia - [Visión general](https://developers.nodexia.es/referencia.md): URL base, autenticación, repetir sin duplicar y errores. - [Qué llave soy](https://developers.nodexia.es/referencia/me.md): `GET /v1/me` — La llave, su empresa y lo que puede hacer: para configurar la integración sin preguntar. - [Buscar contactos](https://developers.nodexia.es/referencia/searchContacts.md): `GET /v1/crm/contacts` — Por teléfono (E.164), correo o nombre, en la empresa de la llave y lo compartido. Sin ficha con ese teléfono, devuelve los contactos de la cuenta cuyo teléfono general es ese número (matchedBy company_phone). - [Dar de alta un contacto](https://developers.nodexia.es/referencia/createContact.md): `POST /v1/crm/contacts` — En la empresa de la llave, sin responsable. Si ya hay una ficha con ese correo, 409 duplicate (con su id si la llave puede ver). El teléfono no cuenta como duplicado: busca antes. - [El contacto](https://developers.nodexia.es/referencia/getContact.md): `GET /v1/crm/contacts/{id}` — La ficha, con su ETag. Con If-None-Match igual al ETag, 304 sin cuerpo. Fuera del alcance de la llave, 404. - [Resumen del contacto](https://developers.nodexia.es/referencia/getContactSummary.md): `GET /v1/crm/contacts/{id}/summary` — La ficha, sus oportunidades abiertas, las cinco últimas interacciones y sus tareas abiertas. Los datos de la ficha piden además «Ver contactos», y los campos propios, «Ver campos propios». Fuera del alcance de la llave, 404. - [Registrar una llamada](https://developers.nodexia.es/referencia/logCall.md): `POST /v1/crm/contacts/{id}/calls` — Una actividad de tipo llamada en el histórico del contacto, firmada por la llave. La transcripción, los turnos y los números se guardan en crudo aparte. El cuerpo entero no pasa de 2 MB (413). Con el mismo externalCallId otra vez, 409 duplicate con la que ya está. - [Crear una tarea](https://developers.nodexia.es/referencia/createTask.md): `POST /v1/crm/contacts/{id}/tasks` — Al responsable del contacto o, si no tiene o no lo ve, al de la llave. Si ninguno puede verlo, 422. - [Los tipos de actividad](https://developers.nodexia.es/referencia/listActivityTypes.md): `GET /v1/crm/activity-types` — El vocabulario de la organización para tipificar una actividad.