Pins

Pin management

List all pins

get
Query parameters
zoneIdintegerOptional
Responses
chevron-right
200

List of pins

application/json
idintegerOptional
titlestringOptional
latitudenumber · nullableOptional
longitudenumber · nullableOptional
geoPoseobjectOptional

JSON object containing geographic position and orientation data

contentTypestring · enumOptionalPossible values:
contentUrlstringOptional
zoneIdinteger · nullableOptional
gcpIdinteger · nullableOptional
userIdstring · nullableOptional
visibilitystring · enumOptional

Pin visibility setting

Possible values:
relocalizationPhotoUrlstring · nullableOptional

URL of the relocalization reference photo

scanInstructionsstring · nullableOptional

Instructions for scanning/relocalizing

cameraPoseHintobject · nullableOptional

Camera pose hint for AR relocalization

blockchainSignaturestring · nullableOptional
blockchainTxUrlstring · nullableOptional
blockchainSyncedAtstring · date-time · nullableOptional
createdAtstring · date-timeOptional
updatedAtstring · date-timeOptional
get
/pins

Create a global pin (outside any zone)

post

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.

Body
titlestringRequired

Title of the pin

contentUrlstring · uriRequired

URL of the content associated with the pin

contentTypestring · enumRequired

Type of content associated with the pin

Possible values:
latitudenumber · nullableOptional

Latitude coordinate (optional, can be derived from geoPose)

longitudenumber · nullableOptional

Longitude coordinate (optional, can be derived from geoPose)

Responses
post
/pins

Delete a global pin

delete

Deletes a global pin by ID and removes any associated uploaded files. This operation cascades to clean up related file records.

Query parameters
idstringRequired

The ID of the pin to delete

Responses
chevron-right
200

Pin deleted successfully

application/json
messagestringOptionalExample: Pin deleted successfully
deletedPinIdintegerOptional

ID of the deleted pin

deletedFilesCountintegerOptional

Number of associated uploaded files that were also deleted

delete
/pins

Get a pin by ID

get

Retrieves a single pin by ID with map associations. MVP: Public access, no authentication required.

Path parameters
idintegerRequired

Pin ID

Responses
chevron-right
200

Pin retrieved successfully

application/json
idintegerOptional
titlestringOptional
latitudenumber · nullableOptional
longitudenumber · nullableOptional
geoPoseobjectOptional

JSON object containing geographic position and orientation data

contentTypestring · enumOptionalPossible values:
contentUrlstringOptional
zoneIdinteger · nullableOptional
gcpIdinteger · nullableOptional
userIdstring · nullableOptional
visibilitystring · enumOptional

Pin visibility setting

Possible values:
relocalizationPhotoUrlstring · nullableOptional

URL of the relocalization reference photo

scanInstructionsstring · nullableOptional

Instructions for scanning/relocalizing

cameraPoseHintobject · nullableOptional

Camera pose hint for AR relocalization

blockchainSignaturestring · nullableOptional
blockchainTxUrlstring · nullableOptional
blockchainSyncedAtstring · date-time · nullableOptional
createdAtstring · date-timeOptional
updatedAtstring · date-timeOptional
get
/pins/{id}

Update a pin

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

Pin updated

application/json
idintegerOptional
titlestringOptional
latitudenumber · nullableOptional
longitudenumber · nullableOptional
geoPoseobjectOptional

JSON object containing geographic position and orientation data

contentTypestring · enumOptionalPossible values:
contentUrlstringOptional
zoneIdinteger · nullableOptional
gcpIdinteger · nullableOptional
userIdstring · nullableOptional
visibilitystring · enumOptional

Pin visibility setting

Possible values:
relocalizationPhotoUrlstring · nullableOptional

URL of the relocalization reference photo

scanInstructionsstring · nullableOptional

Instructions for scanning/relocalizing

cameraPoseHintobject · nullableOptional

Camera pose hint for AR relocalization

