API de Geotrackable
La API de Geotrackable está disponible en este mismo dominio de producción para la aplicación Android y otros clientes autorizados.
Con estos ejemplos puede verificar el host en vivo, obtener un token bearer, leer datos públicos del mapa, sincronizar ubicaciones con sesión iniciada y trabajar con rastreables sin adivinar nombres de rutas desde la interfaz del sitio web.
Configuración de la aplicación Android
En la pestaña Sincronización de Android, guarde solo el origen del sitio como punto de conexión. No agregue /api.
https://Geotrackable.com
Inicie sesión enviando las credenciales de la cuenta local a /api/auth/login?useCookies=false&useSessionCookies=false y luego envíe el token bearer devuelto en el encabezado Authorization.
Respuestas esperadas
Las rutas protegidas devuelven HTTP 401 hasta que el cliente envía un token bearer. Abrir en el navegador una ruta que solo acepta POST devuelve HTTP 405 porque el navegador envía GET.
Cada ciclo de sincronización sin conexión debe enviar primero y recibir después.
Una ruta de API desconocida devuelve HTTP 404. Una ruta conocida llamada con el verbo incorrecto normalmente devuelve HTTP 405 y puede incluir un encabezado Allow. La ruta /api/account, que solo permite eliminación, no tiene intencionalmente un endpoint GET, por lo que GET /api/account devuelve un 404 con instrucciones; use /api/auth/manage/info para leer la cuenta.
Compruebe el host, inicie sesión y confirme el token antes de llamar rutas privadas.
La ruta de información de la cuenta actual viene de la API de identidad del framework. La ruta de cuenta separada solo sirve para eliminación permanente.
Comprobación de estado
Esta ruta es anónima y es la forma más rápida de confirmar que el host de API de producción responde.
curl "https://Geotrackable.com/api/system/status"
{
"status": "online",
"utcNow": "2026-06-20T12:00:00Z",
"androidBetaPageUrl": "https://Geotrackable.com/en-US/Account/Beta"
}
Registro
Cree una cuenta local con correo electrónico, contraseña y nombre de usuario de perfil público antes de solicitar un token bearer. Los nombres de usuario solo pueden contener letras minúsculas, números y guiones bajos.
curl -X POST "https://Geotrackable.com/api/auth/register" \
-H "Content-Type: application/json" \
-d '{
"email": "tester@example.com",
"userName": "trail_tester",
"password": "StrongP@ssw0rd!"
}'
Inicio de sesión bearer
Use credenciales de cuenta local con cookies deshabilitadas cuando un script, una app o un cliente de API necesite un token bearer.
curl -X POST "https://Geotrackable.com/api/auth/login?useCookies=false&useSessionCookies=false" \
-H "Content-Type: application/json" \
-d '{
"email": "tester@example.com",
"password": "StrongP@ssw0rd!"
}'
{
"tokenType": "Bearer",
"accessToken": "eyJhbGciOi..."
}
Cuenta actual y perfil
No existe un endpoint de perfil GET /api/account. Use el endpoint manage-info de identidad para los metadatos de la cuenta con sesión iniciada y las páginas de perfil del sitio web para la vista pública del perfil.
GET /api/account no es una ruta de lectura publicada.
GET /api/auth/manage/info devuelve detalles de identidad con sesión iniciada.
DELETE /api/account elimina permanentemente la cuenta actual.
curl "https://Geotrackable.com/api/auth/manage/info" \
-H "Authorization: Bearer <access token>"
Comience con estas rutas al comprobar una conexión de Android o de un cliente de API.
| Método | Ruta |
|---|---|
GET |
/api/system/status |
POST |
/api/auth/register |
POST |
/api/auth/login?useCookies=false&useSessionCookies=false |
GET |
/api/auth/manage/info |
POST |
/api/sync/push |
POST |
/api/sync/pull |
GET |
/api/notes/public/bounds |
GET |
/api/notes/public/nearby |
GET |
/api/categories/mine |
GET |
/api/notes/mine |
POST |
/api/notes/mine |
POST |
/api/trackables/{trackableId}/notes |
GET |
/api/trackables/public |
POST |
/api/trackables/lookup |
GET |
/api/trackables/active |
DELETE |
/api/account |
Cree una ubicación normal o créela directamente bajo un rastreable administrado.
Use POST /api/notes/mine para una ubicación personal normal. Use POST /api/trackables/{trackableId}/notes cuando el usuario autenticado sea propietario del rastreable activado o administre su equipo. No envíe POST a /api/trackables/{trackableId}; esa ruta de recurso solo admite GET.
La propiedad de texto de la ubicación es body, no content. categoryId es opcional, y latitude y longitude deben proporcionarse juntas. La ruta del rastreable obtiene trackableId de la URL, así que no lo repita en una propiedad trackableIds.
Ubicaciones públicas dentro de los límites del mapa
Use límites cuando su cliente ya tiene una vista de mapa y necesita notas de ubicación públicas visibles para esa área.
curl "https://Geotrackable.com/api/notes/public/bounds?minLatitude=41.78&minLongitude=-87.75&maxLatitude=41.96&maxLongitude=-87.54&contentLanguage=en-US"
[
{
"noteId": "4d6c5df3-3c53-4d0e-8e72-7d98a0f8a9f3",
"title": "Trailhead parking",
"body": "Small public lot near the north entrance.",
"contentLanguage": "en-US",
"latitude": 41.8818,
"longitude": -87.6231,
"visibility": 1,
"updatedUtc": "2026-06-20T12:00:00Z"
}
]
Crear una ubicación personal normal
Esta ruta crea una ubicación sin asociarla a un rastreable. Omita categoryId para usar la categoría predeterminada de la cuenta. La respuesta contiene la ubicación guardada e incluye noteId para solicitudes posteriores.
Las solicitudes de creación aceptan nombres de enumeración legibles, como Private, Public y Disabled, tal como se muestra a continuación, y siguen aceptando sus valores numéricos. Actualmente, las respuestas de notas codifican visibility y commentPolicy numéricamente: visibility 0 es Private, 1 es Public y 2 es VisibleOnceAssociatedTrackableAccessed; commentPolicy 0 es Disabled, 1 es LoggedInUsers y 2 es TeamMembers.
curl -X POST "https://Geotrackable.com/api/notes/mine" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{
"title": "Cache hide approach",
"body": "Use the east footpath after rain.",
"contentLanguage": "en-US",
"latitude": 41.8818,
"longitude": -87.6231,
"visibility": "Private",
"commentPolicy": "Disabled"
}'
curl -X POST "https://Geotrackable.com/api/categories/mine" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{
"name": "Weekend route checks",
"contentLanguage": "en-US",
"parentCategoryId": null
}'
Crear una ubicación bajo un rastreable administrado
Esta ruta de un solo paso crea de forma atómica la nota de ubicación completa y su parada del recorrido del rastreable. El rastreable debe estar activado, y la cuenta del token bearer debe ser su propietario personal o un administrador activo del equipo propietario. Los rastreables de equipo crean automáticamente la nota en ese mismo equipo.
curl -X POST "https://Geotrackable.com/api/trackables/<TRACKABLE_ID>/notes" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{
"title": "Dropped off at spot #1",
"body": "Left near the park.",
"contentLanguage": "en-US",
"latitude": 41.8827,
"longitude": -87.6233,
"visibility": "Private",
"commentPolicy": "Disabled"
}'
{
"trackableId": "13a2c0b1-582f-4a7b-92aa-16922f7bdb63",
"journeyStopId": "3a223d33-5442-4cf7-84a1-3d937a253f30",
"note": {
"noteId": "26f84cdd-02e7-4c18-a153-f2754418f435",
"title": "Dropped off at spot #1",
"body": "Left near the park.",
"latitude": 41.8827,
"longitude": -87.6233
},
"message": "Location note created and added to the trackable journey."
}
No es seguro repetir un POST después de un tiempo de espera de resultado desconocido. Antes de reintentarlo, actualice primero el recorrido del rastreable y sus ubicaciones para que el cliente no cree una nota y una parada duplicadas.
Asociar una ubicación cuando se tiene acceso secreto o de sesión activa
Una persona que encontró el objeto pero no administra el rastreable debe usar dos llamadas: primero crear la ubicación normal, leer noteId de esa respuesta y luego asociar un rastreable activado mediante su código secreto. selectedActiveTrackableIds solo se usa para rastreables activos en la misma sesión del navegador respaldada por cookies.
curl -X POST "https://Geotrackable.com/api/public/notes/<NOTE_ID>/trackables" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{
"trackableSecretCodes": "<TRACKABLE_SECRET_CODE>"
}'
A pesar del nombre plural de la propiedad, trackableSecretCodes acepta un código por solicitud. La nota debe tener coordenadas y el rastreable ya debe estar activado. Repita la solicitud de asociación para otro rastreable.
Para un punto ligero del recorrido con coordenadas, pero sin title, body, category ni una nota de ubicación completa, use en su lugar POST /api/trackables/{trackableId}/journey-stops.
Envíe primero los cambios locales y luego reciba la vista del servidor para el usuario y el área pública actual.
Ambas rutas de sincronización requieren autenticación bearer. Las ubicaciones privadas anónimas pueden permanecer locales en el dispositivo, pero la API de sincronización del servidor no las acepta.
Solicitud de envío
curl -X POST "https://Geotrackable.com/api/sync/push" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{
"deviceId": "5dd06ca7-34a5-4f2e-812d-3f1ef3e48290",
"notes": [
{
"noteId": "ef90c4ca-88a9-4a9b-b3a8-36e2649c5dcb",
"ownerUserId": "a7cfd28f-c17f-4cf7-8913-47fa10fd0d1f",
"categoryId": "ca90c4ca-88a9-4a9b-b3a8-36e2649c5dcb",
"title": "Offline field stop",
"body": "Saved while disconnected.",
"contentLanguage": "en-US",
"latitude": 41.8818,
"longitude": -87.6231,
"visibility": 0,
"isDeleted": false,
"updatedUtc": "2026-06-20T12:05:00Z",
"clientMutationId": "android-offline-42",
"teamId": null
}
],
"categories": [
{
"categoryId": "ca90c4ca-88a9-4a9b-b3a8-36e2649c5dcb",
"ownerUserId": "a7cfd28f-c17f-4cf7-8913-47fa10fd0d1f",
"name": "Offline field notes",
"contentLanguage": "en-US",
"teamId": null,
"parentCategoryId": null,
"sortOrder": 0,
"isDeleted": false,
"updatedUtc": "2026-06-20T12:04:00Z"
}
]
}'
Cada nota debe hacer referencia a una categoría que ya sea visible para la cuenta con sesión iniciada o que esté incluida en el mismo envío. Mantenga el mismo categoryId en ambos registros cuando los cree juntos sin conexión.
Solicitud de recepción
curl -X POST "https://Geotrackable.com/api/sync/pull" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{
"lastSyncUtc": "2026-06-20T11:30:00Z",
"publicArea": {
"minLatitude": 41.78,
"minLongitude": -87.75,
"maxLatitude": 41.96,
"maxLongitude": -87.54
}
}'
{
"serverSyncUtc": "2026-06-20T12:06:00Z",
"userNotes": [],
"userCategories": [],
"teamCategories": [],
"publicNotes": [],
"teamNotes": []
}
Resuelva los conflictos de envío antes de recibir datos
Un envío válido puede devolver HTTP 200 con una colección conflicts. Este es un resultado de sincronización por entidad, no un fallo de transporte. Cada conflicto incluye entityId, entityType, un motivo legible, un code estable y una action concreta.
{
"entityId": "ef90c4ca-88a9-4a9b-b3a8-36e2649c5dcb",
"entityType": "Note",
"reason": "Incoming note update is stale.",
"code": "stale_update",
"action": "Pull the current server copy, merge or discard the local edit, and then push a newer update."
}
No repita silenciosamente una entidad rechazada. stale_update requiere recibir los datos y decidir cómo combinarlos; team_membership_required requiere actualizar la membresía; online_team_management_required traslada el cambio a las API de administración de equipos en línea; entity_ownership_conflict significa que la copia del servidor prevalece para esta cuenta.
Las rutas de rastreables cubren exploración pública, propiedad privada, acceso secreto recordado, comentarios y paradas del recorrido.
Los códigos secretos y las cargas QR privadas son credenciales sensibles. Las rutas normales de lectura no los devuelven después de la creación.
La propiedad secretCode de POST /api/trackables es opcional. Omítala cuando quiera que Geotrackable genere un código secreto único del sistema o envíe un valor personalizado permitido cuando un elemento físico ya tenga un código que necesite conservar.
Exploración y búsqueda pública
curl "https://Geotrackable.com/api/trackables/public?contentLanguage=en-US"
curl -X POST "https://Geotrackable.com/api/trackables/lookup" \
-c geotrackable.cookies \
-H "Content-Type: application/json" \
-d '{
"code": "GT7F3K9"
}'
La búsqueda por secreto y QR puede crear una sesión activa al estilo del navegador. Conserve el almacén de cookies de la respuesta para llamadas posteriores de la sesión activa, proteja ese archivo como una credencial y elimínelo cuando ya no necesite la sesión.
Crear un rastreable
La solicitud recomendada omite secretCode. Un valor omitido, null, vacío o compuesto solo por espacios pide al servidor que genere el código. Un valor no vacío solicita ese código personalizado exacto después de las comprobaciones de normalización y disponibilidad.
curl -X POST "https://Geotrackable.com/api/trackables" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{
"name": "Scout trail coin",
"description": "Move this coin along family-friendly trails.",
"visibility": "AlwaysVisibleToEveryone",
"activateImmediately": true
}'
Solicitar un código secreto específico
Envíe secretCode solo cuando el elemento ya tenga un identificador personalizado. Si el valor normalizado está disponible, el servidor lo respeta y devuelve HTTP 201. El código público generado es independiente y Geotrackable sigue asignándolo.
curl -X POST "https://Geotrackable.com/api/trackables" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{
"name": "Existing event tag",
"description": "Uses the identifier already printed on the tag.",
"visibility": "VisibleOnceAccessed",
"activateImmediately": true,
"secretCode": "TAG42"
}'
Los códigos personalizados no pueden superar los 32 caracteres y deben estar disponibles en todo el espacio de nombres de códigos públicos y secretos de rastreables. Los códigos que comienzan por GT, LN, TB, GK o GC están reservados para identificadores emitidos por el sistema o por el sitio de origen y no se pueden adoptar como códigos secretos personalizados de Geotrackable.
La respuesta de creación muestra los secretos una sola vez
Guarde de inmediato los valores secretCode y scanUrl devueltos. Las rutas posteriores de lista, detalle, búsqueda, comentario y recorrido no vuelven a revelar intencionalmente esas credenciales.
HTTP/1.1 201 Created
{
"trackableId": "13a2c0b1-582f-4a7b-92aa-16922f7bdb63",
"heading": "Scout trail coin",
"items": [
{
"trackableId": "13a2c0b1-582f-4a7b-92aa-16922f7bdb63",
"name": "Scout trail coin",
"publicCode": "GT-7F3K9Q",
"secretCode": "GT8M2Q7V",
"scanUrl": "https://geotrackable.com/trackable/<private-qr-token>",
"qrPayload": "<private-qr-token>"
}
]
}
Acceso secreto activo
Después de que un navegador introduce un código secreto válido o una carga de escaneo, las rutas de sesión activa muestran lo que ese navegador puede volver a abrir actualmente.
curl "https://Geotrackable.com/api/trackables/active" \
-b geotrackable.cookies
curl -X POST "https://Geotrackable.com/api/trackables/active/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/message" \
-b geotrackable.cookies \
-H "Content-Type: application/json" \
-d '{
"statusMessage": "Live hunt in progress"
}'
Cuando el código solicitado ya está en uso
Una colisión de código personalizado devuelve HTTP 409 con el código trackable_secret_code_taken. La solicitud no ha creado ningún rastreable. No siga reintentando el mismo valor: omita secretCode para recibir un código generado o elija otro código personalizado permitido.
{
"type": "/en-US/api-docs#errors-and-problem-details",
"title": "Requested secret code is unavailable.",
"status": 409,
"detail": "That secret code is already in use by another Geotrackable identifier. Supplying a secret code is optional: omit it to receive a unique system-generated code, or choose a different code.",
"instance": "/api/trackables",
"code": "trackable_secret_code_taken",
"field": "secretCode",
"action": "Omit secretCode to receive a unique system-generated code, or submit a different allowed secretCode.",
"requestId": "0HN7EXAMPLE:00000001",
"documentation": "/en-US/api-docs#errors-and-problem-details"
}
Recuperación ante prefijos reservados
GTestá reservado para códigos emitidos por el sistema de Geotrackable. Omita secretCode y permita que este host emita uno.LNpertenece a rastreables de LocationNotes; resuelva el elemento en su sitio de origen en lugar de adoptar aquí su código.TBpertenece a rastreables de Geocaching.com; use el flujo de seguimiento del sitio de origen.GKpertenece a rastreables de GeoKrety.org; use el flujo de seguimiento del sitio de origen.GCes un identificador de geocaché de Geocaching.com, no un código secreto de Geotrackable.
Los valores personalizados reservados o no válidos devuelven una respuesta de problema con una action y un enlace a la documentación. La alternativa segura siempre es quitar secretCode de la solicitud de creación.
Registrar una parada del recorrido
Una parada directa del recorrido es la actualización ligera de ruta cuando no se necesita una nota de ubicación completa.
curl -X POST "https://Geotrackable.com/api/trackables/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/journey-stops" \
-H "Content-Type: application/json" \
-d '{
"latitude": 41.8818,
"longitude": -87.6231,
"accessCode": "GT-SECRET-OR-SCAN-PAYLOAD"
}'
Comentar en un rastreable
Los solicitantes con sesión iniciada pueden comentar con su identidad bearer. Los solicitantes anónimos también pueden comentar en un rastreable activado cuando este cliente tiene la sesión activa respaldada por el secreto o envía el accessCode de ese elemento exacto.
curl -X POST "https://Geotrackable.com/api/trackables/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/comments" \
-b geotrackable.cookies \
-H "Content-Type: application/json" \
-d '{
"body": "Found near the overlook and moved west.",
"accessCode": ""
}'
Las API de equipos administran ubicaciones compartidas, categorías, enlaces de invitación, decisiones de membresía y el alcance de rastreables propiedad del equipo.
crear un equipo
curl -X POST "https://Geotrackable.com/api/teams" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{
"name": "trail-club",
"title": "Trail Club",
"description": "Weekend route and trackable group.",
"joinPolicy": "RequestsAllowed",
"pageVisibility": "Public",
"defaultNoteVisibility": "Public",
"contentLanguage": "en-US"
}'
Crear un enlace de invitación
curl -X POST "https://Geotrackable.com/api/teams/73edb511-cd8c-4888-8c45-3a04b3d6da11/invite-links" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{
"isSingleUse": false
}'
curl -X POST "https://Geotrackable.com/api/teams/invite-links/trail-club/INVITE-CODE/join" \
-H "Authorization: Bearer <access token>"
Las rutas de medios y soporte siguen la visibilidad de la página o del contenido al que están asociadas.
Imagenes
Las lecturas de listas pueden ser anónimas cuando la página principal es segura para el público. Las rutas de carga y eliminación requieren autenticación bearer.
curl "https://Geotrackable.com/api/images/trackables/13a2c0b1-582f-4a7b-92aa-16922f7bdb63"
curl -X POST "https://Geotrackable.com/api/images/trackables/13a2c0b1-582f-4a7b-92aa-16922f7bdb63" \
-H "Authorization: Bearer <access token>" \
-F "files=@trail-coin.jpg"
Verificación de enlace externo
Verifique un enlace externo antes de guardarlo en una ubicación, equipo, rastreable o grupo de rastreables.
curl -X POST "https://Geotrackable.com/api/external-links/verify" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/trail-guide"
}'
Reportes de contenido y errores
Use reportes para inquietudes sobre contenido de páginas públicas y errores para diagnósticos del cliente que soporte podría necesitar revisar.
curl -X POST "https://Geotrackable.com/api/compliance/reports" \
-H "Content-Type: application/json" \
-d '{
"pageType": "Trackable",
"contentType": "Trackable",
"pageTitle": "Scout trail coin",
"pageUrl": "https://Geotrackable.com/trackable/GT7F3K9",
"pageReference": "GT7F3K9",
"contentLabel": "Trackable page",
"contentReference": "13a2c0b1-582f-4a7b-92aa-16922f7bdb63",
"contentPreview": "Move this coin along family-friendly trails.",
"reportTitle": "Outdated public link",
"reportExplanation": "The linked trail guide now points somewhere unexpected."
}'
Eliminar cuenta desde la API
Los clientes autenticados pueden eliminar permanentemente la cuenta actual y los datos personales sincronizados mediante la API. Lea primero la página Eliminar datos cuando necesite pasos de exportación o reglas de retención de rastreables compartidos.
curl -X DELETE "https://Geotrackable.com/api/account" \
-H "Authorization: Bearer <access token>"
{
"deletedAccount": true,
"notesDeleted": 14,
"categoriesDeleted": 6,
"linkedProvidersDeleted": 2
}
Los errores incluyen la siguiente acción útil
Las respuestas de problema de la API identifican el error con un code estable, explican el detail específico de la solicitud y proporcionan una action que los clientes pueden mostrar o seguir. Use requestId cuando soporte necesite correlacionar la solicitud con los diagnósticos del servidor.
Procese el código de máquina, conserve el identificador de solicitud y siga la acción en lugar de analizar texto en inglés.
Los errores de la API usan application/problem+json y un objeto de detalles del problema con formato RFC. Los textos legibles title y detail pueden mejorar con el tiempo o localizarse; code es el valor estable para la lógica del programa.
Formato de la respuesta de problema
Content-Type: application/problem+json
{
"type": "/en-US/api-docs#errors-and-problem-details",
"title": "Trackable access is required.",
"status": 403,
"detail": "This request needs access to this specific trackable.",
"instance": "/api/trackables/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/comments",
"code": "trackable_access_code_required",
"action": "Sign in, keep this trackable active in this client, or provide its secret code or private QR access value.",
"requestId": "0HN7EXAMPLE:00000002",
"documentation": "/en-US/api-docs#errors-and-problem-details"
}
Para qué sirve cada campo
type- Un URI estable para este contrato de detalles del problema. Use code, no type ni texto para personas, para distinguir el error exacto en la lógica del cliente.
title- Un resumen breve y legible adecuado como encabezado. No base la lógica del cliente en este texto.
status- El estado HTTP repetido en el cuerpo para que los diagnósticos capturados sigan siendo comprensibles.
detail- Una explicación específica de la solicitud que indica qué falló sin repetir credenciales ni tokens privados.
instance- La ruta de solicitud asociada con esta incidencia. Las rutas de entrada del sitio web que contienen secretos pueden aparecer ocultas.
code- El identificador estable legible por máquinas que los clientes deben usar para decidir.
action- El paso concreto para recuperarse: corregir un campo, autenticarse, esperar, reducir la carga o elegir otro valor.
requestId- Un valor de correlación que se puede incluir de forma segura en una solicitud de soporte. Consérvelo junto con el estado, el código, el método y la plantilla de ruta.
documentation- Una ubicación de ayuda para la familia del error o el código exacto.
Los errores de validación incluyen nombres de campo
Los errores de validación HTTP 400 agregan un objeto errors. Cada clave es la propiedad JSON o el área de la solicitud que necesita corrección, y cada valor es una matriz porque un campo puede infringir más de una regla.
{
"type": "/en-US/api-docs#errors-and-problem-details",
"title": "Request validation failed.",
"status": 400,
"detail": "One or more request fields are invalid. Correct every field listed in errors and submit the request again.",
"instance": "/api/trackables",
"code": "validation_failed",
"action": "Correct every field listed in errors and submit the request again.",
"requestId": "0HN7EXAMPLE:00000003",
"documentation": "/en-US/api-docs#errors-and-problem-details",
"errors": {
"name": ["Name cannot be longer than 160 characters."],
"secretCode": ["Secret code cannot be longer than 32 characters."]
}
}
JSON mal formado y tipo de contenido
Un JSON no válido es un error de validación de la solicitud. Conserve requestId, corrija la sintaxis y vuelva a enviar el cuerpo con Content-Type: application/json. Los endpoints de carga de archivos requieren en cambio multipart/form-data y una parte files o file con el nombre de campo específico de la ruta.
Un cuerpo sintácticamente válido aún puede incumplir una regla de negocio. Use errors para problemas por campo, code para la lógica del programa, detail para el contexto y action para el siguiente paso. No muestre a los usuarios una excepción sin procesar ni un seguimiento de pila del servidor.
| Estado | Qué significa | Recuperación | Guía de reintentos |
|---|---|---|---|
400 Bad Request |
El JSON, los valores de consulta, las restricciones de los campos o una regla de negocio rechazaron la solicitud. | Lea errors cuando esté presente; de lo contrario, lea code, detail y action. Corrija la solicitud antes de volver a enviarla. | No reintente la solicitud sin cambios. |
401 Unauthorized |
Una ruta protegida no recibió un token bearer utilizable. Los errores de inicio de sesión también usan 401 sin revelar si existe una dirección de correo electrónico. | Obtenga o actualice un token, confirme el esquema Bearer y el host y, después, repita una vez la llamada prevista. | Reintente solo después de cambiar la autenticación; repetir intentos sin cambios no servirá. |
403 Forbidden |
Se conoce al solicitante, pero no tiene la propiedad, el rol de equipo, la sesión activa de rastreable o el acceso respaldado por secreto requeridos. | Siga action: use una cuenta apta, solicite acceso, active el elemento o proporcione acceso para ese rastreable exacto. | No reintente hasta que cambie el estado de acceso. |
404 Not Found |
No se encontró la ruta o el recurso. Los recursos privados pueden parecer ausentes intencionalmente cuando el solicitante no debe saber que existen. | Confirme el método, la ruta, el GUID, el código público y el estado actual de la lista. Actualice los datos obsoletos del cliente. | No cree un bucle. Reintente solo después de corregir el identificador o actualizar el estado. |
405 Method Not Allowed |
La ruta existe, pero el verbo HTTP es incorrecto, como al abrir con un GET del navegador una ruta que solo admite POST. | Use el método que muestra esta documentación e inspeccione el encabezado Allow de la respuesta cuando se proporcione. | Reintente solo con el método y el formato de solicitud correctos. |
409 Conflict |
La solicitud es válida, pero entra en conflicto con el estado actual del servidor, incluido un código secreto de rastreable solicitado que ya está en uso. | Vuelva a cargar el estado actual o cambie el valor en conflicto. Para crear un rastreable, omita secretCode para generarlo o elija otro código personalizado. | No reintente el mismo valor de creación; reintente solo después de cambiar la solicitud o el estado. |
413 Content Too Large |
El cuerpo de la solicitud o el conjunto de archivos cargados supera el tamaño aceptado. | Reduzca la cantidad o el tamaño de las imágenes, divida la carga cuando el flujo de trabajo lo permita y mantenga separadas las solicitudes de metadatos y las de contenido multimedia. | Reintente solo con una carga más pequeña. |
415 Unsupported Media Type |
La codificación del cuerpo no coincide con el endpoint. | Use application/json para los endpoints JSON y multipart/form-data para los endpoints de carga de imágenes o GPX. Permita que la biblioteca HTTP genere los límites multipart. | Reintente solo después de corregir Content-Type y la codificación del cuerpo. |
429 Too Many Requests |
El cliente superó un límite de solicitudes o está enviando ráfagas con demasiada rapidez. | Respete Retry-After cuando esté presente, reduzca la concurrencia, almacene en caché las lecturas públicas y combine las solicitudes duplicadas. | Espere el tiempo indicado por Retry-After; si no está presente, use espera exponencial con variación aleatoria y un límite de reintentos. |
500 Internal Server Error |
Geotrackable registró un error inesperado. La respuesta no expone seguimientos de pila ni secretos internos. | Conserve requestId y ticketNumber cuando estén presentes y, después, contacte con soporte indicando la hora, el método, la plantilla de ruta, el estado y el código. | Reintente las lecturas seguras después de una espera. No repita a ciegas una creación u otra escritura no idempotente cuando se desconozca si se confirmó. |
Reintente las escrituras de forma deliberada
Normalmente es seguro reintentar las solicitudes GET. Una solicitud POST puede crear datos incluso si el cliente agota el tiempo de espera antes de recibir la respuesta. Antes de repetir la creación de un rastreable, actualice GET /api/trackables/mine y concilie el resultado para que un tiempo de espera de red no cree elementos físicos duplicados.
Para un 429 o un 500 transitorio, use espera exponencial limitada con variación aleatoria. Deténgase cuando action indique que debe cambiar la propia solicitud. Nunca convierta un 400, 403, 404, 405, 409, 413 o 415 en un bucle de reintentos automáticos.
Mantenga los diagnósticos útiles sin filtrar credenciales
Nunca registre encabezados Authorization, tokens bearer o de actualización, contraseñas, cookies, secretCode, accessCode, cargas QR, URL privadas de escaneo ni rutas de entrada /trackable/{code} sin redactar. Ocúltelos antes de incluirlos en telemetría, informes de fallos, capturas de pantalla y archivos adjuntos para soporte.
Los campos de diagnóstico seguros incluyen requestId, ticketNumber, el estado HTTP, el code estable, el método, la plantilla de ruta, la versión del cliente y una marca de tiempo. No copie el cuerpo completo de la solicitud cuando pueda contener texto de ubicación, coordenadas exactas, datos de contacto o una credencial de rastreable.
POST /api/trackables -> 409
code=trackable_secret_code_taken
requestId=0HN7EXAMPLE:00000001
secretCode=[REDACTED]
Rutas publicadas de la API de Geotrackable
Esta tabla se genera a partir de los puntos de conexión activos de Geotrackable para que la documentación publicada permanezca alineada con el host.
| Método | Ruta | Acceso |
|---|---|---|
DELETE |
/api/account |
Autorización requerida |
GET |
/api/auth/confirmEmail |
Anónimo |
POST |
/api/auth/forgotPassword |
Anónimo |
POST |
/api/auth/login |
Anónimo |
POST |
/api/auth/manage/2fa |
Autorización requerida |
GET |
/api/auth/manage/info |
Autorización requerida |
POST |
/api/auth/manage/info |
Autorización requerida |
POST |
/api/auth/refresh |
Anónimo |
POST |
/api/auth/register |
Anónimo |
POST |
/api/auth/resendConfirmationEmail |
Anónimo |
POST |
/api/auth/resetPassword |
Anónimo |
GET |
/api/categories/mine |
Autorización requerida |
POST |
/api/categories/mine |
Autorización requerida |
GET |
/api/categories/mine/tree |
Autorización requerida |
GET |
/api/categories/mine/tree/children |
Autorización requerida |
GET |
/api/categories/mine/tree/sections |
Autorización requerida |
DELETE |
/api/categories/mine/{categoryId} |
Autorización requerida |
POST |
/api/categories/mine/{categoryId}/move |
Autorización requerida |
POST |
/api/compliance/errors |
Anónimo |
GET |
/api/compliance/reports |
Autorización requerida |
POST |
/api/compliance/reports |
Anónimo |
GET |
/api/compliance/reports/mine |
Autorización requerida |
GET |
/api/compliance/reports/{contentReportId} |
Autorización requerida |
PUT |
/api/compliance/reports/{contentReportId} |
Autorización requerida |
POST |
/api/external-links/verify |
Autorización requerida |
GET |
/api/images/notes/{noteId} |
Anónimo |
POST |
/api/images/notes/{noteId} |
Autorización requerida |
POST |
/api/images/profiles |
Autorización requerida |
GET |
/api/images/profiles/{userId} |
Anónimo |
GET |
/api/images/teams/{teamId} |
Anónimo |
POST |
/api/images/teams/{teamId} |
Autorización requerida |
GET |
/api/images/trackable-groups/{trackableGroupId} |
Anónimo |
POST |
/api/images/trackable-groups/{trackableGroupId} |
Autorización requerida |
GET |
/api/images/trackables/{trackableId} |
Anónimo |
POST |
/api/images/trackables/{trackableId} |
Autorización requerida |
DELETE |
/api/images/{contentImageId} |
Autorización requerida |
GET |
/api/images/{contentImageId}/{variant} |
Anónimo |
GET |
/api/locations/mine/gpx |
Autorización requerida |
POST |
/api/locations/mine/gpx |
Autorización requerida |
GET |
/api/notes/mine |
Autorización requerida |
POST |
/api/notes/mine |
Autorización requerida |
GET |
/api/notes/mine/gpx |
Autorización requerida |
POST |
/api/notes/mine/gpx |
Autorización requerida |
DELETE |
/api/notes/mine/{noteId} |
Autorización requerida |
POST |
/api/notes/mine/{noteId}/move |
Autorización requerida |
GET |
/api/notes/public/bounds |
Anónimo |
GET |
/api/notes/public/nearby |
Anónimo |
GET |
/api/public/notes/{noteId} |
Anónimo |
GET |
/api/public/notes/{noteId}/comments |
Anónimo |
POST |
/api/public/notes/{noteId}/comments |
Autorización requerida |
GET |
/api/public/notes/{noteId}/trackables |
Anónimo |
POST |
/api/public/notes/{noteId}/trackables |
Autorización requerida |
GET |
/api/public/profiles/{userName}/notes/nearby |
Anónimo |
GET |
/api/public/teams/{teamName}/notes/nearby |
Anónimo |
POST |
/api/sync/pull |
Autorización requerida |
POST |
/api/sync/push |
Autorización requerida |
GET |
/api/system/beta-android |
Anónimo |
GET |
/api/system/coordinate-locality |
Anónimo |
GET |
/api/system/ip-location |
Anónimo |
GET |
/api/system/status |
Anónimo |
GET |
/api/teams |
Autorización requerida |
POST |
/api/teams |
Autorización requerida |
POST |
/api/teams/invite-links/{teamSlug}/{inviteCode}/join |
Autorización requerida |
DELETE |
/api/teams/{teamId} |
Autorización requerida |
GET |
/api/teams/{teamId}/categories |
Autorización requerida |
POST |
/api/teams/{teamId}/categories |
Autorización requerida |
GET |
/api/teams/{teamId}/categories/tree |
Autorización requerida |
GET |
/api/teams/{teamId}/categories/tree/children |
Autorización requerida |
GET |
/api/teams/{teamId}/categories/tree/sections |
Autorización requerida |
DELETE |
/api/teams/{teamId}/categories/{categoryId} |
Autorización requerida |
POST |
/api/teams/{teamId}/categories/{categoryId}/move |
Autorización requerida |
GET |
/api/teams/{teamId}/invite-links |
Autorización requerida |
POST |
/api/teams/{teamId}/invite-links |
Autorización requerida |
DELETE |
/api/teams/{teamId}/invite-links/{inviteLinkId} |
Autorización requerida |
GET |
/api/teams/{teamId}/locations/gpx |
Autorización requerida |
POST |
/api/teams/{teamId}/locations/gpx |
Autorización requerida |
POST |
/api/teams/{teamId}/memberships/invite |
Autorización requerida |
POST |
/api/teams/{teamId}/memberships/request |
Autorización requerida |
DELETE |
/api/teams/{teamId}/memberships/{membershipId} |
Autorización requerida |
POST |
/api/teams/{teamId}/memberships/{membershipId}/accept |
Autorización requerida |
POST |
/api/teams/{teamId}/memberships/{membershipId}/approve |
Autorización requerida |
POST |
/api/teams/{teamId}/memberships/{membershipId}/deny |
Autorización requerida |
POST |
/api/teams/{teamId}/memberships/{membershipId}/promote-admin |
Autorización requerida |
POST |
/api/teams/{teamId}/memberships/{membershipId}/refuse |
Autorización requerida |
GET |
/api/teams/{teamId}/notes |
Autorización requerida |
POST |
/api/teams/{teamId}/notes |
Autorización requerida |
GET |
/api/teams/{teamId}/notes/gpx |
Autorización requerida |
POST |
/api/teams/{teamId}/notes/gpx |
Autorización requerida |
DELETE |
/api/teams/{teamId}/notes/{noteId} |
Autorización requerida |
DELETE |
/api/teams/{teamId}/notes/{noteId}/delete |
Autorización requerida |
POST |
/api/teams/{teamId}/notes/{noteId}/move |
Autorización requerida |
PUT |
/api/teams/{teamId}/settings |
Autorización requerida |
POST |
/api/trackables |
Autorización requerida |
GET |
/api/trackables/active |
Anónimo |
GET |
/api/trackables/active-indicator |
Anónimo |
DELETE |
/api/trackables/active/{trackableId} |
Anónimo |
GET |
/api/trackables/active/{trackableId} |
Anónimo |
POST |
/api/trackables/active/{trackableId}/deactivate |
Anónimo |
POST |
/api/trackables/active/{trackableId}/message |
Anónimo |
POST |
/api/trackables/groups |
Autorización requerida |
DELETE |
/api/trackables/groups/{trackableGroupId}/watch |
Autorización requerida |
POST |
/api/trackables/groups/{trackableGroupId}/watch |
Autorización requerida |
POST |
/api/trackables/legacy-lookup |
Anónimo |
GET |
/api/trackables/lookup |
Anónimo |
POST |
/api/trackables/lookup |
Anónimo |
GET |
/api/trackables/mine |
Autorización requerida |
GET |
/api/trackables/public |
Anónimo |
GET |
/api/trackables/{trackableId} |
Anónimo |
POST |
/api/trackables/{trackableId}/activate |
Autorización requerida |
GET |
/api/trackables/{trackableId}/comments |
Anónimo |
POST |
/api/trackables/{trackableId}/comments |
Anónimo |
DELETE |
/api/trackables/{trackableId}/comments/{commentId} |
Autorización requerida |
PUT |
/api/trackables/{trackableId}/comments/{commentId} |
Autorización requerida |
DELETE |
/api/trackables/{trackableId}/group |
Autorización requerida |
POST |
/api/trackables/{trackableId}/group |
Autorización requerida |
GET |
/api/trackables/{trackableId}/journey |
Anónimo |
POST |
/api/trackables/{trackableId}/journey-stops |
Anónimo |
DELETE |
/api/trackables/{trackableId}/journey-stops/{journeyStopId} |
Autorización requerida |
POST |
/api/trackables/{trackableId}/notes |
Autorización requerida |
DELETE |
/api/trackables/{trackableId}/watch |
Autorización requerida |
POST |
/api/trackables/{trackableId}/watch |
Autorización requerida |
DELETE /api/account
Los clientes autenticados pueden eliminar permanentemente la cuenta actual y los datos personales sincronizados mediante la API. Lea primero la página Eliminar datos cuando necesite pasos de exportación o reglas de retención de rastreables compartidos.
curl -X DELETE "https://Geotrackable.com/api/account" \
-H "Authorization: Bearer <access token>"
Respuesta correcta
HTTP 200 devuelve los recuentos de eliminación después de borrar permanentemente la cuenta que inició sesión y los datos personales aptos. Una respuesta correcta cierra la sesión actual.
Errores comunes y recuperación
401 requiere un token bearer válido. 400 explica por qué no puede completarse la eliminación. Eliminar una cuenta es destructivo: no reintente automáticamente después de un tiempo de espera cuyo resultado se desconoce; compruebe primero el estado de inicio de sesión.
GET /api/auth/confirmEmail
Complete la confirmación del correo electrónico con el ID de usuario y el código de confirmación codificado para URL del enlace de confirmación.
curl "https://Geotrackable.com/api/auth/confirmEmail?userId=13a2c0b1-582f-4a7b-92aa-16922f7bdb63&code=URL_ENCODED_CONFIRMATION_CODE"
Respuesta correcta
HTTP 200 significa que la operación de identidad se completó. Lea la carga de identidad devuelta cuando la operación proporcione una; las operaciones de contraseña y confirmación pueden devolver intencionalmente un cuerpo de éxito vacío.
Errores comunes y recuperación
400 incluye orientación sobre la validación de identidad por campo; 401 significa que el token bearer o las credenciales no se pueden usar. Siga action y no reintente en bucle con credenciales sin cambios.
POST /api/auth/forgotPassword
Inicie un flujo de recuperación o confirmación de cuenta basado en correo electrónico. La respuesta no revela deliberadamente si existe la dirección de correo electrónico.
curl -X POST "https://Geotrackable.com/api/auth/forgotPassword" \
-H "Content-Type: application/json" \
-d '{ "email": "api-user@example.com" }'
Respuesta correcta
HTTP 200 significa que la operación de identidad se completó. Lea la carga de identidad devuelta cuando la operación proporcione una; las operaciones de contraseña y confirmación pueden devolver intencionalmente un cuerpo de éxito vacío.
Errores comunes y recuperación
400 incluye orientación sobre la validación de identidad por campo; 401 significa que el token bearer o las credenciales no se pueden usar. Siga action y no reintente en bucle con credenciales sin cambios.
POST /api/auth/login
Canjee las credenciales de la cuenta local y, cuando se requiera, un valor de dos factores por tokens bearer y de actualización. Los clientes de API deben mantener las cookies desactivadas.
curl -X POST "https://Geotrackable.com/api/auth/login?useCookies=false&useSessionCookies=false" \
-H "Content-Type: application/json" \
-d '{ "email": "api-user@example.com", "password": "Use-a-strong-password-123!" }'
Respuesta correcta
HTTP 200 devuelve tokenType, accessToken, los datos de vencimiento y el resumen del usuario que inició sesión. Almacene las credenciales en un almacenamiento seguro de la plataforma y nunca las registre.
Errores comunes y recuperación
400 abarca JSON malformado o campos faltantes. 401 authentication_failed no revela deliberadamente si el correo electrónico existe; verifique las credenciales o use el proceso de restablecimiento de contraseña antes de reintentar. Una respuesta 401 two_factor_required mantiene requiresTwoFactor en true e indica al cliente que repita el inicio de sesión con twoFactorCode o twoFactorRecoveryCode.
POST /api/auth/manage/2fa
Active, desactive, restablezca o inspeccione la autenticación de dos factores de la cuenta que inició sesión. Los valores del autenticador y de recuperación son credenciales confidenciales.
curl -X POST "https://Geotrackable.com/api/auth/manage/2fa" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{ "enable": true, "twoFactorCode": "123456", "resetSharedKey": false, "resetRecoveryCodes": false, "forgetMachine": false }'
Respuesta correcta
HTTP 200 significa que la operación de identidad se completó. Lea la carga de identidad devuelta cuando la operación proporcione una; las operaciones de contraseña y confirmación pueden devolver intencionalmente un cuerpo de éxito vacío.
Errores comunes y recuperación
400 incluye orientación sobre la validación de identidad por campo; 401 significa que el token bearer o las credenciales no se pueden usar. Siga action y no reintente en bucle con credenciales sin cambios.
GET /api/auth/manage/info
Lea el correo electrónico y el estado de confirmación de la cuenta que inició sesión, o actualice el correo electrónico o la contraseña con la contraseña actual cuando se requiera.
curl "https://Geotrackable.com/api/auth/manage/info" \
-H "Authorization: Bearer <access token>"
Respuesta correcta
HTTP 200 significa que la operación de identidad se completó. Lea la carga de identidad devuelta cuando la operación proporcione una; las operaciones de contraseña y confirmación pueden devolver intencionalmente un cuerpo de éxito vacío.
Errores comunes y recuperación
400 incluye orientación sobre la validación de identidad por campo; 401 significa que el token bearer o las credenciales no se pueden usar. Siga action y no reintente en bucle con credenciales sin cambios.
POST /api/auth/manage/info
Lea el correo electrónico y el estado de confirmación de la cuenta que inició sesión, o actualice el correo electrónico o la contraseña con la contraseña actual cuando se requiera.
curl -X POST "https://Geotrackable.com/api/auth/manage/info" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{ "newEmail": "new-api-user@example.com", "oldPassword": "Use-a-strong-password-123!" }'
Respuesta correcta
HTTP 200 significa que la operación de identidad se completó. Lea la carga de identidad devuelta cuando la operación proporcione una; las operaciones de contraseña y confirmación pueden devolver intencionalmente un cuerpo de éxito vacío.
Errores comunes y recuperación
400 incluye orientación sobre la validación de identidad por campo; 401 significa que el token bearer o las credenciales no se pueden usar. Siga action y no reintente en bucle con credenciales sin cambios.
POST /api/auth/refresh
Canjee un token de actualización que aún se pueda usar por una nueva respuesta de token de acceso sin volver a enviar la contraseña de la cuenta.
curl -X POST "https://Geotrackable.com/api/auth/refresh" \
-H "Content-Type: application/json" \
-d '{ "refreshToken": "<refresh token from login>" }'
Respuesta correcta
HTTP 200 significa que la operación de identidad se completó. Lea la carga de identidad devuelta cuando la operación proporcione una; las operaciones de contraseña y confirmación pueden devolver intencionalmente un cuerpo de éxito vacío.
Errores comunes y recuperación
400 incluye orientación sobre la validación de identidad por campo; 401 significa que el token bearer o las credenciales no se pueden usar. Siga action y no reintente en bucle con credenciales sin cambios.
POST /api/auth/register
Cree una cuenta local con una dirección de correo electrónico, un nombre de usuario público y una contraseña segura. El registro no devuelve un token bearer; inicie sesión a continuación.
curl -X POST "https://Geotrackable.com/api/auth/register" \
-H "Content-Type: application/json" \
-d '{ "email": "api-user@example.com", "userName": "api_trail_user", "password": "Use-a-strong-password-123!" }'
Respuesta correcta
HTTP 200 significa que se creó la cuenta local. La respuesta no contiene un token bearer; llame a continuación a la ruta de inicio de sesión.
Errores comunes y recuperación
400 validation_failed identifica JSON malformado o errores en los campos email, password y userName. Corrija los errores enumerados; los valores duplicados requieren otro correo electrónico o nombre de usuario público.
POST /api/auth/resendConfirmationEmail
Inicie un flujo de recuperación o confirmación de cuenta basado en correo electrónico. La respuesta no revela deliberadamente si existe la dirección de correo electrónico.
curl -X POST "https://Geotrackable.com/api/auth/resendConfirmationEmail" \
-H "Content-Type: application/json" \
-d '{ "email": "api-user@example.com" }'
Respuesta correcta
HTTP 200 significa que la operación de identidad se completó. Lea la carga de identidad devuelta cuando la operación proporcione una; las operaciones de contraseña y confirmación pueden devolver intencionalmente un cuerpo de éxito vacío.
Errores comunes y recuperación
400 incluye orientación sobre la validación de identidad por campo; 401 significa que el token bearer o las credenciales no se pueden usar. Siga action y no reintente en bucle con credenciales sin cambios.
POST /api/auth/resetPassword
Complete la recuperación de contraseña con el código de restablecimiento exacto del correo electrónico y una contraseña segura nueva. Los códigos de restablecimiento son credenciales y no deben registrarse.
curl -X POST "https://Geotrackable.com/api/auth/resetPassword" \
-H "Content-Type: application/json" \
-d '{ "email": "api-user@example.com", "resetCode": "URL_ENCODED_RESET_CODE", "newPassword": "Use-a-new-strong-password-456!" }'
Respuesta correcta
HTTP 200 significa que la operación de identidad se completó. Lea la carga de identidad devuelta cuando la operación proporcione una; las operaciones de contraseña y confirmación pueden devolver intencionalmente un cuerpo de éxito vacío.
Errores comunes y recuperación
400 incluye orientación sobre la validación de identidad por campo; 401 significa que el token bearer o las credenciales no se pueden usar. Siga action y no reintente en bucle con credenciales sin cambios.
GET /api/categories/mine
Las lecturas públicas del mapa son anónimas; las escrituras de ubicaciones y categorías personales requieren autenticación bearer.
curl "https://Geotrackable.com/api/categories/mine" \
-H "Authorization: Bearer <access token>"
Respuesta correcta
HTTP 200 devuelve la lista de categorías personales, el árbol de administración, las secciones o los elementos secundarios solicitados. Las ramas vacías son resultados correctos.
Errores comunes y recuperación
400 identifica reglas de campos, jerarquía, límites, GPX, traslado o eliminación; 401 requiere un token; 403 requiere propiedad; 404 significa que debe actualizar el estado del espacio de trabajo personal. Las cargas también pueden devolver 413 o 415.
POST /api/categories/mine
Las lecturas públicas del mapa son anónimas; las escrituras de ubicaciones y categorías personales requieren autenticación bearer.
curl -X POST "https://Geotrackable.com/api/categories/mine" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{ "name": "Trail research", "contentLanguage": "en-US", "parentCategoryId": null }'
Respuesta correcta
HTTP 200 devuelve la categoría creada o trasladada, o confirma la eliminación una vez satisfechas las reglas sobre descendientes.
Errores comunes y recuperación
400 identifica reglas de campos, jerarquía, límites, GPX, traslado o eliminación; 401 requiere un token; 403 requiere propiedad; 404 significa que debe actualizar el estado del espacio de trabajo personal. Las cargas también pueden devolver 413 o 415.
GET /api/categories/mine/tree
Las lecturas públicas del mapa son anónimas; las escrituras de ubicaciones y categorías personales requieren autenticación bearer.
curl "https://Geotrackable.com/api/categories/mine/tree" \
-H "Authorization: Bearer <access token>"
Respuesta correcta
HTTP 200 devuelve la lista de categorías personales, el árbol de administración, las secciones o los elementos secundarios solicitados. Las ramas vacías son resultados correctos.
Errores comunes y recuperación
400 identifica reglas de campos, jerarquía, límites, GPX, traslado o eliminación; 401 requiere un token; 403 requiere propiedad; 404 significa que debe actualizar el estado del espacio de trabajo personal. Las cargas también pueden devolver 413 o 415.
GET /api/categories/mine/tree/children
Las lecturas públicas del mapa son anónimas; las escrituras de ubicaciones y categorías personales requieren autenticación bearer.
curl "https://Geotrackable.com/api/categories/mine/tree/children" \
-H "Authorization: Bearer <access token>"
Respuesta correcta
HTTP 200 devuelve la lista de categorías personales, el árbol de administración, las secciones o los elementos secundarios solicitados. Las ramas vacías son resultados correctos.
Errores comunes y recuperación
400 identifica reglas de campos, jerarquía, límites, GPX, traslado o eliminación; 401 requiere un token; 403 requiere propiedad; 404 significa que debe actualizar el estado del espacio de trabajo personal. Las cargas también pueden devolver 413 o 415.
GET /api/categories/mine/tree/sections
Las lecturas públicas del mapa son anónimas; las escrituras de ubicaciones y categorías personales requieren autenticación bearer.
curl "https://Geotrackable.com/api/categories/mine/tree/sections" \
-H "Authorization: Bearer <access token>"
Respuesta correcta
HTTP 200 devuelve la lista de categorías personales, el árbol de administración, las secciones o los elementos secundarios solicitados. Las ramas vacías son resultados correctos.
Errores comunes y recuperación
400 identifica reglas de campos, jerarquía, límites, GPX, traslado o eliminación; 401 requiere un token; 403 requiere propiedad; 404 significa que debe actualizar el estado del espacio de trabajo personal. Las cargas también pueden devolver 413 o 415.
DELETE /api/categories/mine/{categoryId}
Las lecturas públicas del mapa son anónimas; las escrituras de ubicaciones y categorías personales requieren autenticación bearer.
curl -X DELETE "https://Geotrackable.com/api/categories/mine/13a2c0b1-582f-4a7b-92aa-16922f7bdb63" \
-H "Authorization: Bearer <access token>"
Respuesta correcta
HTTP 200 devuelve la categoría creada o trasladada, o confirma la eliminación una vez satisfechas las reglas sobre descendientes.
Errores comunes y recuperación
400 identifica reglas de campos, jerarquía, límites, GPX, traslado o eliminación; 401 requiere un token; 403 requiere propiedad; 404 significa que debe actualizar el estado del espacio de trabajo personal. Las cargas también pueden devolver 413 o 415.
POST /api/categories/mine/{categoryId}/move
Las lecturas públicas del mapa son anónimas; las escrituras de ubicaciones y categorías personales requieren autenticación bearer.
curl -X POST "https://Geotrackable.com/api/categories/mine/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/move" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{ "parentCategoryId": null }'
Respuesta correcta
HTTP 200 devuelve la categoría creada o trasladada, o confirma la eliminación una vez satisfechas las reglas sobre descendientes.
Errores comunes y recuperación
400 identifica reglas de campos, jerarquía, límites, GPX, traslado o eliminación; 401 requiere un token; 403 requiere propiedad; 404 significa que debe actualizar el estado del espacio de trabajo personal. Las cargas también pueden devolver 413 o 415.
POST /api/compliance/errors
Las rutas de medios y soporte siguen la visibilidad de la página o del contenido al que están asociadas.
curl -X POST "https://Geotrackable.com/api/compliance/errors" \
-H "Content-Type: application/json" \
-d '{ "requestUrl": "/api/example", "httpMethod": "POST", "responseStatusCode": 500, "traceIdentifier": "0HN7EXAMPLE:00000004", "userExplanation": "The save failed after the map was updated." }'
Respuesta correcta
HTTP 200 o 201 devuelve un comprobante del ticket de error. HTTP 200 significa que la solicitud se adjuntó a un ticket existente; HTTP 201 significa que se creó un ticket nuevo.
Errores comunes y recuperación
400 explica que falta contexto del informe o que el estado del flujo de trabajo no es válido; 401 protege las listas personales y de administradores; 403 requiere el rol adecuado de informante o SuperAdmin; 404 significa que debe conservar el ID, pero actualizar la lista de informes.
GET /api/compliance/reports
Las rutas de medios y soporte siguen la visibilidad de la página o del contenido al que están asociadas.
curl "https://Geotrackable.com/api/compliance/reports" \
-H "Authorization: Bearer <access token>"
Respuesta correcta
HTTP 200 devuelve el informe o la colección de informes visibles para el informante que inició sesión o un administrador autorizado.
Errores comunes y recuperación
400 explica que falta contexto del informe o que el estado del flujo de trabajo no es válido; 401 protege las listas personales y de administradores; 403 requiere el rol adecuado de informante o SuperAdmin; 404 significa que debe conservar el ID, pero actualizar la lista de informes.
POST /api/compliance/reports
Las rutas de medios y soporte siguen la visibilidad de la página o del contenido al que están asociadas.
curl -X POST "https://Geotrackable.com/api/compliance/reports" \
-H "Content-Type: application/json" \
-d '{ "pageType": "Trackable", "contentType": "Trackable", "pageTitle": "Scout trail coin", "pageUrl": "/trackable/GT-EXAMPLE", "reportTitle": "Outdated public link", "reportExplanation": "The destination is no longer related to this trackable." }'
Respuesta correcta
HTTP 201 devuelve el comprobante del informe de contenido y el identificador del informe para el seguimiento posterior.
Errores comunes y recuperación
400 explica que falta contexto del informe o que el estado del flujo de trabajo no es válido; 401 protege las listas personales y de administradores; 403 requiere el rol adecuado de informante o SuperAdmin; 404 significa que debe conservar el ID, pero actualizar la lista de informes.
GET /api/compliance/reports/mine
Las rutas de medios y soporte siguen la visibilidad de la página o del contenido al que están asociadas.
curl "https://Geotrackable.com/api/compliance/reports/mine" \
-H "Authorization: Bearer <access token>"
Respuesta correcta
HTTP 200 devuelve el informe o la colección de informes visibles para el informante que inició sesión o un administrador autorizado.
Errores comunes y recuperación
400 explica que falta contexto del informe o que el estado del flujo de trabajo no es válido; 401 protege las listas personales y de administradores; 403 requiere el rol adecuado de informante o SuperAdmin; 404 significa que debe conservar el ID, pero actualizar la lista de informes.
GET /api/compliance/reports/{contentReportId}
Las rutas de medios y soporte siguen la visibilidad de la página o del contenido al que están asociadas.
curl "https://Geotrackable.com/api/compliance/reports/13a2c0b1-582f-4a7b-92aa-16922f7bdb63" \
-H "Authorization: Bearer <access token>"
Respuesta correcta
HTTP 200 devuelve el informe o la colección de informes visibles para el informante que inició sesión o un administrador autorizado.
Errores comunes y recuperación
400 explica que falta contexto del informe o que el estado del flujo de trabajo no es válido; 401 protege las listas personales y de administradores; 403 requiere el rol adecuado de informante o SuperAdmin; 404 significa que debe conservar el ID, pero actualizar la lista de informes.
PUT /api/compliance/reports/{contentReportId}
Las rutas de medios y soporte siguen la visibilidad de la página o del contenido al que están asociadas.
# Request-body placeholder: replace {} with the fields required by this route before sending.
curl -X PUT "https://Geotrackable.com/api/compliance/reports/13a2c0b1-582f-4a7b-92aa-16922f7bdb63" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{}'
Respuesta correcta
HTTP 200 devuelve el informe o la colección de informes visibles para el informante que inició sesión o un administrador autorizado.
Errores comunes y recuperación
400 explica que falta contexto del informe o que el estado del flujo de trabajo no es válido; 401 protege las listas personales y de administradores; 403 requiere el rol adecuado de informante o SuperAdmin; 404 significa que debe conservar el ID, pero actualizar la lista de informes.
POST /api/external-links/verify
Las rutas de medios y soporte siguen la visibilidad de la página o del contenido al que están asociadas.
curl -X POST "https://Geotrackable.com/api/external-links/verify" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{ "url": "https://example.com/resource" }'
Respuesta correcta
HTTP 200 devuelve el destino normalizado, el título de página verificado y metadatos seguros que el editor puede usar antes de guardar el enlace.
Errores comunes y recuperación
400 incluye detail, action, supportUrl y upstreamStatusCode cuando están disponibles. Corrija los destinos bloqueados, de red privada, malformados, inaccesibles o no compatibles antes de reintentar la verificación.
GET /api/images/notes/{noteId}
Las rutas de medios y soporte siguen la visibilidad de la página o del contenido al que están asociadas.
curl "https://Geotrackable.com/api/images/notes/13a2c0b1-582f-4a7b-92aa-16922f7bdb63"
Respuesta correcta
HTTP 200 devuelve los metadatos visibles de las imágenes administradas de ese perfil, nota, equipo, rastreable o grupo; una matriz vacía es válida.
Errores comunes y recuperación
400 image_variant_invalid enumera las variantes de descarga compatibles y otras respuestas 400 explican las restricciones de revisión; 401/403 requieren un contexto válido de propietario o administrador de equipo; 404 significa que el contenido no existe o no es visible; 500 image_variant_unavailable significa que existen metadatos, pero no se pudo servir la variante almacenada. 413 requiere menos archivos o archivos más pequeños; 415 requiere multipart/form-data para las cargas.
POST /api/images/notes/{noteId}
Las rutas de medios y soporte siguen la visibilidad de la página o del contenido al que están asociadas.
curl -X POST "https://Geotrackable.com/api/images/notes/13a2c0b1-582f-4a7b-92aa-16922f7bdb63" \
-H "Authorization: Bearer <access token>" \
-F "files=@example.jpg"
Respuesta correcta
HTTP 200 devuelve metadatos de imágenes administradas y direcciones URL después de la revisión y el procesamiento de variantes JPEG. Use las URL devueltas en vez de suponer que se conserva el nombre de archivo original.
Errores comunes y recuperación
400 image_variant_invalid enumera las variantes de descarga compatibles y otras respuestas 400 explican las restricciones de revisión; 401/403 requieren un contexto válido de propietario o administrador de equipo; 404 significa que el contenido no existe o no es visible; 500 image_variant_unavailable significa que existen metadatos, pero no se pudo servir la variante almacenada. 413 requiere menos archivos o archivos más pequeños; 415 requiere multipart/form-data para las cargas.
POST /api/images/profiles
Las rutas de medios y soporte siguen la visibilidad de la página o del contenido al que están asociadas.
curl -X POST "https://Geotrackable.com/api/images/profiles" \
-H "Authorization: Bearer <access token>" \
-F "files=@example.jpg"
Respuesta correcta
HTTP 200 devuelve metadatos de imágenes administradas y direcciones URL después de la revisión y el procesamiento de variantes JPEG. Use las URL devueltas en vez de suponer que se conserva el nombre de archivo original.
Errores comunes y recuperación
400 image_variant_invalid enumera las variantes de descarga compatibles y otras respuestas 400 explican las restricciones de revisión; 401/403 requieren un contexto válido de propietario o administrador de equipo; 404 significa que el contenido no existe o no es visible; 500 image_variant_unavailable significa que existen metadatos, pero no se pudo servir la variante almacenada. 413 requiere menos archivos o archivos más pequeños; 415 requiere multipart/form-data para las cargas.
GET /api/images/profiles/{userId}
Las rutas de medios y soporte siguen la visibilidad de la página o del contenido al que están asociadas.
curl "https://Geotrackable.com/api/images/profiles/13a2c0b1-582f-4a7b-92aa-16922f7bdb63"
Respuesta correcta
HTTP 200 devuelve los metadatos visibles de las imágenes administradas de ese perfil, nota, equipo, rastreable o grupo; una matriz vacía es válida.
Errores comunes y recuperación
400 image_variant_invalid enumera las variantes de descarga compatibles y otras respuestas 400 explican las restricciones de revisión; 401/403 requieren un contexto válido de propietario o administrador de equipo; 404 significa que el contenido no existe o no es visible; 500 image_variant_unavailable significa que existen metadatos, pero no se pudo servir la variante almacenada. 413 requiere menos archivos o archivos más pequeños; 415 requiere multipart/form-data para las cargas.
GET /api/images/teams/{teamId}
Las rutas de medios y soporte siguen la visibilidad de la página o del contenido al que están asociadas.
curl "https://Geotrackable.com/api/images/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63"
Respuesta correcta
HTTP 200 devuelve los metadatos visibles de las imágenes administradas de ese perfil, nota, equipo, rastreable o grupo; una matriz vacía es válida.
Errores comunes y recuperación
400 image_variant_invalid enumera las variantes de descarga compatibles y otras respuestas 400 explican las restricciones de revisión; 401/403 requieren un contexto válido de propietario o administrador de equipo; 404 significa que el contenido no existe o no es visible; 500 image_variant_unavailable significa que existen metadatos, pero no se pudo servir la variante almacenada. 413 requiere menos archivos o archivos más pequeños; 415 requiere multipart/form-data para las cargas.
POST /api/images/teams/{teamId}
Las rutas de medios y soporte siguen la visibilidad de la página o del contenido al que están asociadas.
curl -X POST "https://Geotrackable.com/api/images/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63" \
-H "Authorization: Bearer <access token>" \
-F "files=@example.jpg"
Respuesta correcta
HTTP 200 devuelve metadatos de imágenes administradas y direcciones URL después de la revisión y el procesamiento de variantes JPEG. Use las URL devueltas en vez de suponer que se conserva el nombre de archivo original.
Errores comunes y recuperación
400 image_variant_invalid enumera las variantes de descarga compatibles y otras respuestas 400 explican las restricciones de revisión; 401/403 requieren un contexto válido de propietario o administrador de equipo; 404 significa que el contenido no existe o no es visible; 500 image_variant_unavailable significa que existen metadatos, pero no se pudo servir la variante almacenada. 413 requiere menos archivos o archivos más pequeños; 415 requiere multipart/form-data para las cargas.
GET /api/images/trackable-groups/{trackableGroupId}
Las rutas de medios y soporte siguen la visibilidad de la página o del contenido al que están asociadas.
curl "https://Geotrackable.com/api/images/trackable-groups/13a2c0b1-582f-4a7b-92aa-16922f7bdb63"
Respuesta correcta
HTTP 200 devuelve los metadatos visibles de las imágenes administradas de ese perfil, nota, equipo, rastreable o grupo; una matriz vacía es válida.
Errores comunes y recuperación
400 image_variant_invalid enumera las variantes de descarga compatibles y otras respuestas 400 explican las restricciones de revisión; 401/403 requieren un contexto válido de propietario o administrador de equipo; 404 significa que el contenido no existe o no es visible; 500 image_variant_unavailable significa que existen metadatos, pero no se pudo servir la variante almacenada. 413 requiere menos archivos o archivos más pequeños; 415 requiere multipart/form-data para las cargas.
POST /api/images/trackable-groups/{trackableGroupId}
Las rutas de medios y soporte siguen la visibilidad de la página o del contenido al que están asociadas.
curl -X POST "https://Geotrackable.com/api/images/trackable-groups/13a2c0b1-582f-4a7b-92aa-16922f7bdb63" \
-H "Authorization: Bearer <access token>" \
-F "files=@example.jpg"
Respuesta correcta
HTTP 200 devuelve metadatos de imágenes administradas y direcciones URL después de la revisión y el procesamiento de variantes JPEG. Use las URL devueltas en vez de suponer que se conserva el nombre de archivo original.
Errores comunes y recuperación
400 image_variant_invalid enumera las variantes de descarga compatibles y otras respuestas 400 explican las restricciones de revisión; 401/403 requieren un contexto válido de propietario o administrador de equipo; 404 significa que el contenido no existe o no es visible; 500 image_variant_unavailable significa que existen metadatos, pero no se pudo servir la variante almacenada. 413 requiere menos archivos o archivos más pequeños; 415 requiere multipart/form-data para las cargas.
GET /api/images/trackables/{trackableId}
Las rutas de medios y soporte siguen la visibilidad de la página o del contenido al que están asociadas.
curl "https://Geotrackable.com/api/images/trackables/13a2c0b1-582f-4a7b-92aa-16922f7bdb63"
Respuesta correcta
HTTP 200 devuelve los metadatos visibles de las imágenes administradas de ese perfil, nota, equipo, rastreable o grupo; una matriz vacía es válida.
Errores comunes y recuperación
400 image_variant_invalid enumera las variantes de descarga compatibles y otras respuestas 400 explican las restricciones de revisión; 401/403 requieren un contexto válido de propietario o administrador de equipo; 404 significa que el contenido no existe o no es visible; 500 image_variant_unavailable significa que existen metadatos, pero no se pudo servir la variante almacenada. 413 requiere menos archivos o archivos más pequeños; 415 requiere multipart/form-data para las cargas.
POST /api/images/trackables/{trackableId}
Las rutas de medios y soporte siguen la visibilidad de la página o del contenido al que están asociadas.
curl -X POST "https://Geotrackable.com/api/images/trackables/13a2c0b1-582f-4a7b-92aa-16922f7bdb63" \
-H "Authorization: Bearer <access token>" \
-F "files=@example.jpg"
Respuesta correcta
HTTP 200 devuelve metadatos de imágenes administradas y direcciones URL después de la revisión y el procesamiento de variantes JPEG. Use las URL devueltas en vez de suponer que se conserva el nombre de archivo original.
Errores comunes y recuperación
400 image_variant_invalid enumera las variantes de descarga compatibles y otras respuestas 400 explican las restricciones de revisión; 401/403 requieren un contexto válido de propietario o administrador de equipo; 404 significa que el contenido no existe o no es visible; 500 image_variant_unavailable significa que existen metadatos, pero no se pudo servir la variante almacenada. 413 requiere menos archivos o archivos más pequeños; 415 requiere multipart/form-data para las cargas.
DELETE /api/images/{contentImageId}
Las rutas de medios y soporte siguen la visibilidad de la página o del contenido al que están asociadas.
curl -X DELETE "https://Geotrackable.com/api/images/13a2c0b1-582f-4a7b-92aa-16922f7bdb63" \
-H "Authorization: Bearer <access token>"
Respuesta correcta
HTTP 204 confirma que se eliminaron la imagen y sus variantes administradas; no hay cuerpo de respuesta.
Errores comunes y recuperación
400 image_variant_invalid enumera las variantes de descarga compatibles y otras respuestas 400 explican las restricciones de revisión; 401/403 requieren un contexto válido de propietario o administrador de equipo; 404 significa que el contenido no existe o no es visible; 500 image_variant_unavailable significa que existen metadatos, pero no se pudo servir la variante almacenada. 413 requiere menos archivos o archivos más pequeños; 415 requiere multipart/form-data para las cargas.
GET /api/images/{contentImageId}/{variant}
Las rutas de medios y soporte siguen la visibilidad de la página o del contenido al que están asociadas.
curl "https://Geotrackable.com/api/images/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/thumbnail"
Respuesta correcta
HTTP 200 transmite la variante JPEG visible solicitada con un tipo de contenido de imagen.
Errores comunes y recuperación
400 image_variant_invalid enumera las variantes de descarga compatibles y otras respuestas 400 explican las restricciones de revisión; 401/403 requieren un contexto válido de propietario o administrador de equipo; 404 significa que el contenido no existe o no es visible; 500 image_variant_unavailable significa que existen metadatos, pero no se pudo servir la variante almacenada. 413 requiere menos archivos o archivos más pequeños; 415 requiere multipart/form-data para las cargas.
GET /api/locations/mine/gpx
Las lecturas públicas del mapa son anónimas; las escrituras de ubicaciones y categorías personales requieren autenticación bearer.
curl "https://Geotrackable.com/api/locations/mine/gpx" \
-H "Authorization: Bearer <access token>"
Respuesta correcta
HTTP 200 descarga un GPX con los waypoints mapeados aptos de este ámbito.
Errores comunes y recuperación
400 identifica reglas de campos, jerarquía, límites, GPX, traslado o eliminación; 401 requiere un token; 403 requiere propiedad; 404 significa que debe actualizar el estado del espacio de trabajo personal. Las cargas también pueden devolver 413 o 415.
POST /api/locations/mine/gpx
Las lecturas públicas del mapa son anónimas; las escrituras de ubicaciones y categorías personales requieren autenticación bearer.
curl -X POST "https://Geotrackable.com/api/locations/mine/gpx" \
-H "Authorization: Bearer <access token>" \
-F "file=@waypoints.gpx"
Respuesta correcta
HTTP 200 devuelve los recuentos de importación y los resultados por elemento después de procesar el archivo GPX de waypoints.
Errores comunes y recuperación
400 identifica reglas de campos, jerarquía, límites, GPX, traslado o eliminación; 401 requiere un token; 403 requiere propiedad; 404 significa que debe actualizar el estado del espacio de trabajo personal. Las cargas también pueden devolver 413 o 415.
GET /api/notes/mine
Enumere las ubicaciones personales o cree una ubicación personal normal que no se asocie automáticamente con un rastreable.
curl "https://Geotrackable.com/api/notes/mine" \
-H "Authorization: Bearer <access token>"
Respuesta correcta
HTTP 200 devuelve la nota, el comentario, el archivo adjunto o el resultado de mapa visibles. Las colecciones vacías son resultados correctos; si falta un recurso único se devuelve 404.
Errores comunes y recuperación
400 identifica reglas de campos, jerarquía, límites, GPX, traslado o eliminación; 401 requiere un token; 403 requiere propiedad; 404 significa que debe actualizar el estado del espacio de trabajo personal. Las cargas también pueden devolver 413 o 415.
POST /api/notes/mine
Enumere las ubicaciones personales o cree una ubicación personal normal que no se asocie automáticamente con un rastreable.
curl -X POST "https://Geotrackable.com/api/notes/mine" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{ "title": "Trailhead", "body": "Parking and route notes.", "contentLanguage": "en-US", "latitude": 41.8818, "longitude": -87.6231, "visibility": "Private" }'
Respuesta correcta
HTTP 200 devuelve la nota, el comentario, el archivo adjunto o el resultado del traslado guardados, o una confirmación de eliminación para el ámbito solicitado.
Errores comunes y recuperación
400 identifica reglas de campos, jerarquía, límites, GPX, traslado o eliminación; 401 requiere un token; 403 requiere propiedad; 404 significa que debe actualizar el estado del espacio de trabajo personal. Las cargas también pueden devolver 413 o 415.
GET /api/notes/mine/gpx
Las lecturas públicas del mapa son anónimas; las escrituras de ubicaciones y categorías personales requieren autenticación bearer.
curl "https://Geotrackable.com/api/notes/mine/gpx" \
-H "Authorization: Bearer <access token>"
Respuesta correcta
HTTP 200 descarga un GPX con los waypoints mapeados aptos de este ámbito.
Errores comunes y recuperación
400 identifica reglas de campos, jerarquía, límites, GPX, traslado o eliminación; 401 requiere un token; 403 requiere propiedad; 404 significa que debe actualizar el estado del espacio de trabajo personal. Las cargas también pueden devolver 413 o 415.
POST /api/notes/mine/gpx
Las lecturas públicas del mapa son anónimas; las escrituras de ubicaciones y categorías personales requieren autenticación bearer.
curl -X POST "https://Geotrackable.com/api/notes/mine/gpx" \
-H "Authorization: Bearer <access token>" \
-F "file=@waypoints.gpx"
Respuesta correcta
HTTP 200 devuelve los recuentos de importación y los resultados por elemento después de procesar el archivo GPX de waypoints.
Errores comunes y recuperación
400 identifica reglas de campos, jerarquía, límites, GPX, traslado o eliminación; 401 requiere un token; 403 requiere propiedad; 404 significa que debe actualizar el estado del espacio de trabajo personal. Las cargas también pueden devolver 413 o 415.
DELETE /api/notes/mine/{noteId}
Las lecturas públicas del mapa son anónimas; las escrituras de ubicaciones y categorías personales requieren autenticación bearer.
curl -X DELETE "https://Geotrackable.com/api/notes/mine/13a2c0b1-582f-4a7b-92aa-16922f7bdb63" \
-H "Authorization: Bearer <access token>"
Respuesta correcta
HTTP 200 devuelve la nota, el comentario, el archivo adjunto o el resultado del traslado guardados, o una confirmación de eliminación para el ámbito solicitado.
Errores comunes y recuperación
400 identifica reglas de campos, jerarquía, límites, GPX, traslado o eliminación; 401 requiere un token; 403 requiere propiedad; 404 significa que debe actualizar el estado del espacio de trabajo personal. Las cargas también pueden devolver 413 o 415.
POST /api/notes/mine/{noteId}/move
Las lecturas públicas del mapa son anónimas; las escrituras de ubicaciones y categorías personales requieren autenticación bearer.
# Request-body placeholder: replace {} with the fields required by this route before sending.
curl -X POST "https://Geotrackable.com/api/notes/mine/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/move" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{}'
Respuesta correcta
HTTP 200 devuelve la nota, el comentario, el archivo adjunto o el resultado del traslado guardados, o una confirmación de eliminación para el ámbito solicitado.
Errores comunes y recuperación
400 identifica reglas de campos, jerarquía, límites, GPX, traslado o eliminación; 401 requiere un token; 403 requiere propiedad; 404 significa que debe actualizar el estado del espacio de trabajo personal. Las cargas también pueden devolver 413 o 415.
GET /api/notes/public/bounds
Las lecturas públicas del mapa son anónimas; las escrituras de ubicaciones y categorías personales requieren autenticación bearer.
curl "https://Geotrackable.com/api/notes/public/bounds?minLatitude=41.78&minLongitude=-87.75&maxLatitude=41.96&maxLongitude=-87.54&contentLanguage=en-US"
Respuesta correcta
HTTP 200 devuelve la nota, el comentario, el archivo adjunto o el resultado de mapa visibles. Las colecciones vacías son resultados correctos; si falta un recurso único se devuelve 404.
Errores comunes y recuperación
400 identifica límites incompletos, rangos de coordenadas no válidos o datos no válidos de comentarios o adjuntos; 403 protege las escrituras restringidas; 404 puede ocultar una página privada o inexistente. Corrija la consulta según indiquen errors y action.
GET /api/notes/public/nearby
Las lecturas públicas del mapa son anónimas; las escrituras de ubicaciones y categorías personales requieren autenticación bearer.
curl "https://Geotrackable.com/api/notes/public/nearby?latitude=41.8818&longitude=-87.6231&radiusKm=8&contentLanguage=en-US"
Respuesta correcta
HTTP 200 devuelve la nota, el comentario, el archivo adjunto o el resultado de mapa visibles. Las colecciones vacías son resultados correctos; si falta un recurso único se devuelve 404.
Errores comunes y recuperación
400 identifica límites incompletos, rangos de coordenadas no válidos o datos no válidos de comentarios o adjuntos; 403 protege las escrituras restringidas; 404 puede ocultar una página privada o inexistente. Corrija la consulta según indiquen errors y action.
GET /api/public/notes/{noteId}
Las lecturas públicas del mapa son anónimas; las escrituras de ubicaciones y categorías personales requieren autenticación bearer.
curl "https://Geotrackable.com/api/public/notes/13a2c0b1-582f-4a7b-92aa-16922f7bdb63"
Respuesta correcta
HTTP 200 devuelve la nota, el comentario, el archivo adjunto o el resultado de mapa visibles. Las colecciones vacías son resultados correctos; si falta un recurso único se devuelve 404.
Errores comunes y recuperación
400 identifica límites incompletos, rangos de coordenadas no válidos o datos no válidos de comentarios o adjuntos; 403 protege las escrituras restringidas; 404 puede ocultar una página privada o inexistente. Corrija la consulta según indiquen errors y action.
GET /api/public/notes/{noteId}/comments
Las lecturas públicas del mapa son anónimas; las escrituras de ubicaciones y categorías personales requieren autenticación bearer.
curl "https://Geotrackable.com/api/public/notes/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/comments"
Respuesta correcta
HTTP 200 devuelve el panel de comentarios visible, la política y los comentarios actuales. Una lista de comentarios vacía es un resultado correcto.
Errores comunes y recuperación
400 trackable_activation_required significa que primero debe activar un propietario apto; 403 trackable_access_code_required o trackable_access_code_invalid requiere la sesión o credencial de este elemento exacto; 404 significa que debe actualizar los ID obsoletos.
POST /api/public/notes/{noteId}/comments
Las lecturas públicas del mapa son anónimas; las escrituras de ubicaciones y categorías personales requieren autenticación bearer.
curl -X POST "https://Geotrackable.com/api/public/notes/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/comments" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{ "body": "Found near the overlook.", "accessCode": "" }'
Respuesta correcta
HTTP 200 devuelve el estado guardado del comentario. Las escrituras anónimas requieren la sesión activa de este cliente o un accessCode para este rastreable activado exacto.
Errores comunes y recuperación
400 trackable_activation_required significa que primero debe activar un propietario apto; 403 trackable_access_code_required o trackable_access_code_invalid requiere la sesión o credencial de este elemento exacto; 404 significa que debe actualizar los ID obsoletos.
GET /api/public/notes/{noteId}/trackables
Lea las asociaciones visibles de rastreables o adjunte un rastreable activado a una ubicación existente administrable mediante un código secreto o una sesión activa del mismo navegador.
curl "https://Geotrackable.com/api/public/notes/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/trackables"
Respuesta correcta
HTTP 200 devuelve la nota, el comentario, el archivo adjunto o el resultado de mapa visibles. Las colecciones vacías son resultados correctos; si falta un recurso único se devuelve 404.
Errores comunes y recuperación
400 identifica límites incompletos, rangos de coordenadas no válidos o datos no válidos de comentarios o adjuntos; 403 protege las escrituras restringidas; 404 puede ocultar una página privada o inexistente. Corrija la consulta según indiquen errors y action.
POST /api/public/notes/{noteId}/trackables
Lea las asociaciones visibles de rastreables o adjunte un rastreable activado a una ubicación existente administrable mediante un código secreto o una sesión activa del mismo navegador.
curl -X POST "https://Geotrackable.com/api/public/notes/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/trackables" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{ "trackableSecretCodes": "TAG42", "selectedActiveTrackableIds": [] }'
Respuesta correcta
HTTP 200 devuelve la nota, el comentario, el archivo adjunto o el resultado del traslado guardados, o una confirmación de eliminación para el ámbito solicitado.
Errores comunes y recuperación
400 identifica límites incompletos, rangos de coordenadas no válidos o datos no válidos de comentarios o adjuntos; 403 protege las escrituras restringidas; 404 puede ocultar una página privada o inexistente. Corrija la consulta según indiquen errors y action.
GET /api/public/profiles/{userName}/notes/nearby
Las lecturas públicas del mapa son anónimas; las escrituras de ubicaciones y categorías personales requieren autenticación bearer.
curl "https://Geotrackable.com/api/public/profiles/trail-guide/notes/nearby?latitude=41.8818&longitude=-87.6231&radiusKm=8&contentLanguage=en-US"
Respuesta correcta
HTTP 200 devuelve la nota, el comentario, el archivo adjunto o el resultado de mapa visibles. Las colecciones vacías son resultados correctos; si falta un recurso único se devuelve 404.
Errores comunes y recuperación
400 identifica límites incompletos, rangos de coordenadas no válidos o datos no válidos de comentarios o adjuntos; 403 protege las escrituras restringidas; 404 puede ocultar una página privada o inexistente. Corrija la consulta según indiquen errors y action.
GET /api/public/teams/{teamName}/notes/nearby
Las lecturas públicas del mapa son anónimas; las escrituras de ubicaciones y categorías personales requieren autenticación bearer.
curl "https://Geotrackable.com/api/public/teams/trail-club/notes/nearby?latitude=41.8818&longitude=-87.6231&radiusKm=8&contentLanguage=en-US"
Respuesta correcta
HTTP 200 devuelve la nota, el comentario, el archivo adjunto o el resultado de mapa visibles. Las colecciones vacías son resultados correctos; si falta un recurso único se devuelve 404.
Errores comunes y recuperación
400 identifica límites incompletos, rangos de coordenadas no válidos o datos no válidos de comentarios o adjuntos; 403 protege las escrituras restringidas; 404 puede ocultar una página privada o inexistente. Corrija la consulta según indiquen errors y action.
POST /api/sync/pull
Envíe primero los cambios locales y luego reciba la vista del servidor para el usuario y el área pública actual.
curl -X POST "https://Geotrackable.com/api/sync/pull" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{ "lastSyncUtc": "2026-06-20T11:30:00Z", "publicArea": { "minLatitude": 41.78, "minLongitude": -87.75, "maxLatitude": 41.96, "maxLongitude": -87.54 } }'
Respuesta correcta
HTTP 200 devuelve la vista actual de sincronización personal, pública y de equipo. Llame a esta ruta después de push en cada ciclo sin conexión.
Errores comunes y recuperación
400 identifica envoltorios de sincronización malformados o una solicitud rechazada antes del procesamiento; 401 requiere un token bearer nuevo. Los problemas de conciliación por entidad devuelven HTTP 200 dentro de conflicts con code y action. Nunca reintente push a ciegas después de un tiempo de espera cuyo resultado se desconoce.
POST /api/sync/push
Envíe primero los cambios locales y luego reciba la vista del servidor para el usuario y el área pública actual.
curl -X POST "https://Geotrackable.com/api/sync/push" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{ "deviceId": "5dd06ca7-34a5-4f2e-812d-3f1ef3e48290", "notes": [], "categories": [] }'
Respuesta correcta
HTTP 200 confirma los cambios aceptados del cliente e informa los resultados de sincronización. Conserve los ID del cliente para que el siguiente pull pueda conciliar los mismos registros.
Errores comunes y recuperación
400 identifica envoltorios de sincronización malformados o una solicitud rechazada antes del procesamiento; 401 requiere un token bearer nuevo. Los problemas de conciliación por entidad devuelven HTTP 200 dentro de conflicts con code y action. Nunca reintente push a ciegas después de un tiempo de espera cuyo resultado se desconoce.
GET /api/system/beta-android
Esta ruta es anónima y es la forma más rápida de confirmar que el host de API de producción responde.
curl "https://Geotrackable.com/api/system/beta-android"
Respuesta correcta
HTTP 200 devuelve los metadatos actuales de la versión beta de Android e instrucciones de descarga cuando se publica un paquete beta.
Errores comunes y recuperación
400 identifica un enlace de consulta ausente o malformado; 500 incluye requestId para soporte. Los datos beta opcionales de Android devuelven HTTP 200 con available:false. Los errores de rango de coordenadas y del proveedor de ubicación devuelven HTTP 200 con resolved:false, además de failureMessage, action y retryable.
GET /api/system/coordinate-locality
Esta ruta es anónima y es la forma más rápida de confirmar que el host de API de producción responde.
curl "https://Geotrackable.com/api/system/coordinate-locality?latitude=41.8818&longitude=-87.6231"
Respuesta correcta
HTTP 200 devuelve los mejores datos de localidad disponibles. Una respuesta correcta puede contener campos de ubicación parciales o no disponibles cuando la resolución se limita intencionalmente.
Errores comunes y recuperación
400 identifica un enlace de consulta ausente o malformado; 500 incluye requestId para soporte. Los datos beta opcionales de Android devuelven HTTP 200 con available:false. Los errores de rango de coordenadas y del proveedor de ubicación devuelven HTTP 200 con resolved:false, además de failureMessage, action y retryable.
GET /api/system/ip-location
Esta ruta es anónima y es la forma más rápida de confirmar que el host de API de producción responde.
curl "https://Geotrackable.com/api/system/ip-location"
Respuesta correcta
HTTP 200 devuelve los mejores datos de localidad disponibles. Una respuesta correcta puede contener campos de ubicación parciales o no disponibles cuando la resolución se limita intencionalmente.
Errores comunes y recuperación
400 identifica un enlace de consulta ausente o malformado; 500 incluye requestId para soporte. Los datos beta opcionales de Android devuelven HTTP 200 con available:false. Los errores de rango de coordenadas y del proveedor de ubicación devuelven HTTP 200 con resolved:false, además de failureMessage, action y retryable.
GET /api/system/status
Esta ruta es anónima y es la forma más rápida de confirmar que el host de API de producción responde.
curl "https://Geotrackable.com/api/system/status"
Respuesta correcta
HTTP 200 devuelve el estado del servicio, la hora UTC del servidor y la URL de la página beta de Android. Esto confirma la accesibilidad, no el acceso autenticado.
Errores comunes y recuperación
Un error de red, DNS, TLS o 500 significa que la comprobación del host no se completó. Conserve requestId cuando se devuelva y use una espera incremental limitada; status no devuelve 401.
GET /api/teams
Las API de equipos administran ubicaciones compartidas, categorías, enlaces de invitación, decisiones de membresía y el alcance de rastreables propiedad del equipo.
curl "https://Geotrackable.com/api/teams" \
-H "Authorization: Bearer <access token>"
Respuesta correcta
HTTP 200 devuelve los datos de equipo, espacio de trabajo, membresía, categoría, nota o enlace de invitación visibles para el miembro que inició sesión.
Errores comunes y recuperación
400 explica las reglas de membresía, invitación, jerarquía, GPX, traslado o eliminación; 401 requiere iniciar sesión; 403 requiere el rol de miembro o administrador indicado; 404 significa que debe actualizar el estado del equipo antes de enviar otro cambio.
POST /api/teams
Las API de equipos administran ubicaciones compartidas, categorías, enlaces de invitación, decisiones de membresía y el alcance de rastreables propiedad del equipo.
curl -X POST "https://Geotrackable.com/api/teams" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{ "name": "Trail Club", "title": "Trail Club", "description": "Shared field work.", "joinPolicy": "InviteOnly", "pageVisibility": "Public", "defaultNoteVisibility": "Public", "contentLanguage": "en-US" }'
Respuesta correcta
HTTP 200 devuelve el estado resultante del equipo o confirma la operación de membresía, espacio de trabajo, invitación, configuración o eliminación.
Errores comunes y recuperación
400 explica las reglas de membresía, invitación, jerarquía, GPX, traslado o eliminación; 401 requiere iniciar sesión; 403 requiere el rol de miembro o administrador indicado; 404 significa que debe actualizar el estado del equipo antes de enviar otro cambio.
POST /api/teams/invite-links/{teamSlug}/{inviteCode}/join
Las API de equipos administran ubicaciones compartidas, categorías, enlaces de invitación, decisiones de membresía y el alcance de rastreables propiedad del equipo.
# Request-body placeholder: replace {} with the fields required by this route before sending.
curl -X POST "https://Geotrackable.com/api/teams/invite-links/trail-club/INVITE-CODE/join" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{}'
Respuesta correcta
HTTP 200 devuelve el estado resultante del equipo o confirma la operación de membresía, espacio de trabajo, invitación, configuración o eliminación.
Errores comunes y recuperación
400 explica las reglas de membresía, invitación, jerarquía, GPX, traslado o eliminación; 401 requiere iniciar sesión; 403 requiere el rol de miembro o administrador indicado; 404 significa que debe actualizar el estado del equipo antes de enviar otro cambio.
DELETE /api/teams/{teamId}
Las API de equipos administran ubicaciones compartidas, categorías, enlaces de invitación, decisiones de membresía y el alcance de rastreables propiedad del equipo.
curl -X DELETE "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63" \
-H "Authorization: Bearer <access token>"
Respuesta correcta
HTTP 200 devuelve el estado resultante del equipo o confirma la operación de membresía, espacio de trabajo, invitación, configuración o eliminación.
Errores comunes y recuperación
400 explica las reglas de membresía, invitación, jerarquía, GPX, traslado o eliminación; 401 requiere iniciar sesión; 403 requiere el rol de miembro o administrador indicado; 404 significa que debe actualizar el estado del equipo antes de enviar otro cambio.
GET /api/teams/{teamId}/categories
Las API de equipos administran ubicaciones compartidas, categorías, enlaces de invitación, decisiones de membresía y el alcance de rastreables propiedad del equipo.
curl "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/categories" \
-H "Authorization: Bearer <access token>"
Respuesta correcta
HTTP 200 devuelve los datos de equipo, espacio de trabajo, membresía, categoría, nota o enlace de invitación visibles para el miembro que inició sesión.
Errores comunes y recuperación
400 explica las reglas de membresía, invitación, jerarquía, GPX, traslado o eliminación; 401 requiere iniciar sesión; 403 requiere el rol de miembro o administrador indicado; 404 significa que debe actualizar el estado del equipo antes de enviar otro cambio.
POST /api/teams/{teamId}/categories
Las API de equipos administran ubicaciones compartidas, categorías, enlaces de invitación, decisiones de membresía y el alcance de rastreables propiedad del equipo.
curl -X POST "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/categories" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{ "name": "Team trail research", "contentLanguage": "en-US", "parentCategoryId": null }'
Respuesta correcta
HTTP 200 devuelve el estado resultante del equipo o confirma la operación de membresía, espacio de trabajo, invitación, configuración o eliminación.
Errores comunes y recuperación
400 explica las reglas de membresía, invitación, jerarquía, GPX, traslado o eliminación; 401 requiere iniciar sesión; 403 requiere el rol de miembro o administrador indicado; 404 significa que debe actualizar el estado del equipo antes de enviar otro cambio.
GET /api/teams/{teamId}/categories/tree
Las API de equipos administran ubicaciones compartidas, categorías, enlaces de invitación, decisiones de membresía y el alcance de rastreables propiedad del equipo.
curl "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/categories/tree" \
-H "Authorization: Bearer <access token>"
Respuesta correcta
HTTP 200 devuelve los datos de equipo, espacio de trabajo, membresía, categoría, nota o enlace de invitación visibles para el miembro que inició sesión.
Errores comunes y recuperación
400 explica las reglas de membresía, invitación, jerarquía, GPX, traslado o eliminación; 401 requiere iniciar sesión; 403 requiere el rol de miembro o administrador indicado; 404 significa que debe actualizar el estado del equipo antes de enviar otro cambio.
GET /api/teams/{teamId}/categories/tree/children
Las API de equipos administran ubicaciones compartidas, categorías, enlaces de invitación, decisiones de membresía y el alcance de rastreables propiedad del equipo.
curl "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/categories/tree/children" \
-H "Authorization: Bearer <access token>"
Respuesta correcta
HTTP 200 devuelve los datos de equipo, espacio de trabajo, membresía, categoría, nota o enlace de invitación visibles para el miembro que inició sesión.
Errores comunes y recuperación
400 explica las reglas de membresía, invitación, jerarquía, GPX, traslado o eliminación; 401 requiere iniciar sesión; 403 requiere el rol de miembro o administrador indicado; 404 significa que debe actualizar el estado del equipo antes de enviar otro cambio.
GET /api/teams/{teamId}/categories/tree/sections
Las API de equipos administran ubicaciones compartidas, categorías, enlaces de invitación, decisiones de membresía y el alcance de rastreables propiedad del equipo.
curl "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/categories/tree/sections" \
-H "Authorization: Bearer <access token>"
Respuesta correcta
HTTP 200 devuelve los datos de equipo, espacio de trabajo, membresía, categoría, nota o enlace de invitación visibles para el miembro que inició sesión.
Errores comunes y recuperación
400 explica las reglas de membresía, invitación, jerarquía, GPX, traslado o eliminación; 401 requiere iniciar sesión; 403 requiere el rol de miembro o administrador indicado; 404 significa que debe actualizar el estado del equipo antes de enviar otro cambio.
DELETE /api/teams/{teamId}/categories/{categoryId}
Las API de equipos administran ubicaciones compartidas, categorías, enlaces de invitación, decisiones de membresía y el alcance de rastreables propiedad del equipo.
curl -X DELETE "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/categories/13a2c0b1-582f-4a7b-92aa-16922f7bdb63" \
-H "Authorization: Bearer <access token>"
Respuesta correcta
HTTP 200 devuelve el estado resultante del equipo o confirma la operación de membresía, espacio de trabajo, invitación, configuración o eliminación.
Errores comunes y recuperación
400 explica las reglas de membresía, invitación, jerarquía, GPX, traslado o eliminación; 401 requiere iniciar sesión; 403 requiere el rol de miembro o administrador indicado; 404 significa que debe actualizar el estado del equipo antes de enviar otro cambio.
POST /api/teams/{teamId}/categories/{categoryId}/move
Las API de equipos administran ubicaciones compartidas, categorías, enlaces de invitación, decisiones de membresía y el alcance de rastreables propiedad del equipo.
curl -X POST "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/categories/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/move" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{ "parentCategoryId": null }'
Respuesta correcta
HTTP 200 devuelve el estado resultante del equipo o confirma la operación de membresía, espacio de trabajo, invitación, configuración o eliminación.
Errores comunes y recuperación
400 explica las reglas de membresía, invitación, jerarquía, GPX, traslado o eliminación; 401 requiere iniciar sesión; 403 requiere el rol de miembro o administrador indicado; 404 significa que debe actualizar el estado del equipo antes de enviar otro cambio.
GET /api/teams/{teamId}/invite-links
Las API de equipos administran ubicaciones compartidas, categorías, enlaces de invitación, decisiones de membresía y el alcance de rastreables propiedad del equipo.
curl "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/invite-links" \
-H "Authorization: Bearer <access token>"
Respuesta correcta
HTTP 200 devuelve los datos de equipo, espacio de trabajo, membresía, categoría, nota o enlace de invitación visibles para el miembro que inició sesión.
Errores comunes y recuperación
400 explica las reglas de membresía, invitación, jerarquía, GPX, traslado o eliminación; 401 requiere iniciar sesión; 403 requiere el rol de miembro o administrador indicado; 404 significa que debe actualizar el estado del equipo antes de enviar otro cambio.
POST /api/teams/{teamId}/invite-links
Las API de equipos administran ubicaciones compartidas, categorías, enlaces de invitación, decisiones de membresía y el alcance de rastreables propiedad del equipo.
curl -X POST "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/invite-links" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{ "isSingleUse": true }'
Respuesta correcta
HTTP 200 devuelve el estado resultante del equipo o confirma la operación de membresía, espacio de trabajo, invitación, configuración o eliminación.
Errores comunes y recuperación
400 explica las reglas de membresía, invitación, jerarquía, GPX, traslado o eliminación; 401 requiere iniciar sesión; 403 requiere el rol de miembro o administrador indicado; 404 significa que debe actualizar el estado del equipo antes de enviar otro cambio.
DELETE /api/teams/{teamId}/invite-links/{inviteLinkId}
Las API de equipos administran ubicaciones compartidas, categorías, enlaces de invitación, decisiones de membresía y el alcance de rastreables propiedad del equipo.
curl -X DELETE "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/invite-links/13a2c0b1-582f-4a7b-92aa-16922f7bdb63" \
-H "Authorization: Bearer <access token>"
Respuesta correcta
HTTP 200 devuelve el estado resultante del equipo o confirma la operación de membresía, espacio de trabajo, invitación, configuración o eliminación.
Errores comunes y recuperación
400 explica las reglas de membresía, invitación, jerarquía, GPX, traslado o eliminación; 401 requiere iniciar sesión; 403 requiere el rol de miembro o administrador indicado; 404 significa que debe actualizar el estado del equipo antes de enviar otro cambio.
GET /api/teams/{teamId}/locations/gpx
Las API de equipos administran ubicaciones compartidas, categorías, enlaces de invitación, decisiones de membresía y el alcance de rastreables propiedad del equipo.
curl "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/locations/gpx" \
-H "Authorization: Bearer <access token>"
Respuesta correcta
HTTP 200 descarga un GPX de los waypoints mapeados del equipo visibles para el miembro.
Errores comunes y recuperación
400 explica las reglas de membresía, invitación, jerarquía, GPX, traslado o eliminación; 401 requiere iniciar sesión; 403 requiere el rol de miembro o administrador indicado; 404 significa que debe actualizar el estado del equipo antes de enviar otro cambio.
POST /api/teams/{teamId}/locations/gpx
Las API de equipos administran ubicaciones compartidas, categorías, enlaces de invitación, decisiones de membresía y el alcance de rastreables propiedad del equipo.
curl -X POST "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/locations/gpx" \
-H "Authorization: Bearer <access token>" \
-F "file=@waypoints.gpx"
Respuesta correcta
HTTP 200 devuelve los recuentos de importación GPX del equipo y los resultados por elemento.
Errores comunes y recuperación
400 explica las reglas de membresía, invitación, jerarquía, GPX, traslado o eliminación; 401 requiere iniciar sesión; 403 requiere el rol de miembro o administrador indicado; 404 significa que debe actualizar el estado del equipo antes de enviar otro cambio.
POST /api/teams/{teamId}/memberships/invite
Las API de equipos administran ubicaciones compartidas, categorías, enlaces de invitación, decisiones de membresía y el alcance de rastreables propiedad del equipo.
# Request-body placeholder: replace {} with the fields required by this route before sending.
curl -X POST "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/memberships/invite" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{}'
Respuesta correcta
HTTP 200 devuelve el estado resultante del equipo o confirma la operación de membresía, espacio de trabajo, invitación, configuración o eliminación.
Errores comunes y recuperación
400 explica las reglas de membresía, invitación, jerarquía, GPX, traslado o eliminación; 401 requiere iniciar sesión; 403 requiere el rol de miembro o administrador indicado; 404 significa que debe actualizar el estado del equipo antes de enviar otro cambio.
POST /api/teams/{teamId}/memberships/request
Las API de equipos administran ubicaciones compartidas, categorías, enlaces de invitación, decisiones de membresía y el alcance de rastreables propiedad del equipo.
# Request-body placeholder: replace {} with the fields required by this route before sending.
curl -X POST "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/memberships/request" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{}'
Respuesta correcta
HTTP 200 devuelve el estado resultante del equipo o confirma la operación de membresía, espacio de trabajo, invitación, configuración o eliminación.
Errores comunes y recuperación
400 explica las reglas de membresía, invitación, jerarquía, GPX, traslado o eliminación; 401 requiere iniciar sesión; 403 requiere el rol de miembro o administrador indicado; 404 significa que debe actualizar el estado del equipo antes de enviar otro cambio.
DELETE /api/teams/{teamId}/memberships/{membershipId}
Las API de equipos administran ubicaciones compartidas, categorías, enlaces de invitación, decisiones de membresía y el alcance de rastreables propiedad del equipo.
curl -X DELETE "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/memberships/13a2c0b1-582f-4a7b-92aa-16922f7bdb63" \
-H "Authorization: Bearer <access token>"
Respuesta correcta
HTTP 200 devuelve el estado resultante del equipo o confirma la operación de membresía, espacio de trabajo, invitación, configuración o eliminación.
Errores comunes y recuperación
400 explica las reglas de membresía, invitación, jerarquía, GPX, traslado o eliminación; 401 requiere iniciar sesión; 403 requiere el rol de miembro o administrador indicado; 404 significa que debe actualizar el estado del equipo antes de enviar otro cambio.
POST /api/teams/{teamId}/memberships/{membershipId}/accept
Las API de equipos administran ubicaciones compartidas, categorías, enlaces de invitación, decisiones de membresía y el alcance de rastreables propiedad del equipo.
# Request-body placeholder: replace {} with the fields required by this route before sending.
curl -X POST "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/memberships/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/accept" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{}'
Respuesta correcta
HTTP 200 devuelve el estado resultante del equipo o confirma la operación de membresía, espacio de trabajo, invitación, configuración o eliminación.
Errores comunes y recuperación
400 explica las reglas de membresía, invitación, jerarquía, GPX, traslado o eliminación; 401 requiere iniciar sesión; 403 requiere el rol de miembro o administrador indicado; 404 significa que debe actualizar el estado del equipo antes de enviar otro cambio.
POST /api/teams/{teamId}/memberships/{membershipId}/approve
Las API de equipos administran ubicaciones compartidas, categorías, enlaces de invitación, decisiones de membresía y el alcance de rastreables propiedad del equipo.
# Request-body placeholder: replace {} with the fields required by this route before sending.
curl -X POST "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/memberships/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/approve" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{}'
Respuesta correcta
HTTP 200 devuelve el estado resultante del equipo o confirma la operación de membresía, espacio de trabajo, invitación, configuración o eliminación.
Errores comunes y recuperación
400 explica las reglas de membresía, invitación, jerarquía, GPX, traslado o eliminación; 401 requiere iniciar sesión; 403 requiere el rol de miembro o administrador indicado; 404 significa que debe actualizar el estado del equipo antes de enviar otro cambio.
POST /api/teams/{teamId}/memberships/{membershipId}/deny
Las API de equipos administran ubicaciones compartidas, categorías, enlaces de invitación, decisiones de membresía y el alcance de rastreables propiedad del equipo.
# Request-body placeholder: replace {} with the fields required by this route before sending.
curl -X POST "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/memberships/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/deny" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{}'
Respuesta correcta
HTTP 200 devuelve el estado resultante del equipo o confirma la operación de membresía, espacio de trabajo, invitación, configuración o eliminación.
Errores comunes y recuperación
400 explica las reglas de membresía, invitación, jerarquía, GPX, traslado o eliminación; 401 requiere iniciar sesión; 403 requiere el rol de miembro o administrador indicado; 404 significa que debe actualizar el estado del equipo antes de enviar otro cambio.
POST /api/teams/{teamId}/memberships/{membershipId}/promote-admin
Las API de equipos administran ubicaciones compartidas, categorías, enlaces de invitación, decisiones de membresía y el alcance de rastreables propiedad del equipo.
# Request-body placeholder: replace {} with the fields required by this route before sending.
curl -X POST "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/memberships/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/promote-admin" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{}'
Respuesta correcta
HTTP 200 devuelve el estado resultante del equipo o confirma la operación de membresía, espacio de trabajo, invitación, configuración o eliminación.
Errores comunes y recuperación
400 explica las reglas de membresía, invitación, jerarquía, GPX, traslado o eliminación; 401 requiere iniciar sesión; 403 requiere el rol de miembro o administrador indicado; 404 significa que debe actualizar el estado del equipo antes de enviar otro cambio.
POST /api/teams/{teamId}/memberships/{membershipId}/refuse
Las API de equipos administran ubicaciones compartidas, categorías, enlaces de invitación, decisiones de membresía y el alcance de rastreables propiedad del equipo.
# Request-body placeholder: replace {} with the fields required by this route before sending.
curl -X POST "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/memberships/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/refuse" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{}'
Respuesta correcta
HTTP 200 devuelve el estado resultante del equipo o confirma la operación de membresía, espacio de trabajo, invitación, configuración o eliminación.
Errores comunes y recuperación
400 explica las reglas de membresía, invitación, jerarquía, GPX, traslado o eliminación; 401 requiere iniciar sesión; 403 requiere el rol de miembro o administrador indicado; 404 significa que debe actualizar el estado del equipo antes de enviar otro cambio.
GET /api/teams/{teamId}/notes
Las API de equipos administran ubicaciones compartidas, categorías, enlaces de invitación, decisiones de membresía y el alcance de rastreables propiedad del equipo.
curl "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/notes" \
-H "Authorization: Bearer <access token>"
Respuesta correcta
HTTP 200 devuelve los datos de equipo, espacio de trabajo, membresía, categoría, nota o enlace de invitación visibles para el miembro que inició sesión.
Errores comunes y recuperación
400 explica las reglas de membresía, invitación, jerarquía, GPX, traslado o eliminación; 401 requiere iniciar sesión; 403 requiere el rol de miembro o administrador indicado; 404 significa que debe actualizar el estado del equipo antes de enviar otro cambio.
POST /api/teams/{teamId}/notes
Las API de equipos administran ubicaciones compartidas, categorías, enlaces de invitación, decisiones de membresía y el alcance de rastreables propiedad del equipo.
curl -X POST "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/notes" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{ "title": "Team trailhead", "body": "Shared route notes.", "contentLanguage": "en-US", "latitude": 41.8818, "longitude": -87.6231, "visibility": "Public" }'
Respuesta correcta
HTTP 200 devuelve el estado resultante del equipo o confirma la operación de membresía, espacio de trabajo, invitación, configuración o eliminación.
Errores comunes y recuperación
400 explica las reglas de membresía, invitación, jerarquía, GPX, traslado o eliminación; 401 requiere iniciar sesión; 403 requiere el rol de miembro o administrador indicado; 404 significa que debe actualizar el estado del equipo antes de enviar otro cambio.
GET /api/teams/{teamId}/notes/gpx
Las API de equipos administran ubicaciones compartidas, categorías, enlaces de invitación, decisiones de membresía y el alcance de rastreables propiedad del equipo.
curl "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/notes/gpx" \
-H "Authorization: Bearer <access token>"
Respuesta correcta
HTTP 200 descarga un GPX de los waypoints mapeados del equipo visibles para el miembro.
Errores comunes y recuperación
400 explica las reglas de membresía, invitación, jerarquía, GPX, traslado o eliminación; 401 requiere iniciar sesión; 403 requiere el rol de miembro o administrador indicado; 404 significa que debe actualizar el estado del equipo antes de enviar otro cambio.
POST /api/teams/{teamId}/notes/gpx
Las API de equipos administran ubicaciones compartidas, categorías, enlaces de invitación, decisiones de membresía y el alcance de rastreables propiedad del equipo.
curl -X POST "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/notes/gpx" \
-H "Authorization: Bearer <access token>" \
-F "file=@waypoints.gpx"
Respuesta correcta
HTTP 200 devuelve los recuentos de importación GPX del equipo y los resultados por elemento.
Errores comunes y recuperación
400 explica las reglas de membresía, invitación, jerarquía, GPX, traslado o eliminación; 401 requiere iniciar sesión; 403 requiere el rol de miembro o administrador indicado; 404 significa que debe actualizar el estado del equipo antes de enviar otro cambio.
DELETE /api/teams/{teamId}/notes/{noteId}
Las API de equipos administran ubicaciones compartidas, categorías, enlaces de invitación, decisiones de membresía y el alcance de rastreables propiedad del equipo.
curl -X DELETE "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/notes/13a2c0b1-582f-4a7b-92aa-16922f7bdb63" \
-H "Authorization: Bearer <access token>"
Respuesta correcta
HTTP 200 devuelve el estado resultante del equipo o confirma la operación de membresía, espacio de trabajo, invitación, configuración o eliminación.
Errores comunes y recuperación
400 explica las reglas de membresía, invitación, jerarquía, GPX, traslado o eliminación; 401 requiere iniciar sesión; 403 requiere el rol de miembro o administrador indicado; 404 significa que debe actualizar el estado del equipo antes de enviar otro cambio.
DELETE /api/teams/{teamId}/notes/{noteId}/delete
Las API de equipos administran ubicaciones compartidas, categorías, enlaces de invitación, decisiones de membresía y el alcance de rastreables propiedad del equipo.
curl -X DELETE "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/notes/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/delete" \
-H "Authorization: Bearer <access token>"
Respuesta correcta
HTTP 200 devuelve el estado resultante del equipo o confirma la operación de membresía, espacio de trabajo, invitación, configuración o eliminación.
Errores comunes y recuperación
400 explica las reglas de membresía, invitación, jerarquía, GPX, traslado o eliminación; 401 requiere iniciar sesión; 403 requiere el rol de miembro o administrador indicado; 404 significa que debe actualizar el estado del equipo antes de enviar otro cambio.
POST /api/teams/{teamId}/notes/{noteId}/move
Las API de equipos administran ubicaciones compartidas, categorías, enlaces de invitación, decisiones de membresía y el alcance de rastreables propiedad del equipo.
# Request-body placeholder: replace {} with the fields required by this route before sending.
curl -X POST "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/notes/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/move" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{}'
Respuesta correcta
HTTP 200 devuelve el estado resultante del equipo o confirma la operación de membresía, espacio de trabajo, invitación, configuración o eliminación.
Errores comunes y recuperación
400 explica las reglas de membresía, invitación, jerarquía, GPX, traslado o eliminación; 401 requiere iniciar sesión; 403 requiere el rol de miembro o administrador indicado; 404 significa que debe actualizar el estado del equipo antes de enviar otro cambio.
PUT /api/teams/{teamId}/settings
Las API de equipos administran ubicaciones compartidas, categorías, enlaces de invitación, decisiones de membresía y el alcance de rastreables propiedad del equipo.
# Request-body placeholder: replace {} with the fields required by this route before sending.
curl -X PUT "https://Geotrackable.com/api/teams/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/settings" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{}'
Respuesta correcta
HTTP 200 devuelve el estado resultante del equipo o confirma la operación de membresía, espacio de trabajo, invitación, configuración o eliminación.
Errores comunes y recuperación
400 explica las reglas de membresía, invitación, jerarquía, GPX, traslado o eliminación; 401 requiere iniciar sesión; 403 requiere el rol de miembro o administrador indicado; 404 significa que debe actualizar el estado del equipo antes de enviar otro cambio.
POST /api/trackables
Las rutas de rastreables cubren exploración pública, propiedad privada, acceso secreto recordado, comentarios y paradas del recorrido.
curl -X POST "https://Geotrackable.com/api/trackables" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{ "name": "Scout trail coin", "description": "Move this coin along family-friendly trails.", "visibility": "AlwaysVisibleToEveryone", "activateImmediately": true }'
Respuesta correcta
HTTP 201 devuelve los datos que se muestran una sola vez. Omita secretCode para obtener un código GT generado; se respeta un valor personalizado permitido que esté disponible. Guarde ahora secretCode y scanUrl porque las rutas de lectura no los revelan después.
Errores comunes y recuperación
400 validation_failed identifica campos no válidos; 400 trackable_secret_code_reserved explica los prefijos GT, LN, TB, GK o GC; 409 trackable_secret_code_taken significa que debe omitir secretCode para generarlo o elegir otro valor; 401 requiere iniciar sesión.
GET /api/trackables/active
Las rutas de rastreables cubren exploración pública, propiedad privada, acceso secreto recordado, comentarios y paradas del recorrido.
curl "https://Geotrackable.com/api/trackables/active"
Respuesta correcta
HTTP 200 devuelve los rastreables activos respaldados por secreto que recuerda este cliente. Una matriz vacía es un resultado correcto, no un error de autenticación.
Errores comunes y recuperación
404 significa que este cliente ya no tiene la sesión activa solicitada del rastreable; vuelva al código privado o a la ruta de escaneo. 400 abarca texto de estado no válido. Esta sesión usa cookies, así que conserve el almacén de cookies entre llamadas.
GET /api/trackables/active-indicator
Las rutas de rastreables cubren exploración pública, propiedad privada, acceso secreto recordado, comentarios y paradas del recorrido.
curl "https://Geotrackable.com/api/trackables/active-indicator"
Respuesta correcta
HTTP 200 devuelve los datos del rastreable visibles en el contexto de acceso público, de sesión iniciada o de sesión activa del solicitante.
Errores comunes y recuperación
404 significa que este cliente ya no tiene la sesión activa solicitada del rastreable; vuelva al código privado o a la ruta de escaneo. 400 abarca texto de estado no válido. Esta sesión usa cookies, así que conserve el almacén de cookies entre llamadas.
DELETE /api/trackables/active/{trackableId}
Las rutas de rastreables cubren exploración pública, propiedad privada, acceso secreto recordado, comentarios y paradas del recorrido.
curl -X DELETE "https://Geotrackable.com/api/trackables/active/13a2c0b1-582f-4a7b-92aa-16922f7bdb63"
Respuesta correcta
HTTP 200 finaliza la sesión de acceso mediante secreto que este cliente recuerda para el elemento. No elimina ni desactiva el rastreable.
Errores comunes y recuperación
404 significa que este cliente ya no tiene la sesión activa solicitada del rastreable; vuelva al código privado o a la ruta de escaneo. 400 abarca texto de estado no válido. Esta sesión usa cookies, así que conserve el almacén de cookies entre llamadas.
GET /api/trackables/active/{trackableId}
Las rutas de rastreables cubren exploración pública, propiedad privada, acceso secreto recordado, comentarios y paradas del recorrido.
curl "https://Geotrackable.com/api/trackables/active/13a2c0b1-582f-4a7b-92aa-16922f7bdb63"
Respuesta correcta
HTTP 200 devuelve el estado actual de la página de destino activa o el mensaje de estado actualizado del rastreable mientras este cliente conserve su sesión de acceso mediante secreto.
Errores comunes y recuperación
404 significa que este cliente ya no tiene la sesión activa solicitada del rastreable; vuelva al código privado o a la ruta de escaneo. 400 abarca texto de estado no válido. Esta sesión usa cookies, así que conserve el almacén de cookies entre llamadas.
POST /api/trackables/active/{trackableId}/deactivate
Las rutas de rastreables cubren exploración pública, propiedad privada, acceso secreto recordado, comentarios y paradas del recorrido.
# Request-body placeholder: replace {} with the fields required by this route before sending.
curl -X POST "https://Geotrackable.com/api/trackables/active/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/deactivate" \
-H "Content-Type: application/json" \
-d '{}'
Respuesta correcta
HTTP 200 devuelve el estado actual de la página de destino activa o el mensaje de estado actualizado del rastreable mientras este cliente conserve su sesión de acceso mediante secreto.
Errores comunes y recuperación
404 significa que este cliente ya no tiene la sesión activa solicitada del rastreable; vuelva al código privado o a la ruta de escaneo. 400 abarca texto de estado no válido. Esta sesión usa cookies, así que conserve el almacén de cookies entre llamadas.
POST /api/trackables/active/{trackableId}/message
Las rutas de rastreables cubren exploración pública, propiedad privada, acceso secreto recordado, comentarios y paradas del recorrido.
curl -X POST "https://Geotrackable.com/api/trackables/active/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/message" \
-H "Content-Type: application/json" \
-d '{ "statusMessage": "Live hunt in progress" }'
Respuesta correcta
HTTP 200 devuelve el estado actual de la página de destino activa o el mensaje de estado actualizado del rastreable mientras este cliente conserve su sesión de acceso mediante secreto.
Errores comunes y recuperación
404 significa que este cliente ya no tiene la sesión activa solicitada del rastreable; vuelva al código privado o a la ruta de escaneo. 400 abarca texto de estado no válido. Esta sesión usa cookies, así que conserve el almacén de cookies entre llamadas.
POST /api/trackables/groups
Las rutas de rastreables cubren exploración pública, propiedad privada, acceso secreto recordado, comentarios y paradas del recorrido.
curl -X POST "https://Geotrackable.com/api/trackables/groups" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{ "name": "Trail event set", "description": "Event inventory", "trackableCount": 12, "visibility": "AlwaysVisibleToEveryone", "activateImmediately": false, "watchGroupActivityWhenCreated": true }'
Respuesta correcta
HTTP 201 devuelve el grupo nuevo y las credenciales públicas, secretas y de escaneo que se muestran una sola vez para cada miembro generado. Guarde los datos revelados antes de abandonar la respuesta.
Errores comunes y recuperación
400 explica valores predeterminados, cantidad, visibilidad, categoría o reglas de equipo no válidos; 401 requiere iniciar sesión; 403 significa que el solicitante no puede crear en ese equipo. Corrija la solicitud antes de reintentar el lote.
DELETE /api/trackables/groups/{trackableGroupId}/watch
Las rutas de rastreables cubren exploración pública, propiedad privada, acceso secreto recordado, comentarios y paradas del recorrido.
curl -X DELETE "https://Geotrackable.com/api/trackables/groups/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/watch" \
-H "Authorization: Bearer <access token>"
Respuesta correcta
HTTP 200 devuelve el estado resultante del rastreable o grupo después de cambiar la preferencia de seguimiento de la cuenta que inició sesión. Repetir el estado final deseado no debería crear seguimientos duplicados.
Errores comunes y recuperación
400 informa una regla de negocio del rastreable; 401 se aplica a la administración exclusiva mediante bearer; 403 proporciona la acción de propiedad, rol de equipo, agrupación o acceso; 404 significa que debe actualizar el estado actual del rastreable o grupo.
POST /api/trackables/groups/{trackableGroupId}/watch
Las rutas de rastreables cubren exploración pública, propiedad privada, acceso secreto recordado, comentarios y paradas del recorrido.
# Request-body placeholder: replace {} with the fields required by this route before sending.
curl -X POST "https://Geotrackable.com/api/trackables/groups/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/watch" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{}'
Respuesta correcta
HTTP 200 devuelve el estado resultante del rastreable o grupo después de cambiar la preferencia de seguimiento de la cuenta que inició sesión. Repetir el estado final deseado no debería crear seguimientos duplicados.
Errores comunes y recuperación
400 informa una regla de negocio del rastreable; 401 se aplica a la administración exclusiva mediante bearer; 403 proporciona la acción de propiedad, rol de equipo, agrupación o acceso; 404 significa que debe actualizar el estado actual del rastreable o grupo.
POST /api/trackables/legacy-lookup
Las rutas de rastreables cubren exploración pública, propiedad privada, acceso secreto recordado, comentarios y paradas del recorrido.
# Request-body placeholder: replace {} with the fields required by this route before sending.
curl -X POST "https://Geotrackable.com/api/trackables/legacy-lookup" \
-H "Content-Type: application/json" \
-d '{}'
Respuesta correcta
HTTP 200 devuelve el estado resultante del rastreable después de completarse la operación solicitada de propiedad, agrupación o seguimiento.
Errores comunes y recuperación
400 informa una regla de negocio del rastreable; 401 se aplica a la administración exclusiva mediante bearer; 403 proporciona la acción de propiedad, rol de equipo, agrupación o acceso; 404 significa que debe actualizar el estado actual del rastreable o grupo.
GET /api/trackables/lookup
Las rutas de rastreables cubren exploración pública, propiedad privada, acceso secreto recordado, comentarios y paradas del recorrido.
curl "https://Geotrackable.com/api/trackables/lookup?code=GT-EXAMPLE"
Respuesta correcta
HTTP 200 devuelve found, el ID resuelto del rastreable, el tipo de coincidencia y orientación para la redirección. Un código desconocido o mal escrito común también produce HTTP 200 con found en false, para que la interfaz de lookup pueda permanecer en su lugar.
Errores comunes y recuperación
Un código desconocido o mal escrito normalmente produce HTTP 200 con found en false, no detalles del problema. 400 se reserva para datos malformados. Nunca registre el secreto enviado ni el valor QR al diagnosticar lookup.
POST /api/trackables/lookup
Las rutas de rastreables cubren exploración pública, propiedad privada, acceso secreto recordado, comentarios y paradas del recorrido.
curl -X POST "https://Geotrackable.com/api/trackables/lookup" \
-H "Content-Type: application/json" \
-d '{ "code": "GT-EXAMPLE" }'
Respuesta correcta
HTTP 200 devuelve found, el ID resuelto del rastreable, el tipo de coincidencia y orientación para la redirección. Un código desconocido o mal escrito común también produce HTTP 200 con found en false, para que la interfaz de lookup pueda permanecer en su lugar.
Errores comunes y recuperación
Un código desconocido o mal escrito normalmente produce HTTP 200 con found en false, no detalles del problema. 400 se reserva para datos malformados. Nunca registre el secreto enviado ni el valor QR al diagnosticar lookup.
GET /api/trackables/mine
Las rutas de rastreables cubren exploración pública, propiedad privada, acceso secreto recordado, comentarios y paradas del recorrido.
curl "https://Geotrackable.com/api/trackables/mine" \
-H "Authorization: Bearer <access token>"
Respuesta correcta
HTTP 200 devuelve los datos del rastreable visibles en el contexto de acceso público, de sesión iniciada o de sesión activa del solicitante.
Errores comunes y recuperación
400 informa una regla de negocio del rastreable; 401 se aplica a la administración exclusiva mediante bearer; 403 proporciona la acción de propiedad, rol de equipo, agrupación o acceso; 404 significa que debe actualizar el estado actual del rastreable o grupo.
GET /api/trackables/public
Las rutas de rastreables cubren exploración pública, propiedad privada, acceso secreto recordado, comentarios y paradas del recorrido.
curl "https://Geotrackable.com/api/trackables/public?contentLanguage=en-US"
Respuesta correcta
HTTP 200 devuelve los datos del rastreable visibles en el contexto de acceso público, de sesión iniciada o de sesión activa del solicitante.
Errores comunes y recuperación
400 informa una regla de negocio del rastreable; 401 se aplica a la administración exclusiva mediante bearer; 403 proporciona la acción de propiedad, rol de equipo, agrupación o acceso; 404 significa que debe actualizar el estado actual del rastreable o grupo.
GET /api/trackables/{trackableId}
Las rutas de rastreables cubren exploración pública, propiedad privada, acceso secreto recordado, comentarios y paradas del recorrido.
curl "https://Geotrackable.com/api/trackables/13a2c0b1-582f-4a7b-92aa-16922f7bdb63"
Respuesta correcta
HTTP 200 devuelve los datos del rastreable visibles en el contexto de acceso público, de sesión iniciada o de sesión activa del solicitante.
Errores comunes y recuperación
400 informa una regla de negocio del rastreable; 401 se aplica a la administración exclusiva mediante bearer; 403 proporciona la acción de propiedad, rol de equipo, agrupación o acceso; 404 significa que debe actualizar el estado actual del rastreable o grupo.
POST /api/trackables/{trackableId}/activate
Las rutas de rastreables cubren exploración pública, propiedad privada, acceso secreto recordado, comentarios y paradas del recorrido.
curl -X POST "https://Geotrackable.com/api/trackables/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/activate" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{ "name": "Activated trail coin", "description": "Ready to travel", "teamId": null }'
Respuesta correcta
HTTP 200 devuelve los detalles del rastreable activado después de establecer la propiedad personal o de equipo y los metadatos del elemento.
Errores comunes y recuperación
400 informa una regla de negocio del rastreable; 401 se aplica a la administración exclusiva mediante bearer; 403 proporciona la acción de propiedad, rol de equipo, agrupación o acceso; 404 significa que debe actualizar el estado actual del rastreable o grupo.
GET /api/trackables/{trackableId}/comments
Las rutas de rastreables cubren exploración pública, propiedad privada, acceso secreto recordado, comentarios y paradas del recorrido.
curl "https://Geotrackable.com/api/trackables/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/comments"
Respuesta correcta
HTTP 200 devuelve el panel de comentarios visible, la política y los comentarios actuales. Una lista de comentarios vacía es un resultado correcto.
Errores comunes y recuperación
400 trackable_activation_required significa que primero debe activar un propietario apto; 403 trackable_access_code_required o trackable_access_code_invalid requiere la sesión o credencial de este elemento exacto; 404 significa que debe actualizar los ID obsoletos.
POST /api/trackables/{trackableId}/comments
Las rutas de rastreables cubren exploración pública, propiedad privada, acceso secreto recordado, comentarios y paradas del recorrido.
curl -X POST "https://Geotrackable.com/api/trackables/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/comments" \
-H "Content-Type: application/json" \
-d '{ "body": "Found near the overlook.", "accessCode": "" }'
Respuesta correcta
HTTP 200 devuelve el estado guardado del comentario. Las escrituras anónimas requieren la sesión activa de este cliente o un accessCode para este rastreable activado exacto.
Errores comunes y recuperación
400 trackable_activation_required significa que primero debe activar un propietario apto; 403 trackable_access_code_required o trackable_access_code_invalid requiere la sesión o credencial de este elemento exacto; 404 significa que debe actualizar los ID obsoletos.
DELETE /api/trackables/{trackableId}/comments/{commentId}
Las rutas de rastreables cubren exploración pública, propiedad privada, acceso secreto recordado, comentarios y paradas del recorrido.
curl -X DELETE "https://Geotrackable.com/api/trackables/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/comments/13a2c0b1-582f-4a7b-92aa-16922f7bdb63" \
-H "Authorization: Bearer <access token>"
Respuesta correcta
HTTP 200 devuelve el estado guardado del comentario. Las escrituras anónimas requieren la sesión activa de este cliente o un accessCode para este rastreable activado exacto.
Errores comunes y recuperación
400 trackable_activation_required significa que primero debe activar un propietario apto; 403 trackable_access_code_required o trackable_access_code_invalid requiere la sesión o credencial de este elemento exacto; 404 significa que debe actualizar los ID obsoletos.
PUT /api/trackables/{trackableId}/comments/{commentId}
Las rutas de rastreables cubren exploración pública, propiedad privada, acceso secreto recordado, comentarios y paradas del recorrido.
curl -X PUT "https://Geotrackable.com/api/trackables/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/comments/13a2c0b1-582f-4a7b-92aa-16922f7bdb63" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{ "body": "Updated field note." }'
Respuesta correcta
HTTP 200 devuelve el estado guardado del comentario. Las escrituras anónimas requieren la sesión activa de este cliente o un accessCode para este rastreable activado exacto.
Errores comunes y recuperación
400 trackable_activation_required significa que primero debe activar un propietario apto; 403 trackable_access_code_required o trackable_access_code_invalid requiere la sesión o credencial de este elemento exacto; 404 significa que debe actualizar los ID obsoletos.
DELETE /api/trackables/{trackableId}/group
Las rutas de rastreables cubren exploración pública, propiedad privada, acceso secreto recordado, comentarios y paradas del recorrido.
curl -X DELETE "https://Geotrackable.com/api/trackables/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/group" \
-H "Authorization: Bearer <access token>"
Respuesta correcta
HTTP 200 devuelve el estado resultante del rastreable después de completarse la operación solicitada de propiedad, agrupación o seguimiento.
Errores comunes y recuperación
400 informa una regla de negocio del rastreable; 401 se aplica a la administración exclusiva mediante bearer; 403 proporciona la acción de propiedad, rol de equipo, agrupación o acceso; 404 significa que debe actualizar el estado actual del rastreable o grupo.
POST /api/trackables/{trackableId}/group
Las rutas de rastreables cubren exploración pública, propiedad privada, acceso secreto recordado, comentarios y paradas del recorrido.
curl -X POST "https://Geotrackable.com/api/trackables/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/group" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{ "trackableGroupId": "13a2c0b1-582f-4a7b-92aa-16922f7bdb63" }'
Respuesta correcta
HTTP 200 devuelve el estado resultante del rastreable después de completarse la operación solicitada de propiedad, agrupación o seguimiento.
Errores comunes y recuperación
400 informa una regla de negocio del rastreable; 401 se aplica a la administración exclusiva mediante bearer; 403 proporciona la acción de propiedad, rol de equipo, agrupación o acceso; 404 significa que debe actualizar el estado actual del rastreable o grupo.
GET /api/trackables/{trackableId}/journey
Las rutas de rastreables cubren exploración pública, propiedad privada, acceso secreto recordado, comentarios y paradas del recorrido.
curl "https://Geotrackable.com/api/trackables/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/journey"
Respuesta correcta
HTTP 200 devuelve los puntos visibles del recorrido en el orden de la ruta. Un rastreable activado sin paradas informadas devuelve una colección vacía.
Errores comunes y recuperación
400 informa una regla de negocio del rastreable; 401 se aplica a la administración exclusiva mediante bearer; 403 proporciona la acción de propiedad, rol de equipo, agrupación o acceso; 404 significa que debe actualizar el estado actual del rastreable o grupo.
POST /api/trackables/{trackableId}/journey-stops
Las rutas de rastreables cubren exploración pública, propiedad privada, acceso secreto recordado, comentarios y paradas del recorrido.
curl -X POST "https://Geotrackable.com/api/trackables/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/journey-stops" \
-H "Content-Type: application/json" \
-d '{ "latitude": 41.8818, "longitude": -87.6231, "accessCode": "" }'
Respuesta correcta
HTTP 200 devuelve la parada directa guardada del recorrido. La latitud y la longitud se convierten en un punto inmutable del historial de la ruta del rastreable activado.
Errores comunes y recuperación
400 trackable_activation_required significa que primero debe activar un propietario apto; 403 trackable_access_code_required o trackable_access_code_invalid requiere la sesión o credencial de este elemento exacto; 404 significa que debe actualizar los ID obsoletos.
DELETE /api/trackables/{trackableId}/journey-stops/{journeyStopId}
Las rutas de rastreables cubren exploración pública, propiedad privada, acceso secreto recordado, comentarios y paradas del recorrido.
curl -X DELETE "https://Geotrackable.com/api/trackables/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/journey-stops/13a2c0b1-582f-4a7b-92aa-16922f7bdb63" \
-H "Authorization: Bearer <access token>"
Respuesta correcta
HTTP 200 confirma que se eliminó la parada directa autorizada del recorrido. Actualice el recorrido antes de ofrecer otra acción para esa parada.
Errores comunes y recuperación
400 trackable_activation_required significa que primero debe activar un propietario apto; 403 trackable_access_code_required o trackable_access_code_invalid requiere la sesión o credencial de este elemento exacto; 404 significa que debe actualizar los ID obsoletos.
POST /api/trackables/{trackableId}/notes
Cree de forma atómica una nota de ubicación completa con mapa y una parada del recorrido bajo un rastreable activado administrado por el propietario personal que inició sesión o por un administrador de equipo activo.
curl -X POST "https://Geotrackable.com/api/trackables/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/notes" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{ "title": "Trackable drop", "body": "Placed near the east trail marker.", "contentLanguage": "en-US", "latitude": 41.8818, "longitude": -87.6231, "visibility": "Private", "commentPolicy": "Disabled" }'
Respuesta correcta
HTTP 201 devuelve trackableId, journeyStopId y la nota guardada completa. El encabezado Location apunta a /api/public/notes/{noteId}; no se confirma ninguna nota ni parada del recorrido si falla la asociación.
Errores comunes y recuperación
400 validation_failed nombra campos no compatibles, como content o trackableIds; 400 trackable_note_location_required requiere ambas coordenadas; 400 trackable_activation_required requiere activación; 403 trackable_management_required requiere el propietario personal o un administrador de equipo activo; 404 trackable_not_found requiere un ID actualizado. Después de un tiempo de espera cuyo resultado se desconoce, actualice antes de reintentar para evitar duplicados.
DELETE /api/trackables/{trackableId}/watch
Las rutas de rastreables cubren exploración pública, propiedad privada, acceso secreto recordado, comentarios y paradas del recorrido.
curl -X DELETE "https://Geotrackable.com/api/trackables/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/watch" \
-H "Authorization: Bearer <access token>"
Respuesta correcta
HTTP 200 devuelve el estado resultante del rastreable o grupo después de cambiar la preferencia de seguimiento de la cuenta que inició sesión. Repetir el estado final deseado no debería crear seguimientos duplicados.
Errores comunes y recuperación
400 informa una regla de negocio del rastreable; 401 se aplica a la administración exclusiva mediante bearer; 403 proporciona la acción de propiedad, rol de equipo, agrupación o acceso; 404 significa que debe actualizar el estado actual del rastreable o grupo.
POST /api/trackables/{trackableId}/watch
Las rutas de rastreables cubren exploración pública, propiedad privada, acceso secreto recordado, comentarios y paradas del recorrido.
# Request-body placeholder: replace {} with the fields required by this route before sending.
curl -X POST "https://Geotrackable.com/api/trackables/13a2c0b1-582f-4a7b-92aa-16922f7bdb63/watch" \
-H "Authorization: Bearer <access token>" \
-H "Content-Type: application/json" \
-d '{}'
Respuesta correcta
HTTP 200 devuelve el estado resultante del rastreable o grupo después de cambiar la preferencia de seguimiento de la cuenta que inició sesión. Repetir el estado final deseado no debería crear seguimientos duplicados.
Errores comunes y recuperación
400 informa una regla de negocio del rastreable; 401 se aplica a la administración exclusiva mediante bearer; 403 proporciona la acción de propiedad, rol de equipo, agrupación o acceso; 404 significa que debe actualizar el estado actual del rastreable o grupo.