Pins

Pin management

List all pins

get
Query parameters
zoneIdintegerOptional
Responses
200

List of pins

application/json
get
GET /api/pins HTTP/1.1
Host: 
Accept: */*
[
  {
    "id": 1,
    "title": "text",
    "geoPose": {
      "position": {
        "lat": 1,
        "lon": 1,
        "h": 0
      },
      "yprAngles": {
        "yaw": 0,
        "pitch": 0,
        "roll": 0
      }
    },
    "contentType": "IMAGE",
    "contentUrl": "text",
    "zoneId": 1,
    "gcpId": 1,
    "gcp": {
      "id": 1,
      "title": "text",
      "description": "text",
      "gcpType": "SINGLE",
      "altitude": 1,
      "aprilTagId": 1,
      "gcpData": "text",
      "photoUrls": [
        "text"
      ],
      "zoneId": 1,
      "pin": {
        "id": 1,
        "title": "text",
        "geoPose": {
          "position": {
            "lat": 1,
            "lon": 1,
            "h": 0
          },
          "yprAngles": {
            "yaw": 0,
            "pitch": 0,
            "roll": 0
          }
        },
        "contentType": "IMAGE",
        "contentUrl": "text",
        "zoneId": 1,
        "gcpId": 1,
        "gcp": {
          "id": 1,
          "title": "text",
          "description": "text",
          "gcpType": "SINGLE",
          "altitude": 1,
          "aprilTagId": 1,
          "gcpData": "text",
          "photoUrls": [
            "text"
          ],
          "zoneId": 1,
          "pin": {
            "id": 1,
            "title": "text",
            "geoPose": {
              "position": {
                "lat": 1,
                "lon": 1,
                "h": 0
              },
              "yprAngles": {
                "yaw": 0,
                "pitch": 0,
                "roll": 0
              }
            },
            "contentType": "IMAGE",
            "contentUrl": "text",
            "zoneId": 1,
            "gcpId": 1,
            "gcp": "[Circular Reference]",
            "zone": {
              "id": 1,
              "title": "text"
            },
            "createdAt": "2025-10-09T00:03:02.571Z",
            "updatedAt": "2025-10-09T00:03:02.571Z"
          },
          "zone": {
            "id": 1,
            "title": "text"
          },
          "uploadedFiles": [
            {
              "id": 1,
              "fileName": "text",
              "fileUrl": "text",
              "fileSize": 1,
              "mimeType": "text",
              "bucketPath": "text",
              "gcpId": 1,
              "userId": "text",
              "uploadedAt": "2025-10-09T00:03:02.571Z"
            }
          ],
          "createdAt": "2025-10-09T00:03:02.571Z",
          "updatedAt": "2025-10-09T00:03:02.571Z"
        },
        "zone": {
          "id": 1,
          "title": "text"
        },
        "createdAt": "2025-10-09T00:03:02.571Z",
        "updatedAt": "2025-10-09T00:03:02.571Z"
      },
      "zone": {
        "id": 1,
        "title": "text"
      },
      "uploadedFiles": [
        {
          "id": 1,
          "fileName": "text",
          "fileUrl": "text",
          "fileSize": 1,
          "mimeType": "text",
          "bucketPath": "text",
          "gcpId": 1,
          "userId": "text",
          "uploadedAt": "2025-10-09T00:03:02.571Z"
        }
      ],
      "createdAt": "2025-10-09T00:03:02.571Z",
      "updatedAt": "2025-10-09T00:03:02.571Z"
    },
    "zone": {
      "id": 1,
      "title": "text"
    },
    "createdAt": "2025-10-09T00:03:02.571Z",
    "updatedAt": "2025-10-09T00:03:02.571Z"
  }
]

Update a pin

put
Path parameters
idintegerRequired
Body
titlestringRequired
contentUrlstring · uriRequired
contentTypestring · enumRequiredPossible values:
gcpDatastring | nullableOptional
Responses
200

Pin updated

application/json
put
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",
  "geoPose": {
    "position": {
      "lat": 1,
      "lon": 1,
      "h": 0
    },
    "yprAngles": {
      "yaw": 0,
      "pitch": 0,
      "roll": 0
    }
  },
  "contentType": "IMAGE",
  "contentUrl": "text",
  "zoneId": 1,
  "gcpId": 1,
  "gcp": {
    "id": 1,
    "title": "text",
    "description": "text",
    "gcpType": "SINGLE",
    "altitude": 1,
    "aprilTagId": 1,
    "gcpData": "text",
    "photoUrls": [
      "text"
    ],
    "zoneId": 1,
    "pin": {
      "id": 1,
      "title": "text",
      "geoPose": {
        "position": {
          "lat": 1,
          "lon": 1,
          "h": 0
        },
        "yprAngles": {
          "yaw": 0,
          "pitch": 0,
          "roll": 0
        }
      },
      "contentType": "IMAGE",
      "contentUrl": "text",
      "zoneId": 1,
      "gcpId": 1,
      "gcp": {
        "id": 1,
        "title": "text",
        "description": "text",
        "gcpType": "SINGLE",
        "altitude": 1,
        "aprilTagId": 1,
        "gcpData": "text",
        "photoUrls": [
          "text"
        ],
        "zoneId": 1,
        "pin": {
          "id": 1,
          "title": "text",
          "geoPose": {
            "position": {
              "lat": 1,
              "lon": 1,
              "h": 0
            },
            "yprAngles": {
              "yaw": 0,
              "pitch": 0,
              "roll": 0
            }
          },
          "contentType": "IMAGE",
          "contentUrl": "text",
          "zoneId": 1,
          "gcpId": 1,
          "gcp": {
            "id": 1,
            "title": "text",
            "description": "text",
            "gcpType": "SINGLE",
            "altitude": 1,
            "aprilTagId": 1,
            "gcpData": "text",
            "photoUrls": [
              "text"
            ],
            "zoneId": 1,
            "pin": "[Circular Reference]",
            "zone": {
              "id": 1,
              "title": "text"
            },
            "uploadedFiles": [
              {
                "id": 1,
                "fileName": "text",
                "fileUrl": "text",
                "fileSize": 1,
                "mimeType": "text",
                "bucketPath": "text",
                "gcpId": 1,
                "userId": "text",
                "uploadedAt": "2025-10-09T00:03:02.571Z"
              }
            ],
            "createdAt": "2025-10-09T00:03:02.571Z",
            "updatedAt": "2025-10-09T00:03:02.571Z"
          },
          "zone": {
            "id": 1,
            "title": "text"
          },
          "createdAt": "2025-10-09T00:03:02.571Z",
          "updatedAt": "2025-10-09T00:03:02.571Z"
        },
        "zone": {
          "id": 1,
          "title": "text"
        },
        "uploadedFiles": [
          {
            "id": 1,
            "fileName": "text",
            "fileUrl": "text",
            "fileSize": 1,
            "mimeType": "text",
            "bucketPath": "text",
            "gcpId": 1,
            "userId": "text",
            "uploadedAt": "2025-10-09T00:03:02.571Z"
          }
        ],
        "createdAt": "2025-10-09T00:03:02.571Z",
        "updatedAt": "2025-10-09T00:03:02.571Z"
      },
      "zone": {
        "id": 1,
        "title": "text"
      },
      "createdAt": "2025-10-09T00:03:02.571Z",
      "updatedAt": "2025-10-09T00:03:02.571Z"
    },
    "zone": {
      "id": 1,
      "title": "text"
    },
    "uploadedFiles": [
      {
        "id": 1,
        "fileName": "text",
        "fileUrl": "text",
        "fileSize": 1,
        "mimeType": "text",
        "bucketPath": "text",
        "gcpId": 1,
        "userId": "text",
        "uploadedAt": "2025-10-09T00:03:02.571Z"
      }
    ],
    "createdAt": "2025-10-09T00:03:02.571Z",
    "updatedAt": "2025-10-09T00:03:02.571Z"
  },
  "zone": {
    "id": 1,
    "title": "text"
  },
  "createdAt": "2025-10-09T00:03:02.571Z",
  "updatedAt": "2025-10-09T00:03:02.571Z"
}

Delete a pin

delete
Path parameters
idintegerRequired
Responses
204

Pin deleted

No content

delete
DELETE /api/pins/{id} HTTP/1.1
Host: 
Accept: */*

No content