blockchainSignaturestring · nullableOptional
blockchainTxUrlstring · nullableOptional
blockchainSyncedAtstring · date-time · nullableOptional
createdAtstring · date-timeOptional
updatedAtstring · date-timeOptional
put
/pins/{id}

Delete a pin

delete
Path parameters
idintegerRequired
Responses
delete
/pins/{id}

No content

Record pin visit

post

Marks a pin as visited for the authenticated user across all maps containing it. Returns updated progress for each map.

Authorizations
AuthorizationstringRequired

Bearer token authentication. Pass the session token obtained from /auth/sync.

Path parameters
idintegerRequired

Pin ID

Responses
chevron-right
200

Pin visit recorded

application/json
successbooleanOptional
visitedMapsinteger[]Optional

Map IDs where the visit was recorded

post
/pins/{id}/visit

Update pin visibility

patch

Updates the visibility setting of a pin (public, private, or friends).

Authorizations
AuthorizationstringRequired

Bearer token authentication. Pass the session token obtained from /auth/sync.

Path parameters
idintegerRequired

Pin ID

Body
visibilitystring · enumRequiredPossible values:
Responses
chevron-right
200

Visibility updated

application/json
idintegerOptional
titlestringOptional
latitudenumber · nullableOptional
longitudenumber · nullableOptional
geoPoseobjectOptional

JSON object containing geographic position and orientation data

contentTypestring · enumOptionalPossible values:
contentUrlstringOptional
zoneIdinteger · nullableOptional
gcpIdinteger · nullableOptional
userIdstring · nullableOptional
visibilitystring · enumOptional

Pin visibility setting

Possible values:
relocalizationPhotoUrlstring · nullableOptional

URL of the relocalization reference photo

scanInstructionsstring · nullableOptional

Instructions for scanning/relocalizing

cameraPoseHintobject · nullableOptional

Camera pose hint for AR relocalization

blockchainSignaturestring · nullableOptional
blockchainTxUrlstring · nullableOptional
blockchainSyncedAtstring · date-time · nullableOptional
createdAtstring · date-timeOptional
updatedAtstring · date-timeOptional
patch
/pins/{id}/visibility

Update pin localization data

patch

Updates the AR relocalization data for a pin, including the reference photo URL, scan instructions, and camera pose hint.

Authorizations
AuthorizationstringRequired

Bearer token authentication. Pass the session token obtained from /auth/sync.

Path parameters
idintegerRequired

Pin ID

Body
relocalizationPhotoUrlstring · uriOptional
scanInstructionsstringOptional
Responses
chevron-right
200

Localization data updated

application/json
idintegerOptional
titlestringOptional
latitudenumber · nullableOptional
longitudenumber · nullableOptional
geoPoseobjectOptional

JSON object containing geographic position and orientation data

contentTypestring · enumOptionalPossible values:
contentUrlstringOptional
zoneIdinteger · nullableOptional
gcpIdinteger · nullableOptional
userIdstring · nullableOptional
visibilitystring · enumOptional

Pin visibility setting

Possible values:
relocalizationPhotoUrlstring · nullableOptional

URL of the relocalization reference photo

scanInstructionsstring · nullableOptional

Instructions for scanning/relocalizing

cameraPoseHintobject · nullableOptional

Camera pose hint for AR relocalization

blockchainSignaturestring · nullableOptional
blockchainTxUrlstring · nullableOptional
blockchainSyncedAtstring · date-time · nullableOptional
createdAtstring · date-timeOptional
updatedAtstring · date-timeOptional
patch
/pins/{id}/localization

Get blockchain status for a pin

get

Retrieves the blockchain sync status, transaction signature, explorer URL, and transaction history for a specific pin. Authentication required.

Authorizations
X-Dynamic-User-IdstringRequired

Dynamic authentication header. Required for blockchain endpoints and other authenticated operations.

Path parameters
idintegerRequired

Pin ID

Responses
chevron-right
200

Blockchain status retrieved successfully

application/json
get
/pins/{id}/blockchain

Last updated