API

La API de Noki Mind

Todo lo que hace el área de administración se puede llamar también desde un servidor: sus clientes, presupuestos, tareas, reuniones, notas. Un punto de entrada por acción, una clave para autenticarse, y un documento OpenAPI que sus herramientas se tragan tal cual.

196 puntos de entrada · 63 de lectura · 104 de escritura · 29 de eliminación

Primera llamada

Cree una clave desde el área de administración, Integraciones y después API, y llame. Aquí tiene una llamada completa, lista para pegar.

Dirección base
https://nokimind.com/api/v1
curl https://nokimind.com/api/v1/list_clients \
  -H "Authorization: Bearer $NOKI_API_KEY"

Guarde la clave en una variable de entorno: pegada en un repositorio, vale tanto como la cuenta que la creó.

Autenticación

Cada llamada lleva una clave, creada desde el área de administración en Integraciones › API. Se admiten dos cabeceras, la que prefiera su herramienta.

Authorization: Bearer ecpapi_…
X-Api-Key: ecpapi_…

Una clave actúa en nombre del administrador que la creó y solo ve lo que él ve. No ponga nunca una en una página web: estas llamadas van de servidor a servidor, y no se envía ninguna cabecera CORS.

Permisos

Una clave lleva uno o varios permisos. Ninguno implica otro: una clave que escribe no elimina por ello. Cada punto de entrada indica el que necesita.

PermisoLo que abrePuntos de entrada
readTodo lo que lee, sin cambiar nada.63
writeCrear y actualizar. No elimina nada.104
destructiveEliminaciones definitivas.29

Métodos y sobres

Lo que lee admite GET, con los parámetros en la cadena de consulta, y POST, con cuerpo JSON. Lo que escribe o elimina solo admite POST. Un array se expresa repitiendo el parámetro: ?tags=a&tags=b.

Un éxito devuelve 200 con el resultado bajo data.

{ "data": … }

Un rechazo devuelve un código estable bajo error y una frase bajo message. Compruebe el código, nunca el mensaje.

{ "error": "missing_scope", "message": "…" }

Límites de llamadas

Cada clave tiene un tope por minuto, fijado por lo que hace la acción. Leer mucho no rompe nada; eliminar treinta veces por minuto no es un uso normal.

PermisoTope
read600 llamadas por minuto
write120 llamadas por minuto
destructive30 llamadas por minuto

Cada respuesta lleva RateLimit-Limit, RateLimit-Remaining y RateLimit-Reset, incluso cuando tiene éxito: es lo que permite frenar antes del muro. Pasarse devuelve 429 con Retry-After.

Rechazos

CódigoEstadoCuándo
missing_api_key401Ninguna clave en las cabeceras de la petición.
invalid_api_key401La clave presentada no existe.
revoked_api_key401La clave se cortó desde el área de administración.
expired_api_key401La clave ha pasado su fecha de caducidad.
not_admin403La cuenta a la que pertenece la clave ya no es administradora.
missing_scope403La clave no lleva el permiso que exige este punto de entrada.
unknown_endpoint404La dirección no nombra ningún punto de entrada. La respuesta sugiere nombres cercanos.
method_not_allowed405GET sobre un punto de entrada que escribe o elimina.
invalid_json400El cuerpo de la petición no es JSON.
invalid_query400Un parámetro de consulta es desconocido. La respuesta dice cuáles existen.
invalid_payload400Los parámetros no pasan la validación. La respuesta los detalla, campo por campo.
refused422La acción ha dicho que no por un motivo de negocio, explicado en el mensaje.
payload_too_large413El cuerpo pasa de 4 MB.
rate_limited429Se ha alcanzado el tope de llamadas de la clave para este nivel de acción. La cabecera «Retry-After» dice cuántos segundos hay que esperar.
server_error500Algo ha fallado de nuestro lado.

Documento OpenAPI

El contrato completo, generado a partir del código en cada despliegue. Péguelo directamente en Postman, Insomnia, Bruno, Scalar o Swagger UI, o pásese lo a un generador de clientes.

Abrir openapi.json

Probarlo

Llame a un punto de entrada desde esta página con su propia clave. La petición va de su navegador a este sitio; aquí no se registra nada.

La clave se queda en esta pestaña y solo se envía a esta API. Desaparece al recargar la página.

Puntos de entrada

Las 196 acciones, con sus parámetros y la forma de su respuesta. Busque por nombre o por módulo.

Abrir la referencia

searchaccountagenciesadmin-localenotificationspushadmin-invitationsclientstasksclient-userscustom-fieldsreferrersquotesquote-commentstask-commentstask-viewssocialsocial-viewsmeetingsmeeting-proposalsrecallrecall-calendarquestionnairescredentialsbillsmetricsfilesfile-foldersdecisionsassistant-conversationsmedianotesnote-foldersticketscompanycompany-searchdesigneditor-imageseditor-filestranslation