Fulcrum (Preview)
Fulcrum is a field-first solution that empowers both GIS experts and non-GIS team members to easily capture and share geospatial data. This connector enables integration with Fulcrum for managing field data, photos, videos, and more.
This connector is available in the following products and regions:
| Service | Class | Regions |
|---|---|---|
| Copilot Studio | Premium | All Power Automate regions except the following: - US Government (GCC) - US Government (GCC High) - China Cloud operated by 21Vianet - US Department of Defense (DoD) |
| Logic Apps | Standard | All Logic Apps regions except the following: - Azure Government regions - Azure China regions - US Department of Defense (DoD) |
| Power Apps | Premium | All Power Apps regions except the following: - US Government (GCC) - US Government (GCC High) - China Cloud operated by 21Vianet - US Department of Defense (DoD) |
| Power Automate | Premium | All Power Automate regions except the following: - US Government (GCC) - US Government (GCC High) - China Cloud operated by 21Vianet - US Department of Defense (DoD) |
| Contact | |
|---|---|
| Name | Fulcrum Support |
| URL | https://www.fulcrumapp.com/support |
| support@fulcrumapp.com |
| Connector Metadata | |
|---|---|
| Publisher | Spatial Networks, Inc. |
| Website | https://www.fulcrumapp.com |
| Privacy policy | https://www.fulcrumapp.com/privacy |
| Categories | Productivity;Data |
Fulcrum
Fulcrum is a field-first solution that empowers both GIS experts and non-GIS team members to easily capture and share geospatial data. This connector enables integration with Fulcrum for managing field data, photos, videos, and more.
Publisher
Fulcrum
Prerequisites
- Active Fulcrum subscription with API access enabled
Supported Operations
Triggers
When a Fulcrum event occurs
Triggers when a Fulcrum resource is created, updated, or deleted. Supports events for records, forms, choice lists, and classification sets. Configure the webhook in your Fulcrum organization to specify which events to monitor.
Actions
Get a list of attachment metadata
Retrieve a list of attachments.
Get an attachment
Retrieve metadata for a single attachment.
Get a list of audio metadata
Retrieve metadata for a list of audio files.
Get an audio original file
Download the original audio file.
Get a list of photo metadata
Retrieve metadata for a list of photos.
Get a photo original file
Download the original photo file.
Get photo metadata
Retrieve metadata for a single photo.
Make a Query POST request
Execute a Query API request using HTTP POST. Provide a SQL like query to query against your organization's data.
Get a list of records
Get a list of records from your organization that can be filtered by dimensions such as form, project, changeset, bounding box, and date ranges.
Create a record
Create a new record in the specified form using the provided form values, location information, and any associated metadata.
Delete a record
Delete a record from your organization.
Get a record
Retrieve detailed information about a specific record by its ID. This includes all form field values, location data, timestamps, and associated metadata.
Partially update a record
Update specific fields of an existing record without requiring the complete record object. Only the fields included in the request body will be modified, while all other fields remain unchanged. This is useful for updating individual field values or metadata.
Update a record
Update a record with a provided record object. The record object is expected to be the complete representation of the record. Any fields not included are assumed null.
Get the history of a record
Retrieve the complete version history of a record.
Create a report
Generate a new report for a specific record, optionally using a report template.
Get a report file
Download the generated PDF report file.
Get a list of signature metadata
Retrieve metadata for a list of signatures.
Get signature metadata
Retrieve metadata for a single signature.
Get a signature original file
Download the original signature file.
Get a list of sketch metadata
Retrieve metadata for a list of sketches.
Get a sketch original file
Download the original sketch file.
Get sketch metadata
Retrieve metadata for a single sketch.
Get a list of video metadata
Retrieve metadata for a list of videos.
Get a video original file
Download the original video file.
Obtaining Credentials
To use the Fulcrum connector, you need a Fulcrum API token:
- Log in to your Fulcrum account at https://web.fulcrumapp.com
- Navigate to Settings > API
- Generate a new API token or use an existing one
- Copy the token and use it when creating a connection
Getting Started
Create a new connection and enter your Fulcrum API token when prompted.
Custom Host URLs
By default, the connector uses the production Fulcrum API at api.fulcrumapp.com. For other regions, you can specify a different host URL when creating your connection.
Regional Endpoints:
- United States (default):
api.fulcrumapp.com - Canada:
api.fulcrumapp-ca.com - Australia:
api.fulcrumapp-au.com - Europe:
api.fulcrumapp-eu.com
Format: Enter only the hostname without protocol or path. The connector will automatically use HTTPS and the correct API path.
Troubleshooting:
- Ensure your custom host is accessible from your network
- Verify the hostname is correct (no typos)
- Confirm your API token is valid for the specified host
Known Issues and Limitations
- Rate limiting applies based on your Fulcrum plan
Deployment Instructions
Please use these instructions to deploy this connector as a custom connector in Microsoft Power Automate and Power Apps.
Creating a connection
The connector supports the following authentication types:
| Default | Parameters for creating connection. | All regions | Not shareable |
Default
Applicable: All regions
Parameters for creating connection.
This is not shareable connection. If the power app is shared with another user, another user will be prompted to create new connection explicitly.
| Name | Type | Description | Required |
|---|---|---|---|
| API Token | securestring | Your Fulcrum API token for authentication | True |
| Host URL | string | The API host for your Fulcrum instance |
Throttling Limits
| Name | Calls | Renewal Period |
|---|---|---|
| API calls per connection | 100 | 60 seconds |
Actions
| Create a record |
Create a new record in the specified form using the provided form values, location information, and any associated metadata. |
| Create a report |
Generate a new report for a specific record, optionally using a report template. |
| Delete a record |
Delete a record from your organization. |
| Get a list of attachment metadata |
Retrieve a list of attachments. |
| Get a list of audio metadata |
Retrieve metadata for a list of audio files. |
| Get a list of photo metadata |
Retrieve metadata for a list of photos. |
| Get a list of records |
Get a list of records from your organization that can be filtered by dimensions such as form, project, changeset, bounding box, and date ranges. |
| Get a list of signature metadata |
Retrieve metadata for a list of signatures. |
| Get a list of sketch metadata |
Retrieve metadata for a list of sketches. |
| Get a list of video metadata |
Retrieve metadata for a list of videos. |
| Get a photo original file |
Download the original photo file. |
| Get a record |
Retrieve detailed information about a specific record by its ID. This includes all form field values, location data, timestamps, and associated metadata. |
| Get a report file |
Download the generated PDF report file. |
| Get a signature original file |
Download the original signature file. |
| Get a sketch original file |
Download the original sketch file. |
| Get a video original file |
Download the original video file. |
| Get an attachment |
Retrieve metadata for a single attachment. |
| Get an audio original file |
Download the original audio file. |
| Get photo metadata |
Retrieve metadata for a single photo. |
| Get signature metadata |
Retrieve metadata for a single signature. |
| Get sketch metadata |
Retrieve metadata for a single sketch. |
| Get the history of a record |
Retrieve the complete version history of a record. |
| Make a Query POST request |
Execute a Query API request using HTTP POST. Provide a SQL like query to query against your organization's data. |
| Partially update a record |
Update specific fields of an existing record without requiring the complete record object. Only the fields included in the request body will be modified, while all other fields remain unchanged. This is useful for updating individual field values or metadata. |
| Update a record |
Update a record with a provided record object. The record object is expected to be the complete representation of the record. Any fields not included are assumed null. |
Create a record
Create a new record in the specified form using the provided form values, location information, and any associated metadata.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
Content Type
|
Content-Type | string |
Content Type |
|
|
X Skipworkflows
|
X-SkipWorkflows | boolean |
Skips all app workflows |
|
|
X Skipwebhooks
|
X-SkipWebhooks | boolean |
Skips all app webhooks |
|
|
assigned_to_id
|
assigned_to_id | string |
ID of user assigned to this record |
|
|
form_id
|
form_id | True | string |
ID of the form this record belongs to |
|
form_values
|
form_values | object |
Field values keyed by field key |
|
|
coordinates
|
coordinates | True |
Coordinates for the geometry. Format varies by type: Point uses [longitude, latitude], LineString uses array of positions, Polygon uses array of linear rings (first is exterior, rest are holes), Multi* types use arrays of their respective coordinate structures. |
|
|
type
|
type | True | string |
GeoJSON geometry type |
|
latitude
|
latitude | number |
Latitude coordinate |
|
|
longitude
|
longitude | number |
Longitude coordinate |
|
|
project_id
|
project_id | string |
ID of the project |
|
|
status
|
status | string |
Status of the record |
Returns
- Body
- SingleRecordResponse
Create a report
Generate a new report for a specific record, optionally using a report template.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
record_id
|
record_id | True | uuid |
The ID of the record to generate a report for |
|
template_id
|
template_id | uuid |
The ID of the report template to use (optional) |
Returns
- Body
- ReportResponse
Delete a record
Delete a record from your organization.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
Record Id
|
record_id | True | string |
The unique identifier of the record to delete. |
|
X Skipworkflows
|
X-SkipWorkflows | boolean |
Skips all app workflows |
|
|
X Skipwebhooks
|
X-SkipWebhooks | boolean |
Skips all app webhooks |
Returns
- Body
- SingleRecordResponse
Get a list of attachment metadata
Retrieve a list of attachments.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
Record Id
|
record_id | string |
The ID of the record with which the attachment is associated. This is required when listing record attachments. |
|
|
Form Id
|
form_id | string |
The ID of the form with which the attachment is associated. This parameter will allow you to get all reference files within a form, NOT all of the record attachments in a form |
|
|
Owner Type
|
owner_type | string |
The type of attachment to query for. Must be either |
|
|
Sort
|
sort | string |
The field to sort results by. |
|
|
Sort Direction
|
sort_direction | string |
The sort direction(asc, desc). Default is asc. |
Returns
- Body
- AttachmentsResponse
Get a list of audio metadata
Retrieve metadata for a list of audio files.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
Record Id
|
record_id | string |
The ID of the record with which the audio file is associated. |
|
|
Form Id
|
form_id | string |
The ID of the form with which the audio file is associated. Leaving this blank will query against all of your audio files. |
|
|
Newest First
|
newest_first | boolean |
If present, audio files will be sorted by updated_at date. |
|
|
Processed
|
processed | boolean |
Filter for audio files that have been completely processed. |
|
|
Stored
|
stored | boolean |
Filter for audio files that have been completely stored. |
|
|
Uploaded
|
uploaded | boolean |
Filter for audio files that have been completely uploaded. |
|
|
Page
|
page | integer |
The page number requested. |
|
|
Per Page
|
per_page | integer |
The number of items to return per page. |
Returns
- Body
- AudiosResponse
Get a list of photo metadata
Retrieve metadata for a list of photos.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
Record Id
|
record_id | string |
The ID of the record with which the photo is associated. |
|
|
Form Id
|
form_id | string |
The ID of the form with which the photo is associated. Leaving this blank will query against all of your photos. |
|
|
Newest First
|
newest_first | boolean |
If present, photos will be sorted by updated_at date. |
|
|
Processed
|
processed | boolean |
Filter for photos that have been completely processed. |
|
|
Stored
|
stored | boolean |
Filter for photos that have been completely stored. |
|
|
Uploaded
|
uploaded | boolean |
Filter for photos that have been completely uploaded. |
|
|
Page
|
page | integer |
The page number requested. |
|
|
Per Page
|
per_page | integer |
The number of items to return per page. |
Returns
- Body
- PhotosResponse
Get a list of records
Get a list of records from your organization that can be filtered by dimensions such as form, project, changeset, bounding box, and date ranges.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
Newest First
|
newest_first | boolean |
If present, records will be sorted by updated_at date. |
|
|
Bounding Box
|
bounding_box | string |
Bounding box of the records requested. Format should be: lat,long,lat,long (bottom, left, top, right). |
|
|
Changeset Id
|
changeset_id | string |
The id of the changeset associated with the record. |
|
|
Form Id
|
form_id | string |
The id of the form with which the record is associated. Leaving this blank will query against all of your records. |
|
|
Project Id
|
project_id | string |
The id of the project with which the record is associated. Leaving this blank will query against all of your records. |
|
|
Client Created Before
|
client_created_before | date-time |
Return only records which were created by the client (device) before the given time. |
|
|
Client Created Since
|
client_created_since | date-time |
Return only records which were created by the client (device) after the given time. |
|
|
Client Updated Before
|
client_updated_before | date-time |
Return only records which were updated by the client (device) before the given time. |
|
|
Client Updated Since
|
client_updated_since | date-time |
Return only records which were updated by the client (device) after the given time. |
|
|
Created Before
|
created_before | date-time |
Return only records which were created (on the server) before the given time. |
|
|
Created Since
|
created_since | date-time |
Return only records which were created (on the server) after the given time. |
|
|
Updated Before
|
updated_before | date-time |
Return only records which were updated (on the server) before the given time. |
|
|
Updated Since
|
updated_since | date-time |
Return only records which were updated (on the server) after the given time. |
|
|
Page
|
page | integer |
The page number requested |
|
|
Per Page
|
per_page | integer |
Number of items per page |
Returns
- Body
- RecordsResponse
Get a list of signature metadata
Retrieve metadata for a list of signatures.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
Record Id
|
record_id | string |
The ID of the record with which the photo is associated. |
|
|
Form Id
|
form_id | string |
The ID of the form with which the photo is associated. Leaving this blank will query against all of your photos. |
|
|
Newest First
|
newest_first | boolean |
If present, photos will be sorted by updated_at date. |
|
|
Processed
|
processed | boolean |
Filter for signatures that have been completely processed. |
|
|
Stored
|
stored | boolean |
Filter for signatures that have been completely stored. |
|
|
Uploaded
|
uploaded | boolean |
Filter for signatures that have been completely uploaded. |
|
|
Page
|
page | integer |
The page number requested. |
|
|
Per Page
|
per_page | integer |
The number of items to return per page. |
Returns
- Body
- SignaturesResponse
Get a list of sketch metadata
Retrieve metadata for a list of sketches.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
Record Id
|
record_id | string |
The ID of the record with which the sketch is associated. |
|
|
Form Id
|
form_id | string |
The ID of the form with which the sketch is associated. Leaving this blank will query against all of your sketches. |
|
|
Newest First
|
newest_first | boolean |
If present, sketches will be sorted by updated_at date. |
|
|
Processed
|
processed | boolean |
Sketch has been completely processed. |
|
|
Stored
|
stored | boolean |
Sketch has been completely stored. |
|
|
Uploaded
|
uploaded | boolean |
Sketch has been completely uploaded. |
|
|
Page
|
page | integer |
The page number requested |
|
|
Per Page
|
per_page | integer |
Number of items per page |
Returns
- Body
- SketchesResponse
Get a list of video metadata
Retrieve metadata for a list of videos.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
Record Id
|
record_id | string |
The ID of the record with which the video is associated. |
|
|
Form Id
|
form_id | string |
The ID of the form with which the video is associated. Leaving this blank will query against all of your videos. |
|
|
Newest First
|
newest_first | boolean |
If present, videos will be sorted by updated_at date. |
|
|
Processed
|
processed | boolean |
Filter for videos that have been completely processed. |
|
|
Stored
|
stored | boolean |
Filter for videos that have been completely stored. |
|
|
Uploaded
|
uploaded | boolean |
Filter for videos that have been completely uploaded. |
|
|
Page
|
page | integer |
The page number requested. |
|
|
Per Page
|
per_page | integer |
The number of items to return per page. |
Returns
- Body
- VideosResponse
Get a photo original file
Download the original photo file.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
Photo Id
|
photo_id | True | string |
The unique identifier of the photo. |
Returns
- response
- binary
Get a record
Retrieve detailed information about a specific record by its ID. This includes all form field values, location data, timestamps, and associated metadata.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
Record Id
|
record_id | True | string |
The unique identifier of the record to retrieve. |
Returns
- Body
- SingleRecordResponse
Get a report file
Download the generated PDF report file.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
Report Id
|
report_id | True | uuid |
The unique identifier of the report. |
Returns
- response
- binary
Get a signature original file
Download the original signature file.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
Signature Id
|
signature_id | True | string |
The unique identifier of the signature. |
Returns
- response
- binary
Get a sketch original file
Download the original sketch file.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
Sketch Id
|
sketch_id | True | string |
Sketch ID |
Returns
- response
- binary
Get a video original file
Download the original video file.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
Video Id
|
video_id | True | string |
The unique identifier of the video. |
Returns
- response
- binary
Get an attachment
Retrieve metadata for a single attachment.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
Attachment Id
|
attachment_id | True | string |
The unique identifier of the attachment. |
Returns
- Body
- Attachment
Get an audio original file
Download the original audio file.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
Audio Id
|
audio_id | True | string |
The unique identifier of the audio file. |
Returns
- response
- binary
Get photo metadata
Retrieve metadata for a single photo.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
Photo Id
|
photo_id | True | string |
The unique identifier of the photo. |
Returns
- Body
- SinglePhotoResponse
Get signature metadata
Retrieve metadata for a single signature.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
Signature Id
|
signature_id | True | string |
The unique identifier of the signature. |
Returns
Get sketch metadata
Retrieve metadata for a single sketch.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
Sketch Id
|
sketch_id | True | string |
Sketch ID |
Returns
- Body
- SingleSketchResponse
Get the history of a record
Retrieve the complete version history of a record.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
Record Id
|
record_id | True | string |
The unique identifier of the record whose history you want to retrieve. |
Returns
Make a Query POST request
Execute a Query API request using HTTP POST. Provide a SQL like query to query against your organization's data.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
Page
|
page | integer |
The page number requested. |
|
|
Per Page
|
per_page | integer |
The number of items to return per page. |
|
|
format
|
format | string |
Response format |
|
|
q
|
q | True | string |
SQL query to execute |
|
table_name
|
table_name | string |
Name of the table to query |
Partially update a record
Update specific fields of an existing record without requiring the complete record object. Only the fields included in the request body will be modified, while all other fields remain unchanged. This is useful for updating individual field values or metadata.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
Content Type
|
Content-Type | string |
Content Type |
|
|
Record Id
|
record_id | True | string |
Record ID |
|
X Skipworkflows
|
X-SkipWorkflows | boolean |
Skips all app workflows |
|
|
X Skipwebhooks
|
X-SkipWebhooks | boolean |
Skips all app webhooks |
|
|
assigned_to_id
|
assigned_to_id | string |
ID of user assigned to this record |
|
|
form_values
|
form_values | object |
Field values keyed by field key |
|
|
coordinates
|
coordinates | True |
Coordinates for the geometry. Format varies by type: Point uses [longitude, latitude], LineString uses array of positions, Polygon uses array of linear rings (first is exterior, rest are holes), Multi* types use arrays of their respective coordinate structures. |
|
|
type
|
type | True | string |
GeoJSON geometry type |
|
latitude
|
latitude | number |
Latitude coordinate |
|
|
longitude
|
longitude | number |
Longitude coordinate |
|
|
project_id
|
project_id | string |
ID of the project |
|
|
status
|
status | string |
Status of the record |
Returns
- Body
- SingleRecordResponse
Update a record
Update a record with a provided record object. The record object is expected to be the complete representation of the record. Any fields not included are assumed null.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
Content Type
|
Content-Type | string |
Content Type |
|
|
Record Id
|
record_id | True | string |
Record ID |
|
X Skipworkflows
|
X-SkipWorkflows | boolean |
Skips all app workflows |
|
|
X Skipwebhooks
|
X-SkipWebhooks | boolean |
Skips all app webhooks |
|
|
assigned_to_id
|
assigned_to_id | string |
ID of user assigned to this record |
|
|
form_id
|
form_id | True | string |
ID of the form this record belongs to |
|
form_values
|
form_values | object |
Field values keyed by field key |
|
|
coordinates
|
coordinates | True |
Coordinates for the geometry. Format varies by type: Point uses [longitude, latitude], LineString uses array of positions, Polygon uses array of linear rings (first is exterior, rest are holes), Multi* types use arrays of their respective coordinate structures. |
|
|
type
|
type | True | string |
GeoJSON geometry type |
|
latitude
|
latitude | number |
Latitude coordinate |
|
|
longitude
|
longitude | number |
Longitude coordinate |
|
|
project_id
|
project_id | string |
ID of the project |
|
|
status
|
status | string |
Status of the record |
Triggers
| When a Fulcrum event occurs |
Triggers when a Fulcrum resource is created, updated, or deleted. Supports events for records, forms, choice lists, and classification sets. Configure the webhook in your Fulcrum organization to specify which events to monitor. |
When a Fulcrum event occurs
Triggers when a Fulcrum resource is created, updated, or deleted. Supports events for records, forms, choice lists, and classification sets. Configure the webhook in your Fulcrum organization to specify which events to monitor.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
Content Type
|
Content-Type | string |
Content Type |
|
|
active
|
active | boolean |
Whether the webhook is enabled |
|
|
Webhook Name
|
name | True | string |
Display name for the webhook |
|
run_for_bulk_actions
|
run_for_bulk_actions | boolean |
Whether the webhook runs for bulk record actions |
Returns
Webhook event payload from Fulcrum
Definitions
Attachment
| Name | Path | Type | Description |
|---|---|---|---|
|
attached_to_id
|
attached_to_id | string |
ID of the resource this attachment is attached to |
|
attached_to_type
|
attached_to_type | string |
Type of resource this attachment is attached to |
|
complete
|
complete | boolean |
Whether the attachment upload is complete |
|
file_size
|
file_size | integer |
Size of the attachment file in bytes |
|
id
|
id | string |
Unique identifier for the attachment |
|
name
|
name | string |
Filename of the attachment |
|
owners
|
owners | array of object |
List of owner references for the attachment |
|
id
|
owners.id | string |
ID of the owner |
|
type
|
owners.type | string |
Type of owner (e.g., 'record' or 'form') |
|
status
|
status | string |
Status of the attachment |
|
uploaded_at
|
uploaded_at | date-time |
Timestamp when the attachment was uploaded |
|
url
|
url | uri |
URL to access the attachment |
AttachmentsResponse
| Name | Path | Type | Description |
|---|---|---|---|
|
attachments
|
attachments | array of Attachment | |
|
total
|
total | integer |
Total number of attachments returned |
|
total_count
|
total_count | integer |
Total count of attachments available |
Audio
| Name | Path | Type | Description |
|---|---|---|---|
|
access_key
|
access_key | string |
Unique identifier for the audio resource |
|
content_type
|
content_type | string |
MIME type of the audio file |
|
created_at
|
created_at | date-time |
Timestamp when the audio was created |
|
created_by
|
created_by | string |
Display name of the user who created the audio |
|
created_by_id
|
created_by_id | string |
ID of the user who created the audio |
|
deleted_at
|
deleted_at | date-time |
Timestamp when the audio was deleted |
|
file_size
|
file_size | integer |
Size of the audio file in bytes |
|
form_id
|
form_id | string |
ID of the associated form |
|
medium
|
medium | uri |
URL to medium version of the audio (if processed) |
|
metadata
|
metadata | object |
Audio metadata (e.g., duration, format details) |
|
original
|
original | uri |
URL to original audio file (if stored) |
|
processed
|
processed | boolean |
Whether the audio has been processed |
|
record_id
|
record_id | string |
ID of the associated record |
|
small
|
small | uri |
URL to small version of the audio (if processed) |
|
status
|
status | string |
Processing status of the audio |
|
stored
|
stored | boolean |
Whether the audio has been stored |
|
track
|
track | uri |
URL to access the audio track (if available) |
|
updated_at
|
updated_at | date-time |
Timestamp when the audio was last updated |
|
updated_by
|
updated_by | string |
Display name of the user who last updated the audio |
|
updated_by_id
|
updated_by_id | string |
ID of the user who last updated the audio |
|
uploaded
|
uploaded | boolean |
Whether the audio has been uploaded |
|
url
|
url | uri |
URL to access the audio resource |
AudiosResponse
| Name | Path | Type | Description |
|---|---|---|---|
|
audio
|
audio | array of Audio | |
|
current_page
|
current_page | integer | |
|
per_page
|
per_page | integer | |
|
total_count
|
total_count | integer | |
|
total_pages
|
total_pages | integer |
AuditLocation
Location metadata captured at creation or update time.
| Name | Path | Type | Description |
|---|---|---|---|
|
altitude
|
altitude | double |
The altitude in meters. |
|
horizontal_accuracy
|
horizontal_accuracy | double |
The horizontal accuracy in meters. |
|
latitude
|
latitude | double |
The latitude coordinate. |
|
longitude
|
longitude | double |
The longitude coordinate. |
Geometry
| Name | Path | Type | Description |
|---|---|---|---|
|
coordinates
|
coordinates |
Coordinates for the geometry. Format varies by type: Point uses [longitude, latitude], LineString uses array of positions, Polygon uses array of linear rings (first is exterior, rest are holes), Multi* types use arrays of their respective coordinate structures. |
|
|
type
|
type | string |
GeoJSON geometry type |
Photo
| Name | Path | Type | Description |
|---|---|---|---|
|
access_key
|
access_key | string |
Unique identifier for the photo |
|
content_type
|
content_type | string |
MIME type of the photo |
|
created_at
|
created_at | date-time |
When the photo was created |
|
created_by
|
created_by | string |
Display name of user who created the photo |
|
created_by_id
|
created_by_id | string |
ID of user who created the photo |
|
deleted_at
|
deleted_at | date-time |
When the photo was deleted |
|
exif
|
exif | object |
EXIF metadata from the photo |
|
file_size
|
file_size | integer |
Size of the photo file in bytes |
|
form_id
|
form_id | string |
ID of the associated form |
|
large
|
large | uri |
URL to large version of the photo |
|
latitude
|
latitude | double |
Latitude coordinate where photo was taken |
|
longitude
|
longitude | double |
Longitude coordinate where photo was taken |
|
original
|
original | uri |
URL to original version of the photo |
|
processed
|
processed | boolean |
Whether the photo has been processed |
|
record_id
|
record_id | string |
ID of the associated record |
|
stored
|
stored | boolean |
Whether the photo has been stored |
|
thumbnail
|
thumbnail | uri |
URL to thumbnail version of the photo |
|
updated_at
|
updated_at | date-time |
When the photo was last updated |
|
updated_by
|
updated_by | string |
Display name of user who last updated the photo |
|
updated_by_id
|
updated_by_id | string |
ID of user who last updated the photo |
|
uploaded
|
uploaded | boolean |
Whether the photo has been uploaded |
|
url
|
url | uri |
API URL for this photo resource |
PhotosResponse
| Name | Path | Type | Description |
|---|---|---|---|
|
current_page
|
current_page | integer | |
|
per_page
|
per_page | integer | |
|
photos
|
photos | array of Photo | |
|
total_count
|
total_count | integer | |
|
total_pages
|
total_pages | integer |
Record
| Name | Path | Type | Description |
|---|---|---|---|
|
altitude
|
altitude | number | |
|
assigned_to
|
assigned_to | string | |
|
assigned_to_id
|
assigned_to_id | string | |
|
client_created_at
|
client_created_at | date-time | |
|
client_updated_at
|
client_updated_at | date-time | |
|
course
|
course | number | |
|
created_at
|
created_at | date-time | |
|
created_by
|
created_by | string | |
|
created_by_id
|
created_by_id | string | |
|
created_duration
|
created_duration | number | |
|
created_location
|
created_location | AuditLocation |
Location metadata captured at creation or update time. |
|
edited_duration
|
edited_duration | number | |
|
form_id
|
form_id | string | |
|
form_values
|
form_values | object |
Field values keyed by field key - values can be strings, objects, or arrays depending on field type |
|
geometry
|
geometry | Geometry | |
|
horizontal_accuracy
|
horizontal_accuracy | number | |
|
id
|
id | string | |
|
latitude
|
latitude | number | |
|
longitude
|
longitude | number | |
|
project_id
|
project_id | string | |
|
record_series_id
|
record_series_id | string | |
|
speed
|
speed | number | |
|
status
|
status | string | |
|
system_status
|
system_status | string | |
|
updated_at
|
updated_at | date-time | |
|
updated_by
|
updated_by | string | |
|
updated_by_id
|
updated_by_id | string | |
|
updated_duration
|
updated_duration | number | |
|
updated_location
|
updated_location | AuditLocation |
Location metadata captured at creation or update time. |
|
version
|
version | integer | |
|
vertical_accuracy
|
vertical_accuracy | number |
RecordHistoryItem
| Name | Path | Type | Description |
|---|---|---|---|
|
altitude
|
altitude | double |
Record location altitude in meters |
|
assigned_to
|
assigned_to | string |
Display name of assigned user |
|
assigned_to_id
|
assigned_to_id | string |
ID of assigned user |
|
changeset_id
|
changeset_id | string |
Changeset ID |
|
client_created_at
|
client_created_at | date-time |
Client-side creation timestamp |
|
client_updated_at
|
client_updated_at | date-time |
Client-side update timestamp |
|
course
|
course | double |
Course/heading in degrees |
|
created_at
|
created_at | date-time |
Record creation timestamp |
|
created_by
|
created_by | string |
Display name of user who created the record |
|
created_by_id
|
created_by_id | string |
ID of user who created the record |
|
created_duration
|
created_duration | integer |
Duration of record creation in seconds |
|
created_location
|
created_location | AuditLocation |
Location metadata captured at creation or update time. |
|
edited_duration
|
edited_duration | integer |
Total editing duration in seconds |
|
form_id
|
form_id | string |
Form ID |
|
form_values
|
form_values | object |
Form field values (processed) |
|
form_version
|
form_version | integer |
Form version at time of record creation/update |
|
coordinates
|
geometry.coordinates | array of number | |
|
type
|
geometry.type | string | |
|
history_change_type
|
history_change_type | string |
Type of change (c=create, u=update, d=delete) |
|
history_changed_by
|
history_changed_by | string |
Display name of user who made this change |
|
history_changed_by_id
|
history_changed_by_id | string |
ID of user who made this change |
|
history_created_at
|
history_created_at | date-time |
Timestamp when this history entry was created |
|
history_id
|
history_id | string |
History entry ID |
|
horizontal_accuracy
|
horizontal_accuracy | double |
Horizontal accuracy in meters |
|
id
|
id | string |
Record ID |
|
latitude
|
latitude | double |
Record location latitude |
|
longitude
|
longitude | double |
Record location longitude |
|
project_id
|
project_id | string |
Project ID |
|
record_key
|
record_key | string |
Optional record key |
|
record_sequence
|
record_sequence | integer |
Optional record sequence number |
|
sequence
|
sequence | integer |
Sequence number (when using sequence-based pagination) |
|
speed
|
speed | double |
Speed at time of record creation in m/s |
|
status
|
status | string |
Record status |
|
updated_at
|
updated_at | date-time |
Record last update timestamp |
|
updated_by
|
updated_by | string |
Display name of user who last updated the record |
|
updated_by_id
|
updated_by_id | string |
ID of user who last updated the record |
|
updated_duration
|
updated_duration | integer |
Duration of record update in seconds |
|
updated_location
|
updated_location | AuditLocation |
Location metadata captured at creation or update time. |
|
version
|
version | integer |
Record version number |
|
vertical_accuracy
|
vertical_accuracy | double |
Vertical accuracy in meters |
RecordHistoryResponse
| Name | Path | Type | Description |
|---|---|---|---|
|
current_page
|
current_page | integer |
Current page number (when using pagination) |
|
next_sequence
|
next_sequence | integer |
Next sequence number (when using sequence-based pagination) |
|
per_page
|
per_page | integer |
Number of records per page (when using pagination) |
|
records
|
records | array of RecordHistoryItem | |
|
total_count
|
total_count | integer |
Total number of records (when using pagination) |
|
total_pages
|
total_pages | integer |
Total number of pages (when using pagination) |
RecordsResponse
| Name | Path | Type | Description |
|---|---|---|---|
|
current_page
|
current_page | integer | |
|
per_page
|
per_page | integer | |
|
records
|
records | array of Record | |
|
total_count
|
total_count | integer | |
|
total_pages
|
total_pages | integer |
ReportResponse
| Name | Path | Type | Description |
|---|---|---|---|
|
completed_at
|
report.completed_at | date-time |
The timestamp when report generation completed |
|
created_at
|
report.created_at | date-time |
The timestamp when the report was created |
|
failed_at
|
report.failed_at | date-time |
The timestamp when report generation failed (null if successful) |
|
id
|
report.id | uuid |
The unique identifier for the report |
|
record_id
|
report.record_id | uuid |
The ID of the record the report was generated for |
|
started_at
|
report.started_at | date-time |
The timestamp when report generation started |
|
state
|
report.state | string |
The state of the report |
|
template_id
|
report.template_id | uuid |
The ID of the template used to generate the report |
|
updated_at
|
report.updated_at | date-time |
The timestamp when the report was last updated |
|
url
|
report.url | uri |
The URL to download the generated report |
Signature
| Name | Path | Type | Description |
|---|---|---|---|
|
access_key
|
access_key | string |
Unique identifier for the signature |
|
content_type
|
content_type | string |
MIME type of the signature file |
|
created_at
|
created_at | date-time |
Timestamp when the signature was created |
|
created_by
|
created_by | string |
Display name of the user who created the signature |
|
created_by_id
|
created_by_id | string |
ID of the user who created the signature |
|
deleted_at
|
deleted_at | date-time |
Timestamp when the signature was deleted |
|
file_size
|
file_size | integer |
Size of the signature file in bytes |
|
form_id
|
form_id | string |
ID of the associated form |
|
large
|
large | uri |
URL to the large version of the signature |
|
original
|
original | uri |
URL to the original signature file |
|
processed
|
processed | boolean |
Whether the signature has been processed |
|
record_id
|
record_id | string |
ID of the associated record |
|
stored
|
stored | boolean |
Whether the signature has been stored |
|
thumbnail
|
thumbnail | uri |
URL to the thumbnail version of the signature |
|
updated_at
|
updated_at | date-time |
Timestamp when the signature was last updated |
|
updated_by
|
updated_by | string |
Display name of the user who last updated the signature |
|
updated_by_id
|
updated_by_id | string |
ID of the user who last updated the signature |
|
uploaded
|
uploaded | boolean |
Whether the signature has been uploaded |
|
url
|
url | uri |
API URL to retrieve this signature |
SignaturesResponse
| Name | Path | Type | Description |
|---|---|---|---|
|
current_page
|
current_page | integer | |
|
per_page
|
per_page | integer | |
|
signatures
|
signatures | array of Signature | |
|
total_count
|
total_count | integer | |
|
total_pages
|
total_pages | integer |
SinglePhotoResponse
| Name | Path | Type | Description |
|---|---|---|---|
|
photo
|
photo | Photo |
SingleRecordResponse
| Name | Path | Type | Description |
|---|---|---|---|
|
record
|
record | Record |
SingleSignatureResponse
| Name | Path | Type | Description |
|---|---|---|---|
|
signature
|
signature | Signature |
SingleSketchResponse
| Name | Path | Type | Description |
|---|---|---|---|
|
sketch
|
sketch | Sketch |
Sketch
| Name | Path | Type | Description |
|---|---|---|---|
|
access_key
|
access_key | string |
Unique identifier for the sketch |
|
content_type
|
content_type | string |
MIME type of the sketch file |
|
created_at
|
created_at | date-time |
Timestamp when the sketch was created |
|
created_by
|
created_by | string |
Display name of the user who created the sketch |
|
created_by_id
|
created_by_id | string |
ID of the user who created the sketch |
|
exif
|
exif | object |
EXIF metadata from the sketch |
|
file_size
|
file_size | integer |
Size of the sketch file in bytes |
|
form_id
|
form_id | string |
ID of the associated form |
|
large
|
large | uri |
URL to large version of the sketch |
|
medium
|
medium | uri |
URL to medium version of the sketch |
|
original
|
original | uri |
URL to original version of the sketch |
|
processed
|
processed | boolean |
Whether the sketch has been processed |
|
record_id
|
record_id | string |
ID of the associated record |
|
small
|
small | uri |
URL to small version of the sketch |
|
stored
|
stored | boolean |
Whether the sketch has been stored |
|
thumbnail
|
thumbnail | uri |
URL to thumbnail version of the sketch |
|
updated_at
|
updated_at | date-time |
Timestamp when the sketch was last updated |
|
updated_by
|
updated_by | string |
Display name of the user who last updated the sketch |
|
updated_by_id
|
updated_by_id | string |
ID of the user who last updated the sketch |
|
uploaded
|
uploaded | boolean |
Whether the sketch has been uploaded |
|
url
|
url | uri |
API URL to access this sketch resource |
SketchesResponse
| Name | Path | Type | Description |
|---|---|---|---|
|
current_page
|
current_page | integer | |
|
per_page
|
per_page | integer | |
|
sketches
|
sketches | array of Sketch | |
|
total_count
|
total_count | integer | |
|
total_pages
|
total_pages | integer |
Video
| Name | Path | Type | Description |
|---|---|---|---|
|
access_key
|
access_key | string |
Unique identifier for the video |
|
content_type
|
content_type | string |
MIME type of the video file |
|
created_at
|
created_at | date-time |
Timestamp when the video was created |
|
created_by
|
created_by | string |
Display name of the user who created the video |
|
created_by_id
|
created_by_id | string |
ID of the user who created the video |
|
deleted_at
|
deleted_at | date-time |
Timestamp when the video was deleted |
|
file_size
|
file_size | integer |
Size of the video file in bytes |
|
form_id
|
form_id | string |
ID of the associated form |
|
medium
|
medium | uri |
URL to medium version of the video |
|
metadata
|
metadata | object |
Additional metadata about the video |
|
original
|
original | uri |
URL to original video file |
|
processed
|
processed | boolean |
Whether the video has been processed |
|
record_id
|
record_id | string |
ID of the associated record |
|
small
|
small | uri |
URL to small version of the video |
|
status
|
status | string |
Processing status of the video |
|
stored
|
stored | boolean |
Whether the video has been stored |
|
thumbnail_huge
|
thumbnail_huge | uri |
URL to huge thumbnail image |
|
thumbnail_huge_square
|
thumbnail_huge_square | uri |
URL to huge square thumbnail image |
|
thumbnail_large
|
thumbnail_large | uri |
URL to large thumbnail image |
|
thumbnail_large_square
|
thumbnail_large_square | uri |
URL to large square thumbnail image |
|
thumbnail_medium
|
thumbnail_medium | uri |
URL to medium thumbnail image |
|
thumbnail_medium_square
|
thumbnail_medium_square | uri |
URL to medium square thumbnail image |
|
thumbnail_small
|
thumbnail_small | uri |
URL to small thumbnail image |
|
thumbnail_small_square
|
thumbnail_small_square | uri |
URL to small square thumbnail image |
|
track
|
track | uri |
URL to the video track data in JSON format, if available |
|
updated_at
|
updated_at | date-time |
Timestamp when the video was last updated |
|
updated_by
|
updated_by | string |
Display name of the user who last updated the video |
|
updated_by_id
|
updated_by_id | string |
ID of the user who last updated the video |
|
uploaded
|
uploaded | boolean |
Whether the video has been uploaded |
|
url
|
url | uri |
API URL to access this video resource |
VideosResponse
| Name | Path | Type | Description |
|---|---|---|---|
|
current_page
|
current_page | integer | |
|
per_page
|
per_page | integer | |
|
total_count
|
total_count | integer | |
|
total_pages
|
total_pages | integer | |
|
videos
|
videos | array of Video |
FulcrumWebhookPayload
Webhook event payload from Fulcrum
| Name | Path | Type | Description |
|---|---|---|---|
|
Event ID
|
id | string |
The unique identifier of the event |
|
Event Type
|
type | string |
The type of event (e.g., record.create, record.update, record.delete, form.create, form.update, form.delete, choice_list.create, choice_list.update, choice_list.delete, classification_set.create, classification_set.update, classification_set.delete) |
|
Owner ID
|
owner_id | string |
The ID of the organization that owns this webhook |
|
Event Data
|
data | object |
The record or resource data associated with the event |
|
Created At
|
created_at | date-time |
The timestamp when the event occurred |
binary
This is the basic data type 'binary'.