How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Fresnel Software Engineering API

The Engineering API from Fresnel Software — 49 operation(s) for engineering.

Fresnel Software Engineering API is one of 70 APIs that Fresnel Software publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Engineering. The published artifact set on APIs.io includes an OpenAPI specification.

This API exposes 82 operations across 49 paths, and defines 62 schemas. It is described by OpenAPI 3.2.0, at version 1.0.0.

Requests are made against a single base URL, https://{workspace}.api.vitruvi.cc.

82 operations 49 paths 62 schemas 9 DELETE35 GET9 PATCH20 POST9 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
1.0.0
Server
https://{workspace}.api.vitruvi.cc
Authentication
HTTP Basic, API Key, HTTP Bearer
Resource Areas
1

Authentication & Security 3

Fresnel Software Engineering API declares 3 security schemes for authenticating requests. It accepts HTTP basic authentication (basicAuth). An API key is passed in the header as Authorization (jwtAuth). It accepts HTTP bearer tokens (tokenAuth).

  • jwtAuth — Token-based authentication with required prefix "JWT"

Paths & Operations 82

Across 49 paths, the API surfaces 82 operations — 9 DELETE, 35 GET, 9 PATCH, 20 POST, 9 PUT. Each is listed below with its method, path, parameters, and response codes.

