Pins
Pin management
List of pins
Internal server error
GET /api/pins HTTP/1.1
Host: 
Accept: */*
[
  {
    "id": 1,
    "title": "text",
    "latitude": 1,
    "longitude": 1,
    "geoPose": {},
    "contentType": "APK",
    "contentUrl": "text",
    "localizationData": {
      "trackingMode": "WORLD",
      "worldmapURL": "https://example.com"
    },
    "zoneId": 1,
    "gcpId": 1,
    "createdAt": "2025-10-30T17:41:36.757Z",
    "updatedAt": "2025-10-30T17:41:36.757Z"
  }
]Creates a pin that is not associated with any specific zone. This allows pinning objects anywhere on the map without being restricted to defined zones.
Title of the pin
URL of the content associated with the pin
Type of content associated with the pin
Latitude coordinate (optional, can be derived from geoPose)
Longitude coordinate (optional, can be derived from geoPose)
Global pin created successfully
Invalid pin data
Failed to create pin
POST /api/pins HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 185
{
  "title": "text",
  "contentUrl": "https://example.com",
  "contentType": "IMAGE",
  "geoPose": {
    "position": {
      "lat": 1,
      "lon": 1,
      "h": 0
    },
    "angles": {
      "yaw": 0,
      "pitch": 0,
      "roll": 0
    }
  },
  "latitude": 1,
  "longitude": 1
}{
  "id": 1,
  "title": "text",
  "latitude": 1,
  "longitude": 1,
  "geoPose": {},
  "contentType": "APK",
  "contentUrl": "text",
  "localizationData": {
    "trackingMode": "WORLD",
    "worldmapURL": "https://example.com"
  },
  "zoneId": 1,
  "gcpId": 1,
  "createdAt": "2025-10-30T17:41:36.757Z",
  "updatedAt": "2025-10-30T17:41:36.757Z"
}Deletes a global pin by ID and removes any associated uploaded files. This operation cascades to clean up related file records.
The ID of the pin to delete
Pin deleted successfully
Invalid pin ID or validation failed
Pin not found
Failed to delete pin
DELETE /api/pins?id=text HTTP/1.1
Host: 
Accept: */*
{
  "message": "Pin deleted successfully",
  "deletedPinId": 1,
  "deletedFilesCount": 1
}Pin updated
Bad request
Internal server error
PUT /api/pins/{id} HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 90
{
  "title": "text",
  "contentUrl": "https://example.com",
  "contentType": "IMAGE",
  "gcpData": "text"
}{
  "id": 1,
  "title": "text",
  "latitude": 1,
  "longitude": 1,
  "geoPose": {},
  "contentType": "APK",
  "contentUrl": "text",
  "localizationData": {
    "trackingMode": "WORLD",
    "worldmapURL": "https://example.com"
  },
  "zoneId": 1,
  "gcpId": 1,
  "createdAt": "2025-10-30T17:41:36.757Z",
  "updatedAt": "2025-10-30T17:41:36.757Z"
}