Opciones de privacidad

Como no pudimos ubicar con suficiente confianza esta visita fuera de una region que requiere consentimiento, Geotrackable esta reteniendo las herramientas de ruta de terceros hasta que confirme lo que esta visita debe permitir.

Confirme los valores recomendados para seguir avanzando, o abra abajo las opciones de la visita si primero quiere una ruta más estricta para mapas o analítica.

Valor de ruta recomendado para esta visita

Geotrackable.com

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

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": ""
  }'

Sobre rastreables

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>"

Sobre equipos

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
}

Eliminar datos

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.

Lea la carga de error y la referencia de recuperación

Iniciar sesión

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

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.

Soporte