Engineering 82
POST
/api/v1/engineering/archive
Api v1 engineering archive create
api_v1_engineering_archive_create → 200
GET
/api/v1/engineering/design_element_related_objects
Api v1 engineering design element related objects retrieve
api_v1_engineering_design_element_related_objects_retrieve → 200
GET
/api/v1/engineering/design_elements/
List Design Elements
list_engineering_design_elements 13 params → 200
POST
/api/v1/engineering/design_elements/
Create Design Element
create_engineering_design_elements body → 201
GET
/api/v1/engineering/design_elements/{id}/
Retrieve Design Element
get_engineering_design_elements 1 param → 200
PUT
/api/v1/engineering/design_elements/{id}/
Update Design Element
update_engineering_design_elements 1 param body → 200
PATCH
/api/v1/engineering/design_elements/{id}/
Partial Update Design Element
patch_engineering_design_elements 1 param body → 200
DELETE
/api/v1/engineering/design_elements/{id}/
Delete Design Element
delete_engineering_design_elements 1 param → 204
GET
/api/v1/engineering/design_elements_categories_from_file
Api v1 engineering design elements categories from file retrieve
api_v1_engineering_design_elements_categories_from_file_retrieve → 200
GET
/api/v1/engineering/design_elements_geojson
Get (Design Element)
api_v1_engineering_design_elements_geojson_retrieve → 200
GET
/api/v1/engineering/design_elements_query
Design Elements Grid View
design_elements_query → 200
GET
/api/v1/engineering/design_elements_with_tickets/
List Design Elements
list_engineering_design_elements_with_tickets 13 params → 200
POST
/api/v1/engineering/design_elements_with_tickets/
Create Design Element
create_engineering_design_elements_with_tickets body → 201
GET
/api/v1/engineering/design_elements_with_tickets/{id}/
Retrieve Design Element
get_engineering_design_elements_with_tickets 1 param → 200
PUT
/api/v1/engineering/design_elements_with_tickets/{id}/
Update Design Element
update_engineering_design_elements_with_tickets 1 param body → 200
PATCH
/api/v1/engineering/design_elements_with_tickets/{id}/
Partial Update Design Element
patch_engineering_design_elements_with_tickets 1 param body → 200
DELETE
/api/v1/engineering/design_elements_with_tickets/{id}/
Delete Design Element
delete_engineering_design_elements_with_tickets 1 param → 204
GET
/api/v1/engineering/design_elements_work_items/
List Design Elements
list_engineering_design_elements_work_items 5 params → 200
POST
/api/v1/engineering/design_elements_work_items/
Create Design Element
create_engineering_design_elements_work_items body → 201
POST
/api/v1/engineering/design_elements_work_items/batch_delete/
Batch Delete Api (Design Element)
api_v1_engineering_design_elements_work_items_batch_delete_create body → 200
POST
/api/v1/engineering/design_elements_work_items/batch_update/
Batch Update Api (Design Element)
api_v1_engineering_design_elements_work_items_batch_update_create body → 200
GET
/api/v1/engineering/design_elements_work_items/{id}/
Retrieve Design Element
get_engineering_design_elements_work_items 1 param → 200
PUT
/api/v1/engineering/design_elements_work_items/{id}/
Update Design Element
update_engineering_design_elements_work_items 1 param body → 200
PATCH
/api/v1/engineering/design_elements_work_items/{id}/
Partial Update Design Element
patch_engineering_design_elements_work_items 1 param body → 200
DELETE
/api/v1/engineering/design_elements_work_items/{id}/
Delete Design Element
delete_engineering_design_elements_work_items 1 param → 204
GET
/api/v1/engineering/design_elements_work_items/{id}/can_be_deleted/
Api v1 engineering design elements work items can be deleted retrieve
api_v1_engineering_design_elements_work_items_can_be_deleted_retrieve 1 param → 200
GET
/api/v1/engineering/design_elements_work_items_query
Design Elements Work Items Grid View
design_elements_work_items_query → 200
GET
/api/v1/engineering/designs/
List Designs
list_engineering_designs 8 params → 200
POST
/api/v1/engineering/designs/
Create Design
create_engineering_designs body → 201
POST
/api/v1/engineering/designs/async/
Async List (Design)
api_v1_engineering_designs_async_create body → 200
GET
/api/v1/engineering/designs/{id}/
Retrieve Design
get_engineering_designs 1 param → 200
PUT
/api/v1/engineering/designs/{id}/
Update Design
update_engineering_designs 1 param body → 200
PATCH
/api/v1/engineering/designs/{id}/
Partial Update Design
patch_engineering_designs 1 param body → 200
DELETE
/api/v1/engineering/designs/{id}/
Delete Design
delete_engineering_designs 1 param → 204
PUT
/api/v1/engineering/designs/{id}/async/
Async Detail (Design)
api_v1_engineering_designs_async_update 1 param body → 200
PATCH
/api/v1/engineering/designs/{id}/async/
Async Detail (Design)
api_v1_engineering_designs_async_partial_update 1 param body → 200
DELETE
/api/v1/engineering/designs/{id}/async/
Async Detail (Design)
api_v1_engineering_designs_async_destroy 1 param → 204
GET
/api/v1/engineering/designs/{id}/can_be_deleted/
Can Be Deleted (Design)
api_v1_engineering_designs_can_be_deleted_retrieve 1 param → 200
GET
/api/v1/engineering/export_to_geojson/
List engineering export to geojson
list_engineering_export_to_geojson → 200
GET
/api/v1/engineering/extent_view
Api v1 engineering extent view retrieve
api_v1_engineering_extent_view_retrieve → 200
GET
/api/v1/engineering/external_integration
Api v1 engineering external integration retrieve
api_v1_engineering_external_integration_retrieve → 200
POST
/api/v1/engineering/external_integration
Api v1 engineering external integration create
api_v1_engineering_external_integration_create → 200
GET
/api/v1/engineering/geometry_length
Api v1 engineering geometry length retrieve
api_v1_engineering_geometry_length_retrieve → 200
GET
/api/v1/engineering/limited_design_elements_query
Limited Design Elements Grid View
limited_design_elements_query → 200
GET
/api/v1/engineering/markup_custom_field_visibility/
List Markup Custom Field Visibilities
list_engineering_markup_custom_field_visibility 5 params → 200
POST
/api/v1/engineering/markup_custom_field_visibility/
Create Markup Item Custom Field Visibility
create_engineering_markup_custom_field_visibility body → 201
GET
/api/v1/engineering/markup_custom_field_visibility/{id}/
Retrieve Markup Item Custom Field Visibility
get_engineering_markup_custom_field_visibility 1 param → 200
PUT
/api/v1/engineering/markup_custom_field_visibility/{id}/
Update Markup Item Custom Field Visibility
update_engineering_markup_custom_field_visibility 1 param body → 200
PATCH
/api/v1/engineering/markup_custom_field_visibility/{id}/
Partial Update Markup Item Custom Field Visibility
patch_engineering_markup_custom_field_visibility 1 param body → 200
DELETE
/api/v1/engineering/markup_custom_field_visibility/{id}/
Delete Markup Item Custom Field Visibility
delete_engineering_markup_custom_field_visibility 1 param → 204
POST
/api/v1/engineering/process_geojson
Import GeoJson
process_geojson body → 200
GET
/api/v1/engineering/process_job/{id}
Api v1 engineering process job retrieve
api_v1_engineering_process_job_retrieve 1 param → 200
GET
/api/v1/engineering/process_results
Api v1 engineering process results retrieve
api_v1_engineering_process_results_retrieve → 200
GET
/api/v1/engineering/process_settings_templates/
List Config Files
list_engineering_process_settings_templates 8 params → 200
POST
/api/v1/engineering/process_settings_templates/
Create Config File
create_engineering_process_settings_templates body → 201
GET
/api/v1/engineering/process_settings_templates/{id}/
Retrieve Config File
get_engineering_process_settings_templates 1 param → 200
PUT
/api/v1/engineering/process_settings_templates/{id}/
Update Config File
update_engineering_process_settings_templates 1 param body → 200
PATCH
/api/v1/engineering/process_settings_templates/{id}/
Partial Update Config File
patch_engineering_process_settings_templates 1 param body → 200
DELETE
/api/v1/engineering/process_settings_templates/{id}/
Delete Config File
delete_engineering_process_settings_templates 1 param → 204
GET
/api/v1/engineering/processes/
List Processes
list_engineering_processes 12 params → 200
POST
/api/v1/engineering/processes/
Create Process
create_engineering_processes body → 201
POST
/api/v1/engineering/processes/async/
Async List (Process)
api_v1_engineering_processes_async_create body → 200
GET
/api/v1/engineering/processes/{id}/
Retrieve Process
get_engineering_processes 1 param → 200
PUT
/api/v1/engineering/processes/{id}/
Update Process
update_engineering_processes 1 param body → 200
PATCH
/api/v1/engineering/processes/{id}/
Partial Update Process
patch_engineering_processes 1 param body → 200
DELETE
/api/v1/engineering/processes/{id}/
Delete Process
delete_engineering_processes 1 param → 204
PUT
/api/v1/engineering/processes/{id}/async/
Async Detail (Process)
api_v1_engineering_processes_async_update 1 param body → 200
PATCH
/api/v1/engineering/processes/{id}/async/
Async Detail (Process)
api_v1_engineering_processes_async_partial_update 1 param body → 200
DELETE
/api/v1/engineering/processes/{id}/async/
Async Detail (Process)
api_v1_engineering_processes_async_destroy 1 param → 204
GET
/api/v1/engineering/processes/{id}/can_be_deleted/
Can Be Deleted (Process)
api_v1_engineering_processes_can_be_deleted_retrieve 1 param → 200
GET
/api/v1/engineering/processes/{id}/geom_types/
Geom Types (Process)
api_v1_engineering_processes_geom_types_retrieve 1 param → 200
GET
/api/v1/engineering/processes/{id}/not_null_field_values_by_de_type/
Not Null Field Values By De Type (Process)
api_v1_engineering_processes_not_null_field_values_by_de_type_retrieve 1 param → 200
GET
/api/v1/engineering/processes/{id}/regions/
Regions (Process)
api_v1_engineering_processes_regions_retrieve 1 param → 200
GET
/api/v1/engineering/processes/{id}/unique_field_values/
Unique Field Values (Process)
api_v1_engineering_processes_unique_field_values_retrieve 1 param → 200
POST
/api/v1/engineering/start_process/{id}
Api v1 engineering start process create
api_v1_engineering_start_process_create 1 param → 200
POST
/api/v1/engineering/validate_process/{id}
Api v1 engineering validate process create
api_v1_engineering_validate_process_create 1 param → 200
POST
/api/v2/engineering/delete_design_elements
Delete Design Elements
delete_design_elements body → 200207400413
GET
/api/v2/engineering/generate_geojson_template
Generate GeoJson Template
generate_geojson_template 1 param → 200400500
POST
/api/v2/engineering/import_geojson
Import GeoJson
import_geojson 2 params body → 200202400
GET
/api/v2/engineering/list_design_elements
List Design Elements
list_design_elements 5 params → 200
POST
/api/v2/engineering/update_design_elements
Update Design Elements
update_design_elements 2 params body → 200202400
POST
/api/v2/engineering/validate_geojson_template
Validate GeoJson Template
validate_geojson_template body → 200400

