Photos
The photo evidence manifest. Filenames are deterministic and self-describing — organize the archive without opening a single image.
GET/{key}/{scope}/{id}/photos
Filename grammar
{site}-{feature-type}-{mark-id}-{slot}[-NN]-{uid6}.{ext}
Slots
| Slot | Meaning |
|---|---|
open / closed | Structure open and closed shots (required per structure) |
entry / exit / depth | Bore and trench evidence |
splice / tube | Per-splice and whole-tube shots inside a closure (index = instance) |
closure-open / closure-closed | Final case shots at certification |
certify-signature / test-file | Attestation signature image and OTDR test records |
The
url requires an FCC HQ login today — bulk image delivery ships in the export ZIP FCC provides.curl "https://app.fiberconstructioncompany.com/api/field/v1/geoexport/fck_YOURKEY/site/8/photos"const res = await fetch(
"https://app.fiberconstructioncompany.com/api/field/v1/geoexport/fck_YOURKEY/site/8/photos");
const data = await res.json();<?php
$data = json_decode(
file_get_contents("https://app.fiberconstructioncompany.com/api/field/v1/geoexport/fck_YOURKEY/site/8/photos"),
true);import requests
data = requests.get(
"https://app.fiberconstructioncompany.com/api/field/v1/geoexport/fck_YOURKEY/site/8/photos",
timeout=30).json()200 application/json
[
{
"file": "site-qa-01-old-settlers-manhole-mh14-open-7f3a2c.jpg",
"feature_title": "Manhole 3",
"feature_type": "manhole",
"slot": "open",
"slot_index": null,
"by": "Nathan Goldstein",
"taken_at": "2026-07-29 13:18:13",
"url": "https://app.fiberconstructioncompany.com/field/file/475"
}
]