Schemas 62

The contract defines 62 schemas that model the data the API accepts and returns. The most detailed are PatchedDesignElementWork (36 properties), DesignElementWork (36 properties), DesignElement (34 properties), PatchedDesignElement (34 properties). Each schema is shown below with its type and property counts.

BlankEnum
PatchedDesignElementWithTickets
object
Allows a serializer to get a user "change comment" in the update requests and uses that which is later used to set the Revision comment. Changes due to creatio…
3 properties
MappingProcessGeoJson
object
4 properties 4 required
GeoJsonMappedAttribute
object
The value for this Vitruvi field will be mapped to the GeoJson property specified in "attributename".
1 property 1 required
PatchedProcess
object
30 properties
NullEnum
BulkDeleteResult
object
Bulk delete results. If an item was successfully deleted, its ID will be returned in the results along with any informational messages - normally the number of…
6 properties 6 required
PaginatedMarkupItemCustomFieldVisibilityList
object
4 properties
Status47aEnum
string
queued - queued finished - finished finished with errors - finished with errors failed - failed started - started preexisting - preexisting deleted - deleted
DesignTypeEnum
string
f - Design File e - External n - Manual o - Other
PaginatedDesignList
object
4 properties
PaginatedDesignElementList
object
4 properties
UploadStatusEnum
string
queued - queued finished - finished failed - failed started - started
DesignElementWithTickets
object
Allows a serializer to get a user "change comment" in the update requests and uses that which is later used to set the Revision comment. Changes due to creatio…
3 properties 3 required
RedlineVertex
object
8 properties 5 required
CustomFieldDataTypeEnum
string
boolean - boolean date - date datetime - datetime string - string number - number list - list entitylist - entitylist file - file table - table signature - sig…
MapTypeEnum
string
map - map value - value
ValidationStatusEnum
string
queued - queued finished - finished failed - failed started - started
GeoJsonCustomFieldMap
object
Used to map a custom field value in Vitruvi to a property name or fixed (literal) value in a GeoJson file. settingslabel and settingsdatatype are for the calle…
6 properties 4 required
SimpleTicket
object
2 properties 1 required
ProcessGeoJson
object
7 properties 6 required
GeoJsonFeature
object
3 properties 2 required
ItemUpdateWarning
object
2 properties 2 required
UnitEnum
string
m - m f - f
Design
object
13 properties 7 required
SuccessMessage
object
1 property 1 required
PatchedMarkupItemCustomFieldVisibility
object
7 properties
ItemDeleteSuccess
object
2 properties 1 required
Offset
object
9 properties 4 required
ItemUpdateError
object
2 properties 2 required
PatchedDesign
object
13 properties
PatchedDesignElement
object
Allows a serializer to get a user "change comment" in the update requests and uses that which is later used to set the Revision comment. Changes due to creatio…
34 properties
PatchedProcessSettingsTemplate
object
9 properties
ErrorMessage
object
2 properties 1 required
GeoJsonImportMapping
object
Specifies how design element data is mapped from the GeoJson inputs. Network operator must be specified. Elements can only be mapped into one network operator…
12 properties 4 required
MarkupItemCustomFieldVisibility
object
7 properties 4 required
MatchCfByEnum
string
name - name label - label
PaginatedDesignElementWorkList
object
4 properties
GeoJsonImport
object
Pass in both the GeoJson data and the mappingtemplate to describe how the GeoJson data is mapped to Vitruvi. To generate a boiler plate mapping template, use t…
2 properties 2 required
DesignElement
object
Allows a serializer to get a user "change comment" in the update requests and uses that which is later used to set the Revision comment. Changes due to creatio…
34 properties 19 required
PatchedDesignElementWork
object
Allows a serializer to get a user "change comment" in the update requests and uses that which is later used to set the Revision comment. Changes due to creatio…
36 properties
CustomFieldToAnnotation
object
6 properties 5 required
DesignElementStatusEnum
string
planned - planned completed - completed verified - verified disputed - disputed
ProcessSettingsTemplate
object
9 properties 6 required
BulkUpdateResult
object
Bulk update results. All items will attempt to be updated. An item failing does not stop the operation, the remaining items will attempt to be updated. If an i…
9 properties 9 required
DesignElementWork
object
Allows a serializer to get a user "change comment" in the update requests and uses that which is later used to set the Revision comment. Changes due to creatio…
36 properties 23 required
RequestSizeExceededError
object
Returned when the number of items passed for a bulk operation exceeds the allowed limits.
3 properties 3 required
RequestDataMalformedError
object
Returned when the passed request cannot be successfully validated. This may be due to parameters missing or parameters that fily validations such as invalid te…
2 properties 1 required
Process
object
30 properties 5 required
SimpleProcess
object
32 properties 7 required
PaginatedProcessSettingsTemplateList
object
4 properties
ItemDeleteError
object
2 properties 1 required
TypeD84Enum
string
Design Elements GeoJson Import - Design Elements GeoJson Import Design Elements Import - Design Elements Import Add Work From Selected - Add Work From Selected…
GeoJsonTextValue
object
Used to map a field value in Vitruvi to a property name or fixed (literal) string value in a GeoJson file. If maptype is set to map, the "attibutename" field m…
3 properties 1 required
LocationEnum
string
stationing - stationing address - address
PaginatedSimpleProcessList
object
4 properties
PriorityEnum
integer
10 - Low 20 - Medium 30 - High 40 - Critical
PaginatedDesignElementWithTicketsList
object
4 properties
VisibilityOnMobileAppEnum
string
hidden - hidden view only - view only editable - editable
SimpleNestedTicketCollection
object
1 property 1 required
IdList
object
List of IDs to perform an operation on.
1 property 1 required
GeoJson
object
2 properties 1 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

vitruvi-engineering-api-openapi.yml Raw ↑

Other APIs Fresnel Software publishes across the network.

Vitruvi Platform
Fresnel Software Aggregation API
Fresnel Software Ai agent API
Fresnel Software Async events API
Fresnel Software Auth API
Fresnel Software Conditional custom field overrides API
Fresnel Software Configuration library API
Fresnel Software Content types API
Fresnel Software Crew categories API
Fresnel Software Crews API
Fresnel Software Crews with resources API
Fresnel Software Custom field categories API
Where this information came from

This is an independent, third-party profile of Fresnel Software Engineering API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.