Reference¶
/about/
Get information about the service like the current version. Useful for testing the service is 'up'
Get service metadata
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| deployment_date | string |
The current deployment_date of the service in a free format. Example: '"2020-06-03"'
|
| name | string |
The name of the project |
| version | string |
The current version of the service Example: '"1.4"'
|
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
/access-info-for-resource/
This API Endpoint lists what access right are allowed on Manufacturing Execution (MES) Resources.
This endpoint is used with custom-group to handle qualifications for editing/reworking specific work. This implementation is a little bit more complicated rather than check edit_group of related resource, it's also based on BureauRight and LocationRight to check access for whole resource group as well. For more details please look into platform level of this resource.
This is a report/summary endpoint, use only LIST behavior to share to UI what is allowed in the backend. HTTPS calls to GET/PUT/POST/PATCH/DELETE are blocked, since they do not make sense for this resource.
GET is not supported because we don't have "access info" resource in db.
Return info about access rights for next resources: - printer-type, - printer, - post_processor_type, - post_processor, - workflow, - run, - piece
Filter target_uri is required for this API.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| actions | array |
none available Example: ('[{"type": '
'"edit|delete|use|redo|remanufacture|change_workflow|flag_non_conformance|split_shipment", '
'"disallow_by_edit_groups": ["..."]}]')
|
| target_uri | URL |
Related/target resource URI. Now it is supporting next resources: run, printer, printer-type, post-processor, post-processor-type, workflow, piece. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| actions | array |
none available Required Example: ('[{"type": '
'"edit|delete|use|redo|remanufacture|change_workflow|flag_non_conformance|split_shipment", '
'"disallow_by_edit_groups": ["..."]}]')
|
| target_uri | URL |
Related/target resource URI. Now it is supporting next resources: run, printer, printer-type, post-processor, post-processor-type, workflow, piece. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
This API Endpoint lists what access right are allowed on Manufacturing Execution (MES) Resources.
This endpoint is used with custom-group to handle qualifications for editing/reworking specific work. This implementation is a little bit more complicated rather than check edit_group of related resource, it's also based on BureauRight and LocationRight to check access for whole resource group as well. For more details please look into platform level of this resource.
This is a report/summary endpoint, use only LIST behavior to share to UI what is allowed in the backend. HTTPS calls to GET/PUT/POST/PATCH/DELETE are blocked, since they do not make sense for this resource.
GET is not supported because we don't have "access info" resource in db.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| actions | array |
none available Example: ('[{"type": '
'"edit|delete|use|redo|remanufacture|change_workflow|flag_non_conformance|split_shipment", '
'"disallow_by_edit_groups": ["..."]}]')
|
| target_uri | URL |
Related/target resource URI. Now it is supporting next resources: run, printer, printer-type, post-processor, post-processor-type, workflow, piece. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
API endpoint for managing Addiguru analyses.
Provides methods to retrieve individual analyses (GET), list analyses (LIST), and update specific fields (PUT). Access is controlled via a feature flag ('addiguru') and is scoped to the user's bureau.
Retrieve a list of Addiguru analyses.
Returns: ResourceList: A list of analyses with total count.
Raises: Unauthorized: If the Addiguru feature is not enabled for the bureau.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| addiguru_id | string |
The unique identifier provided by Addiguru for this analysis. |
| addiguru_installation | URI |
A URI referencing the AddiguruInstallation associated with this analysis. |
| anomalies | integer |
The count of anomalies with is_anomaly flag set to true. |
| anomaly_status | string |
Status indicating whether all anomalies in this analysis have been addressed. Choices
'"addressed|unaddressed"'
|
| bureau | URI |
The URI of the bureau that owns the analysis. |
| created | iso-8601 datetime |
The time this analysis was created. |
| defects | integer |
The count of anomalies with is_defect flag set to true. |
| end_time | iso-8601 datetime |
The timestamp when the analysis ended. |
| layer_count | integer |
The current number of layers in the analysis. A layer corresponds to an indicator 1:1 |
| printer | URI |
The URI of the Printer associated with this analysis. |
| run | URI |
The URI of the Run associated with this analysis. |
| start_time | iso-8601 datetime |
The timestamp when the analysis started. |
| status | string |
The current status of the analysis. Kept as an arbitrary string until we have a defined set of statuses from AddiGuru. |
| total_anomalies | integer |
The total count of anomalies in the analysis. |
| updated | iso-8601 datetime |
The last time this analysis was updated. |
| uri | URI |
The URI for the analysis. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 404 |
|
API endpoint for managing Addiguru analyses.
Provides methods to retrieve individual analyses (GET), list analyses (LIST), and update specific fields (PUT). Access is controlled via a feature flag ('addiguru') and is scoped to the user's bureau.
Retrieve an Addiguru analysis by UUID.
Args: uuid (UUID): The UUID of the analysis to retrieve.
Returns: dict: The analysis data after hydration.
Raises: Unauthorized: If the Addiguru feature is not enabled for the bureau. RecordNotFound: If the analysis does not exist or is inaccessible.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| addiguru_id | string |
The unique identifier provided by Addiguru for this analysis. |
| addiguru_installation | URI |
A URI referencing the AddiguruInstallation associated with this analysis. |
| anomalies | integer |
The count of anomalies with is_anomaly flag set to true. |
| anomaly_status | string |
Status indicating whether all anomalies in this analysis have been addressed. Choices
'"addressed|unaddressed"'
|
| bureau | URI |
The URI of the bureau that owns the analysis. |
| created | iso-8601 datetime |
The time this analysis was created. |
| defects | integer |
The count of anomalies with is_defect flag set to true. |
| end_time | iso-8601 datetime |
The timestamp when the analysis ended. |
| layer_count | integer |
The current number of layers in the analysis. A layer corresponds to an indicator 1:1 |
| printer | URI |
The URI of the Printer associated with this analysis. |
| run | URI |
The URI of the Run associated with this analysis. |
| start_time | iso-8601 datetime |
The timestamp when the analysis started. |
| status | string |
The current status of the analysis. Kept as an arbitrary string until we have a defined set of statuses from AddiGuru. |
| total_anomalies | integer |
The total count of anomalies in the analysis. |
| updated | iso-8601 datetime |
The last time this analysis was updated. |
| uri | URI |
The URI for the analysis. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 404 |
|
API endpoint for managing Addiguru anomalies.
Supports retrieving individual anomalies (GET) and listing anomalies (LIST).
Access controlled by a feature flag (addiguru) and scoped to the user's bureau.
Retrieve a list of Addiguru anomalies.
Returns: ResourceList: List of anomalies with total count.
Raises: Unauthorized: If the Addiguru feature is not enabled.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| addiguru_analysis | URI |
URI referencing the AddiguruAnalysis associated with this anomaly. |
| addiguru_indicator | URI |
URI referencing the AddiguruIndicators associated with this anomaly. |
| anomaly_classification | string |
Classification or type of the anomaly. |
| boundary | string |
Boundary points of the anomaly. |
| bureau | URI |
The URI of the bureau associated with the anomaly. |
| created | iso-8601 datetime |
The time this anomaly was created. |
| is_anomaly | boolean |
True if detection qualifies as an anomaly. |
| is_defect | boolean |
True if anomaly is severe enough to be a defect. |
| layer_number | integer |
The layer number at which the anomaly was detected. |
| shape | string |
Shape of the anomaly, e.g., 'rect' or 'contour'. |
| status | string |
Status indicating whether the anomaly has been addressed by the userFollowing an anomaly being detected the user may ignore the anomaly if it's not criticalor they may decide to scrap the part or remanufacture it. In all of those cases the anomaly would be marked as addressed Choices
'"addressed|unaddressed"'
|
| updated | iso-8601 datetime |
The last time this anomaly was updated. |
| uri | URI |
The URI for the anomaly. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
|
| 404 |
|
API endpoint for managing Addiguru anomalies.
Supports retrieving individual anomalies (GET) and listing anomalies (LIST).
Access controlled by a feature flag (addiguru) and scoped to the user's bureau.
Retrieve an Addiguru anomaly by UUID.
Args: uuid (UUID): UUID of the anomaly.
Returns: dict: Hydrated anomaly data.
Raises: Unauthorized: If the Addiguru feature is not enabled. RecordNotFound: If the anomaly does not exist or is inaccessible.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| addiguru_analysis | URI |
URI referencing the AddiguruAnalysis associated with this anomaly. |
| addiguru_indicator | URI |
URI referencing the AddiguruIndicators associated with this anomaly. |
| anomaly_classification | string |
Classification or type of the anomaly. |
| boundary | string |
Boundary points of the anomaly. |
| bureau | URI |
The URI of the bureau associated with the anomaly. |
| created | iso-8601 datetime |
The time this anomaly was created. |
| is_anomaly | boolean |
True if detection qualifies as an anomaly. |
| is_defect | boolean |
True if anomaly is severe enough to be a defect. |
| layer_number | integer |
The layer number at which the anomaly was detected. |
| shape | string |
Shape of the anomaly, e.g., 'rect' or 'contour'. |
| status | string |
Status indicating whether the anomaly has been addressed by the userFollowing an anomaly being detected the user may ignore the anomaly if it's not criticalor they may decide to scrap the part or remanufacture it. In all of those cases the anomaly would be marked as addressed Choices
'"addressed|unaddressed"'
|
| updated | iso-8601 datetime |
The last time this anomaly was updated. |
| uri | URI |
The URI for the anomaly. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
|
| 404 |
|
API endpoint for managing Addiguru indicators.
Supports retrieving individual indicators (GET) and listing indicators (LIST).
Access is controlled by a feature flag (addiguru) and scoped to the user's bureau.
Retrieve a list of Addiguru indicators. Returns: ResourceList: List of indicators with total count. Raises: Unauthorized: If feature flag is disabled.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| addiguru_analysis | URI |
The URI referencing the AddiguruAnalysis associated with this indicator. |
| addiguru_id | string |
The external ID from the Addiguru system. |
| bureau | URI |
The URI of the bureau associated with the indicator. |
| layer_number | integer |
The layer number where the anomaly was detected. |
| start_time | iso-8601 datetime |
Timestamp when the build started. |
| uri | URI |
The URI for the indicator. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 404 |
|
API endpoint for managing Addiguru indicators.
Supports retrieving individual indicators (GET) and listing indicators (LIST).
Access is controlled by a feature flag (addiguru) and scoped to the user's bureau.
Retrieve an Addiguru indicator by UUID. Args: uuid (UUID): UUID of the indicator. Returns: dict: Hydrated indicator data. Raises: Unauthorized: If feature flag is disabled. RecordNotFound: If indicator is nonexistent or inaccessible.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| addiguru_analysis | URI |
The URI referencing the AddiguruAnalysis associated with this indicator. |
| addiguru_id | string |
The external ID from the Addiguru system. |
| bureau | URI |
The URI of the bureau associated with the indicator. |
| layer_number | integer |
The layer number where the anomaly was detected. |
| start_time | iso-8601 datetime |
Timestamp when the build started. |
| uri | URI |
The URI for the indicator. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 404 |
|
/addiguru-installation/
API for managing Addiguru installations within Authentise’s platform.
This resource represents an Addiguru installation, which is the configuration needed to connect Authentise system to an instance of Addiguru’s real-time monitoring software. Each installation acts as a central "hub" that can monitor multiple printers, providing data on anomalies detected during additive manufacturing processes. By capturing details like IP address, authentication credentials, and health status, this resource enables the backend to communicate with and monitor the Addiguru instance.
For broader details see docs/systems/addiguru.md
Retrieve a list of Addiguru installations.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| archived | iso-8601 datetime |
The date the Addiguru installation was archived. |
| bureau | URI |
The bureau URI this Addiguru installation is linked to. |
| created | iso-8601 datetime |
The time this installation was created. |
| ecco | URI |
The Echo instance URI linked to this installation. |
| health | string |
The health status of the Addiguru installation. Choices
'"healthy|unreachable|authentication_error|configuration_error|degraded|unknown"'
|
| health_check_on | iso-8601 datetime |
The last time a health check was performed. |
| include_archived | boolean |
True if you want the List request to include archived resources. False otherwise. |
| ip_address | string |
The IP address of the Addiguru installation. |
| name | string |
The name of the Addiguru installation. |
| password | string |
The hashed password for authenticating with the Addiguru installation. |
| updated | iso-8601 datetime |
The last time this installation was updated. |
| uri | URI |
The URI to this Addiguru installation. |
| username | string |
The username for authenticating with the Addiguru installation. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 404 |
|
Create a new Addiguru installation.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| archived | iso-8601 datetime |
The date the Addiguru installation was archived. Required |
| bureau | URI |
The bureau URI this Addiguru installation is linked to. Required |
| created | iso-8601 datetime |
The time this installation was created. Required |
| ecco | URI |
The Echo instance URI linked to this installation. Required |
| health | string |
The health status of the Addiguru installation. Default: unknownChoices
'"healthy|unreachable|authentication_error|configuration_error|degraded|unknown"'
|
| health_check_on | iso-8601 datetime |
The last time a health check was performed. Required |
| include_archived | boolean |
True if you want the List request to include archived resources. False otherwise. Required |
| ip_address | string |
The IP address of the Addiguru installation. Required |
| name | string |
The name of the Addiguru installation. Required |
| password | string |
The hashed password for authenticating with the Addiguru installation. Required |
| updated | iso-8601 datetime |
The last time this installation was updated. Required |
| uri | URI |
The URI to this Addiguru installation. Required |
| username | string |
The username for authenticating with the Addiguru installation. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
|
| 404 |
|
API for managing Addiguru installations within Authentise’s platform.
This resource represents an Addiguru installation, which is the configuration needed to connect Authentise system to an instance of Addiguru’s real-time monitoring software. Each installation acts as a central "hub" that can monitor multiple printers, providing data on anomalies detected during additive manufacturing processes. By capturing details like IP address, authentication credentials, and health status, this resource enables the backend to communicate with and monitor the Addiguru instance.
For broader details see docs/systems/addiguru.md
Retrieve an Addiguru installation by UUID.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| archived | iso-8601 datetime |
The date the Addiguru installation was archived. |
| bureau | URI |
The bureau URI this Addiguru installation is linked to. |
| created | iso-8601 datetime |
The time this installation was created. |
| ecco | URI |
The Echo instance URI linked to this installation. |
| health | string |
The health status of the Addiguru installation. Choices
'"healthy|unreachable|authentication_error|configuration_error|degraded|unknown"'
|
| health_check_on | iso-8601 datetime |
The last time a health check was performed. |
| include_archived | boolean |
True if you want the List request to include archived resources. False otherwise. |
| ip_address | string |
The IP address of the Addiguru installation. |
| name | string |
The name of the Addiguru installation. |
| password | string |
The hashed password for authenticating with the Addiguru installation. |
| updated | iso-8601 datetime |
The last time this installation was updated. |
| uri | URI |
The URI to this Addiguru installation. |
| username | string |
The username for authenticating with the Addiguru installation. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 404 |
|
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| aggregate_function | string |
Defines the behaviour of this endpoint when called Choices
'"pieces-by-run"'
|
| available_for_printer | URI |
Filter pieces available for manufacturing in specific printer. |
| copy | integer |
Legacy field, do not use. Legacy unique piece selector by unique |
| created | iso-8601 datetime |
Datetime when piece was created (in UTC). |
| current_print | URI |
URI of the current print in piece. |
| current_step_position | integer |
Step position of a print which currently in-progress or queued as a next, or, if all prints completed, last print.process_step_position; or first, if piece manufacturing not scheduled yet. |
| external_print_analysis | object |
none available Example: '{"type": "nebumind"}'
|
| is_line_item_deleted | boolean |
True if piece's line item was deleted. |
| is_order_deleted | boolean |
True if piece -> line item -> order was deleted. |
| layer_thickness | float |
The layer thickness of the print in mm. Must be 0 < layer_thickness < 1. |
| line_item | URI |
The URI of piece's line item. |
| line_item_status | string |
The status of piece's line item. Choices
'"new|calculating_estimates|pending|in-preparation|confirmed|printing|post-processing|shipping|error|cancelled|complete"'
|
| location | URI |
Manufacturing location. Defaults to order.location (piece -> line item -> order). |
| material | URI |
URI of related line_item's base material. |
| material_name | string |
Name of related line-item's base material |
| model | URI |
The URI of piece -> line item -> model. |
| name | string |
Piece name is composed of model_name and copy number. |
| no_model_upload | boolean |
flag on related line_item to specify that model shouldn't be uploaded |
| notes | string |
Notes for the piece (currently not supported and always nullable). |
| order | URI |
The order URI of piece -> line item -> order. |
| order_due_date | iso-8601 datetime |
The due date of related order |
| order_name | string |
The order name of piece -> line item -> order. |
| owner | URI |
The URI of the order owner. |
| priority | integer |
The priority score for the piece, in range 0-100, where 0 is the lowest priority and 100 is the highest priority |
| remanufactured_to | URI |
If this piece failed during manufacturing, then the piece URI of the replacement (remanufactured) object. Usually null. |
| reworked | boolean |
identifies pieces based on if they match their production plan. line-item[workflow] != piece[workflow].This is mostly useful on the Run record to quickly find the pieces that have workflows that differ fromtheir original line-item planning. |
| run | URI |
The URI of the run to use in the primary function filter, when needed. |
| size | integer |
The bounding box volume (in mm3) of the print item (x * y * z model dimensions) |
| status | string |
Status of piece. Choices
'"new|confirmed|queued-for-printing|printing|queued-for-post-processing|post-processing|queued-for-shipping|shipping|complete|incomplete|cancelled|error"'
|
| type | string |
Type of the Piece. Choices
'"product|specimen|waste|tooling"'
|
| updated | iso-8601 datetime |
The date when the Piece was updated |
| uri | URI |
The URI of this piece. |
| workflow | URI |
The workflow for this piece. Defaults to parent line_item.workflow, but can change during production. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested resources cannot be found. |
/anatomical-model-assembly/
Anatomical Model Assembly is child for Anatomic Model resource And parent for "Anatomical Model Part"
Requires "Anatomical Model" feature (anatomical-model)
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| anatomical_model | URI |
The URI of anatomical model which this assembly ties to |
| assembly_type | string |
Assembly type of this resource. Choices
'"none|glued|magnet"'
|
| created | iso-8601 datetime |
Datetime when assembly was created (in UTC). |
| name | string |
Anatomical model name |
| parts_quantity | integer |
Quantity of all parts of assembly |
| printing_tech | string |
Printing Tech |
| updated | iso-8601 datetime |
Datetime when assembly was updated last time (in UTC). |
| uri | URI |
The URI of the assembly. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested assembly cannot be found. |
| 405 |
|
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| anatomical_model | URI |
The URI of anatomical model which this assembly ties to Required |
| assembly_type | string |
Assembly type of this resource. Required Choices
'"none|glued|magnet"'
|
| created | iso-8601 datetime |
Datetime when assembly was created (in UTC). Required |
| name | string |
Anatomical model name Required |
| parts_quantity | integer |
Quantity of all parts of assembly Required |
| printing_tech | string |
Printing Tech Required |
| updated | iso-8601 datetime |
Datetime when assembly was updated last time (in UTC). Required |
| uri | URI |
The URI of the assembly. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 404 |
The requested assembly cannot be found. |
| 405 |
|
Anatomical Model Assembly is child for Anatomic Model resource And parent for "Anatomical Model Part"
Requires "Anatomical Model" feature (anatomical-model)
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| anatomical_model | URI |
The URI of anatomical model which this assembly ties to |
| assembly_type | string |
Assembly type of this resource. Choices
'"none|glued|magnet"'
|
| created | iso-8601 datetime |
Datetime when assembly was created (in UTC). |
| name | string |
Anatomical model name |
| parts_quantity | integer |
Quantity of all parts of assembly |
| printing_tech | string |
Printing Tech |
| updated | iso-8601 datetime |
Datetime when assembly was updated last time (in UTC). |
| uri | URI |
The URI of the assembly. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested assembly cannot be found. |
| 405 |
|
/anatomical-model-part/
Anatomical Model Part is child for Anatomic Model Assembly resource. This resource includes model which can be represented by part. When model is processed, all model-related fields will be automatically filled.
Requires "Anatomical Model" feature (anatomical-model)
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| anatomical_model_assembly | URI |
The URI of anatomical model assembly which this part ties to |
| assembly_type | string |
Assembly type of this resource. Choices
'"none|glued|magnet"'
|
| color | string |
STL color, Any valid color in hex format (“#RRGGBB) |
| color_opacity | float |
Color opacity, in float, [0, 1.0]. 0.0 is fully transparent. |
| created | iso-8601 datetime |
Datetime when part was created (in UTC). |
| download_location | string |
Download uri for model part |
| file_name | string |
STL file name. None if not file processed yet. |
| file_size | integer |
STL file size in bytes. None if not file processed yet. |
| finish | string |
Surface finish, values are validated by frontend |
| flexibility | integer |
Shore value, values are validated by frontend |
| hollow_shells | float |
Goal thickness of surface shell in mm. null when solid_infill=True. Range 0.3 and 7.14 (mm) otherwise |
| material | string |
Name of material used to print part, values are validated by frontend |
| name | string |
File name of model, entered by user |
| notes | string |
System notes for model part. Usually are used to store error of model |
| printer_anatomy_element | string |
Printer anatomy element of family, values are validated by frontend |
| printer_anatomy_family | string |
Printer anatomy family, values are validated by frontend |
| printer_anatomy_properties | string |
Printer anatomy properties of element |
| rotation_x | float |
Printing rotation in x axis, 0 to 360 |
| rotation_y | float |
Printing rotation in y axis, 0 to 360 |
| rotation_z | float |
Printing rotation in z axis, 0 to 360 |
| snapshot_location | string |
Model snapshot/picture download link. |
| solid_infill | boolean |
Whether the STL is solid or hollow and if it is hollow |
| status | string |
Status of part / STL file loading Choices
'"not-uploaded|converting|processing|processed|external-process|error|repaired|irreparable|inoperable|file-too-large"'
|
| to_be_printed | boolean |
Is the STL to be printed or is it reference data |
| updated | iso-8601 datetime |
Datetime when part was updated last time (in UTC). |
| uri | URI |
The URI of the part. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
Something constraints are invalid, so this part can't be processed. |
| 404 |
The requested part cannot be found. |
| 405 |
|
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| anatomical_model_assembly | URI |
The URI of anatomical model assembly which this part ties to Required |
| assembly_type | string |
Assembly type of this resource. Required Choices
'"none|glued|magnet"'
|
| color | string |
STL color, Any valid color in hex format (“#RRGGBB) Required |
| color_opacity | float |
Color opacity, in float, [0, 1.0]. 0.0 is fully transparent. Default: 1.0 |
| created | iso-8601 datetime |
Datetime when part was created (in UTC). Required |
| download_location | string |
Download uri for model part Required |
| file_name | string |
STL file name. None if not file processed yet. Required |
| file_size | integer |
STL file size in bytes. None if not file processed yet. Required |
| finish | string |
Surface finish, values are validated by frontend Required |
| flexibility | integer |
Shore value, values are validated by frontend Required |
| hollow_shells | float |
Goal thickness of surface shell in mm. null when solid_infill=True. Range 0.3 and 7.14 (mm) otherwise Default: 0 |
| material | string |
Name of material used to print part, values are validated by frontend Required |
| name | string |
File name of model, entered by user Required |
| notes | string |
System notes for model part. Usually are used to store error of model Required |
| printer_anatomy_element | string |
Printer anatomy element of family, values are validated by frontend Required |
| printer_anatomy_family | string |
Printer anatomy family, values are validated by frontend Required |
| printer_anatomy_properties | string |
Printer anatomy properties of element Required |
| rotation_x | float |
Printing rotation in x axis, 0 to 360 Required |
| rotation_y | float |
Printing rotation in y axis, 0 to 360 Required |
| rotation_z | float |
Printing rotation in z axis, 0 to 360 Required |
| snapshot_location | string |
Model snapshot/picture download link. Required |
| solid_infill | boolean |
Whether the STL is solid or hollow and if it is hollow Default: False |
| status | string |
Status of part / STL file loading Required Choices
'"not-uploaded|converting|processing|processed|external-process|error|repaired|irreparable|inoperable|file-too-large"'
|
| to_be_printed | boolean |
Is the STL to be printed or is it reference data Default: False |
| updated | iso-8601 datetime |
Datetime when part was updated last time (in UTC). Required |
| uri | URI |
The URI of the part. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
Something constraints are invalid, so this part can't be processed. |
| 404 |
The requested part cannot be found. |
| 405 |
|
Anatomical Model Part is child for Anatomic Model Assembly resource. This resource includes model which can be represented by part. When model is processed, all model-related fields will be automatically filled.
Requires "Anatomical Model" feature (anatomical-model)
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| anatomical_model_assembly | URI |
The URI of anatomical model assembly which this part ties to |
| assembly_type | string |
Assembly type of this resource. Choices
'"none|glued|magnet"'
|
| color | string |
STL color, Any valid color in hex format (“#RRGGBB) |
| color_opacity | float |
Color opacity, in float, [0, 1.0]. 0.0 is fully transparent. |
| created | iso-8601 datetime |
Datetime when part was created (in UTC). |
| download_location | string |
Download uri for model part |
| file_name | string |
STL file name. None if not file processed yet. |
| file_size | integer |
STL file size in bytes. None if not file processed yet. |
| finish | string |
Surface finish, values are validated by frontend |
| flexibility | integer |
Shore value, values are validated by frontend |
| hollow_shells | float |
Goal thickness of surface shell in mm. null when solid_infill=True. Range 0.3 and 7.14 (mm) otherwise |
| material | string |
Name of material used to print part, values are validated by frontend |
| name | string |
File name of model, entered by user |
| notes | string |
System notes for model part. Usually are used to store error of model |
| printer_anatomy_element | string |
Printer anatomy element of family, values are validated by frontend |
| printer_anatomy_family | string |
Printer anatomy family, values are validated by frontend |
| printer_anatomy_properties | string |
Printer anatomy properties of element |
| rotation_x | float |
Printing rotation in x axis, 0 to 360 |
| rotation_y | float |
Printing rotation in y axis, 0 to 360 |
| rotation_z | float |
Printing rotation in z axis, 0 to 360 |
| snapshot_location | string |
Model snapshot/picture download link. |
| solid_infill | boolean |
Whether the STL is solid or hollow and if it is hollow |
| status | string |
Status of part / STL file loading Choices
'"not-uploaded|converting|processing|processed|external-process|error|repaired|irreparable|inoperable|file-too-large"'
|
| to_be_printed | boolean |
Is the STL to be printed or is it reference data |
| updated | iso-8601 datetime |
Datetime when part was updated last time (in UTC). |
| uri | URI |
The URI of the part. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
Something constraints are invalid, so this part can't be processed. |
| 404 |
The requested part cannot be found. |
| 405 |
|
/anatomical-model/
AnatomicalModel is the main resource for Anatomic Model ZIP generator, a custom format for RICOH (feature is enabled only for them for now). Requires"Anatomical Model" feature (anatomical-model)
AnatomicalModel - Anatomical Model Assembly - Anatomical Model Part - Anatomical Model Part - Anatomical Model Assembly - ...
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| accession_number | string |
DICOM Accession Number, user entered. |
| assemblies_quantity | integer |
Quantity of all assemblies of anatomical model. |
| build_file | string |
Download uri for anatomical model build file |
| build_file_status | string |
Status of anatomical model file Choices
'"pending|processing|complete|error"'
|
| case_id | string |
Case ID. |
| created | iso-8601 datetime |
Datetime when anatomical model was created (in UTC). |
| date_sent | iso-8601 datetime |
Time of package creation. User entered in the UI. |
| description | string |
Anatomical model description. |
| format_version | string |
Internal version of this file version/data format. |
| medical_record_number | string |
Medical record number, determined by EMR system. |
| name | string |
Anatomical model name |
| notes | string |
System notes for anatomical model. Usually are used to store error for model |
| parts_quantity | integer |
Quantity of all parts of all assemblies of anatomical model |
| recreate_build_file | boolean |
Must be set to true when file must be regenerated |
| scale_to_print | integer |
Printing scale in percentage, any integer between 1 and 200. 100 is actual size. |
| updated | iso-8601 datetime |
Datetime when anatomical model was updated last time (in UTC). |
| uri | URI |
The URI of the anatomical model. |
| version | integer |
Package version, AKA the revision of this anatomical model. User entered in the UI. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested anatomical model cannot be found. |
| 405 |
|
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| accession_number | string |
DICOM Accession Number, user entered. Required |
| assemblies_quantity | integer |
Quantity of all assemblies of anatomical model. Required |
| build_file | string |
Download uri for anatomical model build file Required |
| build_file_status | string |
Status of anatomical model file Required Choices
'"pending|processing|complete|error"'
|
| case_id | string |
Case ID. Required |
| created | iso-8601 datetime |
Datetime when anatomical model was created (in UTC). Required |
| date_sent | iso-8601 datetime |
Time of package creation. User entered in the UI. Required |
| description | string |
Anatomical model description. Required |
| format_version | string |
Internal version of this file version/data format. Required |
| medical_record_number | string |
Medical record number, determined by EMR system. Required |
| name | string |
Anatomical model name Required |
| notes | string |
System notes for anatomical model. Usually are used to store error for model Required |
| parts_quantity | integer |
Quantity of all parts of all assemblies of anatomical model Required |
| recreate_build_file | boolean |
Must be set to true when file must be regenerated Default: False |
| scale_to_print | integer |
Printing scale in percentage, any integer between 1 and 200. 100 is actual size. Default: 100 |
| updated | iso-8601 datetime |
Datetime when anatomical model was updated last time (in UTC). Required |
| uri | URI |
The URI of the anatomical model. Required |
| version | integer |
Package version, AKA the revision of this anatomical model. User entered in the UI. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 404 |
The requested anatomical model cannot be found. |
| 405 |
|
AnatomicalModel is the main resource for Anatomic Model ZIP generator, a custom format for RICOH (feature is enabled only for them for now). Requires"Anatomical Model" feature (anatomical-model)
AnatomicalModel - Anatomical Model Assembly - Anatomical Model Part - Anatomical Model Part - Anatomical Model Assembly - ...
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| accession_number | string |
DICOM Accession Number, user entered. |
| assemblies_quantity | integer |
Quantity of all assemblies of anatomical model. |
| build_file | string |
Download uri for anatomical model build file |
| build_file_status | string |
Status of anatomical model file Choices
'"pending|processing|complete|error"'
|
| case_id | string |
Case ID. |
| created | iso-8601 datetime |
Datetime when anatomical model was created (in UTC). |
| date_sent | iso-8601 datetime |
Time of package creation. User entered in the UI. |
| description | string |
Anatomical model description. |
| format_version | string |
Internal version of this file version/data format. |
| medical_record_number | string |
Medical record number, determined by EMR system. |
| name | string |
Anatomical model name |
| notes | string |
System notes for anatomical model. Usually are used to store error for model |
| parts_quantity | integer |
Quantity of all parts of all assemblies of anatomical model |
| recreate_build_file | boolean |
Must be set to true when file must be regenerated |
| scale_to_print | integer |
Printing scale in percentage, any integer between 1 and 200. 100 is actual size. |
| updated | iso-8601 datetime |
Datetime when anatomical model was updated last time (in UTC). |
| uri | URI |
The URI of the anatomical model. |
| version | integer |
Package version, AKA the revision of this anatomical model. User entered in the UI. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested anatomical model cannot be found. |
| 405 |
|
/api_tokens/
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| name | string |
none available Required |
| secret | string |
none available Default: None |
| user_uuid | uuid |
none available Default: None |
| uuid | uuid |
none available Default: None |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| name | string |
none available |
| secret | string |
none available |
| user_uuid | uuid |
none available |
| uuid | uuid |
none available |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
/asset-version/
This is the resource for handling specific versions of a Model. This provides the ability to see specifics on changes that have been applied to a model. That includes the model prior to the change and the model after the change.
Get a list of asset versions.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| asset | URI |
Identifier for the Asset instance this Asset-Version is apply to |
| created | iso-8601 datetime |
The date this Asset-Version was created. |
| message | string |
The message describing the change between the original model and new model |
| new_model | URI |
Identifier for the new model that will be replacing the original model |
| original_model | URI |
Identifier for the original model |
| uri | URI |
Identifier for Asset-Version |
| user | URI |
Identifier for the user who created said Asset-Version. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
Create a new asset version.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| asset | URI |
Identifier for the Asset instance this Asset-Version is apply to Required |
| created | iso-8601 datetime |
The date this Asset-Version was created. Default: None |
| message | string |
The message describing the change between the original model and new model Required |
| new_model | URI |
Identifier for the new model that will be replacing the original model Required |
| original_model | URI |
Identifier for the original model Default: None |
| uri | URI |
Identifier for Asset-Version Default: None |
| user | URI |
Identifier for the user who created said Asset-Version. Default: None |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
This is the resource for handling specific versions of a Model. This provides the ability to see specifics on changes that have been applied to a model. That includes the model prior to the change and the model after the change.
Get a single asset version by uuid.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| asset | URI |
Identifier for the Asset instance this Asset-Version is apply to |
| created | iso-8601 datetime |
The date this Asset-Version was created. |
| message | string |
The message describing the change between the original model and new model |
| new_model | URI |
Identifier for the new model that will be replacing the original model |
| original_model | URI |
Identifier for the original model |
| uri | URI |
Identifier for Asset-Version |
| user | URI |
Identifier for the user who created said Asset-Version. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
/asset/
This is the resource for managing a Model versions. This provides the ability to track changes that have been applied to a model.
Get a list of assets.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| action | string |
none available Choices
'"mesh_heal_via_Authentise|processing_mesh_heal_via_Authentise"'
|
| allowed_transformations | object |
none available Example: '{}'
|
| analyses | object |
status of manifold and count of inverted surface triangles Example: '{}'
|
| auto-align | boolean |
none available |
| callback | object |
none available Example: '{}'
|
| children | array |
none available Example: '["..."]'
|
| content | string |
Download to raw model content. Data format matches 'type'. |
| conversion_notes | string |
Notes for the conversion process. |
| conversion_original_content | string |
Link to binary content of pre-conversion file, if exists |
| conversion_original_filename | string |
Filename of source native file |
| conversion_original_type | string |
Type of input native file to send to X-Upload and for conversion_original_content Choices
'"x_t|xt|sat|step|stp|igs|iges|sldprt|ipt|prt|catpart|jt|j_t|3dm|obj|iam|dae|pdf|png|tiff|tif"'
|
| conversion_status | string |
Sub-Status of conversion process if status is conversion Choices
'"new|pending|downloading|repairing|processing|uploading|complete|complete-without-upload|failed"'
|
| created | iso-8601 datetime |
none available |
| description | string |
Description of the Asset |
| design_file | URI |
If directly unpacked from a design file (1:1) the URI of that design_file. Otherwise null. |
| expert_conversion | URI |
Expert conversion URI (if model conversion was delegated to the Expert). |
| file_size | integer |
none available |
| file_unit | string |
The default unit of the model file (inch, mm). Set null to allow autodetect. Choices
'"in|mm|cm|m|feet"'
|
| manufacturing_orientation | object |
Manufacturing XYZ rotations of the model associated to this line-item, set by the user to control the structural robustness of the line item during the additive manufacturing step - not to be confused with the final position (transformation) on the build plate, which is instead set by the packing system. Example: '{"status": "in_queue|in_progress|error|uploaded"}'
|
| mfg_oriented_content | string |
Download the mfg-oriented model's content. Data format matches 'type'. |
| model | URI |
Identifier for a model instance |
| name | string |
Name of the model. Cannot exceed 255 characters. |
| parents | array |
none available Example: '["..."]'
|
| polygons | integer |
none available |
| replaced_models | array |
List of model URIs of all models that were replaced from a line_item, leading to the current model. Sorted from most recently replaced model to the oldest replaced model. Note: we dont return this field in LIST response because it requires expensive db operations and data is not needed for LIST at the moment Example: '["..."]'
|
| rights | array |
none available Example: '["all|download|print|transform|transform-external|view"]'
|
| size | object |
We use mm internally and front-end logic converts to user_unit Example: '{}'
|
| snapshot | string |
none available |
| snapshot_content | string |
none available |
| status | string |
none available Choices
'"not-uploaded|converting|processing|processed|external-process|error|repaired|irreparable|inoperable|file-too-large"'
|
| surface_area_mm | float |
The surface area is in mm as unit at API level, not in user_units. |
| type | string |
Format of data we will post to X-Upload-Location. Choices
'"stl"'
|
| updated | iso-8601 datetime |
none available |
| upload-location | string |
none available |
| uri | URI |
none available |
| user_unit | string |
Model files can have their units (file_units) and users can also specify units to read this API data. Internal data is always in MM, this changes API presentation of data only. We strongly encourage using the default of mm. Choices
'"in|mm"'
|
| user_uri | URI |
none available |
| versions | array |
List of Asset-Versions tied to a particular Asset Example: '["..."]'
|
| virus_scan | string |
State of the virus-scan on the file pushed to X-Upload-Location. Quarantined indicates a problem was detected. Choices
'"unscanned|passed|quarantined"'
|
| volume_mm | float |
The volume is in mm as unit at API level, not in user_units. |
| zverse_conversion | URI |
ZVerse conversion URI (if model conversion was delegated to the ZVerse service). |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
generated-exception-class raised |
Create a new asset.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| action | string |
none available Default: NoneChoices
'"mesh_heal_via_Authentise|processing_mesh_heal_via_Authentise"'
|
| allowed_transformations | object |
none available Default: {'resize': False, 'rotation': False}Example: '{}'
|
| analyses | object |
status of manifold and count of inverted surface triangles Default: NoneExample: '{}'
|
| auto-align | boolean |
none available Default: None |
| callback | object |
none available Default: NoneExample: '{}'
|
| children | array |
none available Default: []Example: '["..."]'
|
| content | string |
Download to raw model content. Data format matches 'type'. Default: None |
| conversion_notes | string |
Notes for the conversion process. Required |
| conversion_original_content | string |
Link to binary content of pre-conversion file, if exists Required |
| conversion_original_filename | string |
Filename of source native file Default: None |
| conversion_original_type | string |
Type of input native file to send to X-Upload and for conversion_original_content Default: NoneChoices
'"x_t|xt|sat|step|stp|igs|iges|sldprt|ipt|prt|catpart|jt|j_t|3dm|obj|iam|dae|pdf|png|tiff|tif"'
|
| conversion_status | string |
Sub-Status of conversion process if status is conversion Required Choices
'"new|pending|downloading|repairing|processing|uploading|complete|complete-without-upload|failed"'
|
| created | iso-8601 datetime |
none available Default: None |
| description | string |
Description of the Asset Default: None |
| design_file | URI |
If directly unpacked from a design file (1:1) the URI of that design_file. Otherwise null. Required |
| expert_conversion | URI |
Expert conversion URI (if model conversion was delegated to the Expert). Required |
| file_size | integer |
none available Default: None |
| file_unit | string |
The default unit of the model file (inch, mm). Set null to allow autodetect. Default: mmChoices
'"in|mm|cm|m|feet"'
|
| manufacturing_orientation | object |
Manufacturing XYZ rotations of the model associated to this line-item, set by the user to control the structural robustness of the line item during the additive manufacturing step - not to be confused with the final position (transformation) on the build plate, which is instead set by the packing system. Default: NoneExample: '{"status": "in_queue|in_progress|error|uploaded"}'
|
| mfg_oriented_content | string |
Download the mfg-oriented model's content. Data format matches 'type'. Default: None |
| model | URI |
Identifier for a model instance Required |
| name | string |
Name of the model. Cannot exceed 255 characters. Required |
| parents | array |
none available Default: []Example: '["..."]'
|
| polygons | integer |
none available Default: None |
| replaced_models | array |
List of model URIs of all models that were replaced from a line_item, leading to the current model. Sorted from most recently replaced model to the oldest replaced model. Note: we dont return this field in LIST response because it requires expensive db operations and data is not needed for LIST at the moment Default: []Example: '["..."]'
|
| rights | array |
none available Default: NoneExample: '["all|download|print|transform|transform-external|view"]'
|
| size | object |
We use mm internally and front-end logic converts to user_unit Default: NoneExample: '{}'
|
| snapshot | string |
none available Default: None |
| snapshot_content | string |
none available Default: None |
| status | string |
none available Default: NoneChoices
'"not-uploaded|converting|processing|processed|external-process|error|repaired|irreparable|inoperable|file-too-large"'
|
| surface_area_mm | float |
The surface area is in mm as unit at API level, not in user_units. Default: None |
| type | string |
Format of data we will post to X-Upload-Location. Required Choices
'"stl"'
|
| updated | iso-8601 datetime |
none available Default: None |
| upload-location | string |
none available Default: None |
| uri | URI |
none available Default: None |
| user_unit | string |
Model files can have their units (file_units) and users can also specify units to read this API data. Internal data is always in MM, this changes API presentation of data only. We strongly encourage using the default of mm. Default: mmChoices
'"in|mm"'
|
| user_uri | URI |
none available Default: None |
| versions | array |
List of Asset-Versions tied to a particular Asset Default: NoneExample: '["..."]'
|
| virus_scan | string |
State of the virus-scan on the file pushed to X-Upload-Location. Quarantined indicates a problem was detected. Default: unscannedChoices
'"unscanned|passed|quarantined"'
|
| volume_mm | float |
The volume is in mm as unit at API level, not in user_units. Default: None |
| zverse_conversion | URI |
ZVerse conversion URI (if model conversion was delegated to the ZVerse service). Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 404 |
generated-exception-class raised |
/asset/{uuid}/
This is the resource for managing a Model versions. This provides the ability to track changes that have been applied to a model.
Get a single asset by uuid.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| action | string |
none available Choices
'"mesh_heal_via_Authentise|processing_mesh_heal_via_Authentise"'
|
| allowed_transformations | object |
none available Example: '{}'
|
| analyses | object |
status of manifold and count of inverted surface triangles Example: '{}'
|
| auto-align | boolean |
none available |
| callback | object |
none available Example: '{}'
|
| children | array |
none available Example: '["..."]'
|
| content | string |
Download to raw model content. Data format matches 'type'. |
| conversion_notes | string |
Notes for the conversion process. |
| conversion_original_content | string |
Link to binary content of pre-conversion file, if exists |
| conversion_original_filename | string |
Filename of source native file |
| conversion_original_type | string |
Type of input native file to send to X-Upload and for conversion_original_content Choices
'"x_t|xt|sat|step|stp|igs|iges|sldprt|ipt|prt|catpart|jt|j_t|3dm|obj|iam|dae|pdf|png|tiff|tif"'
|
| conversion_status | string |
Sub-Status of conversion process if status is conversion Choices
'"new|pending|downloading|repairing|processing|uploading|complete|complete-without-upload|failed"'
|
| created | iso-8601 datetime |
none available |
| description | string |
Description of the Asset |
| design_file | URI |
If directly unpacked from a design file (1:1) the URI of that design_file. Otherwise null. |
| expert_conversion | URI |
Expert conversion URI (if model conversion was delegated to the Expert). |
| file_size | integer |
none available |
| file_unit | string |
The default unit of the model file (inch, mm). Set null to allow autodetect. Choices
'"in|mm|cm|m|feet"'
|
| manufacturing_orientation | object |
Manufacturing XYZ rotations of the model associated to this line-item, set by the user to control the structural robustness of the line item during the additive manufacturing step - not to be confused with the final position (transformation) on the build plate, which is instead set by the packing system. Example: '{"status": "in_queue|in_progress|error|uploaded"}'
|
| mfg_oriented_content | string |
Download the mfg-oriented model's content. Data format matches 'type'. |
| model | URI |
Identifier for a model instance |
| name | string |
Name of the model. Cannot exceed 255 characters. |
| parents | array |
none available Example: '["..."]'
|
| polygons | integer |
none available |
| replaced_models | array |
List of model URIs of all models that were replaced from a line_item, leading to the current model. Sorted from most recently replaced model to the oldest replaced model. Note: we dont return this field in LIST response because it requires expensive db operations and data is not needed for LIST at the moment Example: '["..."]'
|
| rights | array |
none available Example: '["all|download|print|transform|transform-external|view"]'
|
| size | object |
We use mm internally and front-end logic converts to user_unit Example: '{}'
|
| snapshot | string |
none available |
| snapshot_content | string |
none available |
| status | string |
none available Choices
'"not-uploaded|converting|processing|processed|external-process|error|repaired|irreparable|inoperable|file-too-large"'
|
| surface_area_mm | float |
The surface area is in mm as unit at API level, not in user_units. |
| type | string |
Format of data we will post to X-Upload-Location. Choices
'"stl"'
|
| updated | iso-8601 datetime |
none available |
| upload-location | string |
none available |
| uri | URI |
none available |
| user_unit | string |
Model files can have their units (file_units) and users can also specify units to read this API data. Internal data is always in MM, this changes API presentation of data only. We strongly encourage using the default of mm. Choices
'"in|mm"'
|
| user_uri | URI |
none available |
| versions | array |
List of Asset-Versions tied to a particular Asset Example: '["..."]'
|
| virus_scan | string |
State of the virus-scan on the file pushed to X-Upload-Location. Quarantined indicates a problem was detected. Choices
'"unscanned|passed|quarantined"'
|
| volume_mm | float |
The volume is in mm as unit at API level, not in user_units. |
| zverse_conversion | URI |
ZVerse conversion URI (if model conversion was delegated to the ZVerse service). |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
generated-exception-class raised |
/assignment/
Representing assignment - object, which allows for users to see their tasks (order owner,
user(s) responsible for preparation task record) for which they are responsible.
In fact, this is not an assignment as such (it does not contain the logic for each individual object on assignment event), it is an assignment log that shows the very fact of a some assignment.
This endpoint is read only, assignments will be completed when related record is done (for example, order status is set to be "completed").
Assignment can be for user, for public group (prep task group for prep task record assignment) and for all users (edge case for prep task record, when target group is not set)
CAN'T BE CREATED DIRECTLY, only via changes from related resource.
Supported related entities controlled by :class:nautilus.constant.AssignmentRelatedTableName.
When related record is completed, then assignment is going to be completed as well. If assignment is revoked (order owner is changed to another one), then assignment entity is going to be deleted.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| assignee_edit_group | URI |
A specific edit_group if this assignment is representing a preparation task record and a edit group infilled for related preparation task. |
| assignee_user | URI |
A specific user for whom the task is assigned, for example, an owner order or assignee to comment action. |
| created | iso-8601 datetime |
Datetime when assignment was created (in UTC). |
| created_by | URI |
The user who created the related object to which this assignment was created. |
| is_active | boolean |
Is current assignment active or completed.Note: if access is revoked, then user will not see this entity at all,so is_active is not applied to this case |
| name | string |
Name built based on related object. |
| related_object_status | string |
Status of the related object. |
| related_table_name | string |
The resource (related table name), to which this assignment is attached, for example order, prep_task_record, etc. Choices
'"order|line_item|downtime|prep_task_record|comment_action|stock"'
|
| related_uri | URL |
URI of the exact object that this assignment is related to. |
| related_uuid | uuid |
The UUID of the resource (related table), to which this assignment is attached. |
| uri | URI |
The URI of the assignment. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. Action not allowed by permissions. |
| 404 |
The requested assignment cannot be found. |
We don't allow to create assignments via rest, this is a summary of data from other related resources. Assignment will be created by tied related resource.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| assignee_edit_group | URI |
A specific edit_group if this assignment is representing a preparation task record and a edit group infilled for related preparation task. Required |
| assignee_user | URI |
A specific user for whom the task is assigned, for example, an owner order or assignee to comment action. Required |
| created | iso-8601 datetime |
Datetime when assignment was created (in UTC). Required |
| created_by | URI |
The user who created the related object to which this assignment was created. Required |
| is_active | boolean |
Is current assignment active or completed.Note: if access is revoked, then user will not see this entity at all,so is_active is not applied to this case Required |
| name | string |
Name built based on related object. Required |
| related_object_status | string |
Status of the related object. Required |
| related_table_name | string |
The resource (related table name), to which this assignment is attached, for example order, prep_task_record, etc. Required Choices
'"order|line_item|downtime|prep_task_record|comment_action|stock"'
|
| related_uri | URL |
URI of the exact object that this assignment is related to. Required |
| related_uuid | uuid |
The UUID of the resource (related table), to which this assignment is attached. Required |
| uri | URI |
The URI of the assignment. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. Action not allowed by permissions. |
| 404 |
The requested assignment cannot be found. |
Representing assignment - object, which allows for users to see their tasks (order owner,
user(s) responsible for preparation task record) for which they are responsible.
In fact, this is not an assignment as such (it does not contain the logic for each individual object on assignment event), it is an assignment log that shows the very fact of a some assignment.
This endpoint is read only, assignments will be completed when related record is done (for example, order status is set to be "completed").
Assignment can be for user, for public group (prep task group for prep task record assignment) and for all users (edge case for prep task record, when target group is not set)
CAN'T BE CREATED DIRECTLY, only via changes from related resource.
Supported related entities controlled by :class:nautilus.constant.AssignmentRelatedTableName.
When related record is completed, then assignment is going to be completed as well. If assignment is revoked (order owner is changed to another one), then assignment entity is going to be deleted.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| assignee_edit_group | URI |
A specific edit_group if this assignment is representing a preparation task record and a edit group infilled for related preparation task. |
| assignee_user | URI |
A specific user for whom the task is assigned, for example, an owner order or assignee to comment action. |
| created | iso-8601 datetime |
Datetime when assignment was created (in UTC). |
| created_by | URI |
The user who created the related object to which this assignment was created. |
| is_active | boolean |
Is current assignment active or completed.Note: if access is revoked, then user will not see this entity at all,so is_active is not applied to this case |
| name | string |
Name built based on related object. |
| related_object_status | string |
Status of the related object. |
| related_table_name | string |
The resource (related table name), to which this assignment is attached, for example order, prep_task_record, etc. Choices
'"order|line_item|downtime|prep_task_record|comment_action|stock"'
|
| related_uri | URL |
URI of the exact object that this assignment is related to. |
| related_uuid | uuid |
The UUID of the resource (related table), to which this assignment is attached. |
| uri | URI |
The URI of the assignment. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. Action not allowed by permissions. |
| 404 |
The requested assignment cannot be found. |
An automatic document parsing job represents a background task that extracts data from documents using machine learning models. The job tracks the status of the parsing process and stores results when complete.
List automatic document parsing jobs with optional filtering.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| created | iso-8601 datetime |
The datetime the record was created |
| document | URI |
The URI of the document being parsed |
| notes | string |
Additional notes about the parsing job |
| parser_model | string |
The machine learning model used for parsing Choices
'"azure_gpt"'
|
| status | string |
Current status of the parsing job Choices
'"pending|processing|complete|error"'
|
| updated | iso-8601 datetime |
The date the job was updated |
| uri | URI |
The URI of the automatic document parsing job |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested automatic document parsing job cannot be found. |
An automatic document parsing job represents a background task that extracts data from documents using machine learning models. The job tracks the status of the parsing process and stores results when complete.
Get a single automatic document parsing job by UUID.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| created | iso-8601 datetime |
The datetime the record was created |
| document | URI |
The URI of the document being parsed |
| notes | string |
Additional notes about the parsing job |
| parser_model | string |
The machine learning model used for parsing Choices
'"azure_gpt"'
|
| status | string |
Current status of the parsing job Choices
'"pending|processing|complete|error"'
|
| updated | iso-8601 datetime |
The date the job was updated |
| uri | URI |
The URI of the automatic document parsing job |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested automatic document parsing job cannot be found. |
/build-file-library-produce/
This appears to schedule turning a 'BuildFile Library Entry' into a scheduled run in the system A) 'Reverse' makes Order, Products, Line-Item for the build-file , puts them directly into 'confirmed' status B) Creates and schedules runs and related resources,
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| build_file_library | URI |
A build_file_library item to clone and put into production. |
| docs | string |
Read Only processing state/info data from the backend process that is putting this build_file_library item into production. |
| notes | string |
Read Only System notes on any errors or warning on putting this into production. |
| status | string |
status of *the conversion to order, product, runs, etc. See individual resources for their own status. Choices
'"pending|processing|complete|error"'
|
| uri | URI |
URI of the log/ tracker for this action. Aka The Schedule Build File Library own URI. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
Action not allowed by permissions. |
| 405 |
|
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| build_file_library | URI |
A build_file_library item to clone and put into production. Required |
| docs | string |
Read Only processing state/info data from the backend process that is putting this build_file_library item into production. Required |
| notes | string |
Read Only System notes on any errors or warning on putting this into production. Required |
| status | string |
status of *the conversion to order, product, runs, etc. See individual resources for their own status. Required Choices
'"pending|processing|complete|error"'
|
| uri | URI |
URI of the log/ tracker for this action. Aka The Schedule Build File Library own URI. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 403 |
Action not allowed by permissions. |
| 405 |
|
This appears to schedule turning a 'BuildFile Library Entry' into a scheduled run in the system A) 'Reverse' makes Order, Products, Line-Item for the build-file , puts them directly into 'confirmed' status B) Creates and schedules runs and related resources,
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| build_file_library | URI |
A build_file_library item to clone and put into production. |
| docs | string |
Read Only processing state/info data from the backend process that is putting this build_file_library item into production. |
| notes | string |
Read Only System notes on any errors or warning on putting this into production. |
| status | string |
status of *the conversion to order, product, runs, etc. See individual resources for their own status. Choices
'"pending|processing|complete|error"'
|
| uri | URI |
URI of the log/ tracker for this action. Aka The Schedule Build File Library own URI. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
Action not allowed by permissions. |
| 405 |
|
/build-file-library/
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| build_file_template | URI |
Build file this Certified Build was based on |
| created | iso-8601 datetime |
The date when the Build File Library was created. |
| layout_template | URI |
Piece / Model layout this was based on |
| models | array |
list of all models in the template build Example: '["..."]'
|
| name | string |
The Build File Library name. |
| owner | URL |
The user or bureau that can edit (or view, for some bureaus) this item. |
| pieces | array |
list of all pieces in the template build plate Example: '["..."]'
|
| run_template | URI |
Run this Certified Build was based on. |
| updated | iso-8601 datetime |
The date when the Build File Library was updated |
| uri | URI |
The Build File Library URI. |
| workflows | array |
list of workflows for each piece, matches order / ordinal of piece Example: '["..."]'
|
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
|
| 404 |
|
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| build_file_template | URI |
Build file this Certified Build was based on Required |
| created | iso-8601 datetime |
The date when the Build File Library was created. Default: None |
| layout_template | URI |
Piece / Model layout this was based on Required |
| models | array |
list of all models in the template build Required Example: '["..."]'
|
| name | string |
The Build File Library name. Required |
| owner | URL |
The user or bureau that can edit (or view, for some bureaus) this item. Required |
| pieces | array |
list of all pieces in the template build plate Required Example: '["..."]'
|
| run_template | URI |
Run this Certified Build was based on. Required |
| updated | iso-8601 datetime |
The date when the Build File Library was updated Default: None |
| uri | URI |
The Build File Library URI. Required |
| workflows | array |
list of workflows for each piece, matches order / ordinal of piece Required Example: '["..."]'
|
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 403 |
|
| 404 |
|
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| build_file_template | URI |
Build file this Certified Build was based on |
| created | iso-8601 datetime |
The date when the Build File Library was created. |
| layout_template | URI |
Piece / Model layout this was based on |
| models | array |
list of all models in the template build Example: '["..."]'
|
| name | string |
The Build File Library name. |
| owner | URL |
The user or bureau that can edit (or view, for some bureaus) this item. |
| pieces | array |
list of all pieces in the template build plate Example: '["..."]'
|
| run_template | URI |
Run this Certified Build was based on. |
| updated | iso-8601 datetime |
The date when the Build File Library was updated |
| uri | URI |
The Build File Library URI. |
| workflows | array |
list of workflows for each piece, matches order / ordinal of piece Example: '["..."]'
|
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
|
| 404 |
|
/build-file/
This endpoint returns data for build-files. That means Files feed to manufacturing machines, to make them run and build something. Note, in 3D printing some 'Design' files are the same format as 'Machine Data' files, causing some confusion here. If it comes from this endpoint, it is suppose to be loaded into a machine.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| archived | iso-8601 datetime |
The datetime when build file was marked as archived. |
| content | string |
Download URI for the build file. Link is valid for 5 minutes by default. |
| created | iso-8601 datetime |
The datetime when build file was created. |
| error | string |
Error message if the build file was generated with an error. This is a read-only field. |
| file_size | integer |
The file size in bytes. |
| file_unit | string |
Base units of the output file Choices
'"in|mm|cm|m|feet"'
|
| format | string |
File format of this output build file. Choices
'"stl|3mf|zip|gcode|crs"'
|
| layout | URI |
The URI of the run's layout. Only generated by the system build files can have layout (for now). |
| name | string |
Suggested file - name for this build when downloaded. |
| notes | string |
System or user notes on the layout or file generation |
| printer_type | URI |
The URI of the printer type (infilled based on target printing run during creation). |
| run | URI |
The run build_file is machine instructions for. Note the many:1 (build_file:run) behavior. |
| snapshot_content | string |
Build file snapshot/picture download link. Link is valid for 5 minutes by default. |
| source_build_file | URI |
The build file that was used to generate this build file. For example a sliced packed build file originates from a packed build file. |
| status | string |
Status of a backend file processing job. Choices
'"pending|processing|complete|error"'
|
| updated | iso-8601 datetime |
The datetime when build file was updated last time. |
| upload_location | string |
Upload location for the build file. Link is valid for 5 minutes by default. |
| uri | URI |
URI of the build file. |
| user | URI |
User which uploaded build file. |
| virus_scan | string |
Lists the state of the virus-scan on the file. Status quarantined indicates a problem was detected. Choices
'"unscanned|passed|quarantined"'
|
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
Modification of the comment allowed only for comment owner. |
| 404 |
The requested workflow cannot be found. |
| 405 |
|
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| archived | iso-8601 datetime |
The datetime when build file was marked as archived. Required |
| content | string |
Download URI for the build file. Link is valid for 5 minutes by default. Required |
| created | iso-8601 datetime |
The datetime when build file was created. Required |
| error | string |
Error message if the build file was generated with an error. This is a read-only field. Required |
| file_size | integer |
The file size in bytes. Required |
| file_unit | string |
Base units of the output file Required Choices
'"in|mm|cm|m|feet"'
|
| format | string |
File format of this output build file. Required Choices
'"stl|3mf|zip|gcode|crs"'
|
| layout | URI |
The URI of the run's layout. Only generated by the system build files can have layout (for now). Required |
| name | string |
Suggested file - name for this build when downloaded. Required |
| notes | string |
System or user notes on the layout or file generation Required |
| printer_type | URI |
The URI of the printer type (infilled based on target printing run during creation). Required |
| run | URI |
The run build_file is machine instructions for. Note the many:1 (build_file:run) behavior. Required |
| snapshot_content | string |
Build file snapshot/picture download link. Link is valid for 5 minutes by default. Required |
| source_build_file | URI |
The build file that was used to generate this build file. For example a sliced packed build file originates from a packed build file. Required |
| status | string |
Status of a backend file processing job. Default: pendingChoices
'"pending|processing|complete|error"'
|
| updated | iso-8601 datetime |
The datetime when build file was updated last time. Required |
| upload_location | string |
Upload location for the build file. Link is valid for 5 minutes by default. Required |
| uri | URI |
URI of the build file. Required |
| user | URI |
User which uploaded build file. Required |
| virus_scan | string |
Lists the state of the virus-scan on the file. Status quarantined indicates a problem was detected. Default: unscannedChoices
'"unscanned|passed|quarantined"'
|
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 403 |
Modification of the comment allowed only for comment owner. |
| 404 |
The requested workflow cannot be found. |
| 405 |
|
This endpoint returns data for build-files. That means Files feed to manufacturing machines, to make them run and build something. Note, in 3D printing some 'Design' files are the same format as 'Machine Data' files, causing some confusion here. If it comes from this endpoint, it is suppose to be loaded into a machine.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| archived | iso-8601 datetime |
The datetime when build file was marked as archived. |
| content | string |
Download URI for the build file. Link is valid for 5 minutes by default. |
| created | iso-8601 datetime |
The datetime when build file was created. |
| error | string |
Error message if the build file was generated with an error. This is a read-only field. |
| file_size | integer |
The file size in bytes. |
| file_unit | string |
Base units of the output file Choices
'"in|mm|cm|m|feet"'
|
| format | string |
File format of this output build file. Choices
'"stl|3mf|zip|gcode|crs"'
|
| layout | URI |
The URI of the run's layout. Only generated by the system build files can have layout (for now). |
| name | string |
Suggested file - name for this build when downloaded. |
| notes | string |
System or user notes on the layout or file generation |
| printer_type | URI |
The URI of the printer type (infilled based on target printing run during creation). |
| run | URI |
The run build_file is machine instructions for. Note the many:1 (build_file:run) behavior. |
| snapshot_content | string |
Build file snapshot/picture download link. Link is valid for 5 minutes by default. |
| source_build_file | URI |
The build file that was used to generate this build file. For example a sliced packed build file originates from a packed build file. |
| status | string |
Status of a backend file processing job. Choices
'"pending|processing|complete|error"'
|
| updated | iso-8601 datetime |
The datetime when build file was updated last time. |
| upload_location | string |
Upload location for the build file. Link is valid for 5 minutes by default. |
| uri | URI |
URI of the build file. |
| user | URI |
User which uploaded build file. |
| virus_scan | string |
Lists the state of the virus-scan on the file. Status quarantined indicates a problem was detected. Choices
'"unscanned|passed|quarantined"'
|
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
Modification of the comment allowed only for comment owner. |
| 404 |
The requested workflow cannot be found. |
| 405 |
|
/build/
This endpoint allows you to get and set information about builds that have occurred from one of your 3D printers. A build is the process of doing a print run, regardless of the number of independent CAD models that were represented in the build volume.
List all of the builds in the system for your account. Can be filtered by start_time and end_time
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| carbon_footprint_estimate | float |
The carbon footprint of the build. This is an estimate based on the materials used and the energy consumed. |
| created | iso-8601 datetime |
When the cassette resource was created |
| current_layer | integer |
The current layer being manufactured in this build |
| end_time | iso-8601 datetime |
The date and time the build ended, if available |
| estimated_time | timedelta |
The estimated printing time. Default unit is seconds. |
| layers | integer |
The number of layers in this build |
| materials | array |
List of materials names and the amount being used. Example: '[{}]'
|
| modeler | URI |
The URI of the printer performing the build |
| name | string |
The name of the build as determined by the printer |
| run | URI |
The URI of build's related run, if any. Build is linked to a run record while creating or updating a buildif the build's name equals the run uuid of some run record in the system.Note: This field not settable by POST/PUT; it is set in platform layer while internally creating a build from captures |
| start_time | iso-8601 datetime |
The date and time the build started |
| status | string |
The status of the build, such as 'in progress' Choices
'"complete|failed|machine_error|new|part_exceeds_boundaries|processing|suspended|user_abort|paused|preheat|waiting_for_resolution|error|cancelled|backlogged|unknown"'
|
| updated | iso-8601 datetime |
When the cassette resource was updated |
| uri | URI |
The URI for this build |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The build requested cannot be found |
Create a new build
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| carbon_footprint_estimate | float |
The carbon footprint of the build. This is an estimate based on the materials used and the energy consumed. Default: None |
| created | iso-8601 datetime |
When the cassette resource was created Default: None |
| current_layer | integer |
The current layer being manufactured in this build Required |
| end_time | iso-8601 datetime |
The date and time the build ended, if available Default: None |
| estimated_time | timedelta |
The estimated printing time. Default unit is seconds. Default: None |
| layers | integer |
The number of layers in this build Required |
| materials | array |
List of materials names and the amount being used. Default: []Example: '[{}]'
|
| modeler | URI |
The URI of the printer performing the build Required |
| name | string |
The name of the build as determined by the printer Required |
| run | URI |
The URI of build's related run, if any. Build is linked to a run record while creating or updating a buildif the build's name equals the run uuid of some run record in the system.Note: This field not settable by POST/PUT; it is set in platform layer while internally creating a build from captures Default: None |
| start_time | iso-8601 datetime |
The date and time the build started Required |
| status | string |
The status of the build, such as 'in progress' Required Choices
'"complete|failed|machine_error|new|part_exceeds_boundaries|processing|suspended|user_abort|paused|preheat|waiting_for_resolution|error|cancelled|backlogged|unknown"'
|
| updated | iso-8601 datetime |
When the cassette resource was updated Default: None |
| uri | URI |
The URI for this build Default: None |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 404 |
The build requested cannot be found |
/build/{uuid}/
This endpoint allows you to get and set information about builds that have occurred from one of your 3D printers. A build is the process of doing a print run, regardless of the number of independent CAD models that were represented in the build volume.
Get a single build by UUID
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| carbon_footprint_estimate | float |
The carbon footprint of the build. This is an estimate based on the materials used and the energy consumed. |
| created | iso-8601 datetime |
When the cassette resource was created |
| current_layer | integer |
The current layer being manufactured in this build |
| end_time | iso-8601 datetime |
The date and time the build ended, if available |
| estimated_time | timedelta |
The estimated printing time. Default unit is seconds. |
| layers | integer |
The number of layers in this build |
| materials | array |
List of materials names and the amount being used. Example: '[{}]'
|
| modeler | URI |
The URI of the printer performing the build |
| name | string |
The name of the build as determined by the printer |
| run | URI |
The URI of build's related run, if any. Build is linked to a run record while creating or updating a buildif the build's name equals the run uuid of some run record in the system.Note: This field not settable by POST/PUT; it is set in platform layer while internally creating a build from captures |
| start_time | iso-8601 datetime |
The date and time the build started |
| status | string |
The status of the build, such as 'in progress' Choices
'"complete|failed|machine_error|new|part_exceeds_boundaries|processing|suspended|user_abort|paused|preheat|waiting_for_resolution|error|cancelled|backlogged|unknown"'
|
| updated | iso-8601 datetime |
When the cassette resource was updated |
| uri | URI |
The URI for this build |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The build requested cannot be found |
Small API for deleting multiple products at once with a side effect that will delete line-items.
Schema (application/json)
| Property | Type | Description |
|---|
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 404 |
The requested product cannot be found. Unable to delete the following products, either you lack the required permissions or they do not exist. |
| 405 |
|
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Filtering settings only by bureau's uuid.
Return only one instance (if find) wrapped in list.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
Bureau URI |
| favicon | URI |
Link for favicon document of bureau. Null if it's not uploaded |
| favicon_content | string |
The uploaded URL of the favicon |
| logo | URI |
Link for logo document of bureau. Null if it's not uploaded |
| logo_content | string |
The uploaded URL of the logo |
| order_header_image | string |
Header image Choices
'"b|u|r|e|a|u"'
|
| order_header_image_content | string |
The uploaded URL of the header image |
| order_header_text | string |
Order Quote header text Choices
'"b|u|r|e|a|u"'
|
| order_pretable_text | string |
Order Quote pre table text Choices
'"b|u|r|e|a|u"'
|
| order_show_page_number | boolean |
Is pages number visible in Order Quote Choices
'"True|False"'
|
| order_table_bg_color | string |
Order Quote table background color Choices
'"b|u|r|e|a|u"'
|
| order_table_delivery_info | string |
The URI of bureau the branding belongs to. Choices
'"b|u|r|e|a|u"'
|
| order_table_footer | string |
Order Quote table footer text Choices
'"b|u|r|e|a|u"'
|
| order_table_header_bg_color | string |
Order Quote header background color Choices
'"b|u|r|e|a|u"'
|
| order_table_header_color | string |
Order Quote header color Choices
'"b|u|r|e|a|u"'
|
| order_table_post_table | string |
Order Quote table post table text Choices
'"b|u|r|e|a|u"'
|
| order_table_row_bottom_color | string |
Order Quote border-bottom color for each row to main table Choices
'"b|u|r|e|a|u"'
|
| order_table_show_column_borders | boolean |
Is column borders visible in Order Quote Choices
'"True|False"'
|
| order_table_show_row_borders | boolean |
Is row borders visible in Order Quote Choices
'"True|False"'
|
| uri | URI |
The bureau settings URI |
| ux_style | string |
Bureau styling key. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
|
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Note: by default it applies filters be user bureau and add to it passed bureau_branding.uuid
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
Bureau URI |
| favicon | URI |
Link for favicon document of bureau. Null if it's not uploaded |
| favicon_content | string |
The uploaded URL of the favicon |
| logo | URI |
Link for logo document of bureau. Null if it's not uploaded |
| logo_content | string |
The uploaded URL of the logo |
| order_header_image | string |
Header image Choices
'"b|u|r|e|a|u"'
|
| order_header_image_content | string |
The uploaded URL of the header image |
| order_header_text | string |
Order Quote header text Choices
'"b|u|r|e|a|u"'
|
| order_pretable_text | string |
Order Quote pre table text Choices
'"b|u|r|e|a|u"'
|
| order_show_page_number | boolean |
Is pages number visible in Order Quote Choices
'"True|False"'
|
| order_table_bg_color | string |
Order Quote table background color Choices
'"b|u|r|e|a|u"'
|
| order_table_delivery_info | string |
The URI of bureau the branding belongs to. Choices
'"b|u|r|e|a|u"'
|
| order_table_footer | string |
Order Quote table footer text Choices
'"b|u|r|e|a|u"'
|
| order_table_header_bg_color | string |
Order Quote header background color Choices
'"b|u|r|e|a|u"'
|
| order_table_header_color | string |
Order Quote header color Choices
'"b|u|r|e|a|u"'
|
| order_table_post_table | string |
Order Quote table post table text Choices
'"b|u|r|e|a|u"'
|
| order_table_row_bottom_color | string |
Order Quote border-bottom color for each row to main table Choices
'"b|u|r|e|a|u"'
|
| order_table_show_column_borders | boolean |
Is column borders visible in Order Quote Choices
'"True|False"'
|
| order_table_show_row_borders | boolean |
Is row borders visible in Order Quote Choices
'"True|False"'
|
| uri | URI |
The bureau settings URI |
| ux_style | string |
Bureau styling key. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
|
This is bureau-wide settings related to order / line-item intake, customer price, and related information. Time / costs added here are for customer price.
List all the bureau intake settings in the system for your account.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau the settings belongs to. |
| default_labor_charge_per | float |
Default labor charge per hour for forecasts. In bureau_settings.currency units. Example units: $/hr |
| default_labor_time | timedelta |
Total time in HH:MM a piece is going to occupy a laborer at a workstation in seconds |
| default_machine_run_charge_per | float |
Default machine running-time charge per hour for forecasts. In bureau_settings.currency units. Example units: $/hr |
| default_machine_run_time | timedelta |
Total time in HH:MM a piece is going to occupy a running machine (consuming power) at a workstation, in seconds |
| default_workstation_charge_per | float |
Default workstation charge per hour for forecasts. In bureau_settings.currency units. Example units: $/hr |
| default_workstation_time | timedelta |
Total time in HH:MM a piece is going to occupy the workstation for forecasts. Setup, running, cooldown / wait included. in seconds |
| uri | URI |
The URI of if this specific bureau intake settings. Null if not set & using defaults |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
|
This is bureau-wide settings related to order / line-item intake, customer price, and related information. Time / costs added here are for customer price.
Get a single bureau intake settings by UUID.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau the settings belongs to. |
| default_labor_charge_per | float |
Default labor charge per hour for forecasts. In bureau_settings.currency units. Example units: $/hr |
| default_labor_time | timedelta |
Total time in HH:MM a piece is going to occupy a laborer at a workstation in seconds |
| default_machine_run_charge_per | float |
Default machine running-time charge per hour for forecasts. In bureau_settings.currency units. Example units: $/hr |
| default_machine_run_time | timedelta |
Total time in HH:MM a piece is going to occupy a running machine (consuming power) at a workstation, in seconds |
| default_workstation_charge_per | float |
Default workstation charge per hour for forecasts. In bureau_settings.currency units. Example units: $/hr |
| default_workstation_time | timedelta |
Total time in HH:MM a piece is going to occupy the workstation for forecasts. Setup, running, cooldown / wait included. in seconds |
| uri | URI |
The URI of if this specific bureau intake settings. Null if not set & using defaults |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
|
/bureau-notification/
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| author_name | string |
The name of the notification's author. |
| bureau | URI |
The URI of the bureau this applies to. |
| created | iso-8601 datetime |
Datetime when notification was created (in UTC). |
| text | string |
The text of the notification in markdown. |
| uri | URI |
The URI of the bureau notification. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested sample cannot be found. |
| 405 |
|
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| author_name | string |
The name of the notification's author. Required |
| bureau | URI |
The URI of the bureau this applies to. Required |
| created | iso-8601 datetime |
Datetime when notification was created (in UTC). Required |
| text | string |
The text of the notification in markdown. Required |
| uri | URI |
The URI of the bureau notification. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 404 |
The requested sample cannot be found. |
| 405 |
|
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| author_name | string |
The name of the notification's author. |
| bureau | URI |
The URI of the bureau this applies to. |
| created | iso-8601 datetime |
Datetime when notification was created (in UTC). |
| text | string |
The text of the notification in markdown. |
| uri | URI |
The URI of the bureau notification. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested sample cannot be found. |
| 405 |
|
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Filtering settings only by bureau's uuid.
Return only one instance (if find) wrapped in list.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| autologout_after | integer |
User will be logged out after this many minutes of API inactivity. |
| barcode_default_format | string |
Default code scanning format for use in the QR app. Choices
'"barcode|qr"'
|
| bureau | URI |
The URI of bureau the settings belongs to. |
| contactless_logon_enabled | boolean |
none available Choices
'"True|False"'
|
| contactless_logon_timeout | integer |
Number of minutes that it takes for a contactless logon to timeout |
| custom_helpdesk_uri | URL |
Allow the system to use custom Zendesk/Help page articles. If null, default to regular Authentise Zendesk |
| default_currency | string |
Default currency (abbreviation) used by bureau. Choices
'"AED|AFN|ALL|AMD|ANG|AOA|ARS|AUD|AWG|AZN|BAM|BBD|BDT|BGN|BHD|BIF|BMD|BND|BOB|BOV|BRL|BSD|BTN|BWP|BYN|BZD|CAD|CDF|CHE|CHF|CHW|CLF|CLP|CNY|COP|COU|CRC|CUC|CUP|CVE|CZK|DJF|DKK|DOP|DZD|EGP|ERN|ETB|EUR|FJD|FKP|GBP|GEL|GHS|GIP|GMD|GNF|GTQ|GYD|HKD|HNL|HRK|HTG|HUF|IDR|ILS|INR|IQD|IRR|ISK|JMD|JOD|JPY|KES|KGS|KHR|KMF|KPW|KRW|KWD|KYD|KZT|LAK|LBP|LKR|LRD|LSL|LYD|MAD|MDL|MGA|MKD|MMK|MNT|MOP|MRU|MUR|MVR|MWK|MXN|MXV|MYR|MZN|NAD|NGN|NIO|NOK|NPR|NZD|OMR|PAB|PEN|PGK|PHP|PKR|PLN|PYG|QAR|RON|RSD|RUB|RWF|SAR|SBD|SCR|SDG|SEK|SGD|SHP|SLE|SLL|SOS|SRD|SSP|STN|SVC|SYP|SZL|THB|TJS|TMT|TND|TOP|TRY|TTD|TWD|TZS|UAH|UGX|USD|USN|UYI|UYU|UYW|UZS|VED|VES|VND|VUV|WST|XAF|XAG|XAU|XBA|XBB|XBC|XBD|XCD|XDR|XOF|XPD|XPF|XPT|XSU|XTS|XUA|XXX|YER|ZAR|ZMW|ZWL"'
|
| default_location | URI |
The location is automatically created in admin/create_bureau.py. The user would have the option to use this location while creating resources like Stock, Printers, etc. that need a location to exist. |
| default_prep_workflow | URI |
The prep workflow that a line_item should default to using during creation.This field is used when prep-workflow feature is enabled. |
| default_units | string |
The Unit of Measure for models (mm or in) Choices
'"in|mm"'
|
| default_workflow | URI |
The workflow that a line_item should default to using during creation, when a workflow is not specified in the POST request payload |
| email_reply_to | string |
Email address to which responses will be sent to when users reply |
| email_sender_name | string |
Name of the organization that appears in custom email templates |
| force | boolean |
Skip the checks that must be made to ensure that no Bureau user has an active contactless logon Choices
'"True|False"'
|
| hourly_design_cost | float |
Price per hour for design work. |
| last_scheduled | iso-8601 datetime |
The end of the last recorded scheduling update for this bureau |
| mes_base_format | string |
Main file type used for MES data operations. Order Entry may support different formats. Choices
'"stl|3mf"'
|
| notification_custom_emails | array |
List of custom email addresses to which the notification should be sent. Example: '["..."]'
|
| notification_guest_registered |
Email of a bureau manager which should receive email notifications when a new guest user was registered. |
|
| notification_line_items_confirmed | integer |
Indicate who should receive a notification (order owner, customer, custom email) when all line items in the order are confirmed. Choices
'"0|1|2|3|4|5|6|7"'
|
| notification_order_completed | integer |
Who should receive a notification (order owner, customer, custom email) when an order has been completed. Choices
'"0|1|2|3|4|5|6|7"'
|
| notification_order_created | integer |
Who should receive a notification (order owner, customer, custom email) when an order is created. Choices
'"0|1|4|5"'
|
| notification_order_owner | integer |
Who should receive a notification (order owner, customer, custom email) when order owner has been changed. Choices
'"0|1|2|3|4|5|6|7"'
|
| notification_order_scheduled | integer |
Who should receive a notification (order owner, customer, custom email) when all objects in an order have been scheduled. Choices
'"0|1|2|3|4|5|6|7"'
|
| notification_order_shipped | integer |
Who should receive a notification (order owner, customer, custom email) when an order is shipped. Choices
'"0|1|2|3|4|5|6|7"'
|
| notification_order_started_printing | integer |
Who should receive a notification (order owner, customer, custom email) when the first line item in an order starts printing. Choices
'"0|1|2|3|4|5|6|7"'
|
| notification_print_error | integer |
Who should receive a notification (order owner, customer, custom email) when printing fails for any object in an order. Choices
'"0|1|2|3|4|5|6|7"'
|
| order_quote_notes_placeholder | string |
Default text for the Order Quote notes section for all bureau orders. |
| save_user_rotation | string |
Specify what happens when 3D renderer is exited after making a transformation to the model. Choices
'"never|always|ask_each_time"'
|
| scheduling_frequency | integer |
The minimum number of minutes between the end of one scheduling update and the start of another for this same bureau |
| uri | URI |
The bureau settings URI. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
|
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Note: by default it applies filters be user bureau and add to it passed bureau_settings.uuid
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| autologout_after | integer |
User will be logged out after this many minutes of API inactivity. |
| barcode_default_format | string |
Default code scanning format for use in the QR app. Choices
'"barcode|qr"'
|
| bureau | URI |
The URI of bureau the settings belongs to. |
| contactless_logon_enabled | boolean |
none available Choices
'"True|False"'
|
| contactless_logon_timeout | integer |
Number of minutes that it takes for a contactless logon to timeout |
| custom_helpdesk_uri | URL |
Allow the system to use custom Zendesk/Help page articles. If null, default to regular Authentise Zendesk |
| default_currency | string |
Default currency (abbreviation) used by bureau. Choices
'"AED|AFN|ALL|AMD|ANG|AOA|ARS|AUD|AWG|AZN|BAM|BBD|BDT|BGN|BHD|BIF|BMD|BND|BOB|BOV|BRL|BSD|BTN|BWP|BYN|BZD|CAD|CDF|CHE|CHF|CHW|CLF|CLP|CNY|COP|COU|CRC|CUC|CUP|CVE|CZK|DJF|DKK|DOP|DZD|EGP|ERN|ETB|EUR|FJD|FKP|GBP|GEL|GHS|GIP|GMD|GNF|GTQ|GYD|HKD|HNL|HRK|HTG|HUF|IDR|ILS|INR|IQD|IRR|ISK|JMD|JOD|JPY|KES|KGS|KHR|KMF|KPW|KRW|KWD|KYD|KZT|LAK|LBP|LKR|LRD|LSL|LYD|MAD|MDL|MGA|MKD|MMK|MNT|MOP|MRU|MUR|MVR|MWK|MXN|MXV|MYR|MZN|NAD|NGN|NIO|NOK|NPR|NZD|OMR|PAB|PEN|PGK|PHP|PKR|PLN|PYG|QAR|RON|RSD|RUB|RWF|SAR|SBD|SCR|SDG|SEK|SGD|SHP|SLE|SLL|SOS|SRD|SSP|STN|SVC|SYP|SZL|THB|TJS|TMT|TND|TOP|TRY|TTD|TWD|TZS|UAH|UGX|USD|USN|UYI|UYU|UYW|UZS|VED|VES|VND|VUV|WST|XAF|XAG|XAU|XBA|XBB|XBC|XBD|XCD|XDR|XOF|XPD|XPF|XPT|XSU|XTS|XUA|XXX|YER|ZAR|ZMW|ZWL"'
|
| default_location | URI |
The location is automatically created in admin/create_bureau.py. The user would have the option to use this location while creating resources like Stock, Printers, etc. that need a location to exist. |
| default_prep_workflow | URI |
The prep workflow that a line_item should default to using during creation.This field is used when prep-workflow feature is enabled. |
| default_units | string |
The Unit of Measure for models (mm or in) Choices
'"in|mm"'
|
| default_workflow | URI |
The workflow that a line_item should default to using during creation, when a workflow is not specified in the POST request payload |
| email_reply_to | string |
Email address to which responses will be sent to when users reply |
| email_sender_name | string |
Name of the organization that appears in custom email templates |
| force | boolean |
Skip the checks that must be made to ensure that no Bureau user has an active contactless logon Choices
'"True|False"'
|
| hourly_design_cost | float |
Price per hour for design work. |
| last_scheduled | iso-8601 datetime |
The end of the last recorded scheduling update for this bureau |
| mes_base_format | string |
Main file type used for MES data operations. Order Entry may support different formats. Choices
'"stl|3mf"'
|
| notification_custom_emails | array |
List of custom email addresses to which the notification should be sent. Example: '["..."]'
|
| notification_guest_registered |
Email of a bureau manager which should receive email notifications when a new guest user was registered. |
|
| notification_line_items_confirmed | integer |
Indicate who should receive a notification (order owner, customer, custom email) when all line items in the order are confirmed. Choices
'"0|1|2|3|4|5|6|7"'
|
| notification_order_completed | integer |
Who should receive a notification (order owner, customer, custom email) when an order has been completed. Choices
'"0|1|2|3|4|5|6|7"'
|
| notification_order_created | integer |
Who should receive a notification (order owner, customer, custom email) when an order is created. Choices
'"0|1|4|5"'
|
| notification_order_owner | integer |
Who should receive a notification (order owner, customer, custom email) when order owner has been changed. Choices
'"0|1|2|3|4|5|6|7"'
|
| notification_order_scheduled | integer |
Who should receive a notification (order owner, customer, custom email) when all objects in an order have been scheduled. Choices
'"0|1|2|3|4|5|6|7"'
|
| notification_order_shipped | integer |
Who should receive a notification (order owner, customer, custom email) when an order is shipped. Choices
'"0|1|2|3|4|5|6|7"'
|
| notification_order_started_printing | integer |
Who should receive a notification (order owner, customer, custom email) when the first line item in an order starts printing. Choices
'"0|1|2|3|4|5|6|7"'
|
| notification_print_error | integer |
Who should receive a notification (order owner, customer, custom email) when printing fails for any object in an order. Choices
'"0|1|2|3|4|5|6|7"'
|
| order_quote_notes_placeholder | string |
Default text for the Order Quote notes section for all bureau orders. |
| save_user_rotation | string |
Specify what happens when 3D renderer is exited after making a transformation to the model. Choices
'"never|always|ask_each_time"'
|
| scheduling_frequency | integer |
The minimum number of minutes between the end of one scheduling update and the start of another for this same bureau |
| uri | URI |
The bureau settings URI. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
|
/bureau/
Administer information about a bureau. Most users of the ERP module will want to first register a bureau as most other resources in the system expect to take a bureau as a parameter. A bureau is what customers will see when placing orders - in order to generate an order in the system they must indicate which bureau should fulfill the order
Bureaus require a group URI that ties the bureau to a group in the user system. Members of that group will be able to make changes to the bureau and service requests on the bureau
List all of the bureaus in the system for your account.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| description | string |
The description of the bureau. |
| group | URI |
The URI of the user group that will get access to orders from the bureau. |
| name | string |
The name of the bureau. |
| notifications | object |
Allows a bureau to receive emails. Example: ('{"order_summary": "True|False", "order_confirmation": "True|False", '
'"order_scheduled": "True|False", "order_print": "True|False", "order_error": '
'"True|False", "order_shipped": "True|False", "order_complete": "True|False"}')
|
| order_banner | object |
Order banner message intended for restricted users only. Example: '{}'
|
| reply_to | string |
Reply to email address for a bureau |
| uri | URI |
The URI of the bureau. |
| user | URI |
The URI of the user making the bureau. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
The requested bureau name already exists. |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested bureau cannot be found. |
| 500 |
|
Create a new bureau.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| description | string |
The description of the bureau. Default: None |
| group | URI |
The URI of the user group that will get access to orders from the bureau. Required |
| name | string |
The name of the bureau. Required |
| notifications | object |
Allows a bureau to receive emails. Default: NoneExample: ('{"order_summary": "True|False", "order_confirmation": "True|False", '
'"order_scheduled": "True|False", "order_print": "True|False", "order_error": '
'"True|False", "order_shipped": "True|False", "order_complete": "True|False"}')
|
| order_banner | object |
Order banner message intended for restricted users only. Default: NoneExample: '{}'
|
| reply_to | string |
Reply to email address for a bureau Default: None |
| uri | URI |
The URI of the bureau. Default: None |
| user | URI |
The URI of the user making the bureau. Default: None |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
The requested bureau name already exists. |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested bureau cannot be found. |
| 500 |
|
/bureau/{uuid}/
Administer information about a bureau. Most users of the ERP module will want to first register a bureau as most other resources in the system expect to take a bureau as a parameter. A bureau is what customers will see when placing orders - in order to generate an order in the system they must indicate which bureau should fulfill the order
Bureaus require a group URI that ties the bureau to a group in the user system. Members of that group will be able to make changes to the bureau and service requests on the bureau
Get a single bureau by UUID.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| description | string |
The description of the bureau. |
| group | URI |
The URI of the user group that will get access to orders from the bureau. |
| name | string |
The name of the bureau. |
| notifications | object |
Allows a bureau to receive emails. Example: ('{"order_summary": "True|False", "order_confirmation": "True|False", '
'"order_scheduled": "True|False", "order_print": "True|False", "order_error": '
'"True|False", "order_shipped": "True|False", "order_complete": "True|False"}')
|
| order_banner | object |
Order banner message intended for restricted users only. Example: '{}'
|
| reply_to | string |
Reply to email address for a bureau |
| uri | URI |
The URI of the bureau. |
| user | URI |
The URI of the user making the bureau. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
The requested bureau name already exists. |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested bureau cannot be found. |
| 500 |
|
Get the parsed content of a capture file
Get the parsed content of a capture by UUID
Schema (application/json)
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
|
Get the parsed content of a capture file
Get the parsed content of a capture by UUID
Schema (application/json)
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
|
/capture-type/
Information about the a modeler-type's capture-type. This is just a placeholder and currently is not implemented.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| capture_type | string |
none available |
| interval | integer |
The rate at which this capture type will capture, in seconds |
| modeler_type | URI |
The modeler type this capture is for |
| uri | URI |
none available |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
Information about the a modeler-type's capture-type. This is just a placeholder and currently is not implemented.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| capture_type | string |
none available |
| interval | integer |
The rate at which this capture type will capture, in seconds |
| modeler_type | URI |
The modeler type this capture is for |
| uri | URI |
none available |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
/capture/
Get and create information about a capture. A capture is a snapshot of what the system is doing at a particular moment in time. The capture resource itself does not contain the data that was captured (such as temperature, current job, queue depth, etc.). Rather, it contains just the metadata about the capture: when it was made, the user who made the capture, the type of capture, etc.
Captures can originate either from a Modeler or from an Addiguru installation, depending on the context and
configuration. For more information on captures from Addiguru installations, see docs/systems/addiguru.md.
Get a list of all captures available
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| addiguru_installation | URI |
The URI of the Addiguru Installation this capture belongs to |
| capture_type | URI |
The URI of the capture-type this capture uses |
| capture_type_name | string |
Name of capture type Choices
'"arcam.job.log|catex.modeler.jobs|catex.modeler.status|connex.modeler.log|eos_connect.modeler.log|eos.modeler.log|eosconnet_v6_http_modeler.jobs|hp.modeler.status|slm.modeler.status|projet660.modeler.log|ultimaker.modeler.log|stratasys.connectivity.modeler.status|stratasys.connectivity.modeler.historic|carbon3D.modeler.status|formlabs.modeler.status|markforged.modeler.status|renishaw.modeler.log|renishaw.modeler.historic|photocentric.modeler.status|photocentric_jeni.modeler.status|addiguru.build.analysis|bambu.modeler.status|haas.modeler.status"'
|
| content_download | URI |
The URL where the capture content can be downloaded |
| content_parsed_download | URI |
The URL where the parsed capture content can be downloaded |
| content_upload | string |
The URL where the capture content can be uploaded |
| created | iso-8601 datetime |
When the capture was created |
| meta | object |
Device-specific metadata about the capture Example: 'null'
|
| modeler | URI |
The URI of the Modeler this capture belongs to |
| printer_names | array |
Printer names which are attached to modeler, which are using this capture.Ideally it must be a string, but theoretically we can have multiple printers attached to the same modelerWill be fixed in ch25564. Example: '["..."]'
|
| status | string |
The status of the capture such as 'complete', 'failed', 'processing' or 'new' Choices
'"complete|failed|new|processing|batch_processing"'
|
| updated | iso-8601 datetime |
When the capture was last updated |
| uri | URI |
The URI of the capture |
| user | URI |
The URI of the user making the capture |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
RecordNotFound raised RecordNotFound raised |
Create a new capture
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| addiguru_installation | URI |
The URI of the Addiguru Installation this capture belongs to Required |
| capture_type | URI |
The URI of the capture-type this capture uses Required |
| capture_type_name | string |
Name of capture type Required Choices
'"arcam.job.log|catex.modeler.jobs|catex.modeler.status|connex.modeler.log|eos_connect.modeler.log|eos.modeler.log|eosconnet_v6_http_modeler.jobs|hp.modeler.status|slm.modeler.status|projet660.modeler.log|ultimaker.modeler.log|stratasys.connectivity.modeler.status|stratasys.connectivity.modeler.historic|carbon3D.modeler.status|formlabs.modeler.status|markforged.modeler.status|renishaw.modeler.log|renishaw.modeler.historic|photocentric.modeler.status|photocentric_jeni.modeler.status|addiguru.build.analysis|bambu.modeler.status|haas.modeler.status"'
|
| content_download | URI |
The URL where the capture content can be downloaded Default: None |
| content_parsed_download | URI |
The URL where the parsed capture content can be downloaded Default: None |
| content_upload | string |
The URL where the capture content can be uploaded Default: None |
| created | iso-8601 datetime |
When the capture was created Default: None |
| meta | object |
Device-specific metadata about the capture Default: NoneExample: 'null'
|
| modeler | URI |
The URI of the Modeler this capture belongs to Required |
| printer_names | array |
Printer names which are attached to modeler, which are using this capture.Ideally it must be a string, but theoretically we can have multiple printers attached to the same modelerWill be fixed in ch25564. Required Example: '["..."]'
|
| status | string |
The status of the capture such as 'complete', 'failed', 'processing' or 'new' Default: NoneChoices
'"complete|failed|new|processing|batch_processing"'
|
| updated | iso-8601 datetime |
When the capture was last updated Default: None |
| uri | URI |
The URI of the capture Default: None |
| user | URI |
The URI of the user making the capture Default: None |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 404 |
RecordNotFound raised RecordNotFound raised |
/capture/{uuid}/
Get and create information about a capture. A capture is a snapshot of what the system is doing at a particular moment in time. The capture resource itself does not contain the data that was captured (such as temperature, current job, queue depth, etc.). Rather, it contains just the metadata about the capture: when it was made, the user who made the capture, the type of capture, etc.
Captures can originate either from a Modeler or from an Addiguru installation, depending on the context and
configuration. For more information on captures from Addiguru installations, see docs/systems/addiguru.md.
Get a capture by URI
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| addiguru_installation | URI |
The URI of the Addiguru Installation this capture belongs to |
| capture_type | URI |
The URI of the capture-type this capture uses |
| capture_type_name | string |
Name of capture type Choices
'"arcam.job.log|catex.modeler.jobs|catex.modeler.status|connex.modeler.log|eos_connect.modeler.log|eos.modeler.log|eosconnet_v6_http_modeler.jobs|hp.modeler.status|slm.modeler.status|projet660.modeler.log|ultimaker.modeler.log|stratasys.connectivity.modeler.status|stratasys.connectivity.modeler.historic|carbon3D.modeler.status|formlabs.modeler.status|markforged.modeler.status|renishaw.modeler.log|renishaw.modeler.historic|photocentric.modeler.status|photocentric_jeni.modeler.status|addiguru.build.analysis|bambu.modeler.status|haas.modeler.status"'
|
| content_download | URI |
The URL where the capture content can be downloaded |
| content_parsed_download | URI |
The URL where the parsed capture content can be downloaded |
| content_upload | string |
The URL where the capture content can be uploaded |
| created | iso-8601 datetime |
When the capture was created |
| meta | object |
Device-specific metadata about the capture Example: 'null'
|
| modeler | URI |
The URI of the Modeler this capture belongs to |
| printer_names | array |
Printer names which are attached to modeler, which are using this capture.Ideally it must be a string, but theoretically we can have multiple printers attached to the same modelerWill be fixed in ch25564. Example: '["..."]'
|
| status | string |
The status of the capture such as 'complete', 'failed', 'processing' or 'new' Choices
'"complete|failed|new|processing|batch_processing"'
|
| updated | iso-8601 datetime |
When the capture was last updated |
| uri | URI |
The URI of the capture |
| user | URI |
The URI of the user making the capture |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
RecordNotFound raised RecordNotFound raised |
/carousel/
This endpoint returns data for carousels.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| parent | URL |
URI of the object that this carousel of images for. |
| snapshots | array |
An ordered list of dicts. Each dict is a image in the carosuel. Image 0 is the 'key' image. Example: '[{}]'
|
| uri | URI |
URI of this carousel. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
|
| 404 |
The requested carousel cannot be found. |
| 405 |
|
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| parent | URL |
URI of the object that this carousel of images for. Required |
| snapshots | array |
An ordered list of dicts. Each dict is a image in the carosuel. Image 0 is the 'key' image. Required Example: '[{}]'
|
| uri | URI |
URI of this carousel. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
|
| 403 |
|
| 404 |
The requested carousel cannot be found. |
| 405 |
|
This endpoint returns data for carousels.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| parent | URL |
URI of the object that this carousel of images for. |
| snapshots | array |
An ordered list of dicts. Each dict is a image in the carosuel. Image 0 is the 'key' image. Example: '[{}]'
|
| uri | URI |
URI of this carousel. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
|
| 404 |
The requested carousel cannot be found. |
| 405 |
|
/cassette/
Control information about cassettes. A cassette is a container of material for a modeler and as such has a link to the material type that the cassette contains. Cassettes are useful for managing inventory of stock material and therefore track their initial quantity and final quantity. The quantity itself does not have a specific unit of measure as different manufacturers will measure their cassettes differently
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| created | iso-8601 datetime |
When the cassette resource was created |
| description | string |
A user-supplied description |
| initial_material | float |
The initial material the cassette contained. There are no units attached to this measurement because different modelers will use different measurement systems |
| manufactured_date | iso-8601 date |
The date the cassette was manufactured |
| manufactured_lot | string |
The lot the cassette was manufactured in. This can be useful for quality assurance reasons |
| material | URI |
The type of material in the cassette |
| modeler | URI |
The modeler the casstte is currently loaded in. If it is not loaded this will be None |
| name | string |
The name of the cassette as reported by the modeler |
| remaining_material | float |
The amount of material left in the cassette |
| serial_number | string |
The serial number of the casstte as reported by the cassette |
| spool | string |
The spool of the casstte as reported by the modeler |
| status | string |
The status of the cassette Choices
'"active|loaded|unknown"'
|
| uri | URI |
The unique URI of this cassette in 3DIAX |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
Create a new cassette
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| created | iso-8601 datetime |
When the cassette resource was created Default: None |
| description | string |
A user-supplied description Default: None |
| initial_material | float |
The initial material the cassette contained. There are no units attached to this measurement because different modelers will use different measurement systems Required |
| manufactured_date | iso-8601 date |
The date the cassette was manufactured Default: None |
| manufactured_lot | string |
The lot the cassette was manufactured in. This can be useful for quality assurance reasons Default: None |
| material | URI |
The type of material in the cassette Default: None |
| modeler | URI |
The modeler the casstte is currently loaded in. If it is not loaded this will be None Default: None |
| name | string |
The name of the cassette as reported by the modeler Required |
| remaining_material | float |
The amount of material left in the cassette Required |
| serial_number | string |
The serial number of the casstte as reported by the cassette Required |
| spool | string |
The spool of the casstte as reported by the modeler Required |
| status | string |
The status of the cassette Required Choices
'"active|loaded|unknown"'
|
| uri | URI |
The unique URI of this cassette in 3DIAX Default: None |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
Control information about cassettes. A cassette is a container of material for a modeler and as such has a link to the material type that the cassette contains. Cassettes are useful for managing inventory of stock material and therefore track their initial quantity and final quantity. The quantity itself does not have a specific unit of measure as different manufacturers will measure their cassettes differently
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| created | iso-8601 datetime |
When the cassette resource was created |
| description | string |
A user-supplied description |
| initial_material | float |
The initial material the cassette contained. There are no units attached to this measurement because different modelers will use different measurement systems |
| manufactured_date | iso-8601 date |
The date the cassette was manufactured |
| manufactured_lot | string |
The lot the cassette was manufactured in. This can be useful for quality assurance reasons |
| material | URI |
The type of material in the cassette |
| modeler | URI |
The modeler the casstte is currently loaded in. If it is not loaded this will be None |
| name | string |
The name of the cassette as reported by the modeler |
| remaining_material | float |
The amount of material left in the cassette |
| serial_number | string |
The serial number of the casstte as reported by the cassette |
| spool | string |
The spool of the casstte as reported by the modeler |
| status | string |
The status of the cassette Choices
'"active|loaded|unknown"'
|
| uri | URI |
The unique URI of this cassette in 3DIAX |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
/castor-costing-config/
For each conversion, Castor can have a few manufacturing configs, with different cost or value settings. This is one manufacturing config, as part of one transaction See parent castor-config for object being priced, and details on material, etc
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| additive_is_cost_saving | boolean |
boolean and text explaining if additive is going to save cost |
| additive_lead_time_days | integer |
Est day of delay before mfg additive can begin. |
| additive_manufacturable | string |
The part printability result. None if not set yet Choices
'"printable|printable-with-support|printable-with-supports|not-printable"'
|
| additive_material_name | string |
name of the additive mfg material for this report |
| additive_status | string |
debugging only status |
| additive_target_printer | string |
text name of the target printer this configuration is targeting |
| additive_target_printer_company | string |
Company that manufactures the printer in additive_target_printer |
| additive_total_cost | float |
estimated total cost of Additive mfg process |
| castor_costing | URI |
The parent castor costing transaction to this |
| configuration_castor_material_id | string |
castor ID for the material in this configuration |
| configuration_material | URI |
Matching Authentise material if available, may be null |
| configuration_material_name | string |
name of material from the castor system |
| configuration_name | string |
name of the user created configuration for this report. |
| configuration_quantity | integer |
count of items to consider in this report, from castor |
| configuration_status | string |
debugging only cfg status |
| configuration_ui_url | URL |
website link to open a view in castor |
| configuration_years_of_demand | integer |
years of demand of production |
| traditional_lead_time_days | integer |
day of delay before mfg traditional way |
| traditional_method_name | string |
name of traditional_manufacturing method |
| traditional_total_cost | float |
estimated total cost of traditional mfg for quanity |
| uri | URI |
The URI to this record. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested record cannot be found. |
Create a new Castor Costing
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| additive_is_cost_saving | boolean |
boolean and text explaining if additive is going to save cost Required |
| additive_lead_time_days | integer |
Est day of delay before mfg additive can begin. Required |
| additive_manufacturable | string |
The part printability result. None if not set yet Required Choices
'"printable|printable-with-support|printable-with-supports|not-printable"'
|
| additive_material_name | string |
name of the additive mfg material for this report Required |
| additive_status | string |
debugging only status Required |
| additive_target_printer | string |
text name of the target printer this configuration is targeting Required |
| additive_target_printer_company | string |
Company that manufactures the printer in additive_target_printer Required |
| additive_total_cost | float |
estimated total cost of Additive mfg process Required |
| castor_costing | URI |
The parent castor costing transaction to this Required |
| configuration_castor_material_id | string |
castor ID for the material in this configuration Required |
| configuration_material | URI |
Matching Authentise material if available, may be null Required |
| configuration_material_name | string |
name of material from the castor system Required |
| configuration_name | string |
name of the user created configuration for this report. Required |
| configuration_quantity | integer |
count of items to consider in this report, from castor Required |
| configuration_status | string |
debugging only cfg status Required |
| configuration_ui_url | URL |
website link to open a view in castor Required |
| configuration_years_of_demand | integer |
years of demand of production Required |
| traditional_lead_time_days | integer |
day of delay before mfg traditional way Required |
| traditional_method_name | string |
name of traditional_manufacturing method Required |
| traditional_total_cost | float |
estimated total cost of traditional mfg for quanity Required |
| uri | URI |
The URI to this record. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested record cannot be found. |
For each conversion, Castor can have a few manufacturing configs, with different cost or value settings. This is one manufacturing config, as part of one transaction See parent castor-config for object being priced, and details on material, etc
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| additive_is_cost_saving | boolean |
boolean and text explaining if additive is going to save cost |
| additive_lead_time_days | integer |
Est day of delay before mfg additive can begin. |
| additive_manufacturable | string |
The part printability result. None if not set yet Choices
'"printable|printable-with-support|printable-with-supports|not-printable"'
|
| additive_material_name | string |
name of the additive mfg material for this report |
| additive_status | string |
debugging only status |
| additive_target_printer | string |
text name of the target printer this configuration is targeting |
| additive_target_printer_company | string |
Company that manufactures the printer in additive_target_printer |
| additive_total_cost | float |
estimated total cost of Additive mfg process |
| castor_costing | URI |
The parent castor costing transaction to this |
| configuration_castor_material_id | string |
castor ID for the material in this configuration |
| configuration_material | URI |
Matching Authentise material if available, may be null |
| configuration_material_name | string |
name of material from the castor system |
| configuration_name | string |
name of the user created configuration for this report. |
| configuration_quantity | integer |
count of items to consider in this report, from castor |
| configuration_status | string |
debugging only cfg status |
| configuration_ui_url | URL |
website link to open a view in castor |
| configuration_years_of_demand | integer |
years of demand of production |
| traditional_lead_time_days | integer |
day of delay before mfg traditional way |
| traditional_method_name | string |
name of traditional_manufacturing method |
| traditional_total_cost | float |
estimated total cost of traditional mfg for quanity |
| uri | URI |
The URI to this record. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested record cannot be found. |
/castor-costing/
Endpoint to see status of castor conversion. Read only, to trigger re-running, running castor, you need to make a change the related ModelLibrary or Model object.
Castor does a cost review (Mfg Report) of Traditional Manufacturing (TM) estimated cost compared to Additive Manufacturing (AM estimated cost
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| castor_new_config_url | URL |
endpoint to visit to create a new Costing Config with new values |
| castor_project_id | string |
project id from Castor. |
| currency | string |
The currency of the Mfg Report (USD for MVP). Choices
'"AED|AFN|ALL|AMD|ANG|AOA|ARS|AUD|AWG|AZN|BAM|BBD|BDT|BGN|BHD|BIF|BMD|BND|BOB|BOV|BRL|BSD|BTN|BWP|BYN|BZD|CAD|CDF|CHE|CHF|CHW|CLF|CLP|CNY|COP|COU|CRC|CUC|CUP|CVE|CZK|DJF|DKK|DOP|DZD|EGP|ERN|ETB|EUR|FJD|FKP|GBP|GEL|GHS|GIP|GMD|GNF|GTQ|GYD|HKD|HNL|HRK|HTG|HUF|IDR|ILS|INR|IQD|IRR|ISK|JMD|JOD|JPY|KES|KGS|KHR|KMF|KPW|KRW|KWD|KYD|KZT|LAK|LBP|LKR|LRD|LSL|LYD|MAD|MDL|MGA|MKD|MMK|MNT|MOP|MRU|MUR|MVR|MWK|MXN|MXV|MYR|MZN|NAD|NGN|NIO|NOK|NPR|NZD|OMR|PAB|PEN|PGK|PHP|PKR|PLN|PYG|QAR|RON|RSD|RUB|RWF|SAR|SBD|SCR|SDG|SEK|SGD|SHP|SLE|SLL|SOS|SRD|SSP|STN|SVC|SYP|SZL|THB|TJS|TMT|TND|TOP|TRY|TTD|TWD|TZS|UAH|UGX|USD|USN|UYI|UYU|UYW|UZS|VED|VES|VND|VUV|WST|XAF|XAG|XAU|XBA|XBB|XBC|XBD|XCD|XDR|XOF|XPD|XPF|XPT|XSU|XTS|XUA|XXX|YER|ZAR|ZMW|ZWL"'
|
| model | URI |
This URL should point to a valid model resource that has already been uploaded. |
| model-library | URI |
This URL should point to a parent model-library resource this costing is linked to. |
| notes | string |
debugging only error notes, statuses |
| process_done_on | iso-8601 datetime |
none available |
| sent_on | iso-8601 datetime |
none available |
| status | string |
The processing status of this in castor Choices
'"new|pending|project_up|project_up_failed|files_up|files_up_failed|processing|up_to_date|refetch_needed|failed"'
|
| updated | iso-8601 datetime |
none available |
| uri | URI |
The URI to this record. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested record cannot be found. |
Creates a new Castor Costing. This function: 1) creates a promise in db:castor_costing, 2) notifies nautilus-backend to a transaction to Castor3dAPI, 3) returns URI of promised location to have data when transaction / updates are done.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| castor_new_config_url | URL |
endpoint to visit to create a new Costing Config with new values Required |
| castor_project_id | string |
project id from Castor. Required |
| currency | string |
The currency of the Mfg Report (USD for MVP). Required Choices
'"AED|AFN|ALL|AMD|ANG|AOA|ARS|AUD|AWG|AZN|BAM|BBD|BDT|BGN|BHD|BIF|BMD|BND|BOB|BOV|BRL|BSD|BTN|BWP|BYN|BZD|CAD|CDF|CHE|CHF|CHW|CLF|CLP|CNY|COP|COU|CRC|CUC|CUP|CVE|CZK|DJF|DKK|DOP|DZD|EGP|ERN|ETB|EUR|FJD|FKP|GBP|GEL|GHS|GIP|GMD|GNF|GTQ|GYD|HKD|HNL|HRK|HTG|HUF|IDR|ILS|INR|IQD|IRR|ISK|JMD|JOD|JPY|KES|KGS|KHR|KMF|KPW|KRW|KWD|KYD|KZT|LAK|LBP|LKR|LRD|LSL|LYD|MAD|MDL|MGA|MKD|MMK|MNT|MOP|MRU|MUR|MVR|MWK|MXN|MXV|MYR|MZN|NAD|NGN|NIO|NOK|NPR|NZD|OMR|PAB|PEN|PGK|PHP|PKR|PLN|PYG|QAR|RON|RSD|RUB|RWF|SAR|SBD|SCR|SDG|SEK|SGD|SHP|SLE|SLL|SOS|SRD|SSP|STN|SVC|SYP|SZL|THB|TJS|TMT|TND|TOP|TRY|TTD|TWD|TZS|UAH|UGX|USD|USN|UYI|UYU|UYW|UZS|VED|VES|VND|VUV|WST|XAF|XAG|XAU|XBA|XBB|XBC|XBD|XCD|XDR|XOF|XPD|XPF|XPT|XSU|XTS|XUA|XXX|YER|ZAR|ZMW|ZWL"'
|
| model | URI |
This URL should point to a valid model resource that has already been uploaded. Required |
| model-library | URI |
This URL should point to a parent model-library resource this costing is linked to. Required |
| notes | string |
debugging only error notes, statuses Required |
| process_done_on | iso-8601 datetime |
none available Required |
| sent_on | iso-8601 datetime |
none available Required |
| status | string |
The processing status of this in castor Required Choices
'"new|pending|project_up|project_up_failed|files_up|files_up_failed|processing|up_to_date|refetch_needed|failed"'
|
| updated | iso-8601 datetime |
none available Required |
| uri | URI |
The URI to this record. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested record cannot be found. |
Endpoint to see status of castor conversion. Read only, to trigger re-running, running castor, you need to make a change the related ModelLibrary or Model object.
Castor does a cost review (Mfg Report) of Traditional Manufacturing (TM) estimated cost compared to Additive Manufacturing (AM estimated cost
Returns a single costing. For now, if not working, or an error state, re-triggers an async update of costing from Castor3d
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| castor_new_config_url | URL |
endpoint to visit to create a new Costing Config with new values |
| castor_project_id | string |
project id from Castor. |
| currency | string |
The currency of the Mfg Report (USD for MVP). Choices
'"AED|AFN|ALL|AMD|ANG|AOA|ARS|AUD|AWG|AZN|BAM|BBD|BDT|BGN|BHD|BIF|BMD|BND|BOB|BOV|BRL|BSD|BTN|BWP|BYN|BZD|CAD|CDF|CHE|CHF|CHW|CLF|CLP|CNY|COP|COU|CRC|CUC|CUP|CVE|CZK|DJF|DKK|DOP|DZD|EGP|ERN|ETB|EUR|FJD|FKP|GBP|GEL|GHS|GIP|GMD|GNF|GTQ|GYD|HKD|HNL|HRK|HTG|HUF|IDR|ILS|INR|IQD|IRR|ISK|JMD|JOD|JPY|KES|KGS|KHR|KMF|KPW|KRW|KWD|KYD|KZT|LAK|LBP|LKR|LRD|LSL|LYD|MAD|MDL|MGA|MKD|MMK|MNT|MOP|MRU|MUR|MVR|MWK|MXN|MXV|MYR|MZN|NAD|NGN|NIO|NOK|NPR|NZD|OMR|PAB|PEN|PGK|PHP|PKR|PLN|PYG|QAR|RON|RSD|RUB|RWF|SAR|SBD|SCR|SDG|SEK|SGD|SHP|SLE|SLL|SOS|SRD|SSP|STN|SVC|SYP|SZL|THB|TJS|TMT|TND|TOP|TRY|TTD|TWD|TZS|UAH|UGX|USD|USN|UYI|UYU|UYW|UZS|VED|VES|VND|VUV|WST|XAF|XAG|XAU|XBA|XBB|XBC|XBD|XCD|XDR|XOF|XPD|XPF|XPT|XSU|XTS|XUA|XXX|YER|ZAR|ZMW|ZWL"'
|
| model | URI |
This URL should point to a valid model resource that has already been uploaded. |
| model-library | URI |
This URL should point to a parent model-library resource this costing is linked to. |
| notes | string |
debugging only error notes, statuses |
| process_done_on | iso-8601 datetime |
none available |
| sent_on | iso-8601 datetime |
none available |
| status | string |
The processing status of this in castor Choices
'"new|pending|project_up|project_up_failed|files_up|files_up_failed|processing|up_to_date|refetch_needed|failed"'
|
| updated | iso-8601 datetime |
none available |
| uri | URI |
The URI to this record. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested record cannot be found. |
/comment-action/
As an MVP use of assignments, this allows to manage comment actions (comment actions can be craeted
only vic /comment/ API for now).
A comment action is assigning a user to do the task/request that is written in a comment.
This object is basically just an updatable status, most fields are read-only (taken from the comment).
Once assigned, only the assignee can PUT to change statuses.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| assignee_user | URI |
The URI of the user who is responsible to do the task from the comment. |
| comment | URI |
The URI of the related comment. |
| completed | iso-8601 datetime |
Datetime when comment action was marked as 'complete' (in UTC). |
| created | iso-8601 datetime |
Datetime when comment action was created (in UTC). |
| created_by | URI |
The URI of the author for the comment action (and comment). |
| related_table_name | string |
The resource (related table name), to which related comment is attached, for example order, line_item, etc. Choices
'"order|line_item|prep_task_record|model_library|run|service_provider_job|piece"'
|
| related_uri | URL |
URI of the exact object that related comment is related to. |
| related_uuid | uuid |
The UUID of the resource (related table), to which related comment is attached. |
| status | string |
Status of the comment action, only assignee_user can edit. Choices
'"new|in-progress|complete"'
|
| updated | iso-8601 datetime |
Datetime when comment action was updated last time (in UTC). |
| uri | URI |
The URI of the comment action. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested comment action cannot be found. |
As an MVP use of assignments, this allows to manage comment actions (comment actions can be craeted
only vic /comment/ API for now).
A comment action is assigning a user to do the task/request that is written in a comment.
This object is basically just an updatable status, most fields are read-only (taken from the comment).
Once assigned, only the assignee can PUT to change statuses.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| assignee_user | URI |
The URI of the user who is responsible to do the task from the comment. |
| comment | URI |
The URI of the related comment. |
| completed | iso-8601 datetime |
Datetime when comment action was marked as 'complete' (in UTC). |
| created | iso-8601 datetime |
Datetime when comment action was created (in UTC). |
| created_by | URI |
The URI of the author for the comment action (and comment). |
| related_table_name | string |
The resource (related table name), to which related comment is attached, for example order, line_item, etc. Choices
'"order|line_item|prep_task_record|model_library|run|service_provider_job|piece"'
|
| related_uri | URL |
URI of the exact object that related comment is related to. |
| related_uuid | uuid |
The UUID of the resource (related table), to which related comment is attached. |
| status | string |
Status of the comment action, only assignee_user can edit. Choices
'"new|in-progress|complete"'
|
| updated | iso-8601 datetime |
Datetime when comment action was updated last time (in UTC). |
| uri | URI |
The URI of the comment action. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested comment action cannot be found. |
/comment/
Common comments API for managing (creating, receiving, editing) comments
for different resource: right now we support only order, but in the future we planning
to provide support for line_item, service_provider_job, run, piece
(see :class:nautilus.constants.CommentRelatedTableName for up to date list of supported resource).
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| author_name | string |
The name of the comment's author. |
| comment_action | object |
none available Example: ('{"status": "new|in-progress|complete", "related_table_name": '
'"order|line_item|prep_task_record|model_library|run|service_provider_job|piece"}')
|
| created | iso-8601 datetime |
Datetime when comment was created (in UTC). |
| mentioned_users | array |
Info about users which were mentioned in the comment. During the POST/PUT we working only with 'uri' field. On PUT we using the next rules: - 1. if we will receive new user URI in the list - we will consider that a new user was mentioned in the comment during comment editing (email will be send); - 2. if user, which was mentioned before, will not be listed in the list - it will be removed from the mentions list. Example: '[{}]'
|
| related_table_name | string |
The resource (related table name), to which this comment is attached, for example order, line_item, etc. Choices
'"order|line_item|prep_task_record|model_library|run|service_provider_job|piece"'
|
| related_uuid | uuid |
The UUID of the resource (related table), to which this comment is attached. |
| text | string |
The text of the comment in markdown. Note that hash-tagged text will auto-generate a label if labels are enabled on that resource. MVP is on model-library |
| text_ilike | boolean |
none available |
| updated | iso-8601 datetime |
Datetime when comment was updated last time (in UTC). |
| uri | URI |
The URI of the comment. |
| user | URI |
The URI of the comment's author. |
| username | string |
The username (email) of the comment's author. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
Filtering using text_ilike requires a related_table_name filter Filtering using text_ilike is not valid for comments on this table Filtering using text_ilike is only valid if a text filter is also provided |
| 403 |
Modification of the comment allowed only for comment owner. |
| 404 |
The requested comment cannot be found. |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| author_name | string |
The name of the comment's author. Required |
| comment_action | object |
none available Required Example: ('{"status": "new|in-progress|complete", "related_table_name": '
'"order|line_item|prep_task_record|model_library|run|service_provider_job|piece"}')
|
| created | iso-8601 datetime |
Datetime when comment was created (in UTC). Required |
| mentioned_users | array |
Info about users which were mentioned in the comment. During the POST/PUT we working only with 'uri' field. On PUT we using the next rules: - 1. if we will receive new user URI in the list - we will consider that a new user was mentioned in the comment during comment editing (email will be send); - 2. if user, which was mentioned before, will not be listed in the list - it will be removed from the mentions list. Required Example: '[{}]'
|
| related_table_name | string |
The resource (related table name), to which this comment is attached, for example order, line_item, etc. Required Choices
'"order|line_item|prep_task_record|model_library|run|service_provider_job|piece"'
|
| related_uuid | uuid |
The UUID of the resource (related table), to which this comment is attached. Required |
| text | string |
The text of the comment in markdown. Note that hash-tagged text will auto-generate a label if labels are enabled on that resource. MVP is on model-library Required |
| text_ilike | boolean |
none available Default: False |
| updated | iso-8601 datetime |
Datetime when comment was updated last time (in UTC). Required |
| uri | URI |
The URI of the comment. Required |
| user | URI |
The URI of the comment's author. Required |
| username | string |
The username (email) of the comment's author. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
Filtering using text_ilike requires a related_table_name filter Filtering using text_ilike is not valid for comments on this table Filtering using text_ilike is only valid if a text filter is also provided |
| 403 |
Modification of the comment allowed only for comment owner. |
| 404 |
The requested comment cannot be found. |
/comment/{uuid}/
Common comments API for managing (creating, receiving, editing) comments
for different resource: right now we support only order, but in the future we planning
to provide support for line_item, service_provider_job, run, piece
(see :class:nautilus.constants.CommentRelatedTableName for up to date list of supported resource).
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| author_name | string |
The name of the comment's author. |
| comment_action | object |
none available Example: ('{"status": "new|in-progress|complete", "related_table_name": '
'"order|line_item|prep_task_record|model_library|run|service_provider_job|piece"}')
|
| created | iso-8601 datetime |
Datetime when comment was created (in UTC). |
| mentioned_users | array |
Info about users which were mentioned in the comment. During the POST/PUT we working only with 'uri' field. On PUT we using the next rules: - 1. if we will receive new user URI in the list - we will consider that a new user was mentioned in the comment during comment editing (email will be send); - 2. if user, which was mentioned before, will not be listed in the list - it will be removed from the mentions list. Example: '[{}]'
|
| related_table_name | string |
The resource (related table name), to which this comment is attached, for example order, line_item, etc. Choices
'"order|line_item|prep_task_record|model_library|run|service_provider_job|piece"'
|
| related_uuid | uuid |
The UUID of the resource (related table), to which this comment is attached. |
| text | string |
The text of the comment in markdown. Note that hash-tagged text will auto-generate a label if labels are enabled on that resource. MVP is on model-library |
| text_ilike | boolean |
none available |
| updated | iso-8601 datetime |
Datetime when comment was updated last time (in UTC). |
| uri | URI |
The URI of the comment. |
| user | URI |
The URI of the comment's author. |
| username | string |
The username (email) of the comment's author. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
Filtering using text_ilike requires a related_table_name filter Filtering using text_ilike is not valid for comments on this table Filtering using text_ilike is only valid if a text filter is also provided |
| 403 |
Modification of the comment allowed only for comment owner. |
| 404 |
The requested comment cannot be found. |
/contact-us/
POST only endpoint, to send an email to customer support, on behalf of a user. This may move to post to an internal ticketing system or more in the future. This is VERY MVP for a shipping deadline. Only for Hawking project for now.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| support_request_payload | string |
Plain text, or markdown formatted, request from customer. This is passed to customer support system Default: None |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
|
/content/{uuid}/
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
runs with GET endpoint for content is hit. Resolves (and decrypts content to send back (content = a blob of data) @returns a flask response obj containing the content
Schema (application/json)
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
|
| 404 |
|
/cost-report/
This is the main resource for cost reporting over a given period of time.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| cost | float |
cost associated with report Example: '"100.00"'
|
| cost_per_mm3 | float |
cost per mm3 associated with report Example: '"1.2"'
|
| end | iso-8601 datetime |
Ending date of this report |
| material | URI |
URI of material used. You get the list of materials from GET/material/ Example: '"https://quoting.authentise.com/material/123456/"'
|
| start | iso-8601 datetime |
Beginning date of this report |
| uri | URI |
The URI for each specific cost report |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
start and/or end date cannot be a future date. Cost must be a positive value A cost report must be unique, and cannot intersect other reports date range Must provide a valid material |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| cost | float |
cost associated with report Required Example: '"100.00"'
|
| cost_per_mm3 | float |
cost per mm3 associated with report Default: NoneExample: '"1.2"'
|
| end | iso-8601 datetime |
Ending date of this report Required |
| material | URI |
URI of material used. You get the list of materials from GET/material/ Default: NoneExample: '"https://quoting.authentise.com/material/123456/"'
|
| start | iso-8601 datetime |
Beginning date of this report Required |
| uri | URI |
The URI for each specific cost report Default: None |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
start and/or end date cannot be a future date. Cost must be a positive value A cost report must be unique, and cannot intersect other reports date range Must provide a valid material |
This is the main resource for cost reporting over a given period of time.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| cost | float |
cost associated with report Example: '"100.00"'
|
| cost_per_mm3 | float |
cost per mm3 associated with report Example: '"1.2"'
|
| end | iso-8601 datetime |
Ending date of this report |
| material | URI |
URI of material used. You get the list of materials from GET/material/ Example: '"https://quoting.authentise.com/material/123456/"'
|
| start | iso-8601 datetime |
Beginning date of this report |
| uri | URI |
The URI for each specific cost report |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
start and/or end date cannot be a future date. Cost must be a positive value A cost report must be unique, and cannot intersect other reports date range Must provide a valid material |
/create-runs/
Provide possibility to create "printing" (we support only printing runs for now - because this is all we need for API and creation of post-processing and shipping run were not implemented properly before regarding to further runs) run with all further runs. Also provides possibility to track state of runs creation process and see results: info about created runs or info why run cannot be created.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| base_material_used | float |
Override the weight of primary manufacturing run, if set |
| created | iso-8601 datetime |
The datetime the records was created |
| do_build_volume_check | boolean |
When set, run is checked for ability to fit into the specificed printer_type build volume. Prints that do not fit are left |
| finished | iso-8601 datetime |
The datetime the process was finished, |
| locked | boolean |
When locked, created runs cannot have a (user? nautilus-backed) add printes or pieces to any created run. |
| notes | string |
System Notes for the run creation process. |
| on_packing_process_failure | string |
Action to take when packing fails. Options: ignore (do nothing), notify-user (notify user of failure). Split-builds is for creating new runs for the pieces that did not fit the initial tray. Choices
'"split-builds|ignore|notify-user"'
|
| on_packing_process_success | string |
Action to take when packing succeeds. Options: silent (do nothing), notify-user (notify user of success). Choices
'"notify-user|silent"'
|
| pieces | array |
The URIs of exact instances/ pieces to create runs for, and schedule into the manufacturing runs . Example: '["..."]'
|
| pieces_count | integer |
The count of all pieces, used in the process. |
| primary_run | URI |
The URI of the resulting primary run (printing/post-processing). |
| primary_run_duration | timedelta |
Override the Duration of primary manufacturing run when planning the schedule, if set |
| primary_workstation | URL |
The URI of a printer (additive-workflow) or post_processor (powder-workflow) that is primary manufacturing step. |
| printer_name | string |
Name of the related printer, |
| priority | integer |
The priority score for the run, in range 0-100, where 0 is the lowest priority and 100 is the highest priority |
| resulting_runs | array |
URIs of the resulting runs: printing_run + all created and/or infilled runs. Example: '["..."]'
|
| resulting_runs_count | integer |
The count of resulting runs. |
| run_name | string |
Name of a run. |
| status | string |
Status of the run creation process. Choices
'"pending|processing|complete|error"'
|
| unfitted_pieces | array |
URIs of pieces (a subset of 'pieces' from POST payload) which were not fitted into the printer build plate. Example: '["..."]'
|
| updated | iso-8601 datetime |
The date the run was updated. |
| uri | URI |
The URI of the run. |
| user | URI |
User which requested runs creation. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
Run cannot consist of pieces with models and without models at the same time. The requested prints do not have their associated line_items in either confirmed or printing state. |
| 404 |
The requested runs creation process or related object cannot be found. |
Post to notify server action reuqest to make runs. Computationally heavy, makes promise here, real code runs on nautilus-backend async.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| base_material_used | float |
Override the weight of primary manufacturing run, if set Default: None |
| created | iso-8601 datetime |
The datetime the records was created Required |
| do_build_volume_check | boolean |
When set, run is checked for ability to fit into the specificed printer_type build volume. Prints that do not fit are left Default: True |
| finished | iso-8601 datetime |
The datetime the process was finished, Required |
| locked | boolean |
When locked, created runs cannot have a (user? nautilus-backed) add printes or pieces to any created run. Default: True |
| notes | string |
System Notes for the run creation process. Required |
| on_packing_process_failure | string |
Action to take when packing fails. Options: ignore (do nothing), notify-user (notify user of failure). Split-builds is for creating new runs for the pieces that did not fit the initial tray. Default: ignoreChoices
'"split-builds|ignore|notify-user"'
|
| on_packing_process_success | string |
Action to take when packing succeeds. Options: silent (do nothing), notify-user (notify user of success). Default: silentChoices
'"notify-user|silent"'
|
| pieces | array |
The URIs of exact instances/ pieces to create runs for, and schedule into the manufacturing runs . Required Example: '["..."]'
|
| pieces_count | integer |
The count of all pieces, used in the process. Required |
| primary_run | URI |
The URI of the resulting primary run (printing/post-processing). Required |
| primary_run_duration | timedelta |
Override the Duration of primary manufacturing run when planning the schedule, if set Default: None |
| primary_workstation | URL |
The URI of a printer (additive-workflow) or post_processor (powder-workflow) that is primary manufacturing step. Required |
| printer_name | string |
Name of the related printer, Required |
| priority | integer |
The priority score for the run, in range 0-100, where 0 is the lowest priority and 100 is the highest priority Default: 65 |
| resulting_runs | array |
URIs of the resulting runs: printing_run + all created and/or infilled runs. Required Example: '["..."]'
|
| resulting_runs_count | integer |
The count of resulting runs. Required |
| run_name | string |
Name of a run. Required |
| status | string |
Status of the run creation process. Required Choices
'"pending|processing|complete|error"'
|
| unfitted_pieces | array |
URIs of pieces (a subset of 'pieces' from POST payload) which were not fitted into the printer build plate. Required Example: '["..."]'
|
| updated | iso-8601 datetime |
The date the run was updated. Required |
| uri | URI |
The URI of the run. Required |
| user | URI |
User which requested runs creation. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
Run cannot consist of pieces with models and without models at the same time. The requested prints do not have their associated line_items in either confirmed or printing state. |
| 404 |
The requested runs creation process or related object cannot be found. |
Provide possibility to create "printing" (we support only printing runs for now - because this is all we need for API and creation of post-processing and shipping run were not implemented properly before regarding to further runs) run with all further runs. Also provides possibility to track state of runs creation process and see results: info about created runs or info why run cannot be created.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| base_material_used | float |
Override the weight of primary manufacturing run, if set |
| created | iso-8601 datetime |
The datetime the records was created |
| do_build_volume_check | boolean |
When set, run is checked for ability to fit into the specificed printer_type build volume. Prints that do not fit are left |
| finished | iso-8601 datetime |
The datetime the process was finished, |
| locked | boolean |
When locked, created runs cannot have a (user? nautilus-backed) add printes or pieces to any created run. |
| notes | string |
System Notes for the run creation process. |
| on_packing_process_failure | string |
Action to take when packing fails. Options: ignore (do nothing), notify-user (notify user of failure). Split-builds is for creating new runs for the pieces that did not fit the initial tray. Choices
'"split-builds|ignore|notify-user"'
|
| on_packing_process_success | string |
Action to take when packing succeeds. Options: silent (do nothing), notify-user (notify user of success). Choices
'"notify-user|silent"'
|
| pieces | array |
The URIs of exact instances/ pieces to create runs for, and schedule into the manufacturing runs . Example: '["..."]'
|
| pieces_count | integer |
The count of all pieces, used in the process. |
| primary_run | URI |
The URI of the resulting primary run (printing/post-processing). |
| primary_run_duration | timedelta |
Override the Duration of primary manufacturing run when planning the schedule, if set |
| primary_workstation | URL |
The URI of a printer (additive-workflow) or post_processor (powder-workflow) that is primary manufacturing step. |
| printer_name | string |
Name of the related printer, |
| priority | integer |
The priority score for the run, in range 0-100, where 0 is the lowest priority and 100 is the highest priority |
| resulting_runs | array |
URIs of the resulting runs: printing_run + all created and/or infilled runs. Example: '["..."]'
|
| resulting_runs_count | integer |
The count of resulting runs. |
| run_name | string |
Name of a run. |
| status | string |
Status of the run creation process. Choices
'"pending|processing|complete|error"'
|
| unfitted_pieces | array |
URIs of pieces (a subset of 'pieces' from POST payload) which were not fitted into the printer build plate. Example: '["..."]'
|
| updated | iso-8601 datetime |
The date the run was updated. |
| uri | URI |
The URI of the run. |
| user | URI |
User which requested runs creation. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
Run cannot consist of pieces with models and without models at the same time. The requested prints do not have their associated line_items in either confirmed or printing state. |
| 404 |
The requested runs creation process or related object cannot be found. |
/csrf-token/
Cross-Site Request Forgery (CSRF) is an attack that forces an end user to execute unwanted actions on a web application in which they’re currently authenticated. With a little help of social engineering (such as sending a link via email or chat), an attacker may trick the users of a web application into executing actions of the attacker’s choosing.
This endpoint creates a hash of the users session_id using a secret, stored as an environment variable, to be passed along to endpoints where CSRF attacks are most vulnerable. (currently this is just for /role/, but might be expanded later).
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| token | string |
A CSRF token. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
/currency-conversion/
Currency Conversion is an endpoint which works with /material/ and /shipping/. Once an order has a currency specified, we will be able to calculate the material cost and shipping cost for a bureau and currency mentioned in the order.
List all of the currency conversion in the system for your account.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| currency | string |
Currency abbreviation. Choices
'"AED|AFN|ALL|AMD|ANG|AOA|ARS|AUD|AWG|AZN|BAM|BBD|BDT|BGN|BHD|BIF|BMD|BND|BOB|BOV|BRL|BSD|BTN|BWP|BYN|BZD|CAD|CDF|CHE|CHF|CHW|CLF|CLP|CNY|COP|COU|CRC|CUC|CUP|CVE|CZK|DJF|DKK|DOP|DZD|EGP|ERN|ETB|EUR|FJD|FKP|GBP|GEL|GHS|GIP|GMD|GNF|GTQ|GYD|HKD|HNL|HRK|HTG|HUF|IDR|ILS|INR|IQD|IRR|ISK|JMD|JOD|JPY|KES|KGS|KHR|KMF|KPW|KRW|KWD|KYD|KZT|LAK|LBP|LKR|LRD|LSL|LYD|MAD|MDL|MGA|MKD|MMK|MNT|MOP|MRU|MUR|MVR|MWK|MXN|MXV|MYR|MZN|NAD|NGN|NIO|NOK|NPR|NZD|OMR|PAB|PEN|PGK|PHP|PKR|PLN|PYG|QAR|RON|RSD|RUB|RWF|SAR|SBD|SCR|SDG|SEK|SGD|SHP|SLE|SLL|SOS|SRD|SSP|STN|SVC|SYP|SZL|THB|TJS|TMT|TND|TOP|TRY|TTD|TWD|TZS|UAH|UGX|USD|USN|UYI|UYU|UYW|UZS|VED|VES|VND|VUV|WST|XAF|XAG|XAU|XBA|XBB|XBC|XBD|XCD|XDR|XOF|XPD|XPF|XPT|XSU|XTS|XUA|XXX|YER|ZAR|ZMW|ZWL"'
|
| is_bureau_default | boolean |
Is this Bureau default currency or not. |
| updated | iso-8601 datetime |
When the currency conversion was updated. |
| uri | URI |
The URI for currency conversion. |
| value | float |
The currency conversion value for a particular currency and bureau. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
A currency-conversion with this bureau and currency already exists. |
| 403 |
You are not authorized to complete the request. Editing currency (currently, only bureau default) not allowed. |
| 404 |
The requested currency-conversion cannot be found. |
Create a new currency conversion.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| currency | string |
Currency abbreviation. Required Choices
'"AED|AFN|ALL|AMD|ANG|AOA|ARS|AUD|AWG|AZN|BAM|BBD|BDT|BGN|BHD|BIF|BMD|BND|BOB|BOV|BRL|BSD|BTN|BWP|BYN|BZD|CAD|CDF|CHE|CHF|CHW|CLF|CLP|CNY|COP|COU|CRC|CUC|CUP|CVE|CZK|DJF|DKK|DOP|DZD|EGP|ERN|ETB|EUR|FJD|FKP|GBP|GEL|GHS|GIP|GMD|GNF|GTQ|GYD|HKD|HNL|HRK|HTG|HUF|IDR|ILS|INR|IQD|IRR|ISK|JMD|JOD|JPY|KES|KGS|KHR|KMF|KPW|KRW|KWD|KYD|KZT|LAK|LBP|LKR|LRD|LSL|LYD|MAD|MDL|MGA|MKD|MMK|MNT|MOP|MRU|MUR|MVR|MWK|MXN|MXV|MYR|MZN|NAD|NGN|NIO|NOK|NPR|NZD|OMR|PAB|PEN|PGK|PHP|PKR|PLN|PYG|QAR|RON|RSD|RUB|RWF|SAR|SBD|SCR|SDG|SEK|SGD|SHP|SLE|SLL|SOS|SRD|SSP|STN|SVC|SYP|SZL|THB|TJS|TMT|TND|TOP|TRY|TTD|TWD|TZS|UAH|UGX|USD|USN|UYI|UYU|UYW|UZS|VED|VES|VND|VUV|WST|XAF|XAG|XAU|XBA|XBB|XBC|XBD|XCD|XDR|XOF|XPD|XPF|XPT|XSU|XTS|XUA|XXX|YER|ZAR|ZMW|ZWL"'
|
| is_bureau_default | boolean |
Is this Bureau default currency or not. Required |
| updated | iso-8601 datetime |
When the currency conversion was updated. Required |
| uri | URI |
The URI for currency conversion. Required |
| value | float |
The currency conversion value for a particular currency and bureau. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
A currency-conversion with this bureau and currency already exists. |
| 403 |
You are not authorized to complete the request. Editing currency (currently, only bureau default) not allowed. |
| 404 |
The requested currency-conversion cannot be found. |
Currency Conversion is an endpoint which works with /material/ and /shipping/. Once an order has a currency specified, we will be able to calculate the material cost and shipping cost for a bureau and currency mentioned in the order.
Get an individual currency conversion resource by UUID.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| currency | string |
Currency abbreviation. Choices
'"AED|AFN|ALL|AMD|ANG|AOA|ARS|AUD|AWG|AZN|BAM|BBD|BDT|BGN|BHD|BIF|BMD|BND|BOB|BOV|BRL|BSD|BTN|BWP|BYN|BZD|CAD|CDF|CHE|CHF|CHW|CLF|CLP|CNY|COP|COU|CRC|CUC|CUP|CVE|CZK|DJF|DKK|DOP|DZD|EGP|ERN|ETB|EUR|FJD|FKP|GBP|GEL|GHS|GIP|GMD|GNF|GTQ|GYD|HKD|HNL|HRK|HTG|HUF|IDR|ILS|INR|IQD|IRR|ISK|JMD|JOD|JPY|KES|KGS|KHR|KMF|KPW|KRW|KWD|KYD|KZT|LAK|LBP|LKR|LRD|LSL|LYD|MAD|MDL|MGA|MKD|MMK|MNT|MOP|MRU|MUR|MVR|MWK|MXN|MXV|MYR|MZN|NAD|NGN|NIO|NOK|NPR|NZD|OMR|PAB|PEN|PGK|PHP|PKR|PLN|PYG|QAR|RON|RSD|RUB|RWF|SAR|SBD|SCR|SDG|SEK|SGD|SHP|SLE|SLL|SOS|SRD|SSP|STN|SVC|SYP|SZL|THB|TJS|TMT|TND|TOP|TRY|TTD|TWD|TZS|UAH|UGX|USD|USN|UYI|UYU|UYW|UZS|VED|VES|VND|VUV|WST|XAF|XAG|XAU|XBA|XBB|XBC|XBD|XCD|XDR|XOF|XPD|XPF|XPT|XSU|XTS|XUA|XXX|YER|ZAR|ZMW|ZWL"'
|
| is_bureau_default | boolean |
Is this Bureau default currency or not. |
| updated | iso-8601 datetime |
When the currency conversion was updated. |
| uri | URI |
The URI for currency conversion. |
| value | float |
The currency conversion value for a particular currency and bureau. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
A currency-conversion with this bureau and currency already exists. |
| 403 |
You are not authorized to complete the request. Editing currency (currently, only bureau default) not allowed. |
| 404 |
The requested currency-conversion cannot be found. |
/custom-group/
Public groups (bureau is not None) are groups which are bureau manager create/deletable created by bureau users via Frontend app and used for custom permissions checks (not used for "role" and common "permissions" apps).
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| by_user | URI |
Allow to filtering groups by member(s) (users). |
| created | iso-8601 datetime |
The date when the group was created. |
| description | string |
The description of the group. |
| members | array |
List of group members (users). Example: '["..."]'
|
| name | string |
The name of the group. |
| updated | iso-8601 datetime |
The date when the group was updated. |
| uri | URI |
none available |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
Create, edit and delete groups can only bureau manager. |
| 404 |
The requested group cannot be found. |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| by_user | URI |
Allow to filtering groups by member(s) (users). Required |
| created | iso-8601 datetime |
The date when the group was created. Required |
| description | string |
The description of the group. Required |
| members | array |
List of group members (users). Required Example: '["..."]'
|
| name | string |
The name of the group. Required |
| updated | iso-8601 datetime |
The date when the group was updated. Required |
| uri | URI |
none available Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 403 |
Create, edit and delete groups can only bureau manager. |
| 404 |
The requested group cannot be found. |
Public groups (bureau is not None) are groups which are bureau manager create/deletable created by bureau users via Frontend app and used for custom permissions checks (not used for "role" and common "permissions" apps).
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| by_user | URI |
Allow to filtering groups by member(s) (users). |
| created | iso-8601 datetime |
The date when the group was created. |
| description | string |
The description of the group. |
| members | array |
List of group members (users). Example: '["..."]'
|
| name | string |
The name of the group. |
| updated | iso-8601 datetime |
The date when the group was updated. |
| uri | URI |
none available |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
Create, edit and delete groups can only bureau manager. |
| 404 |
The requested group cannot be found. |
/custom-print-time-estimator/
This is a READ-ONLY ,BureauResource, endpoint that allows you to fetch custom print time estimators for a bureau. Relationships with existing print time estimators are created/removed via admin script. New print time estimator types are handled via code change.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of the bureau the custom estimator belongs to. |
| estimator_type | string |
Custom Print Time Estimator that is configured for this bureau. Choices
'"digifabster_estimator"'
|
| name | string |
The display name used to uniquely differentiate the estimator type |
| uri | string |
The URI for this particular custom print time estimator type |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested record cannot be found. |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of the bureau the custom estimator belongs to. Required |
| estimator_type | string |
Custom Print Time Estimator that is configured for this bureau. Required Choices
'"digifabster_estimator"'
|
| name | string |
The display name used to uniquely differentiate the estimator type Required |
| uri | string |
The URI for this particular custom print time estimator type Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested record cannot be found. |
This is a READ-ONLY ,BureauResource, endpoint that allows you to fetch custom print time estimators for a bureau. Relationships with existing print time estimators are created/removed via admin script. New print time estimator types are handled via code change.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of the bureau the custom estimator belongs to. |
| estimator_type | string |
Custom Print Time Estimator that is configured for this bureau. Choices
'"digifabster_estimator"'
|
| name | string |
The display name used to uniquely differentiate the estimator type |
| uri | string |
The URI for this particular custom print time estimator type |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested record cannot be found. |
/custom-settings//
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
/custom_field/
Read only endpoint for CustomField records. There are 2 kinds (dumb) Custom Fields, and Smart Custom Fields. Custom Fields are read only and can be created only via admin script admin/add_custom_field.py. Created custom fields will be displayed on the frontend as regular form element; data, entered by user for these fields will be created as Custom Fields Value. Smart Custom Fields can be set by Nautilus, but they can never change/set a nautilus non-custom field value (maybe). See repo internal_docs file source/custom_fields.md for design details.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| default_value | string |
Default value for Custom Field Value on create. |
| description | string |
Bureau Managers description of this resource. Do not confuse with tooltip |
| edited_by | URI |
The URI of the user that last edited this custom field. If null, admin script or import added it. |
| enabled | boolean |
Is field disabled or not |
| field_id | string |
String human readable ID of custom field. |
| field_name | string |
Name of custom field. |
| format | string |
Optional additional info for the value type, for example, for float field this can indicate that this is a currency. Choices
'"currency"'
|
| is_smart | boolean |
Is field 'smart': used in business logic. |
| is_visible_for_restricted | boolean |
Is field visible to restricted users? Note: This field controls an aesthetic change only. Data is still delivered to the front-end and is not securely hidden from restricted users. This only changes whether the data is rendered in the UI |
| meta | object |
Dict with meta info on custom field. Example: '{}'
|
| options | array |
Array with possible options of custom field. Example: '[{"meta": null}]'
|
| position | integer |
Represents position of custom field in the rendered fields block. If null, it means that block is a special case, to be manually rendered outside of main form fields |
| related_table_name | string |
Table with which the value is associated. |
| required | boolean |
Is field required or not |
| rights | array |
Right (actions) which user has on the custom field. Example: '["read|write"]'
|
| type | string |
Type of custom field. Text, integer, etc. Choices
'"text|textarea|table|integer|float|array|date|checkbox|url"'
|
| uri | URI |
The URI of the custom field. |
| use_count | integer |
Count of the relate custom_field_values items in the database. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
Create, edit and delete custom field can only bureau manager. |
| 404 |
RecordNotFound raised |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| default_value | string |
Default value for Custom Field Value on create. Default: None |
| description | string |
Bureau Managers description of this resource. Do not confuse with tooltip Default: No details on this custom - field |
| edited_by | URI |
The URI of the user that last edited this custom field. If null, admin script or import added it. Required |
| enabled | boolean |
Is field disabled or not Default: True |
| field_id | string |
String human readable ID of custom field. Required |
| field_name | string |
Name of custom field. Required |
| format | string |
Optional additional info for the value type, for example, for float field this can indicate that this is a currency. Required Choices
'"currency"'
|
| is_smart | boolean |
Is field 'smart': used in business logic. Required |
| is_visible_for_restricted | boolean |
Is field visible to restricted users? Note: This field controls an aesthetic change only. Data is still delivered to the front-end and is not securely hidden from restricted users. This only changes whether the data is rendered in the UI Default: True |
| meta | object |
Dict with meta info on custom field. Default: {}Example: '{}'
|
| options | array |
Array with possible options of custom field. Required Example: '[{"meta": null}]'
|
| position | integer |
Represents position of custom field in the rendered fields block. If null, it means that block is a special case, to be manually rendered outside of main form fields Required |
| related_table_name | string |
Table with which the value is associated. Required |
| required | boolean |
Is field required or not Default: False |
| rights | array |
Right (actions) which user has on the custom field. Required Example: '["read|write"]'
|
| type | string |
Type of custom field. Text, integer, etc. Required Choices
'"text|textarea|table|integer|float|array|date|checkbox|url"'
|
| uri | URI |
The URI of the custom field. Required |
| use_count | integer |
Count of the relate custom_field_values items in the database. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 403 |
Create, edit and delete custom field can only bureau manager. |
| 404 |
RecordNotFound raised |
Read only endpoint for CustomField records. There are 2 kinds (dumb) Custom Fields, and Smart Custom Fields. Custom Fields are read only and can be created only via admin script admin/add_custom_field.py. Created custom fields will be displayed on the frontend as regular form element; data, entered by user for these fields will be created as Custom Fields Value. Smart Custom Fields can be set by Nautilus, but they can never change/set a nautilus non-custom field value (maybe). See repo internal_docs file source/custom_fields.md for design details.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| default_value | string |
Default value for Custom Field Value on create. |
| description | string |
Bureau Managers description of this resource. Do not confuse with tooltip |
| edited_by | URI |
The URI of the user that last edited this custom field. If null, admin script or import added it. |
| enabled | boolean |
Is field disabled or not |
| field_id | string |
String human readable ID of custom field. |
| field_name | string |
Name of custom field. |
| format | string |
Optional additional info for the value type, for example, for float field this can indicate that this is a currency. Choices
'"currency"'
|
| is_smart | boolean |
Is field 'smart': used in business logic. |
| is_visible_for_restricted | boolean |
Is field visible to restricted users? Note: This field controls an aesthetic change only. Data is still delivered to the front-end and is not securely hidden from restricted users. This only changes whether the data is rendered in the UI |
| meta | object |
Dict with meta info on custom field. Example: '{}'
|
| options | array |
Array with possible options of custom field. Example: '[{"meta": null}]'
|
| position | integer |
Represents position of custom field in the rendered fields block. If null, it means that block is a special case, to be manually rendered outside of main form fields |
| related_table_name | string |
Table with which the value is associated. |
| required | boolean |
Is field required or not |
| rights | array |
Right (actions) which user has on the custom field. Example: '["read|write"]'
|
| type | string |
Type of custom field. Text, integer, etc. Choices
'"text|textarea|table|integer|float|array|date|checkbox|url"'
|
| uri | URI |
The URI of the custom field. |
| use_count | integer |
Count of the relate custom_field_values items in the database. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
Create, edit and delete custom field can only bureau manager. |
| 404 |
RecordNotFound raised |
/design-file/
Design file responsible for processing uploaded by users 3D model files.
Via this API user can create a new design file (for now, only for products) which will create
design file itself and will return in HTTP headers X-Upload-Location to which should be uploaded
file content. As the edge case, for the DesignFileType.single_mesh api will also create db:model
and return it in HTTP headers Model-Location.
When user/frontend will upload file content to the X-Upload-Location design file will run unpacking backend
process which will scan this file for viruses and then perform additional checks and run further logic.
Here is supported and FUTURE plans/logic for different design file formats::
1. **STL files** - this is the main file format that we are supporting from the start and which used in most
of internal logic. Design file backend logic will just ensure that STL file is correct and will delegate to
another backend process further logic, related to calculating model volume, size, etc.
2. <CLOSE FUTURE> Single-mesh non-STL file formats - design file will run/delegate conversion of these files to STL
to another service and will expect signals (most probably, via the "event-listener" service or some other "*-listener"
service) about successful or unsuccessful completion and then will run the same logic as for STL files.
3. <FUTURE> Anatomical models and 3MF file formats - these are file formats that can contain more than one model
and have much more advanced structure rather than STL and part of single-mesh formats.
Design file backend process will analyze and unpack this files into few (in edge cases, into single) line-items
and models (or another entity for it - this is still WIP).
List all design file.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| content | string |
Download URI for the design file. Link is valid for 5 minutes by default. |
| created | iso-8601 datetime |
Datetime when anatomical model was created (in UTC). |
| file_size | integer |
The file size in bytes. Filled by background process |
| format | string |
File format of the design file. Choices
'"3dm|3dpdf|3mf|amf|asm|catpart|catproduct|dae|iam|iges|igs|ipt|jt|j_t|model|obj|pdf|png|prt|sat|skp|sldasm|sldprt|step|stp|stl|tif|tiff|x_t|xt"'
|
| name | string |
The filename with extension of design file. |
| notes | string |
System or user notes for the design file. |
| product | URI |
Exiting product, to update or overwrite with the unpacked design file. |
| status | string |
Status of a backend processing job unpacking the design file. Choices
'"new|processing|processed|error"'
|
| type | string |
Describe general type of the input file which will affect/'help to pick' correct backend logic for the design/input file. Choices
'"single-mesh"'
|
| updated | iso-8601 datetime |
Datetime when anatomical model was updated last time (in UTC). |
| upload_location | string |
Upload location for the design file. Link is valid for 5 minutes by default. |
| uri | URI |
The URI of this design file. |
| user | URI |
A user which uploaded the design file. |
| virus_scan | string |
Lists the state of the virus-scan on the file. Status quarantined indicates a problem was detected. Choices
'"unscanned|passed|quarantined"'
|
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested design file cannot be found. |
| 405 |
|
Create a new record of a Design File in the db.
After POST the design file is promised, but the design file has not landed, been virus scanned, or unpacked into other resources.
Returns in HTTP headers next additional values:
- Location - the URI of the created design_file;
- X-Upload-Location - the URI to which should be uploaded file content;
- DesignFileType.single_mesh only - will be created db:model and it is URI will be returned as Model-Location.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| content | string |
Download URI for the design file. Link is valid for 5 minutes by default. Required |
| created | iso-8601 datetime |
Datetime when anatomical model was created (in UTC). Required |
| file_size | integer |
The file size in bytes. Filled by background process Required |
| format | string |
File format of the design file. Required Choices
'"3dm|3dpdf|3mf|amf|asm|catpart|catproduct|dae|iam|iges|igs|ipt|jt|j_t|model|obj|pdf|png|prt|sat|skp|sldasm|sldprt|step|stp|stl|tif|tiff|x_t|xt"'
|
| name | string |
The filename with extension of design file. Required |
| notes | string |
System or user notes for the design file. Required |
| product | URI |
Exiting product, to update or overwrite with the unpacked design file. Required |
| status | string |
Status of a backend processing job unpacking the design file. Required Choices
'"new|processing|processed|error"'
|
| type | string |
Describe general type of the input file which will affect/'help to pick' correct backend logic for the design/input file. Required Choices
'"single-mesh"'
|
| updated | iso-8601 datetime |
Datetime when anatomical model was updated last time (in UTC). Required |
| upload_location | string |
Upload location for the design file. Link is valid for 5 minutes by default. Required |
| uri | URI |
The URI of this design file. Required |
| user | URI |
A user which uploaded the design file. Required |
| virus_scan | string |
Lists the state of the virus-scan on the file. Status quarantined indicates a problem was detected. Default: unscannedChoices
'"unscanned|passed|quarantined"'
|
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 404 |
The requested design file cannot be found. |
| 405 |
|
Design file responsible for processing uploaded by users 3D model files.
Via this API user can create a new design file (for now, only for products) which will create
design file itself and will return in HTTP headers X-Upload-Location to which should be uploaded
file content. As the edge case, for the DesignFileType.single_mesh api will also create db:model
and return it in HTTP headers Model-Location.
When user/frontend will upload file content to the X-Upload-Location design file will run unpacking backend
process which will scan this file for viruses and then perform additional checks and run further logic.
Here is supported and FUTURE plans/logic for different design file formats::
1. **STL files** - this is the main file format that we are supporting from the start and which used in most
of internal logic. Design file backend logic will just ensure that STL file is correct and will delegate to
another backend process further logic, related to calculating model volume, size, etc.
2. <CLOSE FUTURE> Single-mesh non-STL file formats - design file will run/delegate conversion of these files to STL
to another service and will expect signals (most probably, via the "event-listener" service or some other "*-listener"
service) about successful or unsuccessful completion and then will run the same logic as for STL files.
3. <FUTURE> Anatomical models and 3MF file formats - these are file formats that can contain more than one model
and have much more advanced structure rather than STL and part of single-mesh formats.
Design file backend process will analyze and unpack this files into few (in edge cases, into single) line-items
and models (or another entity for it - this is still WIP).
Get an design file by UUID.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| content | string |
Download URI for the design file. Link is valid for 5 minutes by default. |
| created | iso-8601 datetime |
Datetime when anatomical model was created (in UTC). |
| file_size | integer |
The file size in bytes. Filled by background process |
| format | string |
File format of the design file. Choices
'"3dm|3dpdf|3mf|amf|asm|catpart|catproduct|dae|iam|iges|igs|ipt|jt|j_t|model|obj|pdf|png|prt|sat|skp|sldasm|sldprt|step|stp|stl|tif|tiff|x_t|xt"'
|
| name | string |
The filename with extension of design file. |
| notes | string |
System or user notes for the design file. |
| product | URI |
Exiting product, to update or overwrite with the unpacked design file. |
| status | string |
Status of a backend processing job unpacking the design file. Choices
'"new|processing|processed|error"'
|
| type | string |
Describe general type of the input file which will affect/'help to pick' correct backend logic for the design/input file. Choices
'"single-mesh"'
|
| updated | iso-8601 datetime |
Datetime when anatomical model was updated last time (in UTC). |
| upload_location | string |
Upload location for the design file. Link is valid for 5 minutes by default. |
| uri | URI |
The URI of this design file. |
| user | URI |
A user which uploaded the design file. |
| virus_scan | string |
Lists the state of the virus-scan on the file. Status quarantined indicates a problem was detected. Choices
'"unscanned|passed|quarantined"'
|
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested design file cannot be found. |
| 405 |
|
/digifabster-managed-integration/
API endpoint for managing Digifabster Managed Integrations
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| api_token | string |
The API Token used to call the digifabster Parts API. |
| bureau | URI |
The URI of the bureau. |
| name | string |
User-facing name of integration. |
| uri | URI |
The URI of the integration. |
| user | URI |
The URI of the user on whose behalf orders are created. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 401 |
|
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| api_token | string |
The API Token used to call the digifabster Parts API. Required |
| bureau | URI |
The URI of the bureau. Required |
| name | string |
User-facing name of integration. Required |
| uri | URI |
The URI of the integration. Required |
| user | URI |
The URI of the user on whose behalf orders are created. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
|
| 401 |
|
API endpoint for managing Digifabster Managed Integrations
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| api_token | string |
The API Token used to call the digifabster Parts API. |
| bureau | URI |
The URI of the bureau. |
| name | string |
User-facing name of integration. |
| uri | URI |
The URI of the integration. |
| user | URI |
The URI of the user on whose behalf orders are created. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 401 |
|
Representing relationships (linking) between documents and related resources
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| document | URI |
document URI. |
| related_table_name | string |
The resource (related table name) linked to the document. Choices
'"bureau_branding|line_item|order|run|work_instruction_report|material|model_library|order_packing_slip|material_batch|material_batch_action|material_lot|shipment|material_test_instruction_report|jeni_cluster|tooling_type|tooling_stock"'
|
| related_uuid | string |
The UUID of the resource (related table) linked to the document. |
| uri | URI |
document linking's URI. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
|
Representing relationships (linking) between documents and related resources
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| document | URI |
document URI. |
| related_table_name | string |
The resource (related table name) linked to the document. Choices
'"bureau_branding|line_item|order|run|work_instruction_report|material|model_library|order_packing_slip|material_batch|material_batch_action|material_lot|shipment|material_test_instruction_report|jeni_cluster|tooling_type|tooling_stock"'
|
| related_uuid | string |
The UUID of the resource (related table) linked to the document. |
| uri | URI |
document linking's URI. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
|
/document-parser-instruction-report/
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| auto_parsing_job | URI |
The URI of the automatic document parsing job that created this report. |
| document | URI |
The URI for the document this report relates to. |
| parser_instruction | URI |
The URI representing the specific field we are creating a report against. |
| unit | string |
The unit the operator/tester recorded the value in. ex: kg. |
| uri | URI |
The URI of the document parser instruction report. |
| user | URI |
The URI of the user who created or updated this report. |
| value | string |
String representation of the value. For now the datatype and magnitude are controlled by the freeform unit field. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested record cannot be found. |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| auto_parsing_job | URI |
The URI of the automatic document parsing job that created this report. Required |
| document | URI |
The URI for the document this report relates to. Required |
| parser_instruction | URI |
The URI representing the specific field we are creating a report against. Required |
| unit | string |
The unit the operator/tester recorded the value in. ex: kg. Required |
| uri | URI |
The URI of the document parser instruction report. Required |
| user | URI |
The URI of the user who created or updated this report. Required |
| value | string |
String representation of the value. For now the datatype and magnitude are controlled by the freeform unit field. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested record cannot be found. |
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| auto_parsing_job | URI |
The URI of the automatic document parsing job that created this report. |
| document | URI |
The URI for the document this report relates to. |
| parser_instruction | URI |
The URI representing the specific field we are creating a report against. |
| unit | string |
The unit the operator/tester recorded the value in. ex: kg. |
| uri | URI |
The URI of the document parser instruction report. |
| user | URI |
The URI of the user who created or updated this report. |
| value | string |
String representation of the value. For now the datatype and magnitude are controlled by the freeform unit field. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested record cannot be found. |
/document-parser-instruction/
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| name | string |
Name of the field or parameter to extract from document. |
| parser_template | URI |
URI for the parent document_parser_template that this instruction belongs to. |
| position | integer |
The position in the template. |
| uri | URI |
The URI of the document parser instruction. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested record cannot be found. |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| name | string |
Name of the field or parameter to extract from document. Required |
| parser_template | URI |
URI for the parent document_parser_template that this instruction belongs to. Required |
| position | integer |
The position in the template. Required |
| uri | URI |
The URI of the document parser instruction. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested record cannot be found. |
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| name | string |
Name of the field or parameter to extract from document. |
| parser_template | URI |
URI for the parent document_parser_template that this instruction belongs to. |
| position | integer |
The position in the template. |
| uri | URI |
The URI of the document parser instruction. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested record cannot be found. |
/document-parser-template/
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of the bureau. |
| description | string |
Description of the Template |
| document | URI |
The URI of a document that this template was customized for. |
| name | string |
Name of the Template |
| parent_parser_template | URI |
Identification that this template was customized for a specific document. This shouldn’t be used as a template anymore. |
| uri | URI |
The URI of the document parser template. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested record cannot be found. |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of the bureau. Required |
| description | string |
Description of the Template Required |
| document | URI |
The URI of a document that this template was customized for. Required |
| name | string |
Name of the Template Required |
| parent_parser_template | URI |
Identification that this template was customized for a specific document. This shouldn’t be used as a template anymore. Required |
| uri | URI |
The URI of the document parser template. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested record cannot be found. |
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of the bureau. |
| description | string |
Description of the Template |
| document | URI |
The URI of a document that this template was customized for. |
| name | string |
Name of the Template |
| parent_parser_template | URI |
Identification that this template was customized for a specific document. This shouldn’t be used as a template anymore. |
| uri | URI |
The URI of the document parser template. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested record cannot be found. |
/document/
Documents are a special resource. This is to track and upload files of (many)
kinds and link them to another resource. Instead of adding document all over
the API, we have one document endpoint that tracks 'related_resource/uuid' of
what it is attached to.
POST to this endpoint to create a new promise of a document. On success, the promise replies with an OK in the reply's X-Upload-Location header. Use the X-Upload-location header to stream the raw contents of the file via PUT.
Example: User has a PDF file they want to attach to a material. They POST to this endpoint with:
{ "related_table_name": 'material', "related_uuid":UUID, ... }
If accepted, the caller receives a reply HTTP_NO_CONTENT with and in the header a value 'X-Upload-Location':$SOME_URL.
The calling app needs to save $SOME_URL to send the raw file data to it using PUT.
After the upload is complete, the file is virus scanned and "content" / "virus_scan" data (GET/LIST only) are added to the resource.
In short, you do not find the document by asking 'API/material_lot/$SOME_ID' for a document, instead you search in API/document/ for objects with the right related_table / related_uuid.
List all documents.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| archived | iso-8601 datetime |
The date at which the document was replaced |
| auto_parse | boolean |
Identifies if this the parsing was done automatically using an AI tool OR done manually. |
| content | string |
The URL of the document if one has been uploaded. |
| created | iso-8601 datetime |
The date the document was created. |
| document_parser_reports | array |
none available Example: '[{}]'
|
| name | string |
The filename of the document. |
| parser_template | URI |
Identification that this template was customized for a specific document. This shouldn’t be used as a template anymore. |
| previous_document | URI |
URI of a document that this document replaced |
| previous_documents | array |
List of document URIs of all earlier documents (that were replaced on a certain resource).Sorted from most recently replaced document to the oldest replaced document. Example: '["..."]'
|
| related_resources | array |
none available Example: ('[{"related_table_name": '
'"bureau_branding|line_item|order|run|work_instruction_report|material|model_library|order_packing_slip|material_batch|material_batch_action|material_lot|shipment|material_test_instruction_report|jeni_cluster|tooling_type|tooling_stock"}]')
|
| related_table_name | string |
Field for filtering purposes only. Choices
'"bureau_branding|line_item|order|run|work_instruction_report|material|model_library|order_packing_slip|material_batch|material_batch_action|material_lot|shipment|material_test_instruction_report|jeni_cluster|tooling_type|tooling_stock"'
|
| related_uuid | array |
Field for filtering purposes only. Example: '["..."]'
|
| snapshot | string |
none available |
| snapshot_content | string |
none available |
| upload_location | string |
The upload URL of the document. This will be empty if a thumbnail has been uploaded. |
| uri | URI |
The URI of the document. |
| user | URI |
The URI of the user who created the document. |
| virus_scan | string |
Lists the state of the virus-scan on the file. Status quarantined indicates a problem was detected. Choices
'"unscanned|passed|quarantined"'
|
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested document cannot be found. |
Create a new document.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| archived | iso-8601 datetime |
The date at which the document was replaced Required |
| auto_parse | boolean |
Identifies if this the parsing was done automatically using an AI tool OR done manually. Default: False |
| content | string |
The URL of the document if one has been uploaded. Required |
| created | iso-8601 datetime |
The date the document was created. Default: None |
| document_parser_reports | array |
none available Default: []Example: '[{}]'
|
| name | string |
The filename of the document. Required |
| parser_template | URI |
Identification that this template was customized for a specific document. This shouldn’t be used as a template anymore. Required |
| previous_document | URI |
URI of a document that this document replaced Required |
| previous_documents | array |
List of document URIs of all earlier documents (that were replaced on a certain resource).Sorted from most recently replaced document to the oldest replaced document. Default: []Example: '["..."]'
|
| related_resources | array |
none available Required Example: ('[{"related_table_name": '
'"bureau_branding|line_item|order|run|work_instruction_report|material|model_library|order_packing_slip|material_batch|material_batch_action|material_lot|shipment|material_test_instruction_report|jeni_cluster|tooling_type|tooling_stock"}]')
|
| related_table_name | string |
Field for filtering purposes only. Required Choices
'"bureau_branding|line_item|order|run|work_instruction_report|material|model_library|order_packing_slip|material_batch|material_batch_action|material_lot|shipment|material_test_instruction_report|jeni_cluster|tooling_type|tooling_stock"'
|
| related_uuid | array |
Field for filtering purposes only. Required Example: '["..."]'
|
| snapshot | string |
none available Default: None |
| snapshot_content | string |
none available Default: None |
| upload_location | string |
The upload URL of the document. This will be empty if a thumbnail has been uploaded. Required |
| uri | URI |
The URI of the document. Required |
| user | URI |
The URI of the user who created the document. Required |
| virus_scan | string |
Lists the state of the virus-scan on the file. Status quarantined indicates a problem was detected. Default: unscannedChoices
'"unscanned|passed|quarantined"'
|
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested document cannot be found. |
/document//snapshot/
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| content | string |
none available |
| created | iso-8601 datetime |
none available |
| document | URI |
none available |
| height | integer |
none available |
| status | string |
none available Choices
'"not-uploaded|document-error|document-external-process|snapshot-in-queue|snapshot-rendering|snapshot-error|processing|complete|skipped"'
|
| uri | URI |
none available |
| width | integer |
none available |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| content | string |
none available Default: None |
| created | iso-8601 datetime |
none available Default: None |
| document | URI |
none available Default: None |
| height | integer |
none available Default: 480 |
| status | string |
none available Default: NoneChoices
'"not-uploaded|document-error|document-external-process|snapshot-in-queue|snapshot-rendering|snapshot-error|processing|complete|skipped"'
|
| uri | URI |
none available Default: None |
| width | integer |
none available Default: 640 |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| content | string |
none available |
| created | iso-8601 datetime |
none available |
| document | URI |
none available |
| height | integer |
none available |
| status | string |
none available Choices
'"not-uploaded|document-error|document-external-process|snapshot-in-queue|snapshot-rendering|snapshot-error|processing|complete|skipped"'
|
| uri | URI |
none available |
| width | integer |
none available |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
/document//replace/
This endpoint is used to replace a document related to a certain resource. POST to this endpoint will create a new document resource, return x-upload-location as done in regular document POST, and archive the source document
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| name | string |
The name of the document. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested document cannot be found. |
Documents are a special resource. This is to track and upload files of (many)
kinds and link them to another resource. Instead of adding document all over
the API, we have one document endpoint that tracks 'related_resource/uuid' of
what it is attached to.
POST to this endpoint to create a new promise of a document. On success, the promise replies with an OK in the reply's X-Upload-Location header. Use the X-Upload-location header to stream the raw contents of the file via PUT.
Example: User has a PDF file they want to attach to a material. They POST to this endpoint with:
{ "related_table_name": 'material', "related_uuid":UUID, ... }
If accepted, the caller receives a reply HTTP_NO_CONTENT with and in the header a value 'X-Upload-Location':$SOME_URL.
The calling app needs to save $SOME_URL to send the raw file data to it using PUT.
After the upload is complete, the file is virus scanned and "content" / "virus_scan" data (GET/LIST only) are added to the resource.
In short, you do not find the document by asking 'API/material_lot/$SOME_ID' for a document, instead you search in API/document/ for objects with the right related_table / related_uuid.
Get an document by UUID.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| archived | iso-8601 datetime |
The date at which the document was replaced |
| auto_parse | boolean |
Identifies if this the parsing was done automatically using an AI tool OR done manually. |
| content | string |
The URL of the document if one has been uploaded. |
| created | iso-8601 datetime |
The date the document was created. |
| document_parser_reports | array |
none available Example: '[{}]'
|
| name | string |
The filename of the document. |
| parser_template | URI |
Identification that this template was customized for a specific document. This shouldn’t be used as a template anymore. |
| previous_document | URI |
URI of a document that this document replaced |
| previous_documents | array |
List of document URIs of all earlier documents (that were replaced on a certain resource).Sorted from most recently replaced document to the oldest replaced document. Example: '["..."]'
|
| related_resources | array |
none available Example: ('[{"related_table_name": '
'"bureau_branding|line_item|order|run|work_instruction_report|material|model_library|order_packing_slip|material_batch|material_batch_action|material_lot|shipment|material_test_instruction_report|jeni_cluster|tooling_type|tooling_stock"}]')
|
| related_table_name | string |
Field for filtering purposes only. Choices
'"bureau_branding|line_item|order|run|work_instruction_report|material|model_library|order_packing_slip|material_batch|material_batch_action|material_lot|shipment|material_test_instruction_report|jeni_cluster|tooling_type|tooling_stock"'
|
| related_uuid | array |
Field for filtering purposes only. Example: '["..."]'
|
| snapshot | string |
none available |
| snapshot_content | string |
none available |
| upload_location | string |
The upload URL of the document. This will be empty if a thumbnail has been uploaded. |
| uri | URI |
The URI of the document. |
| user | URI |
The URI of the user who created the document. |
| virus_scan | string |
Lists the state of the virus-scan on the file. Status quarantined indicates a problem was detected. Choices
'"unscanned|passed|quarantined"'
|
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested document cannot be found. |
/downtime/
Downtime resource will help block a particular machine for a period of time. The machine can be any of printer, post processor or shipping. Once the machine is blocked, no prints can be executed in that period of time for the machine. This helps block a machine for any purpose like maintenance or similar.
Get all downtime resources for your account.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| assigned_user | URI |
The URI of the assigned user. |
| bureau | URI |
The URI of the bureau this downtime belongs to. |
| custom_field_values | array |
none available Example: '[{}]'
|
| description | string |
The description of the downtime. Example: '"downtime for Maintenance"'
|
| finish | iso-8601 datetime |
The estimated finish date of Machine downtime. |
| post_processor | URI |
The URI of the post-processor for which we have to downtime. |
| printer | URI |
The URI of the printer for which we have to downtime. |
| shipping | URI |
The URI of the shipping for which we have to downtime. |
| start | iso-8601 datetime |
The estimated start date of Machine downtime. |
| status | string |
Status of the downtime. Choices
'"scheduled|in_progress|complete"'
|
| uri | URI |
The URI for downtime resource. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
The requested downtime name already exists. |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested downtime cannot be found. |
Create a new downtime resource.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| assigned_user | URI |
The URI of the assigned user. Default: None |
| bureau | URI |
The URI of the bureau this downtime belongs to. Required |
| custom_field_values | array |
none available Default: NoneExample: '[{}]'
|
| description | string |
The description of the downtime. Required Example: '"downtime for Maintenance"'
|
| finish | iso-8601 datetime |
The estimated finish date of Machine downtime. Required |
| post_processor | URI |
The URI of the post-processor for which we have to downtime. Default: None |
| printer | URI |
The URI of the printer for which we have to downtime. Default: None |
| shipping | URI |
The URI of the shipping for which we have to downtime. Default: None |
| start | iso-8601 datetime |
The estimated start date of Machine downtime. Required |
| status | string |
Status of the downtime. Default: NoneChoices
'"scheduled|in_progress|complete"'
|
| uri | URI |
The URI for downtime resource. Default: None |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
The requested downtime name already exists. |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested downtime cannot be found. |
Downtime resource will help block a particular machine for a period of time. The machine can be any of printer, post processor or shipping. Once the machine is blocked, no prints can be executed in that period of time for the machine. This helps block a machine for any purpose like maintenance or similar.
Get an individual downtime resource by UUID.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| assigned_user | URI |
The URI of the assigned user. |
| bureau | URI |
The URI of the bureau this downtime belongs to. |
| custom_field_values | array |
none available Example: '[{}]'
|
| description | string |
The description of the downtime. Example: '"downtime for Maintenance"'
|
| finish | iso-8601 datetime |
The estimated finish date of Machine downtime. |
| post_processor | URI |
The URI of the post-processor for which we have to downtime. |
| printer | URI |
The URI of the printer for which we have to downtime. |
| shipping | URI |
The URI of the shipping for which we have to downtime. |
| start | iso-8601 datetime |
The estimated start date of Machine downtime. |
| status | string |
Status of the downtime. Choices
'"scheduled|in_progress|complete"'
|
| uri | URI |
The URI for downtime resource. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
The requested downtime name already exists. |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested downtime cannot be found. |
/ecco/
API Endpoint for managing Ecco (Echo) installations.
This class handles the API interactions for Ecco instances, which represent Echo desktop applications registered with the Nautilus platform.
We require Echo to register with Nautilus upon user login. See docs/Ecco/collectors/overview.md for deeper details.
Note[1]: Because Echo runs on remote machines we would like to keep some remote controls to enabled/disable them.
Handle GET requests to list Ecco instances.
Returns: sepiida.responses.ResourceList: A list of Ecco instances.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The bureau URI this Ecco is linked to (required for new Ecco clients). |
| enabled | boolean |
Whether this specific echo in installed is enabled or disabled. See Note[1] |
| health | string |
Enum for the health status of the Ecco on the remote PC. Choices
'"healthy|unreachable|degraded|unknown"'
|
| health_check_on | iso-8601 datetime |
The datetime of the last health check reported from echo. |
| os_architecture | string |
The operating system architecture (e.g., x86_64). |
| os_name | string |
The operating system name (e.g., Windows, Linux). |
| os_version | string |
The operating system version (e.g., 10, Ubuntu 20.04). |
| uri | URI |
The URI to this Ecco. |
| uuid | string |
The UUID of the Ecco installation (provided by legacy Ecco clients). |
| version | string |
The version of the Ecco application. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 401 |
|
| 404 |
|
Handle POST requests to create an Ecco instance.
Supports both legacy and new Ecco clients: - Legacy clients provide a 'uuid' in the payload. - New clients do not provide a 'uuid' and are associated with a bureau.
Args: payload (dict): The request payload.
Returns: tuple: A tuple containing an empty string, HTTP status code, and headers.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The bureau URI this Ecco is linked to (required for new Ecco clients). Required |
| enabled | boolean |
Whether this specific echo in installed is enabled or disabled. See Note[1] Default: True |
| health | string |
Enum for the health status of the Ecco on the remote PC. Default: unknownChoices
'"healthy|unreachable|degraded|unknown"'
|
| health_check_on | iso-8601 datetime |
The datetime of the last health check reported from echo. Required |
| os_architecture | string |
The operating system architecture (e.g., x86_64). Required |
| os_name | string |
The operating system name (e.g., Windows, Linux). Required |
| os_version | string |
The operating system version (e.g., 10, Ubuntu 20.04). Required |
| uri | URI |
The URI to this Ecco. Required |
| uuid | string |
The UUID of the Ecco installation (provided by legacy Ecco clients). Required |
| version | string |
The version of the Ecco application. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
|
| 401 |
|
| 404 |
|
/ecco/{uuid}/
API Endpoint for managing Ecco (Echo) installations.
This class handles the API interactions for Ecco instances, which represent Echo desktop applications registered with the Nautilus platform.
We require Echo to register with Nautilus upon user login. See docs/Ecco/collectors/overview.md for deeper details.
Note[1]: Because Echo runs on remote machines we would like to keep some remote controls to enabled/disable them.
Handle GET requests to retrieve an Ecco instance.
Args: uuid (str): The UUID of the Ecco instance to retrieve.
Returns: dict: The Ecco instance data.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The bureau URI this Ecco is linked to (required for new Ecco clients). |
| enabled | boolean |
Whether this specific echo in installed is enabled or disabled. See Note[1] |
| health | string |
Enum for the health status of the Ecco on the remote PC. Choices
'"healthy|unreachable|degraded|unknown"'
|
| health_check_on | iso-8601 datetime |
The datetime of the last health check reported from echo. |
| os_architecture | string |
The operating system architecture (e.g., x86_64). |
| os_name | string |
The operating system name (e.g., Windows, Linux). |
| os_version | string |
The operating system version (e.g., 10, Ubuntu 20.04). |
| uri | URI |
The URI to this Ecco. |
| uuid | string |
The UUID of the Ecco installation (provided by legacy Ecco clients). |
| version | string |
The version of the Ecco application. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 401 |
|
| 404 |
|
/emailreport/
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
/event/
The Event API contains information about events that have occurred in the system. This may include orders being processed, prints being created printers that need servicing, etc. Events are recorded for nearly every change in the system and do not expire
List all of the events in the system for your account.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of the bureau. |
| created | iso-8601 datetime |
The date the event was created. |
| current_value | anything |
The new value after the change has completed |
| key | string |
none available |
| previous_value | anything |
The old value before the change took place |
| reference | URL |
The URI of the resource that changed |
| uri | URI |
The URI of the event. |
| user | URI |
The user that made the change |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested event cannot be found. |
/event/{uuid}/
The Event API contains information about events that have occurred in the system. This may include orders being processed, prints being created printers that need servicing, etc. Events are recorded for nearly every change in the system and do not expire
Get a single event by UUID.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of the bureau. |
| created | iso-8601 datetime |
The date the event was created. |
| current_value | anything |
The new value after the change has completed |
| key | string |
none available |
| previous_value | anything |
The old value before the change took place |
| reference | URL |
The URI of the resource that changed |
| uri | URI |
The URI of the event. |
| user | URI |
The user that made the change |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested event cannot be found. |
/expert-conversion/
A Expert Conversion is used when you upload a 'model' as a PDF conversion This represents the states/behavior of the expert that converts the PDF into a valid STL model, and then us adding/reloading that model.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| created | iso-8601 datetime |
When the Expert conversion was created (requested). |
| filename | string |
File name of the PDF model file. |
| model | URI |
This URL should point to a valid model resource that has already been uploaded. |
| notes | string |
Notes or errors on transaction |
| status | string |
Status of conversion. Choices
'"new|pending|submitted|complete|error"'
|
| updated | iso-8601 datetime |
When the Expert conversion was updated |
| uri | URI |
The URL of this Expert Conversion. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested record cannot be found. |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| created | iso-8601 datetime |
When the Expert conversion was created (requested). Required |
| filename | string |
File name of the PDF model file. Required |
| model | URI |
This URL should point to a valid model resource that has already been uploaded. Required |
| notes | string |
Notes or errors on transaction Required |
| status | string |
Status of conversion. Required Choices
'"new|pending|submitted|complete|error"'
|
| updated | iso-8601 datetime |
When the Expert conversion was updated Required |
| uri | URI |
The URL of this Expert Conversion. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested record cannot be found. |
A Expert Conversion is used when you upload a 'model' as a PDF conversion This represents the states/behavior of the expert that converts the PDF into a valid STL model, and then us adding/reloading that model.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| created | iso-8601 datetime |
When the Expert conversion was created (requested). |
| filename | string |
File name of the PDF model file. |
| model | URI |
This URL should point to a valid model resource that has already been uploaded. |
| notes | string |
Notes or errors on transaction |
| status | string |
Status of conversion. Choices
'"new|pending|submitted|complete|error"'
|
| updated | iso-8601 datetime |
When the Expert conversion was updated |
| uri | URI |
The URL of this Expert Conversion. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested record cannot be found. |
/external-build/
This resource is meant for customers who use our material-management platform AND does not use Authentise Flows as their MES (Manufacturing Execution System) and, therefore, cannot utilize the existing run and run-actual system to track builds. While our goal is to encourage customers to adopt Flows as their MES, it is important to support external MES identifiers to maintain compatibility with material-management-only users and foster potential future conversions to our MES platform.
Retrieve a list of External build.
Returns: ResourceList: A list of external builds with total count.
Raises: Unauthorized: If the external-build-id feature is not enabled for the bureau.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| external_build_id | string |
The unique identifier for the external build. Produced by 3rd party MES system. |
| material_batch | URI |
The consumed material-batch that was used to create a print build. |
| printer | URI |
The URI for the printer resource that was used to create the build. |
| quantity | float |
Quantity in cm3 of material used. |
| uri | URI |
The URI for the external build resource in our system. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 404 |
|
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| external_build_id | string |
The unique identifier for the external build. Produced by 3rd party MES system. Required |
| material_batch | URI |
The consumed material-batch that was used to create a print build. Default: None |
| printer | URI |
The URI for the printer resource that was used to create the build. Required |
| quantity | float |
Quantity in cm3 of material used. Default: None |
| uri | URI |
The URI for the external build resource in our system. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
|
| 404 |
|
This resource is meant for customers who use our material-management platform AND does not use Authentise Flows as their MES (Manufacturing Execution System) and, therefore, cannot utilize the existing run and run-actual system to track builds. While our goal is to encourage customers to adopt Flows as their MES, it is important to support external MES identifiers to maintain compatibility with material-management-only users and foster potential future conversions to our MES platform.
Retrieve an External build by UUID.
Args: uuid (UUID): The UUID of the external build to retrieve.
Returns: dict: The external build data after hydration.
Raises: Unauthorized: If the external-build-id feature is not enabled for the bureau. RecordNotFound: If the external build does not exist or is inaccessible.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| external_build_id | string |
The unique identifier for the external build. Produced by 3rd party MES system. |
| material_batch | URI |
The consumed material-batch that was used to create a print build. |
| printer | URI |
The URI for the printer resource that was used to create the build. |
| quantity | float |
Quantity in cm3 of material used. |
| uri | URI |
The URI for the external build resource in our system. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 404 |
|
/external-estimate/
This is the resource for estimating material, and time usage for a print
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| base_material_usage | float |
cm^3 base material used Default: NoneExample: '"42.0"'
|
| callback | object |
Callback URL for price quoting result Default: NoneExample: '{}'
|
| error | string |
Error message from additive estimation process Default: NoneExample: '"Failed to grab model data"'
|
| layer_change_speed | float |
seconds it takes the printer to start the next layer after it has finished the previous Default: 2.0Example: '"6.5"'
|
| model | URI |
This URL should point to a valid model resource that has already been uploaded. Required Example: '"https://models.authentise.com/model/456/"'
|
| print_time | integer |
Estimated print time in seconds Default: NoneExample: '"8766"'
|
| status | string |
Status code of the request. Possible status are: complete, error, processing, queued. Default: NoneChoices
'"complete"'
|
| support_material_usage | float |
cm^3 support material used Default: NoneExample: '"42.0"'
|
| uri | URI |
The URI of the /external-estimate/ instance Default: NoneExample: '"https://quoting.authentise.com/external-estimate/123456/"'
|
| volume_per_second | float |
mm^3 material deposited per second Default: 30Example: '"42.0"'
|
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
This is the resource for estimating material, and time usage for a print
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| base_material_usage | float |
cm^3 base material used Example: '"42.0"'
|
| callback | object |
Callback URL for price quoting result Example: '{}'
|
| error | string |
Error message from additive estimation process Example: '"Failed to grab model data"'
|
| layer_change_speed | float |
seconds it takes the printer to start the next layer after it has finished the previous Example: '"6.5"'
|
| model | URI |
This URL should point to a valid model resource that has already been uploaded. Example: '"https://models.authentise.com/model/456/"'
|
| print_time | integer |
Estimated print time in seconds Example: '"8766"'
|
| status | string |
Status code of the request. Possible status are: complete, error, processing, queued. Choices
'"complete"'
|
| support_material_usage | float |
cm^3 support material used Example: '"42.0"'
|
| uri | URI |
The URI of the /external-estimate/ instance Example: '"https://quoting.authentise.com/external-estimate/123456/"'
|
| volume_per_second | float |
mm^3 material deposited per second Example: '"42.0"'
|
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
API endpoint for retrieving external order import sources Only supports listing order import sources (LIST).
Retrieve a list of external order import sources.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| external_order_link | URL |
The external link to the order. Example: '"https://www.digifabster.com"'
|
| external_provider | string |
The name of the import source. Choices
'"paperless-parts|digifabster"'
|
| external_provider_id | string |
The external ID from the import source. |
| order | URI |
The URI of the imported order. |
| uri | URI |
The URI for the resource. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
API endpoint for retrieving external order import sources Only supports listing order import sources (LIST).
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| external_order_link | URL |
The external link to the order. Example: '"https://www.digifabster.com"'
|
| external_provider | string |
The name of the import source. Choices
'"paperless-parts|digifabster"'
|
| external_provider_id | string |
The external ID from the import source. |
| order | URI |
The URI of the imported order. |
| uri | URI |
The URI for the resource. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
/feature/
The feature API is for Authentise to control access to features. Ordinary users can only view features, not change them either through POST or PUT or DELETE
List all of the features in the system for your account.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The bureau affected by the feature setting. |
| description | string |
The description of the feature. |
| enabled | boolean |
Whether or not the feature is enabled |
| name | string |
The name of the feature. Choices
'"ip-sensitivity|no_model_upload|order-customer-po|order-quote-number|order-sales-representative|order-order-owner|order-documents|eos-order-fields|fastradius-order-fields|henkel-order-fields|voestalpine-order-fields|sintavia-order-fields|design-cost|netfabb|traveler|quoting|order-business-segment|order-order-type|service-providers|self-registration-allowed|manufacturing-execution-system|machine-analytics|external_production_estimate|recalculation_trigger|qr-prints-traveler|order-quote|user-can-update-estimates|model-unit-default-mm|specimen-library|model-library|auto-schedule-runs|use_100_infill|autorun|autologout|external-material-db|restricted-user-upload-from-model-library-only|merck-order-fields|line-item-extended-details|boeing-order-fields|3M-main-bureau-order-fields|3M-aqua-order-fields|order-packing-slip|oerlikon-order-fields|line-item-work-step-quote-details|order-quote-available-for-restricted|material-management|priority|user-run-time-tracking|run-time-tracking|service-provider-at-steps|gkn-powderbed-order-fields|order-location|prep-workflow|order-due-date|ricoh-reason-code|hawking-deployment|beehive3d-order-fields|native-cad-to-stl-conversion|anatomical-model|group-qualifications|shipment-for-order|shipment-packing-slip|integration-zverse|general-mfg-language|xerox-3dp-production-order-fields|authentise-pdm|nebumind|mesh-healing|3dpc-order-fields|stanley-x-deployment|threads-integration|rules-engine|certified-builds|build-file-library|work-schedule|workstep-estimate|material-test-panel|wip-matrix|digital-design-warehouse|pack3d-premium|additive-workflow|powder-workflow|carpenter-powder|msnav-importer|roboze-ddw|amazon-order-fields|sensors|payment-system|jeni-cluster|slicing|export-control-by-piece|itar-control-by-piece|press-to-print|experiment-alpha|experiment-beta|experiment-gamma|eaton-order-fields|trimech-order-fields|enforce-use-of-containers|integration-castor|integration-stripe|the-poc-uk-order-fields|secure-file-checkout|restricted-user-order-documents|roboze-gigafactory-bureau-order-fields|integration-basic-model-conversion|tooling-stock|vendor-service-provider|threads-comments-in-flows|design-conversion-by-expert|addiguru|external-build-id|autodesk-fusion|zip-files-accepted-docs|ge-aerospace-customizations|paperless-parts|thepoc-automatic-naming|auto-document-parsing|3dspark|digifabster-quote|workstation-capacity-tracking"'
|
| uri | URI |
The URI of the feature. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
The requested feature name already exists. |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested feature cannot be found. |
Create a new feature.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The bureau affected by the feature setting. Default: None |
| description | string |
The description of the feature. Default: None |
| enabled | boolean |
Whether or not the feature is enabled Required |
| name | string |
The name of the feature. Required Choices
'"ip-sensitivity|no_model_upload|order-customer-po|order-quote-number|order-sales-representative|order-order-owner|order-documents|eos-order-fields|fastradius-order-fields|henkel-order-fields|voestalpine-order-fields|sintavia-order-fields|design-cost|netfabb|traveler|quoting|order-business-segment|order-order-type|service-providers|self-registration-allowed|manufacturing-execution-system|machine-analytics|external_production_estimate|recalculation_trigger|qr-prints-traveler|order-quote|user-can-update-estimates|model-unit-default-mm|specimen-library|model-library|auto-schedule-runs|use_100_infill|autorun|autologout|external-material-db|restricted-user-upload-from-model-library-only|merck-order-fields|line-item-extended-details|boeing-order-fields|3M-main-bureau-order-fields|3M-aqua-order-fields|order-packing-slip|oerlikon-order-fields|line-item-work-step-quote-details|order-quote-available-for-restricted|material-management|priority|user-run-time-tracking|run-time-tracking|service-provider-at-steps|gkn-powderbed-order-fields|order-location|prep-workflow|order-due-date|ricoh-reason-code|hawking-deployment|beehive3d-order-fields|native-cad-to-stl-conversion|anatomical-model|group-qualifications|shipment-for-order|shipment-packing-slip|integration-zverse|general-mfg-language|xerox-3dp-production-order-fields|authentise-pdm|nebumind|mesh-healing|3dpc-order-fields|stanley-x-deployment|threads-integration|rules-engine|certified-builds|build-file-library|work-schedule|workstep-estimate|material-test-panel|wip-matrix|digital-design-warehouse|pack3d-premium|additive-workflow|powder-workflow|carpenter-powder|msnav-importer|roboze-ddw|amazon-order-fields|sensors|payment-system|jeni-cluster|slicing|export-control-by-piece|itar-control-by-piece|press-to-print|experiment-alpha|experiment-beta|experiment-gamma|eaton-order-fields|trimech-order-fields|enforce-use-of-containers|integration-castor|integration-stripe|the-poc-uk-order-fields|secure-file-checkout|restricted-user-order-documents|roboze-gigafactory-bureau-order-fields|integration-basic-model-conversion|tooling-stock|vendor-service-provider|threads-comments-in-flows|design-conversion-by-expert|addiguru|external-build-id|autodesk-fusion|zip-files-accepted-docs|ge-aerospace-customizations|paperless-parts|thepoc-automatic-naming|auto-document-parsing|3dspark|digifabster-quote|workstation-capacity-tracking"'
|
| uri | URI |
The URI of the feature. Default: None |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
The requested feature name already exists. |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested feature cannot be found. |
/feature/{uuid}/
The feature API is for Authentise to control access to features. Ordinary users can only view features, not change them either through POST or PUT or DELETE
Get a single feature by UUID.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The bureau affected by the feature setting. |
| description | string |
The description of the feature. |
| enabled | boolean |
Whether or not the feature is enabled |
| name | string |
The name of the feature. Choices
'"ip-sensitivity|no_model_upload|order-customer-po|order-quote-number|order-sales-representative|order-order-owner|order-documents|eos-order-fields|fastradius-order-fields|henkel-order-fields|voestalpine-order-fields|sintavia-order-fields|design-cost|netfabb|traveler|quoting|order-business-segment|order-order-type|service-providers|self-registration-allowed|manufacturing-execution-system|machine-analytics|external_production_estimate|recalculation_trigger|qr-prints-traveler|order-quote|user-can-update-estimates|model-unit-default-mm|specimen-library|model-library|auto-schedule-runs|use_100_infill|autorun|autologout|external-material-db|restricted-user-upload-from-model-library-only|merck-order-fields|line-item-extended-details|boeing-order-fields|3M-main-bureau-order-fields|3M-aqua-order-fields|order-packing-slip|oerlikon-order-fields|line-item-work-step-quote-details|order-quote-available-for-restricted|material-management|priority|user-run-time-tracking|run-time-tracking|service-provider-at-steps|gkn-powderbed-order-fields|order-location|prep-workflow|order-due-date|ricoh-reason-code|hawking-deployment|beehive3d-order-fields|native-cad-to-stl-conversion|anatomical-model|group-qualifications|shipment-for-order|shipment-packing-slip|integration-zverse|general-mfg-language|xerox-3dp-production-order-fields|authentise-pdm|nebumind|mesh-healing|3dpc-order-fields|stanley-x-deployment|threads-integration|rules-engine|certified-builds|build-file-library|work-schedule|workstep-estimate|material-test-panel|wip-matrix|digital-design-warehouse|pack3d-premium|additive-workflow|powder-workflow|carpenter-powder|msnav-importer|roboze-ddw|amazon-order-fields|sensors|payment-system|jeni-cluster|slicing|export-control-by-piece|itar-control-by-piece|press-to-print|experiment-alpha|experiment-beta|experiment-gamma|eaton-order-fields|trimech-order-fields|enforce-use-of-containers|integration-castor|integration-stripe|the-poc-uk-order-fields|secure-file-checkout|restricted-user-order-documents|roboze-gigafactory-bureau-order-fields|integration-basic-model-conversion|tooling-stock|vendor-service-provider|threads-comments-in-flows|design-conversion-by-expert|addiguru|external-build-id|autodesk-fusion|zip-files-accepted-docs|ge-aerospace-customizations|paperless-parts|thepoc-automatic-naming|auto-document-parsing|3dspark|digifabster-quote|workstation-capacity-tracking"'
|
| uri | URI |
The URI of the feature. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
The requested feature name already exists. |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested feature cannot be found. |
/file/
Endpoint for internal storage of data
GET LIST. This only works for internal users.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bucket | string |
none available |
| content | string |
none available |
| description | string |
none available |
| key | string |
none available |
| mimetype | string |
none available |
| name | string |
none available |
| upload-location | string |
none available |
| uploaded | iso-8601 datetime |
none available |
| uri | URI |
none available |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 404 |
|
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bucket | string |
none available Required |
| content | string |
none available Required |
| description | string |
none available Default: None |
| key | string |
none available Required |
| mimetype | string |
none available Required |
| name | string |
none available Default: None |
| upload-location | string |
none available Required |
| uploaded | iso-8601 datetime |
none available Required |
| uri | URI |
none available Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
|
| 404 |
|
/file/{uuid}/
Endpoint for internal storage of data
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bucket | string |
none available |
| content | string |
none available |
| description | string |
none available |
| key | string |
none available |
| mimetype | string |
none available |
| name | string |
none available |
| upload-location | string |
none available |
| uploaded | iso-8601 datetime |
none available |
| uri | URI |
none available |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 404 |
|
/flat-line-item/
Returns Flat Line Item object Used generally for Microsoft Flow
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| additional_costs | array |
A list of manually added additional costs. Example: '[{}]'
|
| anatomy_element | string |
The name of the anatomy element of the line_item. |
| anatomy_family | string |
The name of the anatomy family of the line_item. |
| anatomy_property | string |
The name of the anatomy property of the line_item. |
| application_type | string |
Application type of the Line Item's order. |
| base_material_name | string |
The name of base material. |
| base_material_used | float |
Estimated amount of base material used in cc. |
| bureau_custom_cost | float |
Estimated bureau cost. |
| business_location | string |
The name of the business location of the line_item's order. |
| business_segment | string |
The name of the business segment of the line_item's order. |
| business_unit | string |
The name of the business unit of the line_item's order. |
| completed_date | iso-8601 datetime |
Date when Line Item's order was marked as completed |
| confirmed_date | string |
Order Confirmed Date |
| cost_center | string |
The name of the cost_center of the line_item's order. |
| cpt_code | string |
The name of the CPT Code of the line_item. |
| currency | string |
The currency of the line-item, based on the bureau default currency. Choices
'"AED|AFN|ALL|AMD|ANG|AOA|ARS|AUD|AWG|AZN|BAM|BBD|BDT|BGN|BHD|BIF|BMD|BND|BOB|BOV|BRL|BSD|BTN|BWP|BYN|BZD|CAD|CDF|CHE|CHF|CHW|CLF|CLP|CNY|COP|COU|CRC|CUC|CUP|CVE|CZK|DJF|DKK|DOP|DZD|EGP|ERN|ETB|EUR|FJD|FKP|GBP|GEL|GHS|GIP|GMD|GNF|GTQ|GYD|HKD|HNL|HRK|HTG|HUF|IDR|ILS|INR|IQD|IRR|ISK|JMD|JOD|JPY|KES|KGS|KHR|KMF|KPW|KRW|KWD|KYD|KZT|LAK|LBP|LKR|LRD|LSL|LYD|MAD|MDL|MGA|MKD|MMK|MNT|MOP|MRU|MUR|MVR|MWK|MXN|MXV|MYR|MZN|NAD|NGN|NIO|NOK|NPR|NZD|OMR|PAB|PEN|PGK|PHP|PKR|PLN|PYG|QAR|RON|RSD|RUB|RWF|SAR|SBD|SCR|SDG|SEK|SGD|SHP|SLE|SLL|SOS|SRD|SSP|STN|SVC|SYP|SZL|THB|TJS|TMT|TND|TOP|TRY|TTD|TWD|TZS|UAH|UGX|USD|USN|UYI|UYU|UYW|UZS|VED|VES|VND|VUV|WST|XAF|XAG|XAU|XBA|XBB|XBC|XBD|XCD|XDR|XOF|XPD|XPF|XPT|XSU|XTS|XUA|XXX|YER|ZAR|ZMW|ZWL"'
|
| custom_field_values | array |
none available Example: '[{"custom_field_id": "c|u|s|t|o|m|-|f|i|e|l|d"}]'
|
| customer_email | string |
The customer email address for the Line Item's order. |
| customer_name | string |
The customer name for the Line Item's order. |
| customer_requested_delivery | string |
Order Customer Requested Delivery Date |
| customer_target_price | string |
Order Customer Target Price |
| department_number | string |
Order Department Number |
| design_time | integer |
Time which can take bureau for design review in seconds. |
| division_name | string |
Order Division Name |
| due_date | iso-8601 datetime |
The due date for the Line Item's order. |
| ip_sensitivity | string |
The intellectual property sensitivity of the Line Item's order. Choices
'"high|medium|low"'
|
| ipt | string |
Order IPT |
| layer_thickness | float |
The layer thickness of the print in mm. Must be < 1. |
| location | string |
Name of the Line Item's order location. |
| manufacturing_process | string |
Line Item Manufacturing Process |
| material_cost | float |
Estimated cost for base and support materials, scaled using line item's quantity and order's currency. |
| model | URL |
The URI for model. |
| model_name | string |
The name of the line-item's model. |
| model_render | URL |
The URI for line-item's render model. |
| model_surface_area | float |
Model surface area. |
| model_updated | iso-8601 datetime |
When the model was last updated. |
| model_volume | float |
Model volume in mm^3 multiplied on the line-item's quantity. |
| month | integer |
The month to fetch orders from. |
| notes | string |
Notes for a line item. |
| offered_service_provider_cost | float |
Cost of a negotiated with a service provider job. |
| offered_service_provider_currency | string |
Currency for a cost for a negotiated with a service provider job. Choices
'"AED|AFN|ALL|AMD|ANG|AOA|ARS|AUD|AWG|AZN|BAM|BBD|BDT|BGN|BHD|BIF|BMD|BND|BOB|BOV|BRL|BSD|BTN|BWP|BYN|BZD|CAD|CDF|CHE|CHF|CHW|CLF|CLP|CNY|COP|COU|CRC|CUC|CUP|CVE|CZK|DJF|DKK|DOP|DZD|EGP|ERN|ETB|EUR|FJD|FKP|GBP|GEL|GHS|GIP|GMD|GNF|GTQ|GYD|HKD|HNL|HRK|HTG|HUF|IDR|ILS|INR|IQD|IRR|ISK|JMD|JOD|JPY|KES|KGS|KHR|KMF|KPW|KRW|KWD|KYD|KZT|LAK|LBP|LKR|LRD|LSL|LYD|MAD|MDL|MGA|MKD|MMK|MNT|MOP|MRU|MUR|MVR|MWK|MXN|MXV|MYR|MZN|NAD|NGN|NIO|NOK|NPR|NZD|OMR|PAB|PEN|PGK|PHP|PKR|PLN|PYG|QAR|RON|RSD|RUB|RWF|SAR|SBD|SCR|SDG|SEK|SGD|SHP|SLE|SLL|SOS|SRD|SSP|STN|SVC|SYP|SZL|THB|TJS|TMT|TND|TOP|TRY|TTD|TWD|TZS|UAH|UGX|USD|USN|UYI|UYU|UYW|UZS|VED|VES|VND|VUV|WST|XAF|XAG|XAU|XBA|XBB|XBC|XBD|XCD|XDR|XOF|XPD|XPF|XPT|XSU|XTS|XUA|XXX|YER|ZAR|ZMW|ZWL"'
|
| offered_service_provider_name | string |
Name of a service provider to which offered (negotiated+) a job. |
| offered_service_provider_uuid | uuid |
UUID of a service provider to which offered (negotiated+) a job. |
| order | uuid |
The UUID of order the line-item belongs to. |
| order_created_by | string |
Formatted name of user that created order. |
| order_customer_id | string |
Human readable alpha-numeric, customer defined ID. Defaults to UUID[:8]. |
| order_date | iso-8601 datetime |
Date when the order was created. |
| part_intended_use | string |
The name of the Part Intended Use for the line_item. |
| post_processing_cost | float |
Estimated post processing costs. |
| print_bounding_box | float |
Model's bounding box size in mm^3: multiplied X, Y, and Z. |
| printer_type_name | string |
The name of the Printer Type for the workflow's printing process step. |
| prints_quantity | integer |
Prints Quantity. |
| priority_type | string |
Order Priority Type |
| production_type | string |
Order Production Type |
| request_type | string |
Order Request Type |
| revision | string |
The name of the Revision for the line_item. |
| status | string |
Status of an line-item. |
| support_material_name | string |
The name of support material. |
| support_material_used | float |
Estimated amount of support material used in cc. |
| uri | URI |
The URI of the line-item. |
| uuid | uuid |
The UUID of the line-item. |
| workflow_name | string |
The name of workflow. |
| year | integer |
The year to fetch orders from |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| additional_costs | array |
A list of manually added additional costs. Required Example: '[{}]'
|
| anatomy_element | string |
The name of the anatomy element of the line_item. Default: None |
| anatomy_family | string |
The name of the anatomy family of the line_item. Default: None |
| anatomy_property | string |
The name of the anatomy property of the line_item. Default: None |
| application_type | string |
Application type of the Line Item's order. Required |
| base_material_name | string |
The name of base material. Required |
| base_material_used | float |
Estimated amount of base material used in cc. Required |
| bureau_custom_cost | float |
Estimated bureau cost. Required |
| business_location | string |
The name of the business location of the line_item's order. Default: None |
| business_segment | string |
The name of the business segment of the line_item's order. Default: None |
| business_unit | string |
The name of the business unit of the line_item's order. Default: None |
| completed_date | iso-8601 datetime |
Date when Line Item's order was marked as completed Required |
| confirmed_date | string |
Order Confirmed Date Required |
| cost_center | string |
The name of the cost_center of the line_item's order. Default: None |
| cpt_code | string |
The name of the CPT Code of the line_item. Default: None |
| currency | string |
The currency of the line-item, based on the bureau default currency. Required Choices
'"AED|AFN|ALL|AMD|ANG|AOA|ARS|AUD|AWG|AZN|BAM|BBD|BDT|BGN|BHD|BIF|BMD|BND|BOB|BOV|BRL|BSD|BTN|BWP|BYN|BZD|CAD|CDF|CHE|CHF|CHW|CLF|CLP|CNY|COP|COU|CRC|CUC|CUP|CVE|CZK|DJF|DKK|DOP|DZD|EGP|ERN|ETB|EUR|FJD|FKP|GBP|GEL|GHS|GIP|GMD|GNF|GTQ|GYD|HKD|HNL|HRK|HTG|HUF|IDR|ILS|INR|IQD|IRR|ISK|JMD|JOD|JPY|KES|KGS|KHR|KMF|KPW|KRW|KWD|KYD|KZT|LAK|LBP|LKR|LRD|LSL|LYD|MAD|MDL|MGA|MKD|MMK|MNT|MOP|MRU|MUR|MVR|MWK|MXN|MXV|MYR|MZN|NAD|NGN|NIO|NOK|NPR|NZD|OMR|PAB|PEN|PGK|PHP|PKR|PLN|PYG|QAR|RON|RSD|RUB|RWF|SAR|SBD|SCR|SDG|SEK|SGD|SHP|SLE|SLL|SOS|SRD|SSP|STN|SVC|SYP|SZL|THB|TJS|TMT|TND|TOP|TRY|TTD|TWD|TZS|UAH|UGX|USD|USN|UYI|UYU|UYW|UZS|VED|VES|VND|VUV|WST|XAF|XAG|XAU|XBA|XBB|XBC|XBD|XCD|XDR|XOF|XPD|XPF|XPT|XSU|XTS|XUA|XXX|YER|ZAR|ZMW|ZWL"'
|
| custom_field_values | array |
none available Default: NoneExample: '[{"custom_field_id": "c|u|s|t|o|m|-|f|i|e|l|d"}]'
|
| customer_email | string |
The customer email address for the Line Item's order. Required |
| customer_name | string |
The customer name for the Line Item's order. Required |
| customer_requested_delivery | string |
Order Customer Requested Delivery Date Required |
| customer_target_price | string |
Order Customer Target Price Required |
| department_number | string |
Order Department Number Required |
| design_time | integer |
Time which can take bureau for design review in seconds. Required |
| division_name | string |
Order Division Name Required |
| due_date | iso-8601 datetime |
The due date for the Line Item's order. Required |
| ip_sensitivity | string |
The intellectual property sensitivity of the Line Item's order. Required Choices
'"high|medium|low"'
|
| ipt | string |
Order IPT Required |
| layer_thickness | float |
The layer thickness of the print in mm. Must be < 1. Required |
| location | string |
Name of the Line Item's order location. Required |
| manufacturing_process | string |
Line Item Manufacturing Process Required |
| material_cost | float |
Estimated cost for base and support materials, scaled using line item's quantity and order's currency. Required |
| model | URL |
The URI for model. Required |
| model_name | string |
The name of the line-item's model. Required |
| model_render | URL |
The URI for line-item's render model. Required |
| model_surface_area | float |
Model surface area. Required |
| model_updated | iso-8601 datetime |
When the model was last updated. Required |
| model_volume | float |
Model volume in mm^3 multiplied on the line-item's quantity. Required |
| month | integer |
The month to fetch orders from. Default: None |
| notes | string |
Notes for a line item. Required |
| offered_service_provider_cost | float |
Cost of a negotiated with a service provider job. Required |
| offered_service_provider_currency | string |
Currency for a cost for a negotiated with a service provider job. Required Choices
'"AED|AFN|ALL|AMD|ANG|AOA|ARS|AUD|AWG|AZN|BAM|BBD|BDT|BGN|BHD|BIF|BMD|BND|BOB|BOV|BRL|BSD|BTN|BWP|BYN|BZD|CAD|CDF|CHE|CHF|CHW|CLF|CLP|CNY|COP|COU|CRC|CUC|CUP|CVE|CZK|DJF|DKK|DOP|DZD|EGP|ERN|ETB|EUR|FJD|FKP|GBP|GEL|GHS|GIP|GMD|GNF|GTQ|GYD|HKD|HNL|HRK|HTG|HUF|IDR|ILS|INR|IQD|IRR|ISK|JMD|JOD|JPY|KES|KGS|KHR|KMF|KPW|KRW|KWD|KYD|KZT|LAK|LBP|LKR|LRD|LSL|LYD|MAD|MDL|MGA|MKD|MMK|MNT|MOP|MRU|MUR|MVR|MWK|MXN|MXV|MYR|MZN|NAD|NGN|NIO|NOK|NPR|NZD|OMR|PAB|PEN|PGK|PHP|PKR|PLN|PYG|QAR|RON|RSD|RUB|RWF|SAR|SBD|SCR|SDG|SEK|SGD|SHP|SLE|SLL|SOS|SRD|SSP|STN|SVC|SYP|SZL|THB|TJS|TMT|TND|TOP|TRY|TTD|TWD|TZS|UAH|UGX|USD|USN|UYI|UYU|UYW|UZS|VED|VES|VND|VUV|WST|XAF|XAG|XAU|XBA|XBB|XBC|XBD|XCD|XDR|XOF|XPD|XPF|XPT|XSU|XTS|XUA|XXX|YER|ZAR|ZMW|ZWL"'
|
| offered_service_provider_name | string |
Name of a service provider to which offered (negotiated+) a job. Required |
| offered_service_provider_uuid | uuid |
UUID of a service provider to which offered (negotiated+) a job. Required |
| order | uuid |
The UUID of order the line-item belongs to. Required |
| order_created_by | string |
Formatted name of user that created order. Required |
| order_customer_id | string |
Human readable alpha-numeric, customer defined ID. Defaults to UUID[:8]. Required |
| order_date | iso-8601 datetime |
Date when the order was created. Required |
| part_intended_use | string |
The name of the Part Intended Use for the line_item. Default: None |
| post_processing_cost | float |
Estimated post processing costs. Required |
| print_bounding_box | float |
Model's bounding box size in mm^3: multiplied X, Y, and Z. Default: False |
| printer_type_name | string |
The name of the Printer Type for the workflow's printing process step. Required |
| prints_quantity | integer |
Prints Quantity. Required |
| priority_type | string |
Order Priority Type Required |
| production_type | string |
Order Production Type Required |
| request_type | string |
Order Request Type Required |
| revision | string |
The name of the Revision for the line_item. Default: None |
| status | string |
Status of an line-item. Required |
| support_material_name | string |
The name of support material. Required |
| support_material_used | float |
Estimated amount of support material used in cc. Required |
| uri | URI |
The URI of the line-item. Required |
| uuid | uuid |
The UUID of the line-item. Required |
| workflow_name | string |
The name of workflow. Required |
| year | integer |
The year to fetch orders from Default: None |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
Returns Flat Line Item object Used generally for Microsoft Flow
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| additional_costs | array |
A list of manually added additional costs. Example: '[{}]'
|
| anatomy_element | string |
The name of the anatomy element of the line_item. |
| anatomy_family | string |
The name of the anatomy family of the line_item. |
| anatomy_property | string |
The name of the anatomy property of the line_item. |
| application_type | string |
Application type of the Line Item's order. |
| base_material_name | string |
The name of base material. |
| base_material_used | float |
Estimated amount of base material used in cc. |
| bureau_custom_cost | float |
Estimated bureau cost. |
| business_location | string |
The name of the business location of the line_item's order. |
| business_segment | string |
The name of the business segment of the line_item's order. |
| business_unit | string |
The name of the business unit of the line_item's order. |
| completed_date | iso-8601 datetime |
Date when Line Item's order was marked as completed |
| confirmed_date | string |
Order Confirmed Date |
| cost_center | string |
The name of the cost_center of the line_item's order. |
| cpt_code | string |
The name of the CPT Code of the line_item. |
| currency | string |
The currency of the line-item, based on the bureau default currency. Choices
'"AED|AFN|ALL|AMD|ANG|AOA|ARS|AUD|AWG|AZN|BAM|BBD|BDT|BGN|BHD|BIF|BMD|BND|BOB|BOV|BRL|BSD|BTN|BWP|BYN|BZD|CAD|CDF|CHE|CHF|CHW|CLF|CLP|CNY|COP|COU|CRC|CUC|CUP|CVE|CZK|DJF|DKK|DOP|DZD|EGP|ERN|ETB|EUR|FJD|FKP|GBP|GEL|GHS|GIP|GMD|GNF|GTQ|GYD|HKD|HNL|HRK|HTG|HUF|IDR|ILS|INR|IQD|IRR|ISK|JMD|JOD|JPY|KES|KGS|KHR|KMF|KPW|KRW|KWD|KYD|KZT|LAK|LBP|LKR|LRD|LSL|LYD|MAD|MDL|MGA|MKD|MMK|MNT|MOP|MRU|MUR|MVR|MWK|MXN|MXV|MYR|MZN|NAD|NGN|NIO|NOK|NPR|NZD|OMR|PAB|PEN|PGK|PHP|PKR|PLN|PYG|QAR|RON|RSD|RUB|RWF|SAR|SBD|SCR|SDG|SEK|SGD|SHP|SLE|SLL|SOS|SRD|SSP|STN|SVC|SYP|SZL|THB|TJS|TMT|TND|TOP|TRY|TTD|TWD|TZS|UAH|UGX|USD|USN|UYI|UYU|UYW|UZS|VED|VES|VND|VUV|WST|XAF|XAG|XAU|XBA|XBB|XBC|XBD|XCD|XDR|XOF|XPD|XPF|XPT|XSU|XTS|XUA|XXX|YER|ZAR|ZMW|ZWL"'
|
| custom_field_values | array |
none available Example: '[{"custom_field_id": "c|u|s|t|o|m|-|f|i|e|l|d"}]'
|
| customer_email | string |
The customer email address for the Line Item's order. |
| customer_name | string |
The customer name for the Line Item's order. |
| customer_requested_delivery | string |
Order Customer Requested Delivery Date |
| customer_target_price | string |
Order Customer Target Price |
| department_number | string |
Order Department Number |
| design_time | integer |
Time which can take bureau for design review in seconds. |
| division_name | string |
Order Division Name |
| due_date | iso-8601 datetime |
The due date for the Line Item's order. |
| ip_sensitivity | string |
The intellectual property sensitivity of the Line Item's order. Choices
'"high|medium|low"'
|
| ipt | string |
Order IPT |
| layer_thickness | float |
The layer thickness of the print in mm. Must be < 1. |
| location | string |
Name of the Line Item's order location. |
| manufacturing_process | string |
Line Item Manufacturing Process |
| material_cost | float |
Estimated cost for base and support materials, scaled using line item's quantity and order's currency. |
| model | URL |
The URI for model. |
| model_name | string |
The name of the line-item's model. |
| model_render | URL |
The URI for line-item's render model. |
| model_surface_area | float |
Model surface area. |
| model_updated | iso-8601 datetime |
When the model was last updated. |
| model_volume | float |
Model volume in mm^3 multiplied on the line-item's quantity. |
| month | integer |
The month to fetch orders from. |
| notes | string |
Notes for a line item. |
| offered_service_provider_cost | float |
Cost of a negotiated with a service provider job. |
| offered_service_provider_currency | string |
Currency for a cost for a negotiated with a service provider job. Choices
'"AED|AFN|ALL|AMD|ANG|AOA|ARS|AUD|AWG|AZN|BAM|BBD|BDT|BGN|BHD|BIF|BMD|BND|BOB|BOV|BRL|BSD|BTN|BWP|BYN|BZD|CAD|CDF|CHE|CHF|CHW|CLF|CLP|CNY|COP|COU|CRC|CUC|CUP|CVE|CZK|DJF|DKK|DOP|DZD|EGP|ERN|ETB|EUR|FJD|FKP|GBP|GEL|GHS|GIP|GMD|GNF|GTQ|GYD|HKD|HNL|HRK|HTG|HUF|IDR|ILS|INR|IQD|IRR|ISK|JMD|JOD|JPY|KES|KGS|KHR|KMF|KPW|KRW|KWD|KYD|KZT|LAK|LBP|LKR|LRD|LSL|LYD|MAD|MDL|MGA|MKD|MMK|MNT|MOP|MRU|MUR|MVR|MWK|MXN|MXV|MYR|MZN|NAD|NGN|NIO|NOK|NPR|NZD|OMR|PAB|PEN|PGK|PHP|PKR|PLN|PYG|QAR|RON|RSD|RUB|RWF|SAR|SBD|SCR|SDG|SEK|SGD|SHP|SLE|SLL|SOS|SRD|SSP|STN|SVC|SYP|SZL|THB|TJS|TMT|TND|TOP|TRY|TTD|TWD|TZS|UAH|UGX|USD|USN|UYI|UYU|UYW|UZS|VED|VES|VND|VUV|WST|XAF|XAG|XAU|XBA|XBB|XBC|XBD|XCD|XDR|XOF|XPD|XPF|XPT|XSU|XTS|XUA|XXX|YER|ZAR|ZMW|ZWL"'
|
| offered_service_provider_name | string |
Name of a service provider to which offered (negotiated+) a job. |
| offered_service_provider_uuid | uuid |
UUID of a service provider to which offered (negotiated+) a job. |
| order | uuid |
The UUID of order the line-item belongs to. |
| order_created_by | string |
Formatted name of user that created order. |
| order_customer_id | string |
Human readable alpha-numeric, customer defined ID. Defaults to UUID[:8]. |
| order_date | iso-8601 datetime |
Date when the order was created. |
| part_intended_use | string |
The name of the Part Intended Use for the line_item. |
| post_processing_cost | float |
Estimated post processing costs. |
| print_bounding_box | float |
Model's bounding box size in mm^3: multiplied X, Y, and Z. |
| printer_type_name | string |
The name of the Printer Type for the workflow's printing process step. |
| prints_quantity | integer |
Prints Quantity. |
| priority_type | string |
Order Priority Type |
| production_type | string |
Order Production Type |
| request_type | string |
Order Request Type |
| revision | string |
The name of the Revision for the line_item. |
| status | string |
Status of an line-item. |
| support_material_name | string |
The name of support material. |
| support_material_used | float |
Estimated amount of support material used in cc. |
| uri | URI |
The URI of the line-item. |
| uuid | uuid |
The UUID of the line-item. |
| workflow_name | string |
The name of workflow. |
| year | integer |
The year to fetch orders from |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
Base class for special endpoint to review delivery data on materials, for monthly/yearly business review needs.
Built to search on 'Purchase Order ID' (not UUID, but customer ID - material_purchase_order.external_id) and material_lot UUID.
Children classes will only defined "ENDPOINT" class variable and will extend "list" method.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| delivery_date | iso-8601 datetime |
Datetime when the material lot was received. |
| delivery_id | string |
Customer ID of the delivery |
| location_name | string |
Location name to which pinned the material lot. |
| material_name | string |
Name of the material in the material lot. |
| notes | string |
Custom user description/notes for receiving a material lot. |
| po | string |
Purchase order ID (format customer defined). |
| status | string |
none available Choices
'"received|on_order"'
|
| user_name | string |
Name of a user who marked the lot as received or who created the material lot. |
| uuid | uuid |
Material Lot UUID. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| delivery_date | iso-8601 datetime |
Datetime when the material lot was received. Required |
| delivery_id | string |
Customer ID of the delivery Required |
| location_name | string |
Location name to which pinned the material lot. Required |
| material_name | string |
Name of the material in the material lot. Required |
| notes | string |
Custom user description/notes for receiving a material lot. Required |
| po | string |
Purchase order ID (format customer defined). Required |
| status | string |
none available Required Choices
'"received|on_order"'
|
| user_name | string |
Name of a user who marked the lot as received or who created the material lot. Required |
| uuid | uuid |
Material Lot UUID. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
Base class for special endpoint to review delivery data on materials, for monthly/yearly business review needs.
Built to search on 'Purchase Order ID' (not UUID, but customer ID - material_purchase_order.external_id) and material_lot UUID.
Children classes will only defined "ENDPOINT" class variable and will extend "list" method.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| delivery_date | iso-8601 datetime |
Datetime when the material lot was received. |
| delivery_id | string |
Customer ID of the delivery |
| location_name | string |
Location name to which pinned the material lot. |
| material_name | string |
Name of the material in the material lot. |
| notes | string |
Custom user description/notes for receiving a material lot. |
| po | string |
Purchase order ID (format customer defined). |
| status | string |
none available Choices
'"received|on_order"'
|
| user_name | string |
Name of a user who marked the lot as received or who created the material lot. |
| uuid | uuid |
Material Lot UUID. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
Base class for special endpoint to review delivery data on materials, for monthly/yearly business review needs.
Built to search on 'Purchase Order ID' (not UUID, but customer ID - material_purchase_order.external_id) and material_lot UUID.
Children classes will only defined "ENDPOINT" class variable and will extend "list" method.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| delivery_date | iso-8601 datetime |
Datetime when the material lot was received. |
| delivery_id | string |
Customer ID of the delivery |
| location_name | string |
Location name to which pinned the material lot. |
| material_name | string |
Name of the material in the material lot. |
| notes | string |
Custom user description/notes for receiving a material lot. |
| po | string |
Purchase order ID (format customer defined). |
| status | string |
none available Choices
'"received|on_order"'
|
| user_name | string |
Name of a user who marked the lot as received or who created the material lot. |
| uuid | uuid |
Material Lot UUID. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| delivery_date | iso-8601 datetime |
Datetime when the material lot was received. Required |
| delivery_id | string |
Customer ID of the delivery Required |
| location_name | string |
Location name to which pinned the material lot. Required |
| material_name | string |
Name of the material in the material lot. Required |
| notes | string |
Custom user description/notes for receiving a material lot. Required |
| po | string |
Purchase order ID (format customer defined). Required |
| status | string |
none available Required Choices
'"received|on_order"'
|
| user_name | string |
Name of a user who marked the lot as received or who created the material lot. Required |
| uuid | uuid |
Material Lot UUID. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
Base class for special endpoint to review delivery data on materials, for monthly/yearly business review needs.
Built to search on 'Purchase Order ID' (not UUID, but customer ID - material_purchase_order.external_id) and material_lot UUID.
Children classes will only defined "ENDPOINT" class variable and will extend "list" method.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| delivery_date | iso-8601 datetime |
Datetime when the material lot was received. |
| delivery_id | string |
Customer ID of the delivery |
| location_name | string |
Location name to which pinned the material lot. |
| material_name | string |
Name of the material in the material lot. |
| notes | string |
Custom user description/notes for receiving a material lot. |
| po | string |
Purchase order ID (format customer defined). |
| status | string |
none available Choices
'"received|on_order"'
|
| user_name | string |
Name of a user who marked the lot as received or who created the material lot. |
| uuid | uuid |
Material Lot UUID. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
/flat-order/
Returns Flat Order object Used generally for Microsoft Flow
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| activity_id | string |
Order Activity ID |
| application_type | string |
Application Type. |
| bill_to_address | string |
Order Bill to Address |
| bill_to_name | string |
Order Bill to Name |
| bill_to_phone_number | string |
Order Bill to Phone Number |
| bureau_costs | float |
Estimated bureau costs. |
| business_location | string |
Order Business Location name |
| business_segment | string |
Order Business Segment name |
| business_unit | string |
Order Business Unit name |
| completed_date | iso-8601 datetime |
The latest 'completed' date from order's line items (all orders line_items must be completed, or at least one should be completed and all other be in 'error' or 'cancelled' statuses.). |
| confirmed_date | string |
Order Confirmed Date |
| cost_center | string |
Order Cost Center |
| created | iso-8601 datetime |
The date the order was created. |
| created_by | string |
Formatted name of user that created order. |
| custom_field_values | array |
none available Example: '[{"custom_field_id": "c|u|s|t|o|m|-|f|i|e|l|d"}]'
|
| customer_email | string |
Customer email address. |
| customer_id | string |
Human readable alpha-numeric, customer defined ID. Defaults to UUID[:8]. |
| customer_name | string |
Customer name for the order. |
| customer_requested_delivery | string |
Order Customer Requested Delivery Date |
| customer_target_price | string |
Order Customer Target Price |
| department_number | string |
Order Department Number |
| division_name | string |
Order Division Name |
| due_date | iso-8601 datetime |
The due date for the order. |
| edp_code | string |
Order edp code |
| erp_error_description | string |
Order ERP Error Description |
| erp_id | string |
Order ERP ID |
| erp_last_sync_datetime | string |
Order Last Sync Datetime string |
| erp_reference_uri | string |
Order ERP Reference URI |
| finance_review | string |
Order Finance Review |
| funding_vehicle | string |
Order Funding Vehicle |
| ip_sensitivity | string |
The intellectual property sensitivity. |
| ipt | string |
Order IPT |
| jira_ticket | string |
Order JIRA Ticket link |
| line_items_quantity | integer |
Line Item Quantity. |
| location | string |
Name of the location. |
| material_cost | float |
Estimated material costs. |
| name | string |
Name of the order. |
| notes | string |
Notes for the order. |
| oracle_id | string |
Order oracle id |
| order_type | string |
Order type choices. Choice depends on the bureau. |
| order_volume | integer |
Order volume. |
| owner_email | string |
Email of the order owner. |
| owner_name | string |
The name of the order owner. |
| po_number | string |
Order PO Number |
| portal_project_id | string |
Order Portal Project ID |
| post_processing_cost | float |
Estimated bureau costs. |
| prints_quantity | integer |
Prints Quantity. |
| priority_type | string |
Order Priority Type |
| process_workstream | string |
Order Process Workstream array |
| product_line | string |
Order Product Line |
| production_type | string |
Order Production Type |
| quote_approved | boolean |
Is order quote accepted |
| quote_created_at | string |
The date that the order quote was created. |
| quote_customer_po | string |
PO for order quote. |
| quote_discount | float |
Discount for quote |
| quote_uri | string |
The URI of the order quote. |
| request_type | string |
Order Request Type |
| shipping_address | string |
Shipping address. |
| shipping_cost | float |
Estimated shipping costs. |
| shipping_name | string |
Shipping name. |
| status | string |
Status of an order. |
| total_order_material_usage | string |
Order total material; usage (cc) |
| uri | URI |
The URI of the order. |
| uuid | uuid |
The UUID of the order. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| activity_id | string |
Order Activity ID Required |
| application_type | string |
Application Type. Required |
| bill_to_address | string |
Order Bill to Address Default: None |
| bill_to_name | string |
Order Bill to Name Default: None |
| bill_to_phone_number | string |
Order Bill to Phone Number Default: None |
| bureau_costs | float |
Estimated bureau costs. Required |
| business_location | string |
Order Business Location name Default: None |
| business_segment | string |
Order Business Segment name Default: None |
| business_unit | string |
Order Business Unit name Default: None |
| completed_date | iso-8601 datetime |
The latest 'completed' date from order's line items (all orders line_items must be completed, or at least one should be completed and all other be in 'error' or 'cancelled' statuses.). Required |
| confirmed_date | string |
Order Confirmed Date Required |
| cost_center | string |
Order Cost Center Default: None |
| created | iso-8601 datetime |
The date the order was created. Required |
| created_by | string |
Formatted name of user that created order. Required |
| custom_field_values | array |
none available Default: NoneExample: '[{"custom_field_id": "c|u|s|t|o|m|-|f|i|e|l|d"}]'
|
| customer_email | string |
Customer email address. Required |
| customer_id | string |
Human readable alpha-numeric, customer defined ID. Defaults to UUID[:8]. Required |
| customer_name | string |
Customer name for the order. Required |
| customer_requested_delivery | string |
Order Customer Requested Delivery Date Required |
| customer_target_price | string |
Order Customer Target Price Required |
| department_number | string |
Order Department Number Required |
| division_name | string |
Order Division Name Required |
| due_date | iso-8601 datetime |
The due date for the order. Required |
| edp_code | string |
Order edp code Default: None |
| erp_error_description | string |
Order ERP Error Description Default: None |
| erp_id | string |
Order ERP ID Default: None |
| erp_last_sync_datetime | string |
Order Last Sync Datetime string Default: None |
| erp_reference_uri | string |
Order ERP Reference URI Default: None |
| finance_review | string |
Order Finance Review Required |
| funding_vehicle | string |
Order Funding Vehicle Required |
| ip_sensitivity | string |
The intellectual property sensitivity. Required |
| ipt | string |
Order IPT Required |
| jira_ticket | string |
Order JIRA Ticket link Default: None |
| line_items_quantity | integer |
Line Item Quantity. Required |
| location | string |
Name of the location. Required |
| material_cost | float |
Estimated material costs. Required |
| name | string |
Name of the order. Required |
| notes | string |
Notes for the order. Required |
| oracle_id | string |
Order oracle id Default: None |
| order_type | string |
Order type choices. Choice depends on the bureau. Required |
| order_volume | integer |
Order volume. Required |
| owner_email | string |
Email of the order owner. Required |
| owner_name | string |
The name of the order owner. Required |
| po_number | string |
Order PO Number Default: None |
| portal_project_id | string |
Order Portal Project ID Default: None |
| post_processing_cost | float |
Estimated bureau costs. Required |
| prints_quantity | integer |
Prints Quantity. Required |
| priority_type | string |
Order Priority Type Required |
| process_workstream | string |
Order Process Workstream array Default: None |
| product_line | string |
Order Product Line Required |
| production_type | string |
Order Production Type Required |
| quote_approved | boolean |
Is order quote accepted Required |
| quote_created_at | string |
The date that the order quote was created. Required |
| quote_customer_po | string |
PO for order quote. Required |
| quote_discount | float |
Discount for quote Required |
| quote_uri | string |
The URI of the order quote. Required |
| request_type | string |
Order Request Type Required |
| shipping_address | string |
Shipping address. Required |
| shipping_cost | float |
Estimated shipping costs. Required |
| shipping_name | string |
Shipping name. Required |
| status | string |
Status of an order. Required |
| total_order_material_usage | string |
Order total material; usage (cc) Default: None |
| uri | URI |
The URI of the order. Required |
| uuid | uuid |
The UUID of the order. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
Returns Flat Order object Used generally for Microsoft Flow
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| activity_id | string |
Order Activity ID |
| application_type | string |
Application Type. |
| bill_to_address | string |
Order Bill to Address |
| bill_to_name | string |
Order Bill to Name |
| bill_to_phone_number | string |
Order Bill to Phone Number |
| bureau_costs | float |
Estimated bureau costs. |
| business_location | string |
Order Business Location name |
| business_segment | string |
Order Business Segment name |
| business_unit | string |
Order Business Unit name |
| completed_date | iso-8601 datetime |
The latest 'completed' date from order's line items (all orders line_items must be completed, or at least one should be completed and all other be in 'error' or 'cancelled' statuses.). |
| confirmed_date | string |
Order Confirmed Date |
| cost_center | string |
Order Cost Center |
| created | iso-8601 datetime |
The date the order was created. |
| created_by | string |
Formatted name of user that created order. |
| custom_field_values | array |
none available Example: '[{"custom_field_id": "c|u|s|t|o|m|-|f|i|e|l|d"}]'
|
| customer_email | string |
Customer email address. |
| customer_id | string |
Human readable alpha-numeric, customer defined ID. Defaults to UUID[:8]. |
| customer_name | string |
Customer name for the order. |
| customer_requested_delivery | string |
Order Customer Requested Delivery Date |
| customer_target_price | string |
Order Customer Target Price |
| department_number | string |
Order Department Number |
| division_name | string |
Order Division Name |
| due_date | iso-8601 datetime |
The due date for the order. |
| edp_code | string |
Order edp code |
| erp_error_description | string |
Order ERP Error Description |
| erp_id | string |
Order ERP ID |
| erp_last_sync_datetime | string |
Order Last Sync Datetime string |
| erp_reference_uri | string |
Order ERP Reference URI |
| finance_review | string |
Order Finance Review |
| funding_vehicle | string |
Order Funding Vehicle |
| ip_sensitivity | string |
The intellectual property sensitivity. |
| ipt | string |
Order IPT |
| jira_ticket | string |
Order JIRA Ticket link |
| line_items_quantity | integer |
Line Item Quantity. |
| location | string |
Name of the location. |
| material_cost | float |
Estimated material costs. |
| name | string |
Name of the order. |
| notes | string |
Notes for the order. |
| oracle_id | string |
Order oracle id |
| order_type | string |
Order type choices. Choice depends on the bureau. |
| order_volume | integer |
Order volume. |
| owner_email | string |
Email of the order owner. |
| owner_name | string |
The name of the order owner. |
| po_number | string |
Order PO Number |
| portal_project_id | string |
Order Portal Project ID |
| post_processing_cost | float |
Estimated bureau costs. |
| prints_quantity | integer |
Prints Quantity. |
| priority_type | string |
Order Priority Type |
| process_workstream | string |
Order Process Workstream array |
| product_line | string |
Order Product Line |
| production_type | string |
Order Production Type |
| quote_approved | boolean |
Is order quote accepted |
| quote_created_at | string |
The date that the order quote was created. |
| quote_customer_po | string |
PO for order quote. |
| quote_discount | float |
Discount for quote |
| quote_uri | string |
The URI of the order quote. |
| request_type | string |
Order Request Type |
| shipping_address | string |
Shipping address. |
| shipping_cost | float |
Estimated shipping costs. |
| shipping_name | string |
Shipping name. |
| status | string |
Status of an order. |
| total_order_material_usage | string |
Order total material; usage (cc) |
| uri | URI |
The URI of the order. |
| uuid | uuid |
The UUID of the order. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
/flat-piece/
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| current_process_step_position | integer |
Step position in workflow. Example: '"2"'
|
| current_process_step_run_name | string |
The name of the current run. |
| current_process_step_run_uuid | uuid |
The UUID of the current run. |
| current_process_step_status | string |
The status of the current run. |
| current_process_step_workstation_name | string |
The name of the workstation where current run is assigned. |
| current_work_instruction_description | string |
Work instruction description. |
| current_work_instruction_position | integer |
Step position of the Work Instruction for the Print Work Checklist |
| current_work_instruction_uuid | uuid |
The Work Instruction UUID. |
| first_run_end | iso-8601 datetime |
Datetime when the first run was finished (run status changed to Complete) for a piece (This marks the end of 'printing'). |
| first_run_start | iso-8601 datetime |
Datetime when the first run (ie. the first process step in a piece's workflow) was started (run status Queued -> In Progress) for a piece (this marks the start of 'Production'). |
| line_item_name | string |
The name of the associated line_item. |
| line_item_uuid | uuid |
The UUID of the associated line_item. |
| order_customer_id | string |
Human readable alpha-numeric, customer defined ID. Defaults to UUID[:8]. |
| order_name | string |
The name of the associated line_item's order. |
| order_uuid | uuid |
The UUID of the associated line_item's order. |
| past_process_step_completion_date | iso-8601 datetime |
The datetime at which the most recently completed process_step was completed, in UTC. |
| past_work_instruction_step_completion_date | iso-8601 datetime |
The datetime at which past work instruction was completed, in UTC. |
| print_run_name | string |
The name of the associated printing run. |
| print_run_uuid | uuid |
The UUID of the associated printing run. |
| process_step_workstation_type_name | string |
The name of the workstation type where current run is assigned. |
| process_step_workstation_type_uuid | string |
The UUID of the workstation type where current run is assigned. |
| total_process_steps | integer |
Number of process steps in the associated line item workflow. |
| total_work_instructions_in_current_process_step | integer |
Number of work instructions in the work checklist for the current process step. |
| uuid | uuid |
The UUID of the piece. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| current_process_step_position | integer |
Step position in workflow. Required Example: '"2"'
|
| current_process_step_run_name | string |
The name of the current run. Required |
| current_process_step_run_uuid | uuid |
The UUID of the current run. Required |
| current_process_step_status | string |
The status of the current run. Required |
| current_process_step_workstation_name | string |
The name of the workstation where current run is assigned. Required |
| current_work_instruction_description | string |
Work instruction description. Required |
| current_work_instruction_position | integer |
Step position of the Work Instruction for the Print Work Checklist Required |
| current_work_instruction_uuid | uuid |
The Work Instruction UUID. Required |
| first_run_end | iso-8601 datetime |
Datetime when the first run was finished (run status changed to Complete) for a piece (This marks the end of 'printing'). Required |
| first_run_start | iso-8601 datetime |
Datetime when the first run (ie. the first process step in a piece's workflow) was started (run status Queued -> In Progress) for a piece (this marks the start of 'Production'). Required |
| line_item_name | string |
The name of the associated line_item. Required |
| line_item_uuid | uuid |
The UUID of the associated line_item. Required |
| order_customer_id | string |
Human readable alpha-numeric, customer defined ID. Defaults to UUID[:8]. Required |
| order_name | string |
The name of the associated line_item's order. Required |
| order_uuid | uuid |
The UUID of the associated line_item's order. Required |
| past_process_step_completion_date | iso-8601 datetime |
The datetime at which the most recently completed process_step was completed, in UTC. Required |
| past_work_instruction_step_completion_date | iso-8601 datetime |
The datetime at which past work instruction was completed, in UTC. Required |
| print_run_name | string |
The name of the associated printing run. Required |
| print_run_uuid | uuid |
The UUID of the associated printing run. Required |
| process_step_workstation_type_name | string |
The name of the workstation type where current run is assigned. Required |
| process_step_workstation_type_uuid | string |
The UUID of the workstation type where current run is assigned. Required |
| total_process_steps | integer |
Number of process steps in the associated line item workflow. Required |
| total_work_instructions_in_current_process_step | integer |
Number of work instructions in the work checklist for the current process step. Required |
| uuid | uuid |
The UUID of the piece. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| current_process_step_position | integer |
Step position in workflow. Example: '"2"'
|
| current_process_step_run_name | string |
The name of the current run. |
| current_process_step_run_uuid | uuid |
The UUID of the current run. |
| current_process_step_status | string |
The status of the current run. |
| current_process_step_workstation_name | string |
The name of the workstation where current run is assigned. |
| current_work_instruction_description | string |
Work instruction description. |
| current_work_instruction_position | integer |
Step position of the Work Instruction for the Print Work Checklist |
| current_work_instruction_uuid | uuid |
The Work Instruction UUID. |
| first_run_end | iso-8601 datetime |
Datetime when the first run was finished (run status changed to Complete) for a piece (This marks the end of 'printing'). |
| first_run_start | iso-8601 datetime |
Datetime when the first run (ie. the first process step in a piece's workflow) was started (run status Queued -> In Progress) for a piece (this marks the start of 'Production'). |
| line_item_name | string |
The name of the associated line_item. |
| line_item_uuid | uuid |
The UUID of the associated line_item. |
| order_customer_id | string |
Human readable alpha-numeric, customer defined ID. Defaults to UUID[:8]. |
| order_name | string |
The name of the associated line_item's order. |
| order_uuid | uuid |
The UUID of the associated line_item's order. |
| past_process_step_completion_date | iso-8601 datetime |
The datetime at which the most recently completed process_step was completed, in UTC. |
| past_work_instruction_step_completion_date | iso-8601 datetime |
The datetime at which past work instruction was completed, in UTC. |
| print_run_name | string |
The name of the associated printing run. |
| print_run_uuid | uuid |
The UUID of the associated printing run. |
| process_step_workstation_type_name | string |
The name of the workstation type where current run is assigned. |
| process_step_workstation_type_uuid | string |
The UUID of the workstation type where current run is assigned. |
| total_process_steps | integer |
Number of process steps in the associated line item workflow. |
| total_work_instructions_in_current_process_step | integer |
Number of work instructions in the work checklist for the current process step. |
| uuid | uuid |
The UUID of the piece. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
/flat-summary-line-item-tasks/
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| current_task_name | string |
The workflow task name (for the current preparation task record). |
| current_task_position | integer |
The workflow task position in the preparation workflow, starts from 0 (for the current preparation task record). |
| current_task_record_comments | array |
The array with all comments (as text) from oldest to newest. Example: '["..."]'
|
| current_task_record_dwell_time | timedelta |
Time (in seconds) between end time (or current time, if not finished yet) and time, when current preparation task record was moved to 'queued' status. Not idempotent if the current task record not finished yet. |
| current_task_record_in_progress_time | timedelta |
Time (in seconds), which spent while the current task record was in progress. Not idempotent if the current task record not finished yet. |
| current_task_record_on_hold_time | timedelta |
Time (in seconds), which spent while the current task record was on hold. Not idempotent if the current task record not finished yet. |
| current_task_record_status | string |
Status of the current preparation task record. Choices
'"new|queued|in-progress|on-hold|complete|skipped|cancelled"'
|
| current_task_record_uuid | uuid |
The current preparation task record uuid. |
| current_task_shortname | string |
The workflow task shortname (for the current preparation task record). |
| current_task_user_group_name | string |
The workflow task name (for the current preparation task record). |
| current_task_uuid | uuid |
The UUID of the current task (for the current preparation task record). |
| line_item_name | string |
The name of the line_item. |
| line_item_uuid | uuid |
The UUID of the line_item. |
| order_customer_id | string |
Human readable alpha-numeric, customer defined ID. Defaults to UUID[:8]. |
| order_name | string |
The name of the associated order. |
| order_uuid | uuid |
The UUID of the associated order. |
| prep_workflow_first_task_record_complete | iso-8601 datetime |
The datetime at which the first preparation task record was completed, in UTC. |
| prep_workflow_first_task_record_queued | iso-8601 datetime |
The datetime at which the first preparation task record was moved to 'queued' status, in UTC. |
| prep_workflow_name | string |
The name of the associated preparation workflow. |
| prep_workflow_record_uuid | uuid |
The UUID of the preparation workflow record (if exists). |
| prep_workflow_total_tasks | integer |
Number of preparation tasks in the associated preparation workflow. |
| prep_workflow_uuid | uuid |
The UUID of the preparation workflow. |
| prior_task_record_completion_date | iso-8601 datetime |
The datetime at which the prior preparation task record was completed, in UTC. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| current_task_name | string |
The workflow task name (for the current preparation task record). Required |
| current_task_position | integer |
The workflow task position in the preparation workflow, starts from 0 (for the current preparation task record). Required |
| current_task_record_comments | array |
The array with all comments (as text) from oldest to newest. Required Example: '["..."]'
|
| current_task_record_dwell_time | timedelta |
Time (in seconds) between end time (or current time, if not finished yet) and time, when current preparation task record was moved to 'queued' status. Not idempotent if the current task record not finished yet. Required |
| current_task_record_in_progress_time | timedelta |
Time (in seconds), which spent while the current task record was in progress. Not idempotent if the current task record not finished yet. Required |
| current_task_record_on_hold_time | timedelta |
Time (in seconds), which spent while the current task record was on hold. Not idempotent if the current task record not finished yet. Required |
| current_task_record_status | string |
Status of the current preparation task record. Required Choices
'"new|queued|in-progress|on-hold|complete|skipped|cancelled"'
|
| current_task_record_uuid | uuid |
The current preparation task record uuid. Required |
| current_task_shortname | string |
The workflow task shortname (for the current preparation task record). Required |
| current_task_user_group_name | string |
The workflow task name (for the current preparation task record). Required |
| current_task_uuid | uuid |
The UUID of the current task (for the current preparation task record). Required |
| line_item_name | string |
The name of the line_item. Required |
| line_item_uuid | uuid |
The UUID of the line_item. Required |
| order_customer_id | string |
Human readable alpha-numeric, customer defined ID. Defaults to UUID[:8]. Required |
| order_name | string |
The name of the associated order. Required |
| order_uuid | uuid |
The UUID of the associated order. Required |
| prep_workflow_first_task_record_complete | iso-8601 datetime |
The datetime at which the first preparation task record was completed, in UTC. Required |
| prep_workflow_first_task_record_queued | iso-8601 datetime |
The datetime at which the first preparation task record was moved to 'queued' status, in UTC. Required |
| prep_workflow_name | string |
The name of the associated preparation workflow. Required |
| prep_workflow_record_uuid | uuid |
The UUID of the preparation workflow record (if exists). Required |
| prep_workflow_total_tasks | integer |
Number of preparation tasks in the associated preparation workflow. Required |
| prep_workflow_uuid | uuid |
The UUID of the preparation workflow. Required |
| prior_task_record_completion_date | iso-8601 datetime |
The datetime at which the prior preparation task record was completed, in UTC. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| current_task_name | string |
The workflow task name (for the current preparation task record). |
| current_task_position | integer |
The workflow task position in the preparation workflow, starts from 0 (for the current preparation task record). |
| current_task_record_comments | array |
The array with all comments (as text) from oldest to newest. Example: '["..."]'
|
| current_task_record_dwell_time | timedelta |
Time (in seconds) between end time (or current time, if not finished yet) and time, when current preparation task record was moved to 'queued' status. Not idempotent if the current task record not finished yet. |
| current_task_record_in_progress_time | timedelta |
Time (in seconds), which spent while the current task record was in progress. Not idempotent if the current task record not finished yet. |
| current_task_record_on_hold_time | timedelta |
Time (in seconds), which spent while the current task record was on hold. Not idempotent if the current task record not finished yet. |
| current_task_record_status | string |
Status of the current preparation task record. Choices
'"new|queued|in-progress|on-hold|complete|skipped|cancelled"'
|
| current_task_record_uuid | uuid |
The current preparation task record uuid. |
| current_task_shortname | string |
The workflow task shortname (for the current preparation task record). |
| current_task_user_group_name | string |
The workflow task name (for the current preparation task record). |
| current_task_uuid | uuid |
The UUID of the current task (for the current preparation task record). |
| line_item_name | string |
The name of the line_item. |
| line_item_uuid | uuid |
The UUID of the line_item. |
| order_customer_id | string |
Human readable alpha-numeric, customer defined ID. Defaults to UUID[:8]. |
| order_name | string |
The name of the associated order. |
| order_uuid | uuid |
The UUID of the associated order. |
| prep_workflow_first_task_record_complete | iso-8601 datetime |
The datetime at which the first preparation task record was completed, in UTC. |
| prep_workflow_first_task_record_queued | iso-8601 datetime |
The datetime at which the first preparation task record was moved to 'queued' status, in UTC. |
| prep_workflow_name | string |
The name of the associated preparation workflow. |
| prep_workflow_record_uuid | uuid |
The UUID of the preparation workflow record (if exists). |
| prep_workflow_total_tasks | integer |
Number of preparation tasks in the associated preparation workflow. |
| prep_workflow_uuid | uuid |
The UUID of the preparation workflow. |
| prior_task_record_completion_date | iso-8601 datetime |
The datetime at which the prior preparation task record was completed, in UTC. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
API endpoint for managing Fusion additive setup files.
This endpoint provides access to Fusion additive setup files that are used for optimized 3D packing of models on printer build plates. The additive setup represents the result of assembling multiple models and finding their optimal arrangement within the printer's build volume.
The endpoint includes deep links to open these files directly in the Fusion 360 desktop application for viewing or editing.
Get a list of fusion additive setups with optional filters
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The bureau this fusion additive setup belongs to |
| created | iso-8601 datetime |
When this fusion additive setup was created |
| fusion_uri | string |
The URL to access this additive setup file in Fusion platform if the setup is ready. Opening the deep link in the browser will launch the Fusion desktop app on the additive file. |
| packing_process | URI |
The packing process this additive setup has packed |
| run | URI |
The run this additive setup has packed |
| status | string |
Current status of the fusion additive setup processing Choices
'"pending|processing|complete|error"'
|
| updated | iso-8601 datetime |
When this fusion additive setup was last updated |
| uri | URI |
The URI of this fusion additive setup |
| version | integer |
The version of the Fusion additive setup file. On first creation, the version is 1. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 401 |
|
| 404 |
|
API endpoint for managing Fusion additive setup files.
This endpoint provides access to Fusion additive setup files that are used for optimized 3D packing of models on printer build plates. The additive setup represents the result of assembling multiple models and finding their optimal arrangement within the printer's build volume.
The endpoint includes deep links to open these files directly in the Fusion 360 desktop application for viewing or editing.
Get a single fusion additive setup by UUID
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The bureau this fusion additive setup belongs to |
| created | iso-8601 datetime |
When this fusion additive setup was created |
| fusion_uri | string |
The URL to access this additive setup file in Fusion platform if the setup is ready. Opening the deep link in the browser will launch the Fusion desktop app on the additive file. |
| packing_process | URI |
The packing process this additive setup has packed |
| run | URI |
The run this additive setup has packed |
| status | string |
Current status of the fusion additive setup processing Choices
'"pending|processing|complete|error"'
|
| updated | iso-8601 datetime |
When this fusion additive setup was last updated |
| uri | URI |
The URI of this fusion additive setup |
| version | integer |
The version of the Fusion additive setup file. On first creation, the version is 1. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 401 |
|
| 404 |
|
API endpoint for managing Fusion assembled models.
This endpoint provides access to Fusion assembled models that represent the result of combining multiple individual models into a single assembly. The assembled model represents a complete design that can be used for manufacturing, visualization, or further design work.
The endpoint includes deep links to open these files directly in the Fusion 360 desktop application for viewing or editing.
Get a list of fusion assembled models with optional filters.
Retrieves a paginated list of Fusion assembled models, supporting filtering by various criteria such as run, status, or bureau.
Returns: ResourceList: Paginated list of assembled models with total count
Raises: Unauthorized: If Fusion feature is not enabled for the bureau
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The bureau this fusion assembled model belongs to |
| created | iso-8601 datetime |
When this fusion assembled model was created |
| fusion_uri | string |
The URL to access this assembled model file in Fusion platform if the model is ready. Opening the deep link in the browser will launch the Fusion desktop app on the assembled model file. |
| packing_process | URI |
The packing process this assembled model is associated with |
| run | URI |
The run this assembled model is associated with |
| status | string |
Current status of the fusion assembled model processing Choices
'"pending|processing|complete|error"'
|
| updated | iso-8601 datetime |
When this fusion assembled model was last updated |
| uri | URI |
The URI of this fusion assembled model |
| version | integer |
The version of the Fusion assembled model file. On first creation, the version is 1. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 401 |
|
| 404 |
|
API endpoint for managing Fusion assembled models.
This endpoint provides access to Fusion assembled models that represent the result of combining multiple individual models into a single assembly. The assembled model represents a complete design that can be used for manufacturing, visualization, or further design work.
The endpoint includes deep links to open these files directly in the Fusion 360 desktop application for viewing or editing.
Get a single fusion assembled model by UUID.
Retrieves a specific Fusion assembled model and returns it with enhanced data including Fusion deep links for ready models.
Args: uuid: The UUID of the fusion assembled model to retrieve
Returns: dict: The assembled model data with URI and optional fusion_uri
Raises: Unauthorized: If Fusion feature is not enabled for the bureau RecordNotFound: If the assembled model doesn't exist
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The bureau this fusion assembled model belongs to |
| created | iso-8601 datetime |
When this fusion assembled model was created |
| fusion_uri | string |
The URL to access this assembled model file in Fusion platform if the model is ready. Opening the deep link in the browser will launch the Fusion desktop app on the assembled model file. |
| packing_process | URI |
The packing process this assembled model is associated with |
| run | URI |
The run this assembled model is associated with |
| status | string |
Current status of the fusion assembled model processing Choices
'"pending|processing|complete|error"'
|
| updated | iso-8601 datetime |
When this fusion assembled model was last updated |
| uri | URI |
The URI of this fusion assembled model |
| version | integer |
The version of the Fusion assembled model file. On first creation, the version is 1. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 401 |
|
| 404 |
|
/fusion-model/
API endpoint for managing Fusion model synchronization.
This endpoint provides access to Fusion models that are synchronized from the Fusion platform. Model creation is handled automatically by backend processes, while version updates can be performed through PUT requests.
Version Management: - Fusion models track version history of designs in the Fusion 360 platform - PUT requests allow switching to a different version of the same design - Version switching only updates references in our platform to point to a different version in Fusion 360 - The current implementation does NOT download or replace the STL file in the model library when switching versions - Future implementations may extend this functionality to automatically update the underlying STL model when switching versions
For more on Fusion see tests/backend/fusion/README.md
Get a list of fusion models with optional filters
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The bureau this fusion model belongs to |
| created | iso-8601 datetime |
When this fusion model was created |
| fusion_uri | string |
The URL to access this model in Fusion platform if the model is ready. Opening the deep link in the browser will launch the Fusion desktop app. |
| model | URI |
The model this fusion model is linked to |
| status | string |
Current status of the fusion model processing Choices
'"pending|processing|complete|error"'
|
| updated | iso-8601 datetime |
When this fusion model was last updated |
| uri | URI |
The URI of this fusion model |
| version | integer |
The version of the Fusion file that this record is pointing to. On first upload, the version is 1. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 401 |
|
| 404 |
|
API endpoint for accessing Fusion model version history and enabling version switching.
This endpoint serves two primary purposes: 1. Providing version history data for existing Fusion models 2. Supporting the model version switching workflow
Version History: - Returns all versions of a Fusion 360 design that exist in the Fusion platform - Each version represents a point in time when changes were saved in Fusion 360 - Version numbers are integers starting at 1 (original model) and increment sequentially - Each version includes metadata about when it was created and by whom
Relationship to Version Switching: - This endpoint provides the version information needed for the frontend to display available versions for switching - Users can select a version from this list to trigger the version switching workflow through the PUT endpoint on the main fusion-model resource - The version numbers returned by this endpoint correspond to the version numbers that can be provided to the version switching endpoint
Workflow Integration: 1. User views version history through this endpoint 2. User selects a version to switch to 3. Frontend calls the PUT endpoint with the selected version number 4. Backend downloads that version as STL and creates a new model 5. ModelLibrary associations are migrated to the new model
Example Response: { "versions": [ { "lineage_urn": "urn:adsk.wipprod:fs.file:vf.ZCj73CeURjKoX32VWiS2SA?version=2", "version": 2, "fusion_uri": "fusion360://lineageUrn=...&hubUrl=...&documentName=...", "updated": "2025-03-23T12:56:39.000Z", "modifier": { "id": "Z7W2SY4FJQTW6PT8", "username": "ayoubJ9Q6T", "first_name": "Ayoub", "last_name": "Haggui", "email": "ayoub@authentise.com" } }, { "lineage_urn": "urn:adsk.wipprod:fs.file:vf.ZCj73CeURjKoX32VWiS2SA?version=1", "version": 1, "fusion_uri": "fusion360://lineageUrn=...&hubUrl=...&documentName=...", "updated": "2025-03-23T10:54:49.000Z", "modifier": { "id": "3M52B82SQ6L2LXQ6", "username": "peteE7F46", "first_name": "Pete", "last_name": "Harding", "email": "pete@authentise.com" } } ] }
Note: - This endpoint itself doesn't modify any data - it's read-only - The actual version switching happens through the PUT endpoint on fusion-model - Versions are created only through the Fusion 360 desktop application - The fusion_uri is a deep link that opens the specific version in Fusion desktop app
Get version history for a fusion model
Args: uuid: UUID of the fusion model to get versions for
Returns: dict: Contains versions array with version information
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| versions | array |
List of version information for the model Example: '[{"modifier": {}}]'
|
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 401 |
|
| 404 |
|
API endpoint for managing Fusion model synchronization.
This endpoint provides access to Fusion models that are synchronized from the Fusion platform. Model creation is handled automatically by backend processes, while version updates can be performed through PUT requests.
Version Management: - Fusion models track version history of designs in the Fusion 360 platform - PUT requests allow switching to a different version of the same design - Version switching only updates references in our platform to point to a different version in Fusion 360 - The current implementation does NOT download or replace the STL file in the model library when switching versions - Future implementations may extend this functionality to automatically update the underlying STL model when switching versions
For more on Fusion see tests/backend/fusion/README.md
Get a single fusion model by UUID
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The bureau this fusion model belongs to |
| created | iso-8601 datetime |
When this fusion model was created |
| fusion_uri | string |
The URL to access this model in Fusion platform if the model is ready. Opening the deep link in the browser will launch the Fusion desktop app. |
| model | URI |
The model this fusion model is linked to |
| status | string |
Current status of the fusion model processing Choices
'"pending|processing|complete|error"'
|
| updated | iso-8601 datetime |
When this fusion model was last updated |
| uri | URI |
The URI of this fusion model |
| version | integer |
The version of the Fusion file that this record is pointing to. On first upload, the version is 1. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 401 |
|
| 404 |
|
/fusion-oauth-settings/
API endpoint for managing Autodesk Fusion OAuth providers.
This endpoint allows bureau members to configure OAuth providers for Autodesk Fusion 360 integration:
- Two-legged OAuth for bureau-level operations (provider=autodesk-fusion-bureau)
- Three-legged OAuth for user-level operations (provider=autodesk-fusion-user)
Each bureau can have one configuration of each provider type.
Security implementation: - The feature flag "autodesk-fusion" must be enabled for access - Client secrets are never returned in GET/LIST responses (enforced via SIGNATURE)
List Fusion OAuth provider configurations for the current user's bureau.
Filter options: - filter[provider]=autodesk-fusion-bureau: Show only bureau-level configs - filter[provider]=autodesk-fusion-user: Show only user-level configs
Returns: ResourceList: The provider configurations
Raises: FusionIntegrationDisabled: If Fusion feature is not enabled
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The bureau this OAuth configuration belongs to |
| client_id | string |
The OAuth client ID from Autodesk |
| client_secret | string |
The OAuth client secret from Autodesk |
| provider | string |
The OAuth provider type ('autodesk-fusion-bureau' for two-legged, 'autodesk-fusion-user' for three-legged) Choices
'"autodesk-fusion-bureau|autodesk-fusion-user"'
|
| uri | URI |
The 'self' URI of this OAuth provider configuration |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
|
| 404 |
|
Create a new Fusion OAuth provider configuration.
Only one configuration of each type is allowed per bureau: - If a configuration already exists for the specified provider type, it will be updated
Args: payload: The configuration data including: - provider: Either 'autodesk-fusion-bureau' or 'autodesk-fusion-user' - client_id: Client ID from Autodesk - client_secret: Client secret from Autodesk
Returns: tuple: (empty string, 201 Created, {"Location": uri})
Raises: ValueError: If provider type is invalid FusionIntegrationDisabled: If Fusion feature is not enabled
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The bureau this OAuth configuration belongs to Required |
| client_id | string |
The OAuth client ID from Autodesk Required |
| client_secret | string |
The OAuth client secret from Autodesk Required |
| provider | string |
The OAuth provider type ('autodesk-fusion-bureau' for two-legged, 'autodesk-fusion-user' for three-legged) Required Choices
'"autodesk-fusion-bureau|autodesk-fusion-user"'
|
| uri | URI |
The 'self' URI of this OAuth provider configuration Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
|
| 403 |
|
| 404 |
|
API endpoint for managing Autodesk Fusion OAuth providers.
This endpoint allows bureau members to configure OAuth providers for Autodesk Fusion 360 integration:
- Two-legged OAuth for bureau-level operations (provider=autodesk-fusion-bureau)
- Three-legged OAuth for user-level operations (provider=autodesk-fusion-user)
Each bureau can have one configuration of each provider type.
Security implementation: - The feature flag "autodesk-fusion" must be enabled for access - Client secrets are never returned in GET/LIST responses (enforced via SIGNATURE)
Get a single Fusion OAuth provider configuration by UUID.
Security constraints: - All configurations are accessible to bureau members - Returns 404 for both non-existent resources and unauthorized access attempts
Args: uuid: UUID of the configuration to retrieve
Returns: dict: The configuration record (client_secret excluded)
Raises: RecordNotFound: If configuration not found or user lacks access permission FusionIntegrationDisabled: If Fusion feature is not enabled
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The bureau this OAuth configuration belongs to |
| client_id | string |
The OAuth client ID from Autodesk |
| client_secret | string |
The OAuth client secret from Autodesk |
| provider | string |
The OAuth provider type ('autodesk-fusion-bureau' for two-legged, 'autodesk-fusion-user' for three-legged) Choices
'"autodesk-fusion-bureau|autodesk-fusion-user"'
|
| uri | URI |
The 'self' URI of this OAuth provider configuration |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
|
| 404 |
|
API endpoint for accessing Fusion print settings.
This endpoint provides read-only access to print settings from a local JSON file that was directly pulled from the Fusion engine using a custom extraction script.
Data Generation:
The JSON data was generated using the Fusion 360 script located at:
nautilus/backend/fusion/utils/list_print_settings.ts
This script runs in Fusion's Design Automation Service (DAS) environment and uses
Fusion's native isCompatibleWithMachine() method to determine which print settings
are compatible with which machines. The script provides an authoritative mapping
by directly querying Fusion's internal libraries.
IMPORTANT: The method for associating machines to print settings in Fusion is not documented or clear in Autodesk's official documentation. This implementation relies on a direct export from the Fusion engine to ensure accurate mapping between vendors, machine models, and available print settings.
Data Source:
Print settings are loaded from a local JSON file (fusion_print_settings_{DATE}.json) that contains data directly exported from the Fusion engine using the extraction script. This ensures we have the most accurate and up-to-date mapping information available without requiring network calls to external APIs.
Example Response:
{ "resources": [ { "vendor": "EOS", "machine_model": "M 100", "name": "XSP3_020_CoreM100 1.02", "description": "Imported print setting from the EOSPrint Parameter set XSP3_020_CoreM100 1.02" }, ... ], "total_count": 100 }
List print settings from the local JSON file.
This method loads print settings from a local JSON file that contains data directly exported from the Fusion engine. Since the association method between machines and print settings is not clearly documented by Autodesk, this direct export approach ensures accurate mapping data.
Returns: ResourceList: A paginated list of print settings
Note: All settings in the JSON file are considered valid since they were directly exported from the Fusion engine.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| description | string |
Detailed description of the print setting, including information about its intended use, compatibility with specific machines, material properties, and origin (e.g., imported from a specific parameter set). |
| machine_model | string |
Specific printer model this setting is optimized for (e.g., 'M 100', 'M 400-4', 'Alpha 140', 'MetalFAB1'). Settings are typically calibrated for specific hardware to ensure optimal print quality and material properties. |
| name | string |
Descriptive name of the print setting. Often includes material type (e.g., 'AlSi10Mg', 'IN718'), printer model, and sometimes layer thickness or intended use case (e.g., 'High Speed', 'Performance'). |
| vendor | string |
Manufacturing company that produced the printer or developed the print setting. Examples include 'EOS', 'HP', 'Kurtz Ersa', 'Additive Industries' and others who provide validated settings for their hardware. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
/fusion-printer-type/
API endpoint for managing Fusion printer type associations.
This endpoint maps Flows printer types to Fusion printer configurations. When a printer of a specific printer type is selected for a run, the backend uses this mapping to get to point the Fusion packer to the correct printer settings required for the run.
Features: - Maps printer types to Fusion configurations - Validates settings against Fusion's available configurations - Maintains 1:1 relationship between printer types and settings
Example Usage: POST /fusion-printer-type/ { "printer_type": "printer-type/uuid", # Flows Printer type for Ultimaker S5 "vendor": "Ultimaker", "machine_model": "S5", "name": "Draft" }
Get a list of fusion printer types with optional filters
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The bureau this fusion printer type belongs to |
| created | iso-8601 datetime |
When this fusion printer type was created |
| machine_model | string |
Machine model in Fusion (e.g., 'S5') |
| name | string |
Configuration name in Fusion (e.g., 'Draft') |
| printer_type | URI |
The printer type to map to Fusion settings |
| updated | iso-8601 datetime |
When this fusion printer type was last updated |
| uri | URI |
The URI of this fusion printer type |
| vendor | string |
Vendor name in Fusion (e.g., 'Ultimaker') |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 401 |
|
| 404 |
|
| 409 |
|
Create a new fusion printer type association
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The bureau this fusion printer type belongs to Required |
| created | iso-8601 datetime |
When this fusion printer type was created Required |
| machine_model | string |
Machine model in Fusion (e.g., 'S5') Required |
| name | string |
Configuration name in Fusion (e.g., 'Draft') Required |
| printer_type | URI |
The printer type to map to Fusion settings Required |
| updated | iso-8601 datetime |
When this fusion printer type was last updated Required |
| uri | URI |
The URI of this fusion printer type Required |
| vendor | string |
Vendor name in Fusion (e.g., 'Ultimaker') Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
|
| 401 |
|
| 404 |
|
| 409 |
|
API endpoint for managing Fusion printer type associations.
This endpoint maps Flows printer types to Fusion printer configurations. When a printer of a specific printer type is selected for a run, the backend uses this mapping to get to point the Fusion packer to the correct printer settings required for the run.
Features: - Maps printer types to Fusion configurations - Validates settings against Fusion's available configurations - Maintains 1:1 relationship between printer types and settings
Example Usage: POST /fusion-printer-type/ { "printer_type": "printer-type/uuid", # Flows Printer type for Ultimaker S5 "vendor": "Ultimaker", "machine_model": "S5", "name": "Draft" }
Get a single fusion printer type by UUID
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The bureau this fusion printer type belongs to |
| created | iso-8601 datetime |
When this fusion printer type was created |
| machine_model | string |
Machine model in Fusion (e.g., 'S5') |
| name | string |
Configuration name in Fusion (e.g., 'Draft') |
| printer_type | URI |
The printer type to map to Fusion settings |
| updated | iso-8601 datetime |
When this fusion printer type was last updated |
| uri | URI |
The URI of this fusion printer type |
| vendor | string |
Vendor name in Fusion (e.g., 'Ultimaker') |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 401 |
|
| 404 |
|
| 409 |
|
/fusion-settings/
API endpoint for managing Fusion 360 integration settings for a Bureau.
This endpoint allows bureau administrators to configure the settings required for Autodesk Fusion 360 integration. Each bureau can have only one Fusion settings record which contains:
- hub_id: The Fusion hub ID where operations will be performed
- model_library_project_id: Project for storing converted F3D models
- builds_project_id: Project for build/pack operations
These settings apply bureau-wide and control all Fusion integration operations. The personal access token for Fusion API access is managed through the OAuth token endpoint, not through this endpoint.
List Fusion settings for the current user's bureau.
Most bureaus will have only one settings record.
Returns: ResourceList: The settings records
Raises: Unauthorized: If user doesn't have permission FusionIntegrationDisabled: If Fusion feature is not enabled
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| builds_project_id | string |
Project ID for build/pack operations (format: urn:adsk.workspace:prod.project:{uuid}) |
| bureau | URI |
The bureau these settings belong to |
| hub_id | string |
The Fusion hub ID where operations will be performed (format: urn:adsk.ace:prod.scope:{uuid}) |
| model_library_project_id | string |
Project ID for storing converted F3D models (format: urn:adsk.workspace:prod.project:{uuid}) |
| uri | URI |
The 'self' URI of these Fusion settings |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
|
| 404 |
|
Create a new Fusion settings record.
Each bureau can have only one Fusion settings record.
Args: payload: The settings data
Returns: tuple: (empty string, status code, headers)
Raises: InvalidParameters: If settings already exist Unauthorized: If user doesn't have permission FusionIntegrationDisabled: If Fusion feature is not enabled
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| builds_project_id | string |
Project ID for build/pack operations (format: urn:adsk.workspace:prod.project:{uuid}) Required |
| bureau | URI |
The bureau these settings belong to Required |
| hub_id | string |
The Fusion hub ID where operations will be performed (format: urn:adsk.ace:prod.scope:{uuid}) Required |
| model_library_project_id | string |
Project ID for storing converted F3D models (format: urn:adsk.workspace:prod.project:{uuid}) Required |
| uri | URI |
The 'self' URI of these Fusion settings Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
|
| 403 |
|
| 404 |
|
API endpoint for listing available Fusion 360 hubs.
This endpoint allows retrieving all hubs that the user has access to in Fusion 360. Hubs are top-level organizational units in Fusion 360, and most operations require a hub ID as context. This endpoint is useful for discovering available hubs and their corresponding IDs when configuring Fusion settings.
List all Fusion 360 hubs available to the current user.
This method retrieves all hubs that the user has access to in Fusion 360, which requires valid OAuth tokens to be configured for the current user.
Returns: ResourceList: The list of hubs with their IDs and names
Raises: Unauthorized: If user doesn't have permission or no token is found FusionIntegrationDisabled: If Fusion feature is not enabled
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| id | string |
The hub ID (URN format: urn:adsk.ace:prod.scope:{uuid}) |
| name | string |
The human-readable hub name |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 401 |
|
| 403 |
|
API endpoint for listing available active projects in a Fusion 360 hub.
This endpoint allows retrieving all active projects that exist in a specific hub. Projects are where designs and models are stored in Fusion 360, and most operations require a project ID for context. This endpoint is useful for discovering available projects and their IDs when configuring Fusion settings.
Note: This endpoint only returns projects with "ACTIVE" status to simplify integration and ensure users only work with currently available projects.
List active projects in a Fusion 360 hub.
This method retrieves all active projects available in the specified hub, which requires valid OAuth tokens to be configured for the current user. Only projects with "ACTIVE" status in Fusion 360 are included in the results.
Args: hub_id: The hub ID to list projects for (format: urn:adsk.ace:prod.scope:{uuid})
Returns: ResourceList: The list of active projects with their IDs and names
Raises: Unauthorized: If user doesn't have permission or no token is found FusionIntegrationDisabled: If Fusion feature is not enabled
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| id | string |
The project ID (URN format: urn:adsk.workspace:prod.project:{uuid}) |
| name | string |
The human-readable project name |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 401 |
|
| 403 |
|
API endpoint for managing Fusion 360 integration settings for a Bureau.
This endpoint allows bureau administrators to configure the settings required for Autodesk Fusion 360 integration. Each bureau can have only one Fusion settings record which contains:
- hub_id: The Fusion hub ID where operations will be performed
- model_library_project_id: Project for storing converted F3D models
- builds_project_id: Project for build/pack operations
These settings apply bureau-wide and control all Fusion integration operations. The personal access token for Fusion API access is managed through the OAuth token endpoint, not through this endpoint.
Get a single Fusion settings record by UUID.
Args: uuid: UUID of the settings to retrieve
Returns: dict: The settings record
Raises: RecordNotFound: If settings not found Unauthorized: If user doesn't have permission FusionIntegrationDisabled: If Fusion feature is not enabled
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| builds_project_id | string |
Project ID for build/pack operations (format: urn:adsk.workspace:prod.project:{uuid}) |
| bureau | URI |
The bureau these settings belong to |
| hub_id | string |
The Fusion hub ID where operations will be performed (format: urn:adsk.ace:prod.scope:{uuid}) |
| model_library_project_id | string |
Project ID for storing converted F3D models (format: urn:adsk.workspace:prod.project:{uuid}) |
| uri | URI |
The 'self' URI of these Fusion settings |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
|
| 404 |
|
API endpoint for viewing Fusion work items.
This endpoint provides read-only access to Fusion work items, which represent tasks that need to be processed by the Fusion platform (e.g., model conversions, packing, etc.). Each work item can have multiple processing attempts tracked through the queue system.
The endpoint allows viewing work item details including: - Current status and processing state - Number of processing attempts - Associated queue entries - Related resources (models, documents, etc.)
Get a list of fusion work items with optional filters.
Retrieves a paginated list of Fusion work items, supporting filtering by various criteria including related resource URI, status, or bureau.
Returns: ResourceList: Paginated list of work items with total count
Raises: Unauthorized: If Fusion feature is not enabled for the bureau
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| attempts | integer |
Number of processing attempts made for this work item |
| bureau | URI |
The bureau this fusion work item belongs to |
| created | iso-8601 datetime |
When this fusion work item was created |
| latest_attempt_report | URL |
Report from the most recent processing attempt |
| parameters | object |
Parameters used for processing this work item Example: 'null'
|
| queue_entries | array |
List of queue entries for this work item's processing attempts Example: '[{}]'
|
| related_resource_uri | URL |
URI of the related resource (model, document, etc.) that this work item is processing |
| status | string |
Current status of the fusion work item Choices
'"new|processing|completed|queued|error"'
|
| updated | iso-8601 datetime |
When this fusion work item was last updated |
| uri | URI |
The URI of this fusion work item |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 401 |
|
| 404 |
|
API endpoint for viewing Fusion work items.
This endpoint provides read-only access to Fusion work items, which represent tasks that need to be processed by the Fusion platform (e.g., model conversions, packing, etc.). Each work item can have multiple processing attempts tracked through the queue system.
The endpoint allows viewing work item details including: - Current status and processing state - Number of processing attempts - Associated queue entries - Related resources (models, documents, etc.)
Get a single fusion work item by UUID.
Retrieves a specific Fusion work item and returns it with enhanced data including queue entries and related resource information.
Args: uuid: The UUID of the fusion work item to retrieve
Returns: dict: The work item data with URI, queue entries, and related resource URI
Raises: Unauthorized: If Fusion feature is not enabled for the bureau RecordNotFound: If the work item doesn't exist
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| attempts | integer |
Number of processing attempts made for this work item |
| bureau | URI |
The bureau this fusion work item belongs to |
| created | iso-8601 datetime |
When this fusion work item was created |
| latest_attempt_report | URL |
Report from the most recent processing attempt |
| parameters | object |
Parameters used for processing this work item Example: 'null'
|
| queue_entries | array |
List of queue entries for this work item's processing attempts Example: '[{}]'
|
| related_resource_uri | URL |
URI of the related resource (model, document, etc.) that this work item is processing |
| status | string |
Current status of the fusion work item Choices
'"new|processing|completed|queued|error"'
|
| updated | iso-8601 datetime |
When this fusion work item was last updated |
| uri | URI |
The URI of this fusion work item |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 401 |
|
| 404 |
|
/groups/
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| description | string |
none available |
| name | string |
none available |
| secret | string |
none available |
| subgroups | array |
none available Example: '["..."]'
|
| uri | string |
none available |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| description | string |
none available Required |
| name | string |
none available Required |
| secret | string |
none available Default: None |
| subgroups | array |
none available Default: []Example: '["..."]'
|
| uri | string |
none available Default: None |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
/groups/{uuid}/
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| description | string |
none available |
| name | string |
none available |
| secret | string |
none available |
| subgroups | array |
none available Example: '["..."]'
|
| uri | string |
none available |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
/guideline/comparator/
Stub Endpoint. Comparators describe the comparisons we can perform on a named_expressions in order to make an expression/condition. If these comparisons operation evaluate to true they will trigger guideline engine suggestions.
Example: IF “Workflow Step” is “EOS M290” AND “Line Item Field” “Material Type” is “Ti64” THEN suggest to add “Work Instruction Template 56” In this case, the 'IF' statements are comparator's
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau the comparator belongs to. |
| name | string |
Comparator type name. Choices
'"equals|greater_than|less_than|contains|before|after|on"'
|
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested comparator cannot be found. |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau the comparator belongs to. Required |
| name | string |
Comparator type name. Required Choices
'"equals|greater_than|less_than|contains|before|after|on"'
|
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 404 |
The requested comparator cannot be found. |
Stub Endpoint. Comparators describe the comparisons we can perform on a named_expressions in order to make an expression/condition. If these comparisons operation evaluate to true they will trigger guideline engine suggestions.
Example: IF “Workflow Step” is “EOS M290” AND “Line Item Field” “Material Type” is “Ti64” THEN suggest to add “Work Instruction Template 56” In this case, the 'IF' statements are comparator's
Get a single comparator by UUID.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau the comparator belongs to. |
| name | string |
Comparator type name. Choices
'"equals|greater_than|less_than|contains|before|after|on"'
|
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested comparator cannot be found. |
This endpoint serves the purpose of creating guideline expressions to be used by Production Guideline engine.
A guideline expression is a boolean test on internal data, with a simple name for a user to use/view/match.
This turns complex DB lookup into a API compatibible expression.
Example: IF “Workflow Step” is “EOS M290” AND “Line Item Field” “Material Type” is “Ti64” THEN suggest to add “Work Instruction Template 56”
In this example: 'Workflow Step' is our Guideline Expression. This is a series of DB look-up/join to find 'line-item['workflow'] => process_step, => 'process_step[workstation]' => workstation['type'] => printer_type['name'].
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau this guideline-expression belongs to. Required |
| comparator | URI |
uri for the specific comparator to be used to evaluate the named_expression Required |
| name | string |
Simple Human Readable display name of the expression Default: Unnamed Production Guideline Expression |
| named_expression | URI |
named-expression uri to be evaluated. Required |
| uri | URI |
The URI of the production guideline expression. Required |
| value | string |
value to compare evaluated named_expression to Default: None |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
This endpoint serves the purpose of creating guideline expressions to be used by Production Guideline engine.
A guideline expression is a boolean test on internal data, with a simple name for a user to use/view/match.
This turns complex DB lookup into a API compatibible expression.
Example: IF “Workflow Step” is “EOS M290” AND “Line Item Field” “Material Type” is “Ti64” THEN suggest to add “Work Instruction Template 56”
In this example: 'Workflow Step' is our Guideline Expression. This is a series of DB look-up/join to find 'line-item['workflow'] => process_step, => 'process_step[workstation]' => workstation['type'] => printer_type['name'].
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau this guideline-expression belongs to. |
| comparator | URI |
uri for the specific comparator to be used to evaluate the named_expression |
| name | string |
Simple Human Readable display name of the expression |
| named_expression | URI |
named-expression uri to be evaluated. |
| uri | URI |
The URI of the production guideline expression. |
| value | string |
value to compare evaluated named_expression to |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
/guideline/for-line-item//
This endpoint is used to find out what Production Guidelines match for this line-item. Submit a line-item UUID as part of the URL, and returns the full list of guidelines that match it (as it exists in the DB). Note this call can be a little slower than some other API endpoints, but still needs to beat our timeout time
ex: IF Workflow Step Name is equal to "EOS M290" ADD Work Instruction "Do a more careful review of the print quality"
This involves taking the provided line-item as the root object and gathering the necessary related resources to determine if the line-item will be using a workflow that has a process-step that will require the print to be made on a printer of type "EOS M290". If this is the case then the work instruction "Do a more careful review of the print quality" will be suggested to the user as a guide.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau the work instruction guideline belongs to. |
| description | string |
Description of the Guideline |
| disabled | boolean |
a guideline that is disabled will not be suggested to a user regardless of evaluation status |
| name | string |
Display name for production guideline triggering this suggestion |
| process_step_template | URI |
The process step to suggest to the user based on the line-item or related data |
| related_workstation_type_name | string |
Name of workstation-type (printer-type, post-processor, shipping) to help linkguidelines/for-work-instruction to specific workflow steps |
| source_guideline | URL |
The URI of the production guideline can be of type guideline/for-process-step or guideline/for-line-item |
| summary | string |
Human readable representation of guideline. ex: If Line Item Quantity is greater than 10 make this suggestion. |
| work_instruction_template | URI |
The work instruction to suggest to the user based on the line-item or related data |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau the work instruction guideline belongs to. Required |
| description | string |
Description of the Guideline Required |
| disabled | boolean |
a guideline that is disabled will not be suggested to a user regardless of evaluation status Required |
| name | string |
Display name for production guideline triggering this suggestion Required |
| process_step_template | URI |
The process step to suggest to the user based on the line-item or related data Required |
| related_workstation_type_name | string |
Name of workstation-type (printer-type, post-processor, shipping) to help linkguidelines/for-work-instruction to specific workflow steps Required |
| source_guideline | URL |
The URI of the production guideline can be of type guideline/for-process-step or guideline/for-line-item Required |
| summary | string |
Human readable representation of guideline. ex: If Line Item Quantity is greater than 10 make this suggestion. Required |
| work_instruction_template | URI |
The work instruction to suggest to the user based on the line-item or related data Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
This endpoint is used to find out what Production Guidelines match for this line-item. Submit a line-item UUID as part of the URL, and returns the full list of guidelines that match it (as it exists in the DB). Note this call can be a little slower than some other API endpoints, but still needs to beat our timeout time
ex: IF Workflow Step Name is equal to "EOS M290" ADD Work Instruction "Do a more careful review of the print quality"
This involves taking the provided line-item as the root object and gathering the necessary related resources to determine if the line-item will be using a workflow that has a process-step that will require the print to be made on a printer of type "EOS M290". If this is the case then the work instruction "Do a more careful review of the print quality" will be suggested to the user as a guide.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau the work instruction guideline belongs to. |
| description | string |
Description of the Guideline |
| disabled | boolean |
a guideline that is disabled will not be suggested to a user regardless of evaluation status |
| name | string |
Display name for production guideline triggering this suggestion |
| process_step_template | URI |
The process step to suggest to the user based on the line-item or related data |
| related_workstation_type_name | string |
Name of workstation-type (printer-type, post-processor, shipping) to help linkguidelines/for-work-instruction to specific workflow steps |
| source_guideline | URL |
The URI of the production guideline can be of type guideline/for-process-step or guideline/for-line-item |
| summary | string |
Human readable representation of guideline. ex: If Line Item Quantity is greater than 10 make this suggestion. |
| work_instruction_template | URI |
The work instruction to suggest to the user based on the line-item or related data |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
/guideline/for-process-step/
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau the work instruction guideline belongs to. |
| description | string |
Description of the Guideline |
| disabled | boolean |
a guideline that is disabled will not be suggested to a user regardless of evaluation status |
| guideline_expressions | array |
none available Example: '["..."]'
|
| join_operator | string |
how the expressions will be evaluated together. AND/OR Choices
'"and|or"'
|
| name | string |
Display name for guideline |
| process_step_template | URI |
The process step to suggest to the user |
| summary | string |
Human readable representation of guideline. ex: If Line Item Quantity is greater than 10 make this suggestion. |
| uri | URI |
The URI of the production guideline. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
The requested guideline name already exists |
| 404 |
The requested guideline cannot be found. |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau the work instruction guideline belongs to. Required |
| description | string |
Description of the Guideline Required |
| disabled | boolean |
a guideline that is disabled will not be suggested to a user regardless of evaluation status Required |
| guideline_expressions | array |
none available Required Example: '["..."]'
|
| join_operator | string |
how the expressions will be evaluated together. AND/OR Required Choices
'"and|or"'
|
| name | string |
Display name for guideline Required |
| process_step_template | URI |
The process step to suggest to the user Required |
| summary | string |
Human readable representation of guideline. ex: If Line Item Quantity is greater than 10 make this suggestion. Required |
| uri | URI |
The URI of the production guideline. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
The requested guideline name already exists |
| 404 |
The requested guideline cannot be found. |
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau the work instruction guideline belongs to. |
| description | string |
Description of the Guideline |
| disabled | boolean |
a guideline that is disabled will not be suggested to a user regardless of evaluation status |
| guideline_expressions | array |
none available Example: '["..."]'
|
| join_operator | string |
how the expressions will be evaluated together. AND/OR Choices
'"and|or"'
|
| name | string |
Display name for guideline |
| process_step_template | URI |
The process step to suggest to the user |
| summary | string |
Human readable representation of guideline. ex: If Line Item Quantity is greater than 10 make this suggestion. |
| uri | URI |
The URI of the production guideline. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
The requested guideline name already exists |
| 404 |
The requested guideline cannot be found. |
/guideline/for-work-instruction/
This is the end-goal endpoint of the Production Guideline system. Doing a GET or LIST with filter to this endpoint it used to find a list of template work_instructions the guideline engine recommends to add based on a process-step
Example: IF “Workflow Step” is “EOS M290” AND “Line Item Field” “Material Type” is “Ti64” THEN suggest to add “Work Instruction Template 56”
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau the work instruction guideline belongs to. |
| description | string |
Description of the Guideline |
| disabled | boolean |
a guideline that is disabled will not be suggested to a user regardless of evaluation status |
| guideline_expressions | array |
none available Example: '["..."]'
|
| join_operator | string |
how the expressions will be evaluated together. AND/OR Choices
'"and|or"'
|
| name | string |
Display name for guideline |
| related_workstation_uri | URL |
uri of the form /printer-type/, /post-processor-type or /shipping/ |
| summary | string |
Human readable representation of guideline. ex: If Line Item Quantity is greater than 10 make this suggestion. |
| uri | URI |
The URI of the production guideline. |
| work_instruction_template | URI |
The work instruction to suggest to the user |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
The requested guideline name already exists |
| 404 |
The requested guideline cannot be found. |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau the work instruction guideline belongs to. Required |
| description | string |
Description of the Guideline Required |
| disabled | boolean |
a guideline that is disabled will not be suggested to a user regardless of evaluation status Required |
| guideline_expressions | array |
none available Required Example: '["..."]'
|
| join_operator | string |
how the expressions will be evaluated together. AND/OR Required Choices
'"and|or"'
|
| name | string |
Display name for guideline Required |
| related_workstation_uri | URL |
uri of the form /printer-type/, /post-processor-type or /shipping/ Required |
| summary | string |
Human readable representation of guideline. ex: If Line Item Quantity is greater than 10 make this suggestion. Required |
| uri | URI |
The URI of the production guideline. Required |
| work_instruction_template | URI |
The work instruction to suggest to the user Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
The requested guideline name already exists |
| 404 |
The requested guideline cannot be found. |
This is the end-goal endpoint of the Production Guideline system. Doing a GET or LIST with filter to this endpoint it used to find a list of template work_instructions the guideline engine recommends to add based on a process-step
Example: IF “Workflow Step” is “EOS M290” AND “Line Item Field” “Material Type” is “Ti64” THEN suggest to add “Work Instruction Template 56”
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau the work instruction guideline belongs to. |
| description | string |
Description of the Guideline |
| disabled | boolean |
a guideline that is disabled will not be suggested to a user regardless of evaluation status |
| guideline_expressions | array |
none available Example: '["..."]'
|
| join_operator | string |
how the expressions will be evaluated together. AND/OR Choices
'"and|or"'
|
| name | string |
Display name for guideline |
| related_workstation_uri | URL |
uri of the form /printer-type/, /post-processor-type or /shipping/ |
| summary | string |
Human readable representation of guideline. ex: If Line Item Quantity is greater than 10 make this suggestion. |
| uri | URI |
The URI of the production guideline. |
| work_instruction_template | URI |
The work instruction to suggest to the user |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
The requested guideline name already exists |
| 404 |
The requested guideline cannot be found. |
/guideline/named-expression/
This is a read only endpoint that allows users to list named-expressions. Named-expressions are fields that a user wants to utilize to create guidelines.
Since our users don't have knowledge of our internal schema these names map to a series of evaluation steps that the backend needs to take to calculate the value associated with the named-expression/field. Named expressions are used to create guideline_expressions.
Example: IF “Workflow Step” is “EOS M290” AND “Line Item Field” “Material Type” is “Ti64” THEN suggest to add “Work Instruction Template 56”
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau the named_expression belongs to. |
| comparators | array |
none available Example: '[{"name": "equals|greater_than|less_than|contains|before|after|on"}]'
|
| disabled | boolean |
If disabled the named_expression shouldn't be used for production guideline expressions |
| input_type | string |
This field defines the data type of the named_expression. Choices
'"date|string|number"'
|
| name | string |
Display name of named-expression |
| named_expression_options | array |
none available Example: '[{}]'
|
| type | string |
Describes what resource the named expression belongs to Choices
'"order|line-item|process-step"'
|
| uri | URI |
The URI of the named-expression. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested named_expression cannot be found. |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau the named_expression belongs to. Required |
| comparators | array |
none available Default: NoneExample: '[{"name": "equals|greater_than|less_than|contains|before|after|on"}]'
|
| disabled | boolean |
If disabled the named_expression shouldn't be used for production guideline expressions Required |
| input_type | string |
This field defines the data type of the named_expression. Default: NoneChoices
'"date|string|number"'
|
| name | string |
Display name of named-expression Default: Unnamed Guideline Name-Expression |
| named_expression_options | array |
none available Required Example: '[{}]'
|
| type | string |
Describes what resource the named expression belongs to Default: NoneChoices
'"order|line-item|process-step"'
|
| uri | URI |
The URI of the named-expression. Default: None |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 404 |
The requested named_expression cannot be found. |
This is a read only endpoint that allows users to list named-expressions. Named-expressions are fields that a user wants to utilize to create guidelines.
Since our users don't have knowledge of our internal schema these names map to a series of evaluation steps that the backend needs to take to calculate the value associated with the named-expression/field. Named expressions are used to create guideline_expressions.
Example: IF “Workflow Step” is “EOS M290” AND “Line Item Field” “Material Type” is “Ti64” THEN suggest to add “Work Instruction Template 56”
Get a single named_expression by UUID.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau the named_expression belongs to. |
| comparators | array |
none available Example: '[{"name": "equals|greater_than|less_than|contains|before|after|on"}]'
|
| disabled | boolean |
If disabled the named_expression shouldn't be used for production guideline expressions |
| input_type | string |
This field defines the data type of the named_expression. Choices
'"date|string|number"'
|
| name | string |
Display name of named-expression |
| named_expression_options | array |
none available Example: '[{}]'
|
| type | string |
Describes what resource the named expression belongs to Choices
'"order|line-item|process-step"'
|
| uri | URI |
The URI of the named-expression. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested named_expression cannot be found. |
Get the data about all Support Strategy
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| name | string |
The name of the infill strategy. Choices
'"n|a|m|e"'
|
| uri | URI |
The URI of the infill strategy. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
RecordNotFound raised |
Get the data about all Support Strategy
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| name | string |
The name of the infill strategy. Choices
'"n|a|m|e"'
|
| uri | URI |
The URI of the infill strategy. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
RecordNotFound raised |
/installer/
Get the list of downloads that are available for the different clients we release
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| architecture | string |
The CPU architecture the installer is for Choices
'"x86|amd64"'
|
| download | string |
The URL where the installer can be dowloaded. Valid for one hour |
| installer | string |
The name of the client this installer is for Choices
'"AuthentiseUpdate|CatalystSlicer|Echo|StreamicsConnector"'
|
| platform | string |
The platform, such as Windows or Mac Choices
'"mac|windows"'
|
| type | string |
The type of installer, IE what method it uses to install Choices
'"exe|msi"'
|
| version | string |
The version of the installer Example: '"1.2.3"'
|
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
/integration/
This endpoint is a read-only [GET / LIST] Endpoint for finding what integrations the current bureau supports. Note that lighter weight 'features' also exist. An integration is a deeper more computationally intensive connection to a 3rd party service.
handler for HTTPS GET /resource/ , aka 'LIST'.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
Bureau URI this is related to . |
| context | object |
Read-only. Fields that are bureau (or integration) specific, non-standard data on a specific user.Per bureau use or behavior may change Example: 'null'
|
| enabled | boolean |
True if this is active on this bureau |
| name | string |
human readable name of this integration Choices
'"castor3d|pathfindr|stripe|basic_model_conversion|premium_model_conversion|threads_comments_in_flows|mailgun|autodesk_fusion|paperless_parts|digifabster|auto_document_parsing|three_d_spark"'
|
| test_date | iso-8601 datetime |
The date that a check/test was last run on this integration. |
| test_status | string |
Status of a background/async test running to check the integration. Choices
'"ok|warning|error|queued|running|unknown"'
|
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested record cannot be found. |
This endpoint is a read-only [GET / LIST] Endpoint for finding what integrations the current bureau supports. Note that lighter weight 'features' also exist. An integration is a deeper more computationally intensive connection to a 3rd party service.
handler for HTTPS GET /integration/$uuid/
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
Bureau URI this is related to . |
| context | object |
Read-only. Fields that are bureau (or integration) specific, non-standard data on a specific user.Per bureau use or behavior may change Example: 'null'
|
| enabled | boolean |
True if this is active on this bureau |
| name | string |
human readable name of this integration Choices
'"castor3d|pathfindr|stripe|basic_model_conversion|premium_model_conversion|threads_comments_in_flows|mailgun|autodesk_fusion|paperless_parts|digifabster|auto_document_parsing|three_d_spark"'
|
| test_date | iso-8601 datetime |
The date that a check/test was last run on this integration. |
| test_status | string |
Status of a background/async test running to check the integration. Choices
'"ok|warning|error|queued|running|unknown"'
|
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested record cannot be found. |
/jeni-cluster/
special workstation that contains multiple printing and post-processing beds. see engineering doc for details(as of 10/26/23 there are many pending questions): https://docs.google.com/document/d/135V9ns4QmXArQYlT-v1E6CrumwXxZM8qSLobiGsovJw/edit#heading=h.edslaqq5bqaz TLDR: this workstation allows for a configurable number of printers and post-processors. Jeni Cluster has a 1-> many relationship with both printers/post-processors
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| ip_address | string |
The local ip address of JENI, as a string. Supports both IPv4 and IPv6 |
| jeni_post_processor_types | array |
none available Example: '[{}]'
|
| jeni_printer_types | array |
none available Example: '[{}]'
|
| location | URI |
The URI of the jeni_cluster's location. |
| modeler | URI |
The URI to the associated modeler that we use to communicate with the cluster. Read only. |
| name | string |
The name of the cluster |
| status | string |
Whether the cluster is connected and correctly configured. Choices
'"not_connected|error|idle|offline|printing|maintenance|print_finished|ready_to_print|unknown"'
|
| sub_location | URI |
The URI of the jeni_clusters’s sub_location |
| uri | URI |
The URI to the JeniCluster |
| workflow | URI |
The URI of the workflow that the jeni_cluster is associated with. The workflow needs to be integrated to represent the fact that JENI is one unit of printing beds and post processors tied together |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
This means the IP address you entered is invalid. Make sure your ip address is a valid IPv4 or IPv6 address.
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested record cannot be found. |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| ip_address | string |
The local ip address of JENI, as a string. Supports both IPv4 and IPv6 Default: None |
| jeni_post_processor_types | array |
none available Required Example: '[{}]'
|
| jeni_printer_types | array |
none available Required Example: '[{}]'
|
| location | URI |
The URI of the jeni_cluster's location. Required |
| modeler | URI |
The URI to the associated modeler that we use to communicate with the cluster. Read only. Required |
| name | string |
The name of the cluster Required |
| status | string |
Whether the cluster is connected and correctly configured. Required Choices
'"not_connected|error|idle|offline|printing|maintenance|print_finished|ready_to_print|unknown"'
|
| sub_location | URI |
The URI of the jeni_clusters’s sub_location Required |
| uri | URI |
The URI to the JeniCluster Required |
| workflow | URI |
The URI of the workflow that the jeni_cluster is associated with. The workflow needs to be integrated to represent the fact that JENI is one unit of printing beds and post processors tied together Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
This means the IP address you entered is invalid. Make sure your ip address is a valid IPv4 or IPv6 address.
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested record cannot be found. |
special workstation that contains multiple printing and post-processing beds. see engineering doc for details(as of 10/26/23 there are many pending questions): https://docs.google.com/document/d/135V9ns4QmXArQYlT-v1E6CrumwXxZM8qSLobiGsovJw/edit#heading=h.edslaqq5bqaz TLDR: this workstation allows for a configurable number of printers and post-processors. Jeni Cluster has a 1-> many relationship with both printers/post-processors
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| ip_address | string |
The local ip address of JENI, as a string. Supports both IPv4 and IPv6 |
| jeni_post_processor_types | array |
none available Example: '[{}]'
|
| jeni_printer_types | array |
none available Example: '[{}]'
|
| location | URI |
The URI of the jeni_cluster's location. |
| modeler | URI |
The URI to the associated modeler that we use to communicate with the cluster. Read only. |
| name | string |
The name of the cluster |
| status | string |
Whether the cluster is connected and correctly configured. Choices
'"not_connected|error|idle|offline|printing|maintenance|print_finished|ready_to_print|unknown"'
|
| sub_location | URI |
The URI of the jeni_clusters’s sub_location |
| uri | URI |
The URI to the JeniCluster |
| workflow | URI |
The URI of the workflow that the jeni_cluster is associated with. The workflow needs to be integrated to represent the fact that JENI is one unit of printing beds and post processors tied together |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
This means the IP address you entered is invalid. Make sure your ip address is a valid IPv4 or IPv6 address.
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested record cannot be found. |
/jeni-post-processor-type/
PLACEHOLDER api layer code so we can construct URIs. Might add later, but this is mostly a helper for jeni-cluster
Schema (application/json)
| Property | Type | Description |
|---|
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
Schema (application/json)
| Property | Type | Description |
|---|
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
PLACEHOLDER api layer code so we can construct URIs. Might add later, but this is mostly a helper for jeni-cluster
Schema (application/json)
| Property | Type | Description |
|---|
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
/jeni-printer-type/
PLACEHOLDER api layer code so we can construct URIs. Might add later, but this is mostly a helper for jeni-cluster
Schema (application/json)
| Property | Type | Description |
|---|
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
Schema (application/json)
| Property | Type | Description |
|---|
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
PLACEHOLDER api layer code so we can construct URIs. Might add later, but this is mostly a helper for jeni-cluster
Schema (application/json)
| Property | Type | Description |
|---|
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
/job/
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| body | string |
none available Required |
| method | string |
none available Required Choices
'"GET|PUT|POST"'
|
| url | string |
none available Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
/label-relationship/
" Endpoint to apply a label to one item.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of the bureau. |
| label | URI |
The URI of the label. |
| target_uri | URL |
Object to apply the label to |
| uri | URI |
The URI of the label relationship. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 404 |
The requested order cannot be found. |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of the bureau. Required |
| label | URI |
The URI of the label. Required |
| target_uri | URL |
Object to apply the label to Required |
| uri | URI |
The URI of the label relationship. Default: None |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
|
| 404 |
The requested order cannot be found. |
" Endpoint to apply a label to one item.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of the bureau. |
| label | URI |
The URI of the label. |
| target_uri | URL |
Object to apply the label to |
| uri | URI |
The URI of the label relationship. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 404 |
The requested order cannot be found. |
/label/
This is a general labeling system. This endpoint is for creating the label, or doing a read. Label to assign the endpoint resources is below
List all of the order in the system for your account.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of the bureau. |
| color | string |
HEX Color of the label. Example: (#000000) |
| description | string |
2-3 lines of description. |
| editable | boolean |
This boolean flags identifies this as a locked label(True if editable False if not).Un-editable labels can't be edited/deleted/manipulated in any way via API |
| items | array |
URIs of the related label relationship Example: '["..."]'
|
| name | string |
Short name for the tag, 20 characters max. |
| uri | URI |
The URI of the label. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 404 |
The requested label cannot be found. |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of the bureau. Required |
| color | string |
HEX Color of the label. Example: (#000000) Required |
| description | string |
2-3 lines of description. Required |
| editable | boolean |
This boolean flags identifies this as a locked label(True if editable False if not).Un-editable labels can't be edited/deleted/manipulated in any way via API Required |
| items | array |
URIs of the related label relationship Default: []Example: '["..."]'
|
| name | string |
Short name for the tag, 20 characters max. Required |
| uri | URI |
The URI of the label. Default: None |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
|
| 404 |
The requested label cannot be found. |
/label/{uuid}/
This is a general labeling system. This endpoint is for creating the label, or doing a read. Label to assign the endpoint resources is below
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of the bureau. |
| color | string |
HEX Color of the label. Example: (#000000) |
| description | string |
2-3 lines of description. |
| editable | boolean |
This boolean flags identifies this as a locked label(True if editable False if not).Un-editable labels can't be edited/deleted/manipulated in any way via API |
| items | array |
URIs of the related label relationship Example: '["..."]'
|
| name | string |
Short name for the tag, 20 characters max. |
| uri | URI |
The URI of the label. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 404 |
The requested label cannot be found. |
/labor/
Defines the labor needed to operate a workstation
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| duration | timedelta |
Duration of manual labor needed |
| post_processor_type | URI |
The URI of post processor type this schedule applies to. |
| printer_type | URI |
The URI of printer type this schedule applies to. |
| type | string |
the kind of Labor needed to operate the workstation Choices
'"labor_to_start|labor_to_run"'
|
| uri | URI |
The URI of self (this labor record). |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
The requested post_processor_type is already attached to a labor resource. |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested workstation cannot be found. |
| 405 |
|
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| duration | timedelta |
Duration of manual labor needed Required |
| post_processor_type | URI |
The URI of post processor type this schedule applies to. Required |
| printer_type | URI |
The URI of printer type this schedule applies to. Required |
| type | string |
the kind of Labor needed to operate the workstation Required Choices
'"labor_to_start|labor_to_run"'
|
| uri | URI |
The URI of self (this labor record). Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
The requested post_processor_type is already attached to a labor resource. |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested workstation cannot be found. |
| 405 |
|
/labor/{uuid}/
Defines the labor needed to operate a workstation
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| duration | timedelta |
Duration of manual labor needed |
| post_processor_type | URI |
The URI of post processor type this schedule applies to. |
| printer_type | URI |
The URI of printer type this schedule applies to. |
| type | string |
the kind of Labor needed to operate the workstation Choices
'"labor_to_start|labor_to_run"'
|
| uri | URI |
The URI of self (this labor record). |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
The requested post_processor_type is already attached to a labor resource. |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested workstation cannot be found. |
| 405 |
|
/layout/
Layouts are the basic resource for the packing module. In order to create a /layout/ resource a user must provide
a set of model URIs that will be placed in the layout and various paramters about the build volume and the desired
attributes of the layout such as the minimum spacing between models. The system will immediately respond with success
if the paramters are correctly formed. A backend process will then attempt to find a solution to the requested layout
using several parallel approaches. The system will inform the user via the callback URL if provided of any results,
positive or negative. Users can also poll for changes via a GET request to the created resource
Creates a 2D layout from the set of models provided wherever possible.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| build | object |
Information about the build volume. The Required Example: ('{"type": "rectangle", "packer_type": '
'"pack2d|pack3d|user_managed|pack3d_premium|autodesk_fusion"}')
|
| callback | object |
Callback URL for layout result. A request will be made to this URL using the provided method whenever updates are made to the resource, such as an error or availability of results Default: {}Example: '{}'
|
| do_build_volume_check | boolean |
When set, run is checked for ability to fit into the specificed printer_type build volume. Prints that do not fit are left Default: True |
| error | string |
The error encountered while processing, if any Default: NoneExample: '"Failed to create layout"'
|
| fill_percentage | float |
The percentage of the build plate that is filled by the models. Values above 100 are an estimate since the algorithm by definition cannot accurately pack more than 100% of the space Default: NoneExample: '"50.35"'
|
| min_packing_distance | float |
Required minimum spacing between the models in the layout in millimeters(mm). Required Example: '"5"'
|
| models | array |
The list of model URIs or print URIs that should be placed in this layout Required Example: '["..."]'
|
| positions | array |
List of positions of each model in the build plate. Default: NoneExample: '["..."]'
|
| status | string |
Status of the layout. Over the course of creating the resource this will progress from Default: queuedChoices
'"queued, processing, complete, error"'
|
| uri | URI |
The URI of the layout. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
The build parameters are invalid. The model spacing is an invalid value. |
| 404 |
The requested layout cannot be found. |
/layout/{uuid}/
Layouts are the basic resource for the packing module. In order to create a /layout/ resource a user must provide
a set of model URIs that will be placed in the layout and various paramters about the build volume and the desired
attributes of the layout such as the minimum spacing between models. The system will immediately respond with success
if the paramters are correctly formed. A backend process will then attempt to find a solution to the requested layout
using several parallel approaches. The system will inform the user via the callback URL if provided of any results,
positive or negative. Users can also poll for changes via a GET request to the created resource
Get a single instance of /layout/
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| build | object |
Information about the build volume. The Example: ('{"type": "rectangle", "packer_type": '
'"pack2d|pack3d|user_managed|pack3d_premium|autodesk_fusion"}')
|
| callback | object |
Callback URL for layout result. A request will be made to this URL using the provided method whenever updates are made to the resource, such as an error or availability of results Example: '{}'
|
| do_build_volume_check | boolean |
When set, run is checked for ability to fit into the specificed printer_type build volume. Prints that do not fit are left |
| error | string |
The error encountered while processing, if any Example: '"Failed to create layout"'
|
| fill_percentage | float |
The percentage of the build plate that is filled by the models. Values above 100 are an estimate since the algorithm by definition cannot accurately pack more than 100% of the space Example: '"50.35"'
|
| min_packing_distance | float |
Required minimum spacing between the models in the layout in millimeters(mm). Example: '"5"'
|
| models | array |
The list of model URIs or print URIs that should be placed in this layout Example: '["..."]'
|
| positions | array |
List of positions of each model in the build plate. Example: '["..."]'
|
| status | string |
Status of the layout. Over the course of creating the resource this will progress from Choices
'"queued, processing, complete, error"'
|
| uri | URI |
The URI of the layout. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
The build parameters are invalid. The model spacing is an invalid value. |
| 404 |
The requested layout cannot be found. |
/library/
Library is the parent for model_library and build_file_library resources. Although they have a relationship they aren't linked in the db:tables via FK but by matching the owner_uris between model_library/build_file_library and the Library. This matching determines the membership to the Library resource. This matching occurs on the front-end. Future: might make this a FK if needed.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The bureau that this library belongs to. |
| name | string |
The name of the Library. Read Only |
| owner | URL |
The user, bureau, group, custom-group that can see/ edit this Library |
| uri | URI |
The library uri(aka itself) |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
|
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The bureau that this library belongs to. Required |
| name | string |
The name of the Library. Read Only Required |
| owner | URL |
The user, bureau, group, custom-group that can see/ edit this Library Required |
| uri | URI |
The library uri(aka itself) Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 404 |
|
/library/{uuid}/
Library is the parent for model_library and build_file_library resources. Although they have a relationship they aren't linked in the db:tables via FK but by matching the owner_uris between model_library/build_file_library and the Library. This matching determines the membership to the Library resource. This matching occurs on the front-end. Future: might make this a FK if needed.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The bureau that this library belongs to. |
| name | string |
The name of the Library. Read Only |
| owner | URL |
The user, bureau, group, custom-group that can see/ edit this Library |
| uri | URI |
The library uri(aka itself) |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
|
/line-item-actuals/
This contains the log of what has actually happened for a line item.
There is no API to create/edit resource, resources are created automatically when piece actuals is created.
List all line item actuals.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| additional_costs | array |
A list of manually added additional costs to the line_item. Example: '[{}]'
|
| created | iso-8601 datetime |
When line item actuals record was created |
| end_in_progress_time | iso-8601 datetime |
When line item was completed (last print of this line item is completed).Can be null if not completed yet or time can't be recognized. |
| has_custom_actuals | boolean |
If pieces were give custom workflows different from the line-item, they will not be in this math, and this value will be true. |
| line_item | URI |
The URI of the related line item |
| per_step_details | array |
List of aggregated actuals per each process steps of this line item. Example: '[{"per_piece_average": {}, "total": {}}]'
|
| start_in_progress_time | iso-8601 datetime |
When line item was started (status of first print was changed to in progress). |
| total_cost | float |
Sum of material or running cost if this line item. Null if material_cost and running_cost are empty |
| updated | iso-8601 datetime |
When line item actuals record was updated last time |
| uri | URI |
The URI of the line item actuals record. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested line item actuals cannot be found. |
| 405 |
|
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| additional_costs | array |
A list of manually added additional costs to the line_item. Required Example: '[{}]'
|
| created | iso-8601 datetime |
When line item actuals record was created Required |
| end_in_progress_time | iso-8601 datetime |
When line item was completed (last print of this line item is completed).Can be null if not completed yet or time can't be recognized. Required |
| has_custom_actuals | boolean |
If pieces were give custom workflows different from the line-item, they will not be in this math, and this value will be true. Required |
| line_item | URI |
The URI of the related line item Required |
| per_step_details | array |
List of aggregated actuals per each process steps of this line item. Required Example: '[{"per_piece_average": {}, "total": {}}]'
|
| start_in_progress_time | iso-8601 datetime |
When line item was started (status of first print was changed to in progress). Required |
| total_cost | float |
Sum of material or running cost if this line item. Null if material_cost and running_cost are empty Required |
| updated | iso-8601 datetime |
When line item actuals record was updated last time Required |
| uri | URI |
The URI of the line item actuals record. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested line item actuals cannot be found. |
| 405 |
|
This contains the log of what has actually happened for a line item.
There is no API to create/edit resource, resources are created automatically when piece actuals is created.
Get an line item actuals by UUID.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| additional_costs | array |
A list of manually added additional costs to the line_item. Example: '[{}]'
|
| created | iso-8601 datetime |
When line item actuals record was created |
| end_in_progress_time | iso-8601 datetime |
When line item was completed (last print of this line item is completed).Can be null if not completed yet or time can't be recognized. |
| has_custom_actuals | boolean |
If pieces were give custom workflows different from the line-item, they will not be in this math, and this value will be true. |
| line_item | URI |
The URI of the related line item |
| per_step_details | array |
List of aggregated actuals per each process steps of this line item. Example: '[{"per_piece_average": {}, "total": {}}]'
|
| start_in_progress_time | iso-8601 datetime |
When line item was started (status of first print was changed to in progress). |
| total_cost | float |
Sum of material or running cost if this line item. Null if material_cost and running_cost are empty |
| updated | iso-8601 datetime |
When line item actuals record was updated last time |
| uri | URI |
The URI of the line item actuals record. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested line item actuals cannot be found. |
| 405 |
|
Debugging API for listing Line Item Estimates. A Line Item Estimate contains the sum of workstation and labor duration of all the worksteps required to create every piece using the original Workflow for this entire line item"
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| labor_duration | timedelta |
Duration of manual labor needed to complete every piece in the entire line item using the original workflow |
| line_item | URI |
The URI of the line item this estimates relates to. |
| uri | URI |
The URI of the line-item-estimate record. |
| workstation_duration | timedelta |
Duration of workstation needed to complete every piece in the entire line item using the original workflow |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested line item estimate cannot be found. |
| 405 |
|
Debugging API for listing Line Item Estimates. A Line Item Estimate contains the sum of workstation and labor duration of all the worksteps required to create every piece using the original Workflow for this entire line item"
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| labor_duration | timedelta |
Duration of manual labor needed to complete every piece in the entire line item using the original workflow |
| line_item | URI |
The URI of the line item this estimates relates to. |
| uri | URI |
The URI of the line-item-estimate record. |
| workstation_duration | timedelta |
Duration of workstation needed to complete every piece in the entire line item using the original workflow |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested line item estimate cannot be found. |
| 405 |
|
/line-item-netfabb/
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Get a list of all Netfabb line items.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| action | string |
none available Choices
'"upload|download"'
|
| forge_folder_id | string |
none available |
| forge_project_id | string |
none available |
| last_action | string |
none available Choices
'"upload|download"'
|
| last_action_finished_at | iso-8601 datetime |
none available |
| last_action_started_at | iso-8601 datetime |
none available |
| last_action_status | string |
none available Choices
'"in_progress|complete|error"'
|
| line_item | URI |
The URI of the line-item for the netfab export. |
| netfabb_project_id | string |
none available |
| order | URI |
The URI of order the line-item belongs to. |
| uri | URI |
The URI of the Netfabb line item. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested netfab integration cannot be found. |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| action | string |
none available Required Choices
'"upload|download"'
|
| forge_folder_id | string |
none available Required |
| forge_project_id | string |
none available Required |
| last_action | string |
none available Required Choices
'"upload|download"'
|
| last_action_finished_at | iso-8601 datetime |
none available Required |
| last_action_started_at | iso-8601 datetime |
none available Required |
| last_action_status | string |
none available Required Choices
'"in_progress|complete|error"'
|
| line_item | URI |
The URI of the line-item for the netfab export. Required |
| netfabb_project_id | string |
none available Required |
| order | URI |
The URI of order the line-item belongs to. Default: None |
| uri | URI |
The URI of the Netfabb line item. Default: None |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested netfab integration cannot be found. |
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Get a Netfabb line item by UUID.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| action | string |
none available Choices
'"upload|download"'
|
| forge_folder_id | string |
none available |
| forge_project_id | string |
none available |
| last_action | string |
none available Choices
'"upload|download"'
|
| last_action_finished_at | iso-8601 datetime |
none available |
| last_action_started_at | iso-8601 datetime |
none available |
| last_action_status | string |
none available Choices
'"in_progress|complete|error"'
|
| line_item | URI |
The URI of the line-item for the netfab export. |
| netfabb_project_id | string |
none available |
| order | URI |
The URI of order the line-item belongs to. |
| uri | URI |
The URI of the Netfabb line item. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested netfab integration cannot be found. |
If order-quote is enabled, and 'quote-required' set on an Order or Line-Item, then a LineItemQuote is created automatically for the Line Item (or all line-items in the order).
The LineItemQuote is updated / created automatically as line-item data is changed by the backend, especially cost information. (AKA backend creates this, no API POST allowed). This update is tricky on workflow or process_step updates, but otherwise is pretty clear/simple.
If any _price_per is set /overridden by a user via API PUT, the user-set value for that specific workstep is 'sticky' and will always be the value set. IF the workstep is deleted or changed, the specific workstep data may be lost.
Again, A LineItemQuote object is created automatically as the parent Line line-item is updated (workflow changes, etc). This makes it a bit of an expensive endpoint to use.
TEMP DANGER NOTE: line-item['estimate']['total_price'] is affected/latered by this, (OLD ISSUE) as work_step details change, etc
AS OF THIS PR, 'total_price' is here (not in line-item['estimate']['total-price']) if 'quote-required' is set.
if a LineItemQuote exists (if the feature is enabled)Returns info about cost for each line_item's process step
HTTPS GET handler if no uuid provided (list)
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| line_item | URI |
Line Item for which should be calculated estimates. |
| manual_price_per | float |
Manually set price per entire line item instance, in bureau default currency. |
| public_notes | string |
Public notes to go on the end of the order quote for communicating to customer. |
| total_price_per | float |
Price per entire line item instance, in bureau default currency. |
| uri | URI |
Link to this exact LineItemQuote, for LIST or other functions |
| work_steps_quote_details | array |
List of line item's work_step_quote_details: info about how each line item's workflow process step should influence on the the calculation of line item's Example: ('[{"operation": "printing|post-processing|shipping", "additional_charges": '
'[{}], "updated": "2022-01-01T00:00:00.000000"}]')
|
| workflow | URI |
['The workflow this quote was genearted on. Note on a confirmed line-item, or reworked this may not match the current Line Item workflow. ', "Customers are billed on this line-item, it's not the active workflow."] |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
|
| 404 |
|
If order-quote is enabled, and 'quote-required' set on an Order or Line-Item, then a LineItemQuote is created automatically for the Line Item (or all line-items in the order).
The LineItemQuote is updated / created automatically as line-item data is changed by the backend, especially cost information. (AKA backend creates this, no API POST allowed). This update is tricky on workflow or process_step updates, but otherwise is pretty clear/simple.
If any _price_per is set /overridden by a user via API PUT, the user-set value for that specific workstep is 'sticky' and will always be the value set. IF the workstep is deleted or changed, the specific workstep data may be lost.
Again, A LineItemQuote object is created automatically as the parent Line line-item is updated (workflow changes, etc). This makes it a bit of an expensive endpoint to use.
TEMP DANGER NOTE: line-item['estimate']['total_price'] is affected/latered by this, (OLD ISSUE) as work_step details change, etc
AS OF THIS PR, 'total_price' is here (not in line-item['estimate']['total-price']) if 'quote-required' is set.
if a LineItemQuote exists (if the feature is enabled)Returns info about cost for each line_item's process step
HTTPS GET handler if uuid provided
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| line_item | URI |
Line Item for which should be calculated estimates. |
| manual_price_per | float |
Manually set price per entire line item instance, in bureau default currency. |
| public_notes | string |
Public notes to go on the end of the order quote for communicating to customer. |
| total_price_per | float |
Price per entire line item instance, in bureau default currency. |
| uri | URI |
Link to this exact LineItemQuote, for LIST or other functions |
| work_steps_quote_details | array |
List of line item's work_step_quote_details: info about how each line item's workflow process step should influence on the the calculation of line item's Example: ('[{"operation": "printing|post-processing|shipping", "additional_charges": '
'[{}], "updated": "2022-01-01T00:00:00.000000"}]')
|
| workflow | URI |
['The workflow this quote was genearted on. Note on a confirmed line-item, or reworked this may not match the current Line Item workflow. ', "Customers are billed on this line-item, it's not the active workflow."] |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
|
| 404 |
|
/line-item-report/
The line item report api is for exporting line item information of a given time range.
List all of the line item reports in the system for your account.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The bureau a report belongs to. |
| content | URL |
the download link for the document |
| created | iso-8601 datetime |
The date the report was created. |
| end | iso-8601 datetime |
the end datetime within which line items will be reported on. |
| start | iso-8601 datetime |
the start datetime within which line items will be reported on. |
| status | string |
Status of a report. Choices
'"pending|processing|complete|error"'
|
| uri | URI |
The URI of the report. |
| user | URI |
The URI of the user making the report. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested report cannot be found. |
Create a new line item report.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The bureau a report belongs to. Default: None |
| content | URL |
the download link for the document Default: None |
| created | iso-8601 datetime |
The date the report was created. Default: None |
| end | iso-8601 datetime |
the end datetime within which line items will be reported on. Required |
| start | iso-8601 datetime |
the start datetime within which line items will be reported on. Required |
| status | string |
Status of a report. Default: NoneChoices
'"pending|processing|complete|error"'
|
| uri | URI |
The URI of the report. Default: None |
| user | URI |
The URI of the user making the report. Default: None |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested report cannot be found. |
The line item report api is for exporting line item information of a given time range.
Get a single line item report by UUID.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The bureau a report belongs to. |
| content | URL |
the download link for the document |
| created | iso-8601 datetime |
The date the report was created. |
| end | iso-8601 datetime |
the end datetime within which line items will be reported on. |
| start | iso-8601 datetime |
the start datetime within which line items will be reported on. |
| status | string |
Status of a report. Choices
'"pending|processing|complete|error"'
|
| uri | URI |
The URI of the report. |
| user | URI |
The URI of the user making the report. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested report cannot be found. |
Return only those line items, that have at least one print without run and with created status.
This is read-only API designed for ADD RUN page.
List all of the line_item in the system for your account with prints available for a new run.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| additive | object |
none available Example: '{"materials": {}, "external_analysis": "nebumind"}'
|
| available_for_printer | URI |
Filter line-items available for manufacturing in specific printer. |
| available_quantity | integer |
The number of pieces available for run. |
| created | iso-8601 datetime |
The date the line-item was created. |
| dimensions | object |
Model dimensions. In API /model/ this field called as 'size' but in this API this word has another meaning. Example: '{}'
|
| estimates | object |
Estimates are for the whole line-item (multiple quantity). The print-time estimate is 'simple' assumes running one print after another in a row, on the same machine. Cost is assume in the bureau default currency if not set/flagged. Data is multiplied by quantity on the outgoing exit from the API. Example: '{"estimator": "authentise|shapeways|materialise|prosper|user"}'
|
| estimates_additive | object |
none available Example: '{"materials": {}}'
|
| estimates_powder | object |
none available Example: 'null'
|
| location | URI |
Location of attached order. |
| material | URI |
Not nested URI of base material for filtering. |
| material_name | string |
Name of material |
| name | string |
Human readable line-item name |
| order | URI |
The URI of order the line-item belongs to. |
| order_due_date | string |
The due date of line-item order |
| order_name | string |
The name of line-item's order. |
| powder | object |
none available Example: 'null'
|
| priority | integer |
The priority score for the line-item, in range 0-100, where 0 is the lowest priority and 100 is the highest priority |
| quantity | integer |
The number of objects to produce. |
| size | float |
This is base size of model in the machine volume: x * y * z. Logic taken from /print/ API for consistency. |
| status | string |
Status of an line-item. Choices
'"new|calculating_estimates|pending|in-preparation|confirmed|printing|post-processing|shipping|error|cancelled|complete"'
|
| type | string |
Type of the Line Item Choices
'"product"'
|
| updated | iso-8601 datetime |
The date when the line-item was updated |
| uri | URI |
The URI of the line-item. |
| workflow | URI |
The URI of workflow. |
| workflow_type | string |
none available Choices
'"additive_manufacturing|specimen|preparative|powder_manufacturing"'
|
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested line-item cannot be found. |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| additive | object |
none available Default: NoneExample: '{"materials": {}, "external_analysis": "nebumind"}'
|
| available_for_printer | URI |
Filter line-items available for manufacturing in specific printer. Required |
| available_quantity | integer |
The number of pieces available for run. Required |
| created | iso-8601 datetime |
The date the line-item was created. Required |
| dimensions | object |
Model dimensions. In API /model/ this field called as 'size' but in this API this word has another meaning. Required Example: '{}'
|
| estimates | object |
Estimates are for the whole line-item (multiple quantity). The print-time estimate is 'simple' assumes running one print after another in a row, on the same machine. Cost is assume in the bureau default currency if not set/flagged. Data is multiplied by quantity on the outgoing exit from the API. Required Example: '{"estimator": "authentise|shapeways|materialise|prosper|user"}'
|
| estimates_additive | object |
none available Default: NoneExample: '{"materials": {}}'
|
| estimates_powder | object |
none available Default: NoneExample: 'null'
|
| location | URI |
Location of attached order. Required |
| material | URI |
Not nested URI of base material for filtering. Required |
| material_name | string |
Name of material Required |
| name | string |
Human readable line-item name Required |
| order | URI |
The URI of order the line-item belongs to. Required |
| order_due_date | string |
The due date of line-item order Required |
| order_name | string |
The name of line-item's order. Required |
| powder | object |
none available Default: NoneExample: 'null'
|
| priority | integer |
The priority score for the line-item, in range 0-100, where 0 is the lowest priority and 100 is the highest priority Default: 65 |
| quantity | integer |
The number of objects to produce. Required |
| size | float |
This is base size of model in the machine volume: x * y * z. Logic taken from /print/ API for consistency. Required |
| status | string |
Status of an line-item. Required Choices
'"new|calculating_estimates|pending|in-preparation|confirmed|printing|post-processing|shipping|error|cancelled|complete"'
|
| type | string |
Type of the Line Item Required Choices
'"product"'
|
| updated | iso-8601 datetime |
The date when the line-item was updated Required |
| uri | URI |
The URI of the line-item. Required |
| workflow | URI |
The URI of workflow. Required |
| workflow_type | string |
none available Default: NoneChoices
'"additive_manufacturing|specimen|preparative|powder_manufacturing"'
|
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 404 |
The requested line-item cannot be found. |
Return only those line items, that have at least one print without run and with created status.
This is read-only API designed for ADD RUN page.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| additive | object |
none available Example: '{"materials": {}, "external_analysis": "nebumind"}'
|
| available_for_printer | URI |
Filter line-items available for manufacturing in specific printer. |
| available_quantity | integer |
The number of pieces available for run. |
| created | iso-8601 datetime |
The date the line-item was created. |
| dimensions | object |
Model dimensions. In API /model/ this field called as 'size' but in this API this word has another meaning. Example: '{}'
|
| estimates | object |
Estimates are for the whole line-item (multiple quantity). The print-time estimate is 'simple' assumes running one print after another in a row, on the same machine. Cost is assume in the bureau default currency if not set/flagged. Data is multiplied by quantity on the outgoing exit from the API. Example: '{"estimator": "authentise|shapeways|materialise|prosper|user"}'
|
| estimates_additive | object |
none available Example: '{"materials": {}}'
|
| estimates_powder | object |
none available Example: 'null'
|
| location | URI |
Location of attached order. |
| material | URI |
Not nested URI of base material for filtering. |
| material_name | string |
Name of material |
| name | string |
Human readable line-item name |
| order | URI |
The URI of order the line-item belongs to. |
| order_due_date | string |
The due date of line-item order |
| order_name | string |
The name of line-item's order. |
| powder | object |
none available Example: 'null'
|
| priority | integer |
The priority score for the line-item, in range 0-100, where 0 is the lowest priority and 100 is the highest priority |
| quantity | integer |
The number of objects to produce. |
| size | float |
This is base size of model in the machine volume: x * y * z. Logic taken from /print/ API for consistency. |
| status | string |
Status of an line-item. Choices
'"new|calculating_estimates|pending|in-preparation|confirmed|printing|post-processing|shipping|error|cancelled|complete"'
|
| type | string |
Type of the Line Item Choices
'"product"'
|
| updated | iso-8601 datetime |
The date when the line-item was updated |
| uri | URI |
The URI of the line-item. |
| workflow | URI |
The URI of workflow. |
| workflow_type | string |
none available Choices
'"additive_manufacturing|specimen|preparative|powder_manufacturing"'
|
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested line-item cannot be found. |
/line-item-workstep-cost-estimate/
A Line Item Workstep Cost Estimate contains the values relating to how much it costs to process the line item in one workstep.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| line_item | URI |
The URI of the line item this estimates relates to. |
| number_of_runs | integer |
['The number of times this post process step will run on this line item. Defaults to post-processor-type settings, can be overridden by user on the quote level. if not overridden, we will make an informed decision based on post processor properties such as batching strategy'] |
| overhead_cost_per_piece_in_run | float |
The non-recurring cost it takes to process one piece of this line item on this process step. |
| overhead_cost_per_run | float |
The non-recurring cost it takes to run this process step. |
| process_step | URI |
The URI of the process step this estimate relates to. |
| updated | iso-8601 datetime |
updated date of the line item workstep estimate Example: '"2022-01-01T00:00:00.000000"'
|
| updated_by | URI |
The user that last updated the estimate. |
| uri | URI |
The URI of the line-item-workstep-cost-estimate record. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested line item cost estimate cannot be found. |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| line_item | URI |
The URI of the line item this estimates relates to. Required |
| number_of_runs | integer |
['The number of times this post process step will run on this line item. Defaults to post-processor-type settings, can be overridden by user on the quote level. if not overridden, we will make an informed decision based on post processor properties such as batching strategy'] Required |
| overhead_cost_per_piece_in_run | float |
The non-recurring cost it takes to process one piece of this line item on this process step. Required |
| overhead_cost_per_run | float |
The non-recurring cost it takes to run this process step. Required |
| process_step | URI |
The URI of the process step this estimate relates to. Required |
| updated | iso-8601 datetime |
updated date of the line item workstep estimate Default: NoneExample: '"2022-01-01T00:00:00.000000"'
|
| updated_by | URI |
The user that last updated the estimate. Required |
| uri | URI |
The URI of the line-item-workstep-cost-estimate record. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested line item cost estimate cannot be found. |
A Line Item Workstep Cost Estimate contains the values relating to how much it costs to process the line item in one workstep.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| line_item | URI |
The URI of the line item this estimates relates to. |
| number_of_runs | integer |
['The number of times this post process step will run on this line item. Defaults to post-processor-type settings, can be overridden by user on the quote level. if not overridden, we will make an informed decision based on post processor properties such as batching strategy'] |
| overhead_cost_per_piece_in_run | float |
The non-recurring cost it takes to process one piece of this line item on this process step. |
| overhead_cost_per_run | float |
The non-recurring cost it takes to run this process step. |
| process_step | URI |
The URI of the process step this estimate relates to. |
| updated | iso-8601 datetime |
updated date of the line item workstep estimate Example: '"2022-01-01T00:00:00.000000"'
|
| updated_by | URI |
The user that last updated the estimate. |
| uri | URI |
The URI of the line-item-workstep-cost-estimate record. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested line item cost estimate cannot be found. |
/line-item-workstep-estimate/
A Line Item Workstep Estimate contains the labor and workstation processing duration of one line item on a workstation.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| labor_duration | timedelta |
Duration of manual labor needed to complete this process step |
| line_item | URI |
The URI of the line item this estimates relates to. |
| process_step | URI |
The URI of the process step this estimate relates to. |
| updated | iso-8601 datetime |
updated date of the line item workstep estimate Example: '"2022-01-01T00:00:00.000000"'
|
| updated_by | URI |
The user that last updated the estimate. |
| uri | URI |
The URI of the line-item-estimate record. |
| workstation_duration | timedelta |
Duration for a single piece of this line-item to complete this process step |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested line item estimate cannot be found. |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| labor_duration | timedelta |
Duration of manual labor needed to complete this process step Required |
| line_item | URI |
The URI of the line item this estimates relates to. Required |
| process_step | URI |
The URI of the process step this estimate relates to. Required |
| updated | iso-8601 datetime |
updated date of the line item workstep estimate Default: NoneExample: '"2022-01-01T00:00:00.000000"'
|
| updated_by | URI |
The user that last updated the estimate. Required |
| uri | URI |
The URI of the line-item-estimate record. Required |
| workstation_duration | timedelta |
Duration for a single piece of this line-item to complete this process step Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested line item estimate cannot be found. |
A Line Item Workstep Estimate contains the labor and workstation processing duration of one line item on a workstation.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| labor_duration | timedelta |
Duration of manual labor needed to complete this process step |
| line_item | URI |
The URI of the line item this estimates relates to. |
| process_step | URI |
The URI of the process step this estimate relates to. |
| updated | iso-8601 datetime |
updated date of the line item workstep estimate Example: '"2022-01-01T00:00:00.000000"'
|
| updated_by | URI |
The user that last updated the estimate. |
| uri | URI |
The URI of the line-item-estimate record. |
| workstation_duration | timedelta |
Duration for a single piece of this line-item to complete this process step |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested line item estimate cannot be found. |
/line-item/
A line-item is a request for a single model to be printed one or more times in a single material. Line-items are used to build up orders and include multiple requests in a single order for things to be built. Line-items are also used to track the status of parts of an order as well as estimate parts of an order. Note that the estimates are simply that - an estimate of the internal costs to manufacture/design. Estimates are NOT the external pricing we charge clients. For pricing information, the quoting systems are used (see ../costs_vs_prices_overview.md)
In general a client will specify the bureau, model, materials, quantity and workflow to be used for the line-item. Other fields are populated by the system as calculations are performed and the order moves through the system towards completion
List all of the line_item in the system for your account. If you don't provide a "type" filter(ex: ?filter[type]=product), a default filter of type "product" will be applied automatically. If you want to list items of any other type you will need to override this default by providing a type filter(see EndUseType in constants.py for possible line-item types). For instance, to find specimen line-items (aka ghost line items) you will need to use the following filter ?filter[type]=specimen.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| additional_costs | array |
A list of manually added additional costs. Example: '[{}]'
|
| additive | object |
none available Example: '{"materials": {}, "external_analysis": "nebumind"}'
|
| assigned_user | URI |
The URI of the assigned user. |
| autorun | boolean |
Enables automatic creation of runs for this line item. |
| bureau | URI |
The URI of bureau the line-item belongs to. |
| completed_quantity | integer |
The number of objects that finished production(pieces with status: complete). |
| created | iso-8601 datetime |
The date the line-item was created. |
| custom_field_values | array |
none available Example: '[{}]'
|
| customer_id | string |
Human readable alpha-numeric, customer defined ID |
| design_time | timedelta |
Time which can take bureau for design review in seconds. Only used if feature order-quote enabled |
| error | string |
none available |
| estimates | object |
Estimates are for the whole line-item (for the whole quantity). The printing time estimate is 'simple' assumes running one print after another in a row, on the same machine. The post-processing cost assumes the worst scenario when each print run on a different machine. Cost is assume in the bureau default currency if not set/flagged. Example: '{"estimator": "authentise|shapeways|materialise|prosper|user"}'
|
| estimates_additive | object |
none available Example: '{"materials": {}}'
|
| estimates_powder | object |
none available Example: 'null'
|
| is_relevant_estimation | boolean |
If set to True, during this update, re-create line-item-estimate based on new data. If False, leave it as it was |
| name | string |
Human readable line-item name |
| notes | string |
Notes for a line item. |
| order | URI |
The URI of order the line-item belongs to. |
| piece_count | integer |
The total number of pieces related to this line-item for its current run. |
| powder | object |
none available Example: 'null'
|
| prep_workflow | URI |
The URI of prep workflow. |
| priority | integer |
The priority score for the line-item, in range 0-100, where 0 is the lowest priority and 100 is the highest priority |
| product | URI |
The URI of assigned product. Can be null for type != product and for line items without order assigned (they can't be used for runs, see ch29363 for details). Required for POST |
| quantity | integer |
The number of objects to attempt production. Not all of them may complete production |
| status | string |
Status of an line-item. Choices
'"new|calculating_estimates|pending|in-preparation|confirmed|printing|post-processing|shipping|error|cancelled|complete"'
|
| type | string |
Type of the Line Item. Filter defaults to 'product' on a LIST if type filter not explicitly provided Choices
'"product|specimen|waste|tooling"'
|
| uri | URI |
The URI of the line-item. |
| workflow | URI |
The URI of workflow to produce these items using. |
| workflow_type | string |
none available Choices
'"additive_manufacturing|specimen|preparative|powder_manufacturing"'
|
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
The quantity value is too low or too high The model does not seem printable Either supply a model uri, or set no_model_upload to True. You cannot do both, and you cannot do neither. An line-item with prints that are associated with a run cannot be deleted Provided status transformation is not allowed Template is required for the line-item. If an order quote are enabled, the parent order's quote must be acceptedbefore child line item status is set to confirmed or equivalent status. Workflow related to the line_item, with type additive_manufacturing, must have an associated printer_type
|
| 404 |
The requested line-item cannot be found. |
| 405 |
|
Create a new line_item for HTTP POST.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| additional_costs | array |
A list of manually added additional costs. Required Example: '[{}]'
|
| additive | object |
none available Default: NoneExample: '{"materials": {}, "external_analysis": "nebumind"}'
|
| assigned_user | URI |
The URI of the assigned user. Default: None |
| autorun | boolean |
Enables automatic creation of runs for this line item. Default: False |
| bureau | URI |
The URI of bureau the line-item belongs to. Required |
| completed_quantity | integer |
The number of objects that finished production(pieces with status: complete). Required |
| created | iso-8601 datetime |
The date the line-item was created. Default: None |
| custom_field_values | array |
none available Default: NoneExample: '[{}]'
|
| customer_id | string |
Human readable alpha-numeric, customer defined ID Default: None |
| design_time | timedelta |
Time which can take bureau for design review in seconds. Only used if feature order-quote enabled Default: None |
| error | string |
none available Default: None |
| estimates | object |
Estimates are for the whole line-item (for the whole quantity). The printing time estimate is 'simple' assumes running one print after another in a row, on the same machine. The post-processing cost assumes the worst scenario when each print run on a different machine. Cost is assume in the bureau default currency if not set/flagged. Default: NoneExample: '{"estimator": "authentise|shapeways|materialise|prosper|user"}'
|
| estimates_additive | object |
none available Default: NoneExample: '{"materials": {}}'
|
| estimates_powder | object |
none available Default: NoneExample: 'null'
|
| is_relevant_estimation | boolean |
If set to True, during this update, re-create line-item-estimate based on new data. If False, leave it as it was Default: True |
| name | string |
Human readable line-item name Default: None |
| notes | string |
Notes for a line item. Default: None |
| order | URI |
The URI of order the line-item belongs to. Required |
| piece_count | integer |
The total number of pieces related to this line-item for its current run. Required |
| powder | object |
none available Default: NoneExample: 'null'
|
| prep_workflow | URI |
The URI of prep workflow. Default: None |
| priority | integer |
The priority score for the line-item, in range 0-100, where 0 is the lowest priority and 100 is the highest priority Default: 65 |
| product | URI |
The URI of assigned product. Can be null for type != product and for line items without order assigned (they can't be used for runs, see ch29363 for details). Required for POST Required |
| quantity | integer |
The number of objects to attempt production. Not all of them may complete production Required |
| status | string |
Status of an line-item. Default: NoneChoices
'"new|calculating_estimates|pending|in-preparation|confirmed|printing|post-processing|shipping|error|cancelled|complete"'
|
| type | string |
Type of the Line Item. Filter defaults to 'product' on a LIST if type filter not explicitly provided Default: NoneChoices
'"product|specimen|waste|tooling"'
|
| uri | URI |
The URI of the line-item. Default: None |
| workflow | URI |
The URI of workflow to produce these items using. Default: None |
| workflow_type | string |
none available Default: NoneChoices
'"additive_manufacturing|specimen|preparative|powder_manufacturing"'
|
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
The quantity value is too low or too high The model does not seem printable Either supply a model uri, or set no_model_upload to True. You cannot do both, and you cannot do neither. An line-item with prints that are associated with a run cannot be deleted Provided status transformation is not allowed Template is required for the line-item. If an order quote are enabled, the parent order's quote must be acceptedbefore child line item status is set to confirmed or equivalent status. Workflow related to the line_item, with type additive_manufacturing, must have an associated printer_type
|
| 404 |
The requested line-item cannot be found. |
| 405 |
|
/line-item//clone/
Based on line_item_uuid (target line item) received in URL, copy line-item and attach it to the target line-item's order.
Additionally, copy next resources (if they exists)::
- all required permissions;
- related documents (additional line item's documents);
- latest quote (db:quote);
- `line_item_quote` with related `line_item_work_step_quote_details`;
- custom line_item-level workflow (if target line item has custom workflow).
TODO:
Important note: temporary cloning related product + line_item while API for /product/
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| quantity | integer |
The number of pieces to produce in this clone. If not found, the original line-item's quantity will be used instead. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested line item cannot be found. |
This is an internal API that is used by the estimation and slicing system to report back the status of the estimation process
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| error | string |
none available Default: None |
| slice_time_ms | integer |
none available Default: 0 |
| slicing_uri | URL |
none available Required |
| status | string |
none available Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 404 |
The requested line item cannot be found. |
A line-item is a request for a single model to be printed one or more times in a single material. Line-items are used to build up orders and include multiple requests in a single order for things to be built. Line-items are also used to track the status of parts of an order as well as estimate parts of an order. Note that the estimates are simply that - an estimate of the internal costs to manufacture/design. Estimates are NOT the external pricing we charge clients. For pricing information, the quoting systems are used (see ../costs_vs_prices_overview.md)
In general a client will specify the bureau, model, materials, quantity and workflow to be used for the line-item. Other fields are populated by the system as calculations are performed and the order moves through the system towards completion
Get a single line_item by UUID.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| additional_costs | array |
A list of manually added additional costs. Example: '[{}]'
|
| additive | object |
none available Example: '{"materials": {}, "external_analysis": "nebumind"}'
|
| assigned_user | URI |
The URI of the assigned user. |
| autorun | boolean |
Enables automatic creation of runs for this line item. |
| bureau | URI |
The URI of bureau the line-item belongs to. |
| completed_quantity | integer |
The number of objects that finished production(pieces with status: complete). |
| created | iso-8601 datetime |
The date the line-item was created. |
| custom_field_values | array |
none available Example: '[{}]'
|
| customer_id | string |
Human readable alpha-numeric, customer defined ID |
| design_time | timedelta |
Time which can take bureau for design review in seconds. Only used if feature order-quote enabled |
| error | string |
none available |
| estimates | object |
Estimates are for the whole line-item (for the whole quantity). The printing time estimate is 'simple' assumes running one print after another in a row, on the same machine. The post-processing cost assumes the worst scenario when each print run on a different machine. Cost is assume in the bureau default currency if not set/flagged. Example: '{"estimator": "authentise|shapeways|materialise|prosper|user"}'
|
| estimates_additive | object |
none available Example: '{"materials": {}}'
|
| estimates_powder | object |
none available Example: 'null'
|
| is_relevant_estimation | boolean |
If set to True, during this update, re-create line-item-estimate based on new data. If False, leave it as it was |
| name | string |
Human readable line-item name |
| notes | string |
Notes for a line item. |
| order | URI |
The URI of order the line-item belongs to. |
| piece_count | integer |
The total number of pieces related to this line-item for its current run. |
| powder | object |
none available Example: 'null'
|
| prep_workflow | URI |
The URI of prep workflow. |
| priority | integer |
The priority score for the line-item, in range 0-100, where 0 is the lowest priority and 100 is the highest priority |
| product | URI |
The URI of assigned product. Can be null for type != product and for line items without order assigned (they can't be used for runs, see ch29363 for details). Required for POST |
| quantity | integer |
The number of objects to attempt production. Not all of them may complete production |
| status | string |
Status of an line-item. Choices
'"new|calculating_estimates|pending|in-preparation|confirmed|printing|post-processing|shipping|error|cancelled|complete"'
|
| type | string |
Type of the Line Item. Filter defaults to 'product' on a LIST if type filter not explicitly provided Choices
'"product|specimen|waste|tooling"'
|
| uri | URI |
The URI of the line-item. |
| workflow | URI |
The URI of workflow to produce these items using. |
| workflow_type | string |
none available Choices
'"additive_manufacturing|specimen|preparative|powder_manufacturing"'
|
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
The quantity value is too low or too high The model does not seem printable Either supply a model uri, or set no_model_upload to True. You cannot do both, and you cannot do neither. An line-item with prints that are associated with a run cannot be deleted Provided status transformation is not allowed Template is required for the line-item. If an order quote are enabled, the parent order's quote must be acceptedbefore child line item status is set to confirmed or equivalent status. Workflow related to the line_item, with type additive_manufacturing, must have an associated printer_type
|
| 404 |
The requested line-item cannot be found. |
| 405 |
|
/line-items-by-run/
This API resource is a READ-ONLY helper/summary endpoint that supports
the alternative run-record view mode called line-item (in contrast to piece mode). This view mode shows the
build plate organized by the line-item and the number of pieces being fulfilled
by the specific run. This mode gives you less granular control to select specific pieces, but
provides a more convenient user experience for clients working with very large runs.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| line_item | URI |
The URI of line_item |
| original_piece_quantity | integer |
Subset of the total_piece_quantity that match the original line-item workflow planning. (Line-item[workflow]=piece[workflow]) |
| run | URI |
The URI for the run this piece is associated with |
| total_piece_quantity | integer |
The count of the total amount of pieces for this line-item on this particular run |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| line_item | URI |
The URI of line_item Required |
| original_piece_quantity | integer |
Subset of the total_piece_quantity that match the original line-item workflow planning. (Line-item[workflow]=piece[workflow]) Required |
| run | URI |
The URI for the run this piece is associated with Required |
| total_piece_quantity | integer |
The count of the total amount of pieces for this line-item on this particular run Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
This API resource is a READ-ONLY helper/summary endpoint that supports
the alternative run-record view mode called line-item (in contrast to piece mode). This view mode shows the
build plate organized by the line-item and the number of pieces being fulfilled
by the specific run. This mode gives you less granular control to select specific pieces, but
provides a more convenient user experience for clients working with very large runs.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| line_item | URI |
The URI of line_item |
| original_piece_quantity | integer |
Subset of the total_piece_quantity that match the original line-item workflow planning. (Line-item[workflow]=piece[workflow]) |
| run | URI |
The URI for the run this piece is associated with |
| total_piece_quantity | integer |
The count of the total amount of pieces for this line-item on this particular run |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
/location-settings/
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| location | URI |
The URI of the location the settings belongs to. |
| notification_line_items_confirmed | boolean |
Indicates whether location contacts at this location should receive email notification when all line items in an order at this location are confirmed. |
| notification_order_completed | boolean |
Indicates whether location contacts at this location should receive email notification when an order at this location has been completed. |
| notification_order_created | boolean |
Indicates whether location contacts at this location should receive email notification when an order is created and assigned to this location. |
| notification_order_owner | boolean |
Indicates whether location contacts at this location should receive email notification when an order is created with owner and assigned to this location. |
| notification_order_scheduled | boolean |
Indicates whether location contacts at this location should receive email notification when all objects in an order at this location have been scheduled. |
| notification_order_shipped | boolean |
Indicates whether location contacts at this location should receive email notification when an order is shipped and assigned to this location. |
| notification_order_started_printing | boolean |
Indicates whether location contacts at this location should receive email notification when the first line item in an order at this location starts printing. |
| notification_print_error | boolean |
Indicates whether location contacts at this location should receive email notification when printing fails for any object in an order at this location. |
| uri | URI |
The URI of the location-settings resource. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
|
| 405 |
|
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| location | URI |
The URI of the location the settings belongs to. Required |
| notification_line_items_confirmed | boolean |
Indicates whether location contacts at this location should receive email notification when all line items in an order at this location are confirmed. Default: False |
| notification_order_completed | boolean |
Indicates whether location contacts at this location should receive email notification when an order at this location has been completed. Default: False |
| notification_order_created | boolean |
Indicates whether location contacts at this location should receive email notification when an order is created and assigned to this location. Default: False |
| notification_order_owner | boolean |
Indicates whether location contacts at this location should receive email notification when an order is created with owner and assigned to this location. Default: False |
| notification_order_scheduled | boolean |
Indicates whether location contacts at this location should receive email notification when all objects in an order at this location have been scheduled. Default: False |
| notification_order_shipped | boolean |
Indicates whether location contacts at this location should receive email notification when an order is shipped and assigned to this location. Default: False |
| notification_order_started_printing | boolean |
Indicates whether location contacts at this location should receive email notification when the first line item in an order at this location starts printing. Default: False |
| notification_print_error | boolean |
Indicates whether location contacts at this location should receive email notification when printing fails for any object in an order at this location. Default: False |
| uri | URI |
The URI of the location-settings resource. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 404 |
|
| 405 |
|
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| location | URI |
The URI of the location the settings belongs to. |
| notification_line_items_confirmed | boolean |
Indicates whether location contacts at this location should receive email notification when all line items in an order at this location are confirmed. |
| notification_order_completed | boolean |
Indicates whether location contacts at this location should receive email notification when an order at this location has been completed. |
| notification_order_created | boolean |
Indicates whether location contacts at this location should receive email notification when an order is created and assigned to this location. |
| notification_order_owner | boolean |
Indicates whether location contacts at this location should receive email notification when an order is created with owner and assigned to this location. |
| notification_order_scheduled | boolean |
Indicates whether location contacts at this location should receive email notification when all objects in an order at this location have been scheduled. |
| notification_order_shipped | boolean |
Indicates whether location contacts at this location should receive email notification when an order is shipped and assigned to this location. |
| notification_order_started_printing | boolean |
Indicates whether location contacts at this location should receive email notification when the first line item in an order at this location starts printing. |
| notification_print_error | boolean |
Indicates whether location contacts at this location should receive email notification when printing fails for any object in an order at this location. |
| uri | URI |
The URI of the location-settings resource. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
|
| 405 |
|
/location/
Locations are normally set up shortly after a bureau. This is because several other resources need to have a location defined
in order to create them such as printers. The location identifies an office where a bureau might maintain stock or process
orders from customers or ship out finished goods.
List all of the locations in the system for your account.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| address | string |
The address of the location. |
| admin_group | URI |
The URI of the user admin group. |
| bureau | URI |
The URI of the bureau. |
| contact | URI |
The URI of the user that will be the contact of the location. |
| countries_served | array |
list of country codes served by this manufacturing location Example: '["..."]'
|
| name | string |
The name of the location. |
| order_completion_note | string |
Text to append to order completion email when an order assigned to this location is completed. |
| phone | string |
The phone of the location. |
| standard_group | URI |
The URI of the user standard group. |
| uri | URI |
The URI of the location. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
You cannot change a location's group. The requested location name already exists. The requested location name already exists. Could not delete location's group.
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested location cannot be found. |
Create a new location.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| address | string |
The address of the location. Required |
| admin_group | URI |
The URI of the user admin group. Default: None |
| bureau | URI |
The URI of the bureau. Required |
| contact | URI |
The URI of the user that will be the contact of the location. Default: None |
| countries_served | array |
list of country codes served by this manufacturing location Default: NoneExample: '["..."]'
|
| name | string |
The name of the location. Required |
| order_completion_note | string |
Text to append to order completion email when an order assigned to this location is completed. Default: |
| phone | string |
The phone of the location. Default: None |
| standard_group | URI |
The URI of the user standard group. Default: None |
| uri | URI |
The URI of the location. Default: None |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
You cannot change a location's group. The requested location name already exists. The requested location name already exists. Could not delete location's group.
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested location cannot be found. |
Locations are normally set up shortly after a bureau. This is because several other resources need to have a location defined
in order to create them such as printers. The location identifies an office where a bureau might maintain stock or process
orders from customers or ship out finished goods.
Get a single location by UUID.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| address | string |
The address of the location. |
| admin_group | URI |
The URI of the user admin group. |
| bureau | URI |
The URI of the bureau. |
| contact | URI |
The URI of the user that will be the contact of the location. |
| countries_served | array |
list of country codes served by this manufacturing location Example: '["..."]'
|
| name | string |
The name of the location. |
| order_completion_note | string |
Text to append to order completion email when an order assigned to this location is completed. |
| phone | string |
The phone of the location. |
| standard_group | URI |
The URI of the user standard group. |
| uri | URI |
The URI of the location. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
You cannot change a location's group. The requested location name already exists. The requested location name already exists. Could not delete location's group.
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested location cannot be found. |
/logs/
Logging API for Echo App
Overview: This logging API is specifically designed to serve as a log sink for the Echo app. It provides a centralized endpoint where Echo can send its application-level logs for debugging/visibility.
Purpose: The primary purpose of this logging API is to collect and manage debug-level logs generated by the Echo application.
Echo's Multi-Sink Logging Strategy: Besides this API endpoint, the Echo application logs its output to two additional sinks: 1. Sentry: Used exclusively for critical errors. This ensures that high-severity issues are quickly captured and reported. However, Sentry is not used for debug-level logs due to quota limitations. 2. Local File: Logs are also saved locally on the user's desktop. This serves two purposes: - Backup for Nautilus Logging: In case logs can't be sent to this API endpoint, they are safely stored locally. - Pre-Login Logging: Logs generated before the user logs in are stored locally, as the API endpoint is not accessible until the user has successfully logged in.
Why Use This API Instead of Sentry for Debug Logs? Debug-level logs can quickly consume our entire Sentry quota, making it unmanageable to process and monitor logs effectively. Instead, this API endpoint allows for structured and searchable storage of debug logs without overwhelming our logging resources.
Disclaimer: Echo will not be able to send logs to this API endpoint until the user logs in. Until then, logs will be stored locally on the user's desktop.
How Echo App Uses This API: - Log Sink: Echo app uses this API as a log sink, sending all its application-level logs here. - Log Level: Logs sent by Echo are expected to be debug-level logs. - Batching Logs: Echo batches logs into groups and sends them at set intervals, rather than sending each log individually.
Log Structure: The logs sent by Echo are structured to be easily searchable, including: - Log Level: The severity of the log (e.g., DEBUG, INFO, WARN, ERROR). For Echo, typically set to DEBUG. - Timestamp: The exact time the log was generated. - Message: The actual log message. - Echo Version: The version of the Echo application that generated the log. - Workstation Name: The name of the machine where Echo is running. - User UUID: The user logged in when the log was generated.
Logs should be: - Searchable: The structured format makes it easy to filter and search logs based on specific criteria. - Contextualized: Detailed contextual information like Echo version and workstation name makes logs more informative.
Important Note: All logs, regardless of their original severity (e.g., ERROR, WARNING), will be logged as INFO on the server to prevent critical and error logs from being sent to Sentry. The original log level will be appended to the log message for context.
Receive a batch of log entries and process them.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| echo_version | string |
The version of the Echo application. Default: None |
| logs | array |
A list of log entries to be processed. Required Example: '[{}]'
|
| workstation_name | string |
The name of the workstation sending the logs. Default: None |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
The payload provided is not valid. |
/logs/{uuid}/
Logging API for Echo App
Overview: This logging API is specifically designed to serve as a log sink for the Echo app. It provides a centralized endpoint where Echo can send its application-level logs for debugging/visibility.
Purpose: The primary purpose of this logging API is to collect and manage debug-level logs generated by the Echo application.
Echo's Multi-Sink Logging Strategy: Besides this API endpoint, the Echo application logs its output to two additional sinks: 1. Sentry: Used exclusively for critical errors. This ensures that high-severity issues are quickly captured and reported. However, Sentry is not used for debug-level logs due to quota limitations. 2. Local File: Logs are also saved locally on the user's desktop. This serves two purposes: - Backup for Nautilus Logging: In case logs can't be sent to this API endpoint, they are safely stored locally. - Pre-Login Logging: Logs generated before the user logs in are stored locally, as the API endpoint is not accessible until the user has successfully logged in.
Why Use This API Instead of Sentry for Debug Logs? Debug-level logs can quickly consume our entire Sentry quota, making it unmanageable to process and monitor logs effectively. Instead, this API endpoint allows for structured and searchable storage of debug logs without overwhelming our logging resources.
Disclaimer: Echo will not be able to send logs to this API endpoint until the user logs in. Until then, logs will be stored locally on the user's desktop.
How Echo App Uses This API: - Log Sink: Echo app uses this API as a log sink, sending all its application-level logs here. - Log Level: Logs sent by Echo are expected to be debug-level logs. - Batching Logs: Echo batches logs into groups and sends them at set intervals, rather than sending each log individually.
Log Structure: The logs sent by Echo are structured to be easily searchable, including: - Log Level: The severity of the log (e.g., DEBUG, INFO, WARN, ERROR). For Echo, typically set to DEBUG. - Timestamp: The exact time the log was generated. - Message: The actual log message. - Echo Version: The version of the Echo application that generated the log. - Workstation Name: The name of the machine where Echo is running. - User UUID: The user logged in when the log was generated.
Logs should be: - Searchable: The structured format makes it easy to filter and search logs based on specific criteria. - Contextualized: Detailed contextual information like Echo version and workstation name makes logs more informative.
Important Note: All logs, regardless of their original severity (e.g., ERROR, WARNING), will be logged as INFO on the server to prevent critical and error logs from being sent to Sentry. The original log level will be appended to the log message for context.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| echo_version | string |
The version of the Echo application. |
| logs | array |
A list of log entries to be processed. Example: '[{}]'
|
| workstation_name | string |
The name of the workstation sending the logs. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
The payload provided is not valid. |
/machine-job-file/
When sending a test command to printer, the printer will need to know what file to print. This is the resource that stores the file.
This is only for testing command purposes. For automated push-to-print commands we will be using the build-file resource
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau |
| content | URL |
The URL of the file if one has been uploaded. |
| uri | URI |
The uri for the machine_job_file resource |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau Required |
| content | URL |
The URL of the file if one has been uploaded. Required |
| uri | URI |
The uri for the machine_job_file resource Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
When sending a test command to printer, the printer will need to know what file to print. This is the resource that stores the file.
This is only for testing command purposes. For automated push-to-print commands we will be using the build-file resource
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau |
| content | URL |
The URL of the file if one has been uploaded. |
| uri | URI |
The uri for the machine_job_file resource |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
/manufacturer/
A manufacturer represents an organization that creates a printer. This allows the system to keep track of what organization makes the printer to group printers with similar capabilities, support contracts and sales contacts together for convenience
Without filters - list all of the manufacturers in the system for user's bureau.
By default - will return all records for Bureau and exclude all templates.
If passed is_template == True - will will return only shared between bureaus records
and will exclude manufacturers for current user bureau.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| address | string |
The address of the manufacturer. |
| base_template | URI |
Indicates the URI of Manufacture (from the shared library with |
| contact | object |
The user that will be the contact of the manufacturer. Example: '{}'
|
| custom_field_values | array |
none available Example: '[{}]'
|
| is_template | boolean |
Indicates, that this |
| name | string |
The name of the manufacturer. |
| notes | string |
Notes about manufacturer. |
| support | object |
The user that will be the support contact of the manufacturer. Example: '{}'
|
| uri | URI |
The URI of the manufacturer. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
The requested manufacturer name already exists.
|
| 403 |
Modification of template manufacturer not allowed via API. You are not authorized to complete the request. |
| 404 |
The requested manufacturer cannot be found. |
Create a new manufacturer.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| address | string |
The address of the manufacturer. Required |
| base_template | URI |
Indicates the URI of Manufacture (from the shared library with Required |
| contact | object |
The user that will be the contact of the manufacturer. Required Example: '{}'
|
| custom_field_values | array |
none available Default: NoneExample: '[{}]'
|
| is_template | boolean |
Indicates, that this Required |
| name | string |
The name of the manufacturer. Required |
| notes | string |
Notes about manufacturer. Required |
| support | object |
The user that will be the support contact of the manufacturer. Required Example: '{}'
|
| uri | URI |
The URI of the manufacturer. Default: None |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
The requested manufacturer name already exists.
|
| 403 |
Modification of template manufacturer not allowed via API. You are not authorized to complete the request. |
| 404 |
The requested manufacturer cannot be found. |
A manufacturer represents an organization that creates a printer. This allows the system to keep track of what organization makes the printer to group printers with similar capabilities, support contracts and sales contacts together for convenience
Get a single manufacturer by UUID. Template (shared) manufacturers not available here - only bureau level.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| address | string |
The address of the manufacturer. |
| base_template | URI |
Indicates the URI of Manufacture (from the shared library with |
| contact | object |
The user that will be the contact of the manufacturer. Example: '{}'
|
| custom_field_values | array |
none available Example: '[{}]'
|
| is_template | boolean |
Indicates, that this |
| name | string |
The name of the manufacturer. |
| notes | string |
Notes about manufacturer. |
| support | object |
The user that will be the support contact of the manufacturer. Example: '{}'
|
| uri | URI |
The URI of the manufacturer. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
The requested manufacturer name already exists.
|
| 403 |
Modification of template manufacturer not allowed via API. You are not authorized to complete the request. |
| 404 |
The requested manufacturer cannot be found. |
/material-batch-action-transaction/
Transactions are created as a side-effect of creating deferred builds. Every transaction targets a specific material-batch and material-batch-action.
They are specifically designed to work with mline material containers, but can be expanded in the future to other types of deferred modular workflows.
See docs/core_features/transaction_amendment_limitations.md for detailed information about transaction editability.
File: nautilus/api/material_batch_transaction.py
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| container | URI |
Snapshot of the container holding the material-batch at the time the transaction was created. |
| container_type | string |
Snapshot of the container type for the container. Container Types are subject to reclassification so we need to storethis data at the time of creation otherwise we risk stale data/confusion. Choices
'"disposable|permanent|dose|overflow|build|cyclone"'
|
| external_build_id | string |
The external identifier used by an external MES to keep track of the build. |
| initial_quantity_available | float |
This represents the amount of material available for transactions related to the parent_batch_action. Typicallythis is the summation of the material quantity in the dose batch - at the time of the build - and any materialpre-loaded in the build module. |
| initial_reconciled_time | iso-8601 datetime |
Records the initial reconciliation time of a transaction. This value remains unchanged in subsequent updates. |
| is_complete | boolean |
False if transaction is still waiting to be reconciled. |
| is_editable | boolean |
Indicates if a transaction can be updated based on a valid update window. |
| material_batch | URI |
The material-batch that has a transaction associated with it. |
| material_batch_action | URI |
The deferred action that is waiting to be fulfilled at a later date. |
| parent_batch_action | URI |
This is the batch-action that was initially triggered. As a result of this parent batch action this transaction was created. Typically this is the deferred_modular_build action. |
| parent_transaction | URI |
This is used to link the material-batch-actions associated with a build(s). Without this we won't be able to find the related transactions associated with a particular module. |
| quantity | float |
The amount of material used in the deferred action |
| reconciled_at | URI |
The URI of the MLine MHS used to reconcile this transaction. This is needed to validate the update window. |
| uri | URI |
The URI of the material batch transaction. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested record cannot be found. |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| container | URI |
Snapshot of the container holding the material-batch at the time the transaction was created. Required |
| container_type | string |
Snapshot of the container type for the container. Container Types are subject to reclassification so we need to storethis data at the time of creation otherwise we risk stale data/confusion. Required Choices
'"disposable|permanent|dose|overflow|build|cyclone"'
|
| external_build_id | string |
The external identifier used by an external MES to keep track of the build. Required |
| initial_quantity_available | float |
This represents the amount of material available for transactions related to the parent_batch_action. Typicallythis is the summation of the material quantity in the dose batch - at the time of the build - and any materialpre-loaded in the build module. Required |
| initial_reconciled_time | iso-8601 datetime |
Records the initial reconciliation time of a transaction. This value remains unchanged in subsequent updates. Required |
| is_complete | boolean |
False if transaction is still waiting to be reconciled. Required |
| is_editable | boolean |
Indicates if a transaction can be updated based on a valid update window. Required |
| material_batch | URI |
The material-batch that has a transaction associated with it. Required |
| material_batch_action | URI |
The deferred action that is waiting to be fulfilled at a later date. Required |
| parent_batch_action | URI |
This is the batch-action that was initially triggered. As a result of this parent batch action this transaction was created. Typically this is the deferred_modular_build action. Required |
| parent_transaction | URI |
This is used to link the material-batch-actions associated with a build(s). Without this we won't be able to find the related transactions associated with a particular module. Required |
| quantity | float |
The amount of material used in the deferred action Required |
| reconciled_at | URI |
The URI of the MLine MHS used to reconcile this transaction. This is needed to validate the update window. Required |
| uri | URI |
The URI of the material batch transaction. Default: None |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested record cannot be found. |
Transactions are created as a side-effect of creating deferred builds. Every transaction targets a specific material-batch and material-batch-action.
They are specifically designed to work with mline material containers, but can be expanded in the future to other types of deferred modular workflows.
See docs/core_features/transaction_amendment_limitations.md for detailed information about transaction editability.
File: nautilus/api/material_batch_transaction.py
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| container | URI |
Snapshot of the container holding the material-batch at the time the transaction was created. |
| container_type | string |
Snapshot of the container type for the container. Container Types are subject to reclassification so we need to storethis data at the time of creation otherwise we risk stale data/confusion. Choices
'"disposable|permanent|dose|overflow|build|cyclone"'
|
| external_build_id | string |
The external identifier used by an external MES to keep track of the build. |
| initial_quantity_available | float |
This represents the amount of material available for transactions related to the parent_batch_action. Typicallythis is the summation of the material quantity in the dose batch - at the time of the build - and any materialpre-loaded in the build module. |
| initial_reconciled_time | iso-8601 datetime |
Records the initial reconciliation time of a transaction. This value remains unchanged in subsequent updates. |
| is_complete | boolean |
False if transaction is still waiting to be reconciled. |
| is_editable | boolean |
Indicates if a transaction can be updated based on a valid update window. |
| material_batch | URI |
The material-batch that has a transaction associated with it. |
| material_batch_action | URI |
The deferred action that is waiting to be fulfilled at a later date. |
| parent_batch_action | URI |
This is the batch-action that was initially triggered. As a result of this parent batch action this transaction was created. Typically this is the deferred_modular_build action. |
| parent_transaction | URI |
This is used to link the material-batch-actions associated with a build(s). Without this we won't be able to find the related transactions associated with a particular module. |
| quantity | float |
The amount of material used in the deferred action |
| reconciled_at | URI |
The URI of the MLine MHS used to reconcile this transaction. This is needed to validate the update window. |
| uri | URI |
The URI of the material batch transaction. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested record cannot be found. |
/material-batch-action/
This endpoint is called to log an action on a batch into the system. Things like loading a machine, sifting material out of a batch, or unloading a machine are logged here. This triggers actions on batches, and create log of what actions (log also appears in the traceability report).
This is a POST/GET/LIST only interface. PUT and DELETE is not allowed.
Most of actions will updated a source_batch; some of actions will create a new batch as output, if so,
that batch will be returned in the header as a header["location"] value.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| action_type | string |
The action type we want to take on the specified batch Choices
'"blend_batches|create_initial_batch|machine_unload_chamber|machine_unload_hopper|split_batch|add_container|containerize_batch|edit_batch_quantity|edit_lot_details|machine_load|machine_top_off|scrap_batch|sieve|test|relocate|edit_batch_details|dock_dose_module|undock_dose_module|defer_modular_build"'
|
| created | iso-8601 datetime |
The date the batch_action was created. |
| from_container_action | URI |
URI for the container action that created this batch action as a side-effect. |
| metadata | object |
Action specific JSON blob for action metadata. See METADATA_SIGNATURES for more details. Example: 'null'
|
| notes | string |
Custom user description/notes for this action. |
| previous_action | URI |
The URI of the previous Material Batch Action to the 'source_batch' (if exists). |
| quantity | float |
Amountof material from 'source_batch' (or destination batch - for blend action) used in action: - machine_load - the quantity loaded to a machine; - split_batch - the quantity which was moved into the new batch; - blend_batches - the quantity in the resulting (blended) batch; - test - quantity of material consumed in the test; - edit_batch_quantity - resulting quantity in the batch; - machine_unload_chamber, machine_unload_hopper - the quantity unloaded from the machine; - scrap_batch, sieve_batch, containerize_batch - full quantity in the batch; - create_initial_batch - base quantity in the initial batch (calculated based on containers); - machine_top_off - quantity added to the printer from the 'batch_to_load'. |
| source_batch | URI |
URI of the material batch to which the action applies. Null allowed only for POST on initial batch creation. |
| uri | URI |
Material Batch Action's URI. |
| user | URI |
A user whom performed an action |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
|
In order to transferring quantity (it is in "units" when sending to the backend) to core_unit, we need to get the "units" of the material. The logic to get it through db call is that:
- If there's source batch, get the source batch, and use the "units" in the source batch -- this logic is implemented in _dehydrate function
- If there's no source batch, it must be create_initial_batch. We get the container from the metadata and then use the container to get units.
If we want to improve this in the future, I hope we can get the units field from the Frontend, which is the easiest method.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| action_type | string |
The action type we want to take on the specified batch Required Choices
'"blend_batches|create_initial_batch|machine_unload_chamber|machine_unload_hopper|split_batch|add_container|containerize_batch|edit_batch_quantity|edit_lot_details|machine_load|machine_top_off|scrap_batch|sieve|test|relocate|edit_batch_details|dock_dose_module|undock_dose_module|defer_modular_build"'
|
| created | iso-8601 datetime |
The date the batch_action was created. Required |
| from_container_action | URI |
URI for the container action that created this batch action as a side-effect. Required |
| metadata | object |
Action specific JSON blob for action metadata. See METADATA_SIGNATURES for more details. Default: {}Example: 'null'
|
| notes | string |
Custom user description/notes for this action. Required |
| previous_action | URI |
The URI of the previous Material Batch Action to the 'source_batch' (if exists). Required |
| quantity | float |
Amountof material from 'source_batch' (or destination batch - for blend action) used in action: - machine_load - the quantity loaded to a machine; - split_batch - the quantity which was moved into the new batch; - blend_batches - the quantity in the resulting (blended) batch; - test - quantity of material consumed in the test; - edit_batch_quantity - resulting quantity in the batch; - machine_unload_chamber, machine_unload_hopper - the quantity unloaded from the machine; - scrap_batch, sieve_batch, containerize_batch - full quantity in the batch; - create_initial_batch - base quantity in the initial batch (calculated based on containers); - machine_top_off - quantity added to the printer from the 'batch_to_load'. Default: 0 |
| source_batch | URI |
URI of the material batch to which the action applies. Null allowed only for POST on initial batch creation. Required |
| uri | URI |
Material Batch Action's URI. Required |
| user | URI |
A user whom performed an action Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
|
This endpoint is called to log an action on a batch into the system. Things like loading a machine, sifting material out of a batch, or unloading a machine are logged here. This triggers actions on batches, and create log of what actions (log also appears in the traceability report).
This is a POST/GET/LIST only interface. PUT and DELETE is not allowed.
Most of actions will updated a source_batch; some of actions will create a new batch as output, if so,
that batch will be returned in the header as a header["location"] value.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| action_type | string |
The action type we want to take on the specified batch Choices
'"blend_batches|create_initial_batch|machine_unload_chamber|machine_unload_hopper|split_batch|add_container|containerize_batch|edit_batch_quantity|edit_lot_details|machine_load|machine_top_off|scrap_batch|sieve|test|relocate|edit_batch_details|dock_dose_module|undock_dose_module|defer_modular_build"'
|
| created | iso-8601 datetime |
The date the batch_action was created. |
| from_container_action | URI |
URI for the container action that created this batch action as a side-effect. |
| metadata | object |
Action specific JSON blob for action metadata. See METADATA_SIGNATURES for more details. Example: 'null'
|
| notes | string |
Custom user description/notes for this action. |
| previous_action | URI |
The URI of the previous Material Batch Action to the 'source_batch' (if exists). |
| quantity | float |
Amountof material from 'source_batch' (or destination batch - for blend action) used in action: - machine_load - the quantity loaded to a machine; - split_batch - the quantity which was moved into the new batch; - blend_batches - the quantity in the resulting (blended) batch; - test - quantity of material consumed in the test; - edit_batch_quantity - resulting quantity in the batch; - machine_unload_chamber, machine_unload_hopper - the quantity unloaded from the machine; - scrap_batch, sieve_batch, containerize_batch - full quantity in the batch; - create_initial_batch - base quantity in the initial batch (calculated based on containers); - machine_top_off - quantity added to the printer from the 'batch_to_load'. |
| source_batch | URI |
URI of the material batch to which the action applies. Null allowed only for POST on initial batch creation. |
| uri | URI |
Material Batch Action's URI. |
| user | URI |
A user whom performed an action |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
|
Representing relationships (linkings) between Material Batches (the graph faces).
Material Batch Linking can be only created as side-effect of Material Batch Action (update and deleted not allowed at all).
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| action | URI |
The URI of the Material Batch Action which created the Material Batch Linking. |
| containers | array |
URIs of material containers which were transferred from the source_batch to the destination_batch. Example: '["..."]'
|
| destination_batch | URI |
URI of the destination material batch which created as an action result. |
| quantity | float |
Initial quantity in the destination_batch. |
| source_batch | URI |
URI of the source material batch to which the action applied. |
| uri | URI |
Material Batch Linking's URI. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
|
Representing relationships (linkings) between Material Batches (the graph faces).
Material Batch Linking can be only created as side-effect of Material Batch Action (update and deleted not allowed at all).
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| action | URI |
The URI of the Material Batch Action which created the Material Batch Linking. |
| containers | array |
URIs of material containers which were transferred from the source_batch to the destination_batch. Example: '["..."]'
|
| destination_batch | URI |
URI of the destination material batch which created as an action result. |
| quantity | float |
Initial quantity in the destination_batch. |
| source_batch | URI |
URI of the source material batch to which the action applied. |
| uri | URI |
Material Batch Linking's URI. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
|
This is an readonly endpoint for LISTING or GETting the sensor data relating to a material batch.
Example:
/material_batch_sensor_data/?filter[material_batch]=
The sensor data contains temperature and humidity readings from the sensors attached to the material batch. As long as the material batch is in a sublocation, the sensor data will be referenced into batch. When a batch is relocated to a new sublocation, it starts recording new sensor data from the sensor in that sublocation And stops receiving sensor data from the sensor in the previous sublocation.
The sensor data gets copied into the material batch using a backend celery task.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| humidity | float |
Humidity value of the data point in percentage Example: '42.0'
|
| material_batch | URI |
URI of the material batch |
| sensor | URI |
URI of the sensor |
| temperature | float |
Temperature value of the data point in celsius Example: '25.5'
|
| timestamp | string |
Timestamp of the data point, timestamps are normally spaced by 30 mins, unless pathfindr changes their specs Example: '"2023-07-25T12:34:56Z"'
|
| uri | URI |
URI of this sensor data point |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
This is an readonly endpoint for LISTING or GETting the sensor data relating to a material batch.
Example:
/material_batch_sensor_data/?filter[material_batch]=
The sensor data contains temperature and humidity readings from the sensors attached to the material batch. As long as the material batch is in a sublocation, the sensor data will be referenced into batch. When a batch is relocated to a new sublocation, it starts recording new sensor data from the sensor in that sublocation And stops receiving sensor data from the sensor in the previous sublocation.
The sensor data gets copied into the material batch using a backend celery task.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| humidity | float |
Humidity value of the data point in percentage Example: '42.0'
|
| material_batch | URI |
URI of the material batch |
| sensor | URI |
URI of the sensor |
| temperature | float |
Temperature value of the data point in celsius Example: '25.5'
|
| timestamp | string |
Timestamp of the data point, timestamps are normally spaced by 30 mins, unless pathfindr changes their specs Example: '"2023-07-25T12:34:56Z"'
|
| uri | URI |
URI of this sensor data point |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
/material-batch-traceability-report/
The traceability report api is for exporting the events that transpired during the creation of a given object as a printable document.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The bureau a report belongs to. |
| content | URL |
the download link for the document |
| created | iso-8601 datetime |
The date the report was created. |
| material_batch | URI |
The Material Batch to get a report on. |
| status | string |
Status of a report processing stage. Choices
'"pending|processing|complete|error"'
|
| uri | URI |
The URI of the report. |
| user | URI |
The URI of the user making the report. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested material batch report cannot be found. |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The bureau a report belongs to. Default: None |
| content | URL |
the download link for the document Required |
| created | iso-8601 datetime |
The date the report was created. Required |
| material_batch | URI |
The Material Batch to get a report on. Required |
| status | string |
Status of a report processing stage. Required Choices
'"pending|processing|complete|error"'
|
| uri | URI |
The URI of the report. Default: None |
| user | URI |
The URI of the user making the report. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested material batch report cannot be found. |
The traceability report api is for exporting the events that transpired during the creation of a given object as a printable document.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The bureau a report belongs to. |
| content | URL |
the download link for the document |
| created | iso-8601 datetime |
The date the report was created. |
| material_batch | URI |
The Material Batch to get a report on. |
| status | string |
Status of a report processing stage. Choices
'"pending|processing|complete|error"'
|
| uri | URI |
The URI of the report. |
| user | URI |
The URI of the user making the report. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested material batch report cannot be found. |
/material-batch/
This endpoints Stores data on a batch. A batch is a mass of material that we want to track the use/history on.
Some batches are ‘in containers’ (they are still moved/stored in containers), and other have been removed from individual containers, and are all mixed together (we will call this a ‘bin’ ) .
Even after moving to ‘bin’ we need to track source containers, use count, etc.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| at_machine | URI |
The machine this is loaded into/at, or null if not at a machine |
| containers | array |
List of active (containers currently associated with/used by this batch) containers URIs. Example: '["..."]'
|
| created | iso-8601 datetime |
The date the material batch was created. |
| custom_status | string |
Authentise Admin created states. Varies per bureau |
| external_build_id | string |
The unique identifier for the external build. Produced by 3rd party MES system. |
| full_quantity | float |
The maximum amount of material in this batch, ever |
| initial_batch | URI |
URI of initial batch (batch created directly from the Material Lot). |
| is_initial_batch | boolean |
Is it the same batch as material_batch.initial_batch. |
| location | URI |
The URI of the lot’s location |
| location_name | string |
Location name |
| material_in_containers | boolean |
True if this batch is still stored in containers, False if they are now mixed together in a bin |
| material_lots | array |
List of all source material_lot's URI. Max 10. Example: '["..."]'
|
| materials | array |
Helper data about parent lots, to reduce calls to material - lot.Max 10 Example: ('[{"units": "cm3|mm3|inch3|ml|l|gram|kg|lb|each|meter|feet|meter2|feet2", '
'"cost": "100.00", "type": "support|base|consumable|raw_material"}]')
|
| notes | string |
Notes for the material batch. |
| post_processor | URI |
A container can be docked to post-processor (MLineMaterialHandlingSystem). When set this field identifies the post-processor the container is currently docked to. |
| powder_quality | string |
Status of material batch's powder_quality. new(virgin), seived, unseived(dirty), done, etc Choices
'"new|sieved|unsieved|unknown|done"'
|
| quantity | float |
Current quantity in the batch: reserved_quantity (loaded into machine or in test) + quantity_available_for_actions (material which can be used for split, scrap_batch, and other actions)Quantity is in units |
| quantity_available_for_actions | float |
Quantity which can be used for split, scrap_batch, and other actions. |
| reserved_quantity | float |
Quantity which was loaded into printer, or used in tests or any quantity reserved by actions, which can be returned back to the batch only by another action |
| source_material_batches | array |
none available Example: '["..."]'
|
| status | string |
Status of material batch Choices
'"new|in_use|idle|done"'
|
| sub_location | URI |
The URI of the batch’s sub_location |
| units | string |
Unit of material Choices
'"cm3|mm3|inch3|ml|l|gram|kg|lb|each|meter|feet|meter2|feet2"'
|
| updated | iso-8601 datetime |
The date the material batch was updated. |
| uri | URI |
URI to our own material batch |
| usage_cycles | integer |
Total use-count of oldest portion of material in this mix |
| uuid | uuid |
The UUID of the material batch. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. Modification of material batch not allowed via API. |
| 404 |
The requested material batch cannot be found. |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| at_machine | URI |
The machine this is loaded into/at, or null if not at a machine Default: None |
| containers | array |
List of active (containers currently associated with/used by this batch) containers URIs. Required Example: '["..."]'
|
| created | iso-8601 datetime |
The date the material batch was created. Required |
| custom_status | string |
Authentise Admin created states. Varies per bureau Default: None |
| external_build_id | string |
The unique identifier for the external build. Produced by 3rd party MES system. Required |
| full_quantity | float |
The maximum amount of material in this batch, ever Required |
| initial_batch | URI |
URI of initial batch (batch created directly from the Material Lot). Required |
| is_initial_batch | boolean |
Is it the same batch as material_batch.initial_batch. Required |
| location | URI |
The URI of the lot’s location Required |
| location_name | string |
Location name Required |
| material_in_containers | boolean |
True if this batch is still stored in containers, False if they are now mixed together in a bin Default: True |
| material_lots | array |
List of all source material_lot's URI. Max 10. Required Example: '["..."]'
|
| materials | array |
Helper data about parent lots, to reduce calls to material - lot.Max 10 Required Example: ('[{"units": "cm3|mm3|inch3|ml|l|gram|kg|lb|each|meter|feet|meter2|feet2", '
'"cost": "100.00", "type": "support|base|consumable|raw_material"}]')
|
| notes | string |
Notes for the material batch. Default: None |
| post_processor | URI |
A container can be docked to post-processor (MLineMaterialHandlingSystem). When set this field identifies the post-processor the container is currently docked to. Default: None |
| powder_quality | string |
Status of material batch's powder_quality. new(virgin), seived, unseived(dirty), done, etc Default: NoneChoices
'"new|sieved|unsieved|unknown|done"'
|
| quantity | float |
Current quantity in the batch: reserved_quantity (loaded into machine or in test) + quantity_available_for_actions (material which can be used for split, scrap_batch, and other actions)Quantity is in units Required |
| quantity_available_for_actions | float |
Quantity which can be used for split, scrap_batch, and other actions. Required |
| reserved_quantity | float |
Quantity which was loaded into printer, or used in tests or any quantity reserved by actions, which can be returned back to the batch only by another action Required |
| source_material_batches | array |
none available Default: NoneExample: '["..."]'
|
| status | string |
Status of material batch Default: NoneChoices
'"new|in_use|idle|done"'
|
| sub_location | URI |
The URI of the batch’s sub_location Required |
| units | string |
Unit of material Default: NoneChoices
'"cm3|mm3|inch3|ml|l|gram|kg|lb|each|meter|feet|meter2|feet2"'
|
| updated | iso-8601 datetime |
The date the material batch was updated. Required |
| uri | URI |
URI to our own material batch Default: None |
| usage_cycles | integer |
Total use-count of oldest portion of material in this mix Default: None |
| uuid | uuid |
The UUID of the material batch. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. Modification of material batch not allowed via API. |
| 404 |
The requested material batch cannot be found. |
This endpoints Stores data on a batch. A batch is a mass of material that we want to track the use/history on.
Some batches are ‘in containers’ (they are still moved/stored in containers), and other have been removed from individual containers, and are all mixed together (we will call this a ‘bin’ ) .
Even after moving to ‘bin’ we need to track source containers, use count, etc.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| at_machine | URI |
The machine this is loaded into/at, or null if not at a machine |
| containers | array |
List of active (containers currently associated with/used by this batch) containers URIs. Example: '["..."]'
|
| created | iso-8601 datetime |
The date the material batch was created. |
| custom_status | string |
Authentise Admin created states. Varies per bureau |
| external_build_id | string |
The unique identifier for the external build. Produced by 3rd party MES system. |
| full_quantity | float |
The maximum amount of material in this batch, ever |
| initial_batch | URI |
URI of initial batch (batch created directly from the Material Lot). |
| is_initial_batch | boolean |
Is it the same batch as material_batch.initial_batch. |
| location | URI |
The URI of the lot’s location |
| location_name | string |
Location name |
| material_in_containers | boolean |
True if this batch is still stored in containers, False if they are now mixed together in a bin |
| material_lots | array |
List of all source material_lot's URI. Max 10. Example: '["..."]'
|
| materials | array |
Helper data about parent lots, to reduce calls to material - lot.Max 10 Example: ('[{"units": "cm3|mm3|inch3|ml|l|gram|kg|lb|each|meter|feet|meter2|feet2", '
'"cost": "100.00", "type": "support|base|consumable|raw_material"}]')
|
| notes | string |
Notes for the material batch. |
| post_processor | URI |
A container can be docked to post-processor (MLineMaterialHandlingSystem). When set this field identifies the post-processor the container is currently docked to. |
| powder_quality | string |
Status of material batch's powder_quality. new(virgin), seived, unseived(dirty), done, etc Choices
'"new|sieved|unsieved|unknown|done"'
|
| quantity | float |
Current quantity in the batch: reserved_quantity (loaded into machine or in test) + quantity_available_for_actions (material which can be used for split, scrap_batch, and other actions)Quantity is in units |
| quantity_available_for_actions | float |
Quantity which can be used for split, scrap_batch, and other actions. |
| reserved_quantity | float |
Quantity which was loaded into printer, or used in tests or any quantity reserved by actions, which can be returned back to the batch only by another action |
| source_material_batches | array |
none available Example: '["..."]'
|
| status | string |
Status of material batch Choices
'"new|in_use|idle|done"'
|
| sub_location | URI |
The URI of the batch’s sub_location |
| units | string |
Unit of material Choices
'"cm3|mm3|inch3|ml|l|gram|kg|lb|each|meter|feet|meter2|feet2"'
|
| updated | iso-8601 datetime |
The date the material batch was updated. |
| uri | URI |
URI to our own material batch |
| usage_cycles | integer |
Total use-count of oldest portion of material in this mix |
| uuid | uuid |
The UUID of the material batch. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. Modification of material batch not allowed via API. |
| 404 |
The requested material batch cannot be found. |
/material-container-action/
This endpoint is where actions are performed on permanent non-disposable containers. Traceability is important when working with long term refillable containers we want to track actions that can be performed on a container in its corresponding traceability report. (see constants.MaterialContainerActionType.choices() for options)
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| action_type | string |
The action type we want to take on the specified material-container Choices
'"relocate_container|load_container|top_off_container|transfer_container|unload_container|scrap_container|machine_load|sieve|split_container|dock_module|undock_module|update_module_tare|reclassify"'
|
| created | iso-8601 datetime |
The date the container_action was created. |
| materials | object |
This object provides context about what and where the material being loaded into a container came from. Thisis useful for quarantining material if a lot has been flagged as potentially contaminated. Example: '{"material_lots": ["..."], "material_names": ["..."]}'
|
| metadata | object |
Action specific JSON blob for action metadata. See METADATA_SIGNATURES for more details. Example: 'null'
|
| notes | string |
Custom user description/notes for this action. |
| parent_container_action | URI |
URI of the parent material container action. This value is set when this action was called as a side-effect of completing some parent container action |
| quantity | float |
|
| source_batch | URI |
URI of the material batch to which the action applies. Null allowed for relocate actions--relocate this should be None--load_container should be the the batch being loaded into the container--top-off container should be the batch being used to top-off container. |
| source_material_container | URI |
URI of the material container that action is being performed on. |
| uri | URI |
Material Container Action's URI. |
| user | URI |
A user whom performed an action |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
|
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| action_type | string |
The action type we want to take on the specified material-container Required Choices
'"relocate_container|load_container|top_off_container|transfer_container|unload_container|scrap_container|machine_load|sieve|split_container|dock_module|undock_module|update_module_tare|reclassify"'
|
| created | iso-8601 datetime |
The date the container_action was created. Required |
| materials | object |
This object provides context about what and where the material being loaded into a container came from. Thisis useful for quarantining material if a lot has been flagged as potentially contaminated. Required Example: '{"material_lots": ["..."], "material_names": ["..."]}'
|
| metadata | object |
Action specific JSON blob for action metadata. See METADATA_SIGNATURES for more details. Default: {}Example: 'null'
|
| notes | string |
Custom user description/notes for this action. Required |
| parent_container_action | URI |
URI of the parent material container action. This value is set when this action was called as a side-effect of completing some parent container action Required |
| quantity | float |
Default: 0 |
| source_batch | URI |
URI of the material batch to which the action applies. Null allowed for relocate actions--relocate this should be None--load_container should be the the batch being loaded into the container--top-off container should be the batch being used to top-off container. Required |
| source_material_container | URI |
URI of the material container that action is being performed on. Required |
| uri | URI |
Material Container Action's URI. Required |
| user | URI |
A user whom performed an action Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
|
This endpoint is where actions are performed on permanent non-disposable containers. Traceability is important when working with long term refillable containers we want to track actions that can be performed on a container in its corresponding traceability report. (see constants.MaterialContainerActionType.choices() for options)
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| action_type | string |
The action type we want to take on the specified material-container Choices
'"relocate_container|load_container|top_off_container|transfer_container|unload_container|scrap_container|machine_load|sieve|split_container|dock_module|undock_module|update_module_tare|reclassify"'
|
| created | iso-8601 datetime |
The date the container_action was created. |
| materials | object |
This object provides context about what and where the material being loaded into a container came from. Thisis useful for quarantining material if a lot has been flagged as potentially contaminated. Example: '{"material_lots": ["..."], "material_names": ["..."]}'
|
| metadata | object |
Action specific JSON blob for action metadata. See METADATA_SIGNATURES for more details. Example: 'null'
|
| notes | string |
Custom user description/notes for this action. |
| parent_container_action | URI |
URI of the parent material container action. This value is set when this action was called as a side-effect of completing some parent container action |
| quantity | float |
|
| source_batch | URI |
URI of the material batch to which the action applies. Null allowed for relocate actions--relocate this should be None--load_container should be the the batch being loaded into the container--top-off container should be the batch being used to top-off container. |
| source_material_container | URI |
URI of the material container that action is being performed on. |
| uri | URI |
Material Container Action's URI. |
| user | URI |
A user whom performed an action |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
|
/material-container/
This endpoint represents containers and it's usage in batches.
Functionally speaking we support two different types of containers(disposable vs permanent). Disposable containers come
from straight from the manufacturer. These are typically made of plastic to limit the excess weight in the shipment and
are not suitable for long term use. Permanent containers are typically larger and made of metal. These permanent containers
are similar, but because of the fact that they are refillable we are in the process of building container-actions that will
allow load, top-off, transfer, relocation actions - similar to a batch actions - to maintain tracaebility. For simpliciy in development,
certain fields that we don't need to track via actions in the container's traceability will be updatable through this API.
A disposable container is part of a Material Lot (as a root object, tracking starting state) and also a part of a material batch.
Container to Lot relationships never change (maybe in the future this feature can be provided).
Container to Batch relationship changes very often (via /material-batch-action/ API).
In many places, a material_container gets scanned, and the current material_batch that container is related to is brought up in the QR app to make changes to.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| archived | boolean |
True if archived. False if not. Archived don't show up in lists unless explicitly filtered for. |
| created | iso-8601 datetime |
The date the material container was created. |
| current_batch | URI |
The URI of the batch which currently using this container. When there are no batches, created from the material lot, it can be equals to None. |
| disposable | boolean |
True if temporary usually because it is made of weak material not suitable for re-use. False for permanent containers |
| full_quantity | float |
The maximum (initial) amount of the material in this container |
| is_available_for_initial_batches | boolean |
Is material containers can be used to create a new initial batch or not. |
| is_docked | boolean |
MLine containers are allowed to be docked to LPS and MHS workstations. True if docked. False otherwise |
| location | URI |
The URI of the containers's location. |
| material | URI |
The URI of the material in the container (we take it from the material lot). |
| material_lot | URI |
The URI of the material lot in which this container was created. If NULL - it is internal bureau container created via action 'batch_containerize'. |
| material_restrictions | array |
List of the material uris that this container can contain. Example: '["..."]'
|
| material_type | string |
The type of material (support, base, consumable, raw_material) derived from material.type field. Choices
'"support|base|consumable|raw_material"'
|
| name | string |
User defined name for container. If null will be set as UUID. |
| printer_type_relationships | array |
A list of the unique (no duplicates) printer-types that the material in this container (if not empty) has been exposed to. Example: '["..."]'
|
| quantity | float |
The current amount of the material in this container |
| status | string |
Current status of the material container Choices
'"new|in_use|empty"'
|
| sub_location | URI |
The URI of the containers’s sub_location |
| tare_weight | float |
This is the reference weight for a module. Most often the weight of the empty module. This is only for weight based material and recorded in grams. |
| type | string |
The Type of container. Typically either disposable or permanent, but can also be mline specific module container. Choices
'"disposable|permanent|dose|overflow|build|cyclone"'
|
| updated | iso-8601 datetime |
The date the material container was last updated. |
| uri | URI |
URI of the material container |
| used_in_batches | array |
A list of material batches where container used before (in most cases there will be one value). Example: '["..."]'
|
| uuid | uuid |
The UUID of the material container. |
| workstation_uri | URL |
A subset of containers can be docked to workstations (printer or post-processors). When set this field identifies the workstation the container is currently docked to. (see get_dockable_container_types in nautilus.constants for list of dockable containers) |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested material_container cannot be found. |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| archived | boolean |
True if archived. False if not. Archived don't show up in lists unless explicitly filtered for. Required |
| created | iso-8601 datetime |
The date the material container was created. Required |
| current_batch | URI |
The URI of the batch which currently using this container. When there are no batches, created from the material lot, it can be equals to None. Required |
| disposable | boolean |
True if temporary usually because it is made of weak material not suitable for re-use. False for permanent containers Required |
| full_quantity | float |
The maximum (initial) amount of the material in this container Required |
| is_available_for_initial_batches | boolean |
Is material containers can be used to create a new initial batch or not. Required |
| is_docked | boolean |
MLine containers are allowed to be docked to LPS and MHS workstations. True if docked. False otherwise Default: False |
| location | URI |
The URI of the containers's location. Required |
| material | URI |
The URI of the material in the container (we take it from the material lot). Required |
| material_lot | URI |
The URI of the material lot in which this container was created. If NULL - it is internal bureau container created via action 'batch_containerize'. Required |
| material_restrictions | array |
List of the material uris that this container can contain. Required Example: '["..."]'
|
| material_type | string |
The type of material (support, base, consumable, raw_material) derived from material.type field. Required Choices
'"support|base|consumable|raw_material"'
|
| name | string |
User defined name for container. If null will be set as UUID. Required |
| printer_type_relationships | array |
A list of the unique (no duplicates) printer-types that the material in this container (if not empty) has been exposed to. Required Example: '["..."]'
|
| quantity | float |
The current amount of the material in this container Required |
| status | string |
Current status of the material container Required Choices
'"new|in_use|empty"'
|
| sub_location | URI |
The URI of the containers’s sub_location Required |
| tare_weight | float |
This is the reference weight for a module. Most often the weight of the empty module. This is only for weight based material and recorded in grams. Default: 0 |
| type | string |
The Type of container. Typically either disposable or permanent, but can also be mline specific module container. Default: permanentChoices
'"disposable|permanent|dose|overflow|build|cyclone"'
|
| updated | iso-8601 datetime |
The date the material container was last updated. Required |
| uri | URI |
URI of the material container Required |
| used_in_batches | array |
A list of material batches where container used before (in most cases there will be one value). Required Example: '["..."]'
|
| uuid | uuid |
The UUID of the material container. Required |
| workstation_uri | URL |
A subset of containers can be docked to workstations (printer or post-processors). When set this field identifies the workstation the container is currently docked to. (see get_dockable_container_types in nautilus.constants for list of dockable containers) Default: None |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested material_container cannot be found. |
This endpoint represents containers and it's usage in batches.
Functionally speaking we support two different types of containers(disposable vs permanent). Disposable containers come
from straight from the manufacturer. These are typically made of plastic to limit the excess weight in the shipment and
are not suitable for long term use. Permanent containers are typically larger and made of metal. These permanent containers
are similar, but because of the fact that they are refillable we are in the process of building container-actions that will
allow load, top-off, transfer, relocation actions - similar to a batch actions - to maintain tracaebility. For simpliciy in development,
certain fields that we don't need to track via actions in the container's traceability will be updatable through this API.
A disposable container is part of a Material Lot (as a root object, tracking starting state) and also a part of a material batch.
Container to Lot relationships never change (maybe in the future this feature can be provided).
Container to Batch relationship changes very often (via /material-batch-action/ API).
In many places, a material_container gets scanned, and the current material_batch that container is related to is brought up in the QR app to make changes to.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| archived | boolean |
True if archived. False if not. Archived don't show up in lists unless explicitly filtered for. |
| created | iso-8601 datetime |
The date the material container was created. |
| current_batch | URI |
The URI of the batch which currently using this container. When there are no batches, created from the material lot, it can be equals to None. |
| disposable | boolean |
True if temporary usually because it is made of weak material not suitable for re-use. False for permanent containers |
| full_quantity | float |
The maximum (initial) amount of the material in this container |
| is_available_for_initial_batches | boolean |
Is material containers can be used to create a new initial batch or not. |
| is_docked | boolean |
MLine containers are allowed to be docked to LPS and MHS workstations. True if docked. False otherwise |
| location | URI |
The URI of the containers's location. |
| material | URI |
The URI of the material in the container (we take it from the material lot). |
| material_lot | URI |
The URI of the material lot in which this container was created. If NULL - it is internal bureau container created via action 'batch_containerize'. |
| material_restrictions | array |
List of the material uris that this container can contain. Example: '["..."]'
|
| material_type | string |
The type of material (support, base, consumable, raw_material) derived from material.type field. Choices
'"support|base|consumable|raw_material"'
|
| name | string |
User defined name for container. If null will be set as UUID. |
| printer_type_relationships | array |
A list of the unique (no duplicates) printer-types that the material in this container (if not empty) has been exposed to. Example: '["..."]'
|
| quantity | float |
The current amount of the material in this container |
| status | string |
Current status of the material container Choices
'"new|in_use|empty"'
|
| sub_location | URI |
The URI of the containers’s sub_location |
| tare_weight | float |
This is the reference weight for a module. Most often the weight of the empty module. This is only for weight based material and recorded in grams. |
| type | string |
The Type of container. Typically either disposable or permanent, but can also be mline specific module container. Choices
'"disposable|permanent|dose|overflow|build|cyclone"'
|
| updated | iso-8601 datetime |
The date the material container was last updated. |
| uri | URI |
URI of the material container |
| used_in_batches | array |
A list of material batches where container used before (in most cases there will be one value). Example: '["..."]'
|
| uuid | uuid |
The UUID of the material container. |
| workstation_uri | URL |
A subset of containers can be docked to workstations (printer or post-processors). When set this field identifies the workstation the container is currently docked to. (see get_dockable_container_types in nautilus.constants for list of dockable containers) |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested material_container cannot be found. |
/material-genealogy/
Endpoint with slightly another implementation how another endpoints works.
Signature description is the same as for API /material-batch-linking/.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| actions | array |
none available Example: ('[{"action_type": '
'"blend_batches|create_initial_batch|machine_unload_chamber|machine_unload_hopper|split_batch|add_container|containerize_batch|edit_batch_quantity|edit_lot_details|machine_load|machine_top_off|scrap_batch|sieve|test|relocate|edit_batch_details|dock_dose_module|undock_dose_module|defer_modular_build", '
'"metadata": null}]')
|
| batches | array |
none available Example: ('[{"containers": ["..."], "materials": [{"units": '
'"cm3|mm3|inch3|ml|l|gram|kg|lb|each|meter|feet|meter2|feet2", "cost": '
'"100.00", "type": "support|base|consumable|raw_material"}], "material_lots": '
'["..."], "source_material_batches": ["..."], "status": '
'"new|in_use|idle|done", "powder_quality": '
'"new|sieved|unsieved|unknown|done", "units": '
'"cm3|mm3|inch3|ml|l|gram|kg|lb|each|meter|feet|meter2|feet2"}]')
|
| children_tree | array |
none available Example: '[{}]'
|
| parents_tree | array |
none available Example: '[{}]'
|
| target_batch | URI |
Target batch for which must be built and returned tree. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 405 |
|
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| actions | array |
none available Required Example: ('[{"action_type": '
'"blend_batches|create_initial_batch|machine_unload_chamber|machine_unload_hopper|split_batch|add_container|containerize_batch|edit_batch_quantity|edit_lot_details|machine_load|machine_top_off|scrap_batch|sieve|test|relocate|edit_batch_details|dock_dose_module|undock_dose_module|defer_modular_build", '
'"metadata": null}]')
|
| batches | array |
none available Required Example: ('[{"containers": ["..."], "materials": [{"units": '
'"cm3|mm3|inch3|ml|l|gram|kg|lb|each|meter|feet|meter2|feet2", "cost": '
'"100.00", "type": "support|base|consumable|raw_material"}], "material_lots": '
'["..."], "source_material_batches": ["..."], "status": '
'"new|in_use|idle|done", "powder_quality": '
'"new|sieved|unsieved|unknown|done", "units": '
'"cm3|mm3|inch3|ml|l|gram|kg|lb|each|meter|feet|meter2|feet2"}]')
|
| children_tree | array |
none available Required Example: '[{}]'
|
| parents_tree | array |
none available Required Example: '[{}]'
|
| target_batch | URI |
Target batch for which must be built and returned tree. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 405 |
|
Endpoint with slightly another implementation how another endpoints works.
Signature description is the same as for API /material-batch-linking/.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| actions | array |
none available Example: ('[{"action_type": '
'"blend_batches|create_initial_batch|machine_unload_chamber|machine_unload_hopper|split_batch|add_container|containerize_batch|edit_batch_quantity|edit_lot_details|machine_load|machine_top_off|scrap_batch|sieve|test|relocate|edit_batch_details|dock_dose_module|undock_dose_module|defer_modular_build", '
'"metadata": null}]')
|
| batches | array |
none available Example: ('[{"containers": ["..."], "materials": [{"units": '
'"cm3|mm3|inch3|ml|l|gram|kg|lb|each|meter|feet|meter2|feet2", "cost": '
'"100.00", "type": "support|base|consumable|raw_material"}], "material_lots": '
'["..."], "source_material_batches": ["..."], "status": '
'"new|in_use|idle|done", "powder_quality": '
'"new|sieved|unsieved|unknown|done", "units": '
'"cm3|mm3|inch3|ml|l|gram|kg|lb|each|meter|feet|meter2|feet2"}]')
|
| children_tree | array |
none available Example: '[{}]'
|
| parents_tree | array |
none available Example: '[{}]'
|
| target_batch | URI |
Target batch for which must be built and returned tree. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 405 |
|
/material-lot-action/
This endpoint is called to log an action (for now - only add/edit/delete operations with unused material containers in a lot) on a material lot into the system.
This is a POST/GET/LIST only interface. PUT and DELETE is not allowed.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| action_type | string |
The action type we want to take on the specified material lot. Choices
'"add_containers|edit_containers_quantity|delete_containers|receive_lot"'
|
| created | iso-8601 datetime |
Datetime when material lot action was created (in UTC). |
| material_lot | URI |
URI of the material lot to which the action applies. |
| metadata | object |
Action specific JSON blob for action metadata. See METADATA_SIGNATURES for more details. Example: 'null'
|
| notes | string |
Custom user description/notes for this action (required for 'receive_lot' action). |
| uri | URI |
Material Lot Action's URI. |
| user | URI |
A user whom performed an action |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
|
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| action_type | string |
The action type we want to take on the specified material lot. Required Choices
'"add_containers|edit_containers_quantity|delete_containers|receive_lot"'
|
| created | iso-8601 datetime |
Datetime when material lot action was created (in UTC). Required |
| material_lot | URI |
URI of the material lot to which the action applies. Required |
| metadata | object |
Action specific JSON blob for action metadata. See METADATA_SIGNATURES for more details. Default: {}Example: 'null'
|
| notes | string |
Custom user description/notes for this action (required for 'receive_lot' action). Required |
| uri | URI |
Material Lot Action's URI. Required |
| user | URI |
A user whom performed an action Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
|
This endpoint is called to log an action (for now - only add/edit/delete operations with unused material containers in a lot) on a material lot into the system.
This is a POST/GET/LIST only interface. PUT and DELETE is not allowed.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| action_type | string |
The action type we want to take on the specified material lot. Choices
'"add_containers|edit_containers_quantity|delete_containers|receive_lot"'
|
| created | iso-8601 datetime |
Datetime when material lot action was created (in UTC). |
| material_lot | URI |
URI of the material lot to which the action applies. |
| metadata | object |
Action specific JSON blob for action metadata. See METADATA_SIGNATURES for more details. Example: 'null'
|
| notes | string |
Custom user description/notes for this action (required for 'receive_lot' action). |
| uri | URI |
Material Lot Action's URI. |
| user | URI |
A user whom performed an action |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
|
/material-lot/
MaterialLot is a special endpoint, that tracks the initial delivery group of material. A simple write-one data to indicate a group of material that has come in together as a single order. This is to track historical data or to connect together the data in material_batch, which updates very often.
It is not used much in the API, but is mostly treated as a write-once place to indicate a delivery lot,
and to create material_containers, and a special initial-batch of material_batch.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| actual_delivery_date | iso-8601 datetime |
Datetime when material lot was delivered. |
| containers_available_for_initial_batches | array |
List of URIs of the material containers which can be used to create new initial batch. Example: '["..."]'
|
| cost | float |
Price per unit in bureau currency, for one unit of material.units. If not transferred - will be used material.cost. |
| delivery_id | string |
Customer ID of the delivery |
| estimated_delivery_date | iso-8601 datetime |
Datetime when material lot planned to be delivered. |
| expiration_date | iso-8601 datetime |
Datetime after which usage of the material from the lot will be prohibited. |
| full_quantity | float |
Sum of the full quantities in the material lot containers. |
| initial_batches | array |
List of URIs of the initial batches created directly from the material lot. Example: '["..."]'
|
| location | URI |
URI of Location in which material batches from this lot should be used. |
| location_name | string |
Location name |
| material | URI |
The material for the lot. |
| material_name | string |
Name of material |
| material_purchase_order | URI |
URI of an associated material purchase order. |
| material_purchase_order_external_id | string |
A material purchase order external id (format customer defined). |
| material_type | string |
The type of material (support, base, consumable, raw_material) derived from material.type field. Choices
'"support|base|consumable|raw_material"'
|
| name | string |
Lot name. |
| notes | string |
Notes for the material lot. |
| number_of_containers | integer |
If non-zero on a POST, the count of material_container to create during the creation of DB resources. |
| quantity | float |
Sum of current quantity in the material lot batches (current quantity in the material batch it is reserved_quantity (loaded into machine or in test) + quantity_available_for_actions (material which can be used for split, scrap_batch, and other actions)). |
| size_of_container | float |
The amount of material in each container (from 'number_of_containers') in the material.units. |
| status | string |
Status of the Material Lot. Initial Status (on material lot create) is limited by a set of allowed statuses: [on_order, received] Choices
'"on_order|received|in_testing|available|in_use|done|scrapped|return_to_supplier|in_storage"'
|
| sub_location | URI |
The URI of the lot’s sub_location |
| units | string |
Units of the material. Choices
'"cm3|mm3|inch3|ml|l|gram|kg|lb|each|meter|feet|meter2|feet2"'
|
| updated | iso-8601 datetime |
The date when the material lot was updated |
| uri | URI |
The URI of this data entry. |
| usage_cycles_limit | integer |
Allowed max number of use cycles. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
Provided status transformation is not allowed. |
| 403 |
You are not authorized to complete the request. Modification of template material_lop not allowed via API. |
| 404 |
The requested material_lot cannot be found. |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| actual_delivery_date | iso-8601 datetime |
Datetime when material lot was delivered. Required |
| containers_available_for_initial_batches | array |
List of URIs of the material containers which can be used to create new initial batch. Required Example: '["..."]'
|
| cost | float |
Price per unit in bureau currency, for one unit of material.units. If not transferred - will be used material.cost. Required |
| delivery_id | string |
Customer ID of the delivery Required |
| estimated_delivery_date | iso-8601 datetime |
Datetime when material lot planned to be delivered. Required |
| expiration_date | iso-8601 datetime |
Datetime after which usage of the material from the lot will be prohibited. Required |
| full_quantity | float |
Sum of the full quantities in the material lot containers. Required |
| initial_batches | array |
List of URIs of the initial batches created directly from the material lot. Required Example: '["..."]'
|
| location | URI |
URI of Location in which material batches from this lot should be used. Required |
| location_name | string |
Location name Required |
| material | URI |
The material for the lot. Required |
| material_name | string |
Name of material Required |
| material_purchase_order | URI |
URI of an associated material purchase order. Required |
| material_purchase_order_external_id | string |
A material purchase order external id (format customer defined). Required |
| material_type | string |
The type of material (support, base, consumable, raw_material) derived from material.type field. Required Choices
'"support|base|consumable|raw_material"'
|
| name | string |
Lot name. Required |
| notes | string |
Notes for the material lot. Default: None |
| number_of_containers | integer |
If non-zero on a POST, the count of material_container to create during the creation of DB resources. Required |
| quantity | float |
Sum of current quantity in the material lot batches (current quantity in the material batch it is reserved_quantity (loaded into machine or in test) + quantity_available_for_actions (material which can be used for split, scrap_batch, and other actions)). Required |
| size_of_container | float |
The amount of material in each container (from 'number_of_containers') in the material.units. Required |
| status | string |
Status of the Material Lot. Initial Status (on material lot create) is limited by a set of allowed statuses: [on_order, received] Default: receivedChoices
'"on_order|received|in_testing|available|in_use|done|scrapped|return_to_supplier|in_storage"'
|
| sub_location | URI |
The URI of the lot’s sub_location Required |
| units | string |
Units of the material. Default: NoneChoices
'"cm3|mm3|inch3|ml|l|gram|kg|lb|each|meter|feet|meter2|feet2"'
|
| updated | iso-8601 datetime |
The date when the material lot was updated Required |
| uri | URI |
The URI of this data entry. Required |
| usage_cycles_limit | integer |
Allowed max number of use cycles. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
Provided status transformation is not allowed. |
| 403 |
You are not authorized to complete the request. Modification of template material_lop not allowed via API. |
| 404 |
The requested material_lot cannot be found. |
MaterialLot is a special endpoint, that tracks the initial delivery group of material. A simple write-one data to indicate a group of material that has come in together as a single order. This is to track historical data or to connect together the data in material_batch, which updates very often.
It is not used much in the API, but is mostly treated as a write-once place to indicate a delivery lot,
and to create material_containers, and a special initial-batch of material_batch.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| actual_delivery_date | iso-8601 datetime |
Datetime when material lot was delivered. |
| containers_available_for_initial_batches | array |
List of URIs of the material containers which can be used to create new initial batch. Example: '["..."]'
|
| cost | float |
Price per unit in bureau currency, for one unit of material.units. If not transferred - will be used material.cost. |
| delivery_id | string |
Customer ID of the delivery |
| estimated_delivery_date | iso-8601 datetime |
Datetime when material lot planned to be delivered. |
| expiration_date | iso-8601 datetime |
Datetime after which usage of the material from the lot will be prohibited. |
| full_quantity | float |
Sum of the full quantities in the material lot containers. |
| initial_batches | array |
List of URIs of the initial batches created directly from the material lot. Example: '["..."]'
|
| location | URI |
URI of Location in which material batches from this lot should be used. |
| location_name | string |
Location name |
| material | URI |
The material for the lot. |
| material_name | string |
Name of material |
| material_purchase_order | URI |
URI of an associated material purchase order. |
| material_purchase_order_external_id | string |
A material purchase order external id (format customer defined). |
| material_type | string |
The type of material (support, base, consumable, raw_material) derived from material.type field. Choices
'"support|base|consumable|raw_material"'
|
| name | string |
Lot name. |
| notes | string |
Notes for the material lot. |
| number_of_containers | integer |
If non-zero on a POST, the count of material_container to create during the creation of DB resources. |
| quantity | float |
Sum of current quantity in the material lot batches (current quantity in the material batch it is reserved_quantity (loaded into machine or in test) + quantity_available_for_actions (material which can be used for split, scrap_batch, and other actions)). |
| size_of_container | float |
The amount of material in each container (from 'number_of_containers') in the material.units. |
| status | string |
Status of the Material Lot. Initial Status (on material lot create) is limited by a set of allowed statuses: [on_order, received] Choices
'"on_order|received|in_testing|available|in_use|done|scrapped|return_to_supplier|in_storage"'
|
| sub_location | URI |
The URI of the lot’s sub_location |
| units | string |
Units of the material. Choices
'"cm3|mm3|inch3|ml|l|gram|kg|lb|each|meter|feet|meter2|feet2"'
|
| updated | iso-8601 datetime |
The date when the material lot was updated |
| uri | URI |
The URI of this data entry. |
| usage_cycles_limit | integer |
Allowed max number of use cycles. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
Provided status transformation is not allowed. |
| 403 |
You are not authorized to complete the request. Modification of template material_lop not allowed via API. |
| 404 |
The requested material_lot cannot be found. |
/material-purchase-order/
Material Purchase Order represents a contract for delivering one or many Material Lots from a given company. This is MVP implementation of the feature. Focused on just overall amount of material in PO, and external ERP system ID tracking for now.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| created | iso-8601 datetime |
The date when the material purchase order was created. |
| delivered_quantity | float |
Delivered quantity/amount of material in the system as specific material_lots. |
| external_id | string |
Purchase order ID (format customer defined). |
| material | URI |
A material of a purchase order. |
| material_name | string |
Name of a material. |
| planned_full_quantity | float |
The total amount/quantity of a material (in material units) available under this PO. |
| units | string |
Units of a material. |
| updated | iso-8601 datetime |
The date when the purchase material order was updated. |
| uri | URI |
The URI of material purchase order. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
A material purchase order with requested PO Number (external_id) already exists (this field unique per bureau). |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested material_purchase_order cannot be found. |
| 405 |
Requested method not allowed/supported. |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| created | iso-8601 datetime |
The date when the material purchase order was created. Required |
| delivered_quantity | float |
Delivered quantity/amount of material in the system as specific material_lots. Required |
| external_id | string |
Purchase order ID (format customer defined). Required |
| material | URI |
A material of a purchase order. Required |
| material_name | string |
Name of a material. Required |
| planned_full_quantity | float |
The total amount/quantity of a material (in material units) available under this PO. Required |
| units | string |
Units of a material. Required |
| updated | iso-8601 datetime |
The date when the purchase material order was updated. Required |
| uri | URI |
The URI of material purchase order. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
A material purchase order with requested PO Number (external_id) already exists (this field unique per bureau). |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested material_purchase_order cannot be found. |
| 405 |
Requested method not allowed/supported. |
Material Purchase Order represents a contract for delivering one or many Material Lots from a given company. This is MVP implementation of the feature. Focused on just overall amount of material in PO, and external ERP system ID tracking for now.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| created | iso-8601 datetime |
The date when the material purchase order was created. |
| delivered_quantity | float |
Delivered quantity/amount of material in the system as specific material_lots. |
| external_id | string |
Purchase order ID (format customer defined). |
| material | URI |
A material of a purchase order. |
| material_name | string |
Name of a material. |
| planned_full_quantity | float |
The total amount/quantity of a material (in material units) available under this PO. |
| units | string |
Units of a material. |
| updated | iso-8601 datetime |
The date when the purchase material order was updated. |
| uri | URI |
The URI of material purchase order. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
A material purchase order with requested PO Number (external_id) already exists (this field unique per bureau). |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested material_purchase_order cannot be found. |
| 405 |
Requested method not allowed/supported. |
/material-stock-action-relationship/
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| created | iso-8601 datetime |
Datetime when stock action relationship was created (in UTC). |
| quantity | float |
none available |
| relationship_type | string |
none available Choices
'"source|destination"'
|
| resource | URL |
Resource URI (material-lot or piece). |
| run | URI |
Run's URI. |
| stock_action | URI |
Material Stock Action's URI. |
| uri | URI |
Material Stock Action Relationship's URI. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
|
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| created | iso-8601 datetime |
Datetime when stock action relationship was created (in UTC). Required |
| quantity | float |
none available Required |
| relationship_type | string |
none available Required Choices
'"source|destination"'
|
| resource | URL |
Resource URI (material-lot or piece). Required |
| run | URI |
Run's URI. Required |
| stock_action | URI |
Material Stock Action's URI. Required |
| uri | URI |
Material Stock Action Relationship's URI. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
|
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| created | iso-8601 datetime |
Datetime when stock action relationship was created (in UTC). |
| quantity | float |
none available |
| relationship_type | string |
none available Choices
'"source|destination"'
|
| resource | URL |
Resource URI (material-lot or piece). |
| run | URI |
Run's URI. |
| stock_action | URI |
Material Stock Action's URI. |
| uri | URI |
Material Stock Action Relationship's URI. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
|
/material-stock-action/
This endpoint is called to log an action on a material stock into the system. This is a POST/GET/LIST only interface. DELETE is not allowed.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| action_quantity | float |
The magnitude of the action itself not the resulting quantity. This is quantity will be split across stock-action-relationships. |
| action_type | string |
The action type we want to take on the specified stock. Choices
'"consume|replenish|reconcile"'
|
| created | iso-8601 datetime |
Datetime when stock action was created (in UTC). |
| metadata | object |
Action specific JSON blob for action metadata. See METADATA_SIGNATURES for more details. Example: 'null'
|
| notes | string |
Custom user description/notes for this action. |
| quantity | float |
The stock quantity after the action. |
| reason | string |
Reason for this action. |
| run | URI |
Run's URI. |
| source_stock | URI |
URI of the stock to which the action applies. |
| uri | URI |
Material Stock Action's URI. |
| user | URI |
A user whom performed an action |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
|
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| action_quantity | float |
The magnitude of the action itself not the resulting quantity. This is quantity will be split across stock-action-relationships. Required |
| action_type | string |
The action type we want to take on the specified stock. Required Choices
'"consume|replenish|reconcile"'
|
| created | iso-8601 datetime |
Datetime when stock action was created (in UTC). Required |
| metadata | object |
Action specific JSON blob for action metadata. See METADATA_SIGNATURES for more details. Default: {}Example: 'null'
|
| notes | string |
Custom user description/notes for this action. Required |
| quantity | float |
The stock quantity after the action. Required |
| reason | string |
Reason for this action. Required |
| run | URI |
Run's URI. Required |
| source_stock | URI |
URI of the stock to which the action applies. Required |
| uri | URI |
Material Stock Action's URI. Required |
| user | URI |
A user whom performed an action Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
|
This endpoint is called to log an action on a material stock into the system. This is a POST/GET/LIST only interface. DELETE is not allowed.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| action_quantity | float |
The magnitude of the action itself not the resulting quantity. This is quantity will be split across stock-action-relationships. |
| action_type | string |
The action type we want to take on the specified stock. Choices
'"consume|replenish|reconcile"'
|
| created | iso-8601 datetime |
Datetime when stock action was created (in UTC). |
| metadata | object |
Action specific JSON blob for action metadata. See METADATA_SIGNATURES for more details. Example: 'null'
|
| notes | string |
Custom user description/notes for this action. |
| quantity | float |
The stock quantity after the action. |
| reason | string |
Reason for this action. |
| run | URI |
Run's URI. |
| source_stock | URI |
URI of the stock to which the action applies. |
| uri | URI |
Material Stock Action's URI. |
| user | URI |
A user whom performed an action |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
|
/material-test/instruction-report/
The material_test_instruction_report resource represents the numerical data captured by the tester performing the material-tests. Each test report has a 1-1 relationship with a material_test_instruction which tells the tester what data to measure and record in the report.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau the material_test_instruction_report belongs to |
| material_test_instruction | URI |
The URI of test instruction that this report fulfils. 1:1 relationship to this record |
| material_test_panel | URI |
The URI of material_test_panel that this report is a part of. Many reports per test panel. |
| notes | string |
notes associated with the test report. |
| unit | URI |
the uri for the unit type(km, inch, kg) of measurement that material_test_instruction_reports will be filled out in only units returned from API/units are allowed. |
| uri | URI |
The URI of the material test instruction report |
| value | float |
The numeric value measured by the material-tester following the directions specified in the material_test_instruction. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested material test report cannot be found. |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau the material_test_instruction_report belongs to Required |
| material_test_instruction | URI |
The URI of test instruction that this report fulfils. 1:1 relationship to this record Required |
| material_test_panel | URI |
The URI of material_test_panel that this report is a part of. Many reports per test panel. Required |
| notes | string |
notes associated with the test report. Required |
| unit | URI |
the uri for the unit type(km, inch, kg) of measurement that material_test_instruction_reports will be filled out in only units returned from API/units are allowed. Required |
| uri | URI |
The URI of the material test instruction report Required |
| value | float |
The numeric value measured by the material-tester following the directions specified in the material_test_instruction. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 404 |
The requested material test report cannot be found. |
The material_test_instruction_report resource represents the numerical data captured by the tester performing the material-tests. Each test report has a 1-1 relationship with a material_test_instruction which tells the tester what data to measure and record in the report.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau the material_test_instruction_report belongs to |
| material_test_instruction | URI |
The URI of test instruction that this report fulfils. 1:1 relationship to this record |
| material_test_panel | URI |
The URI of material_test_panel that this report is a part of. Many reports per test panel. |
| notes | string |
notes associated with the test report. |
| unit | URI |
the uri for the unit type(km, inch, kg) of measurement that material_test_instruction_reports will be filled out in only units returned from API/units are allowed. |
| uri | URI |
The URI of the material test instruction report |
| value | float |
The numeric value measured by the material-tester following the directions specified in the material_test_instruction. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested material test report cannot be found. |
/material-test/instruction/
A Material Test Instruction is a description of one field that makes a test operation. Designed for Telling the tester what to measure as part of a test. For instance (complex case) for Material Composition Panel there could be one called "% hydrogen" and another called "% Iron". Maps 1:1 to a MaterialTestInstruction Report.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau the material test operation belongs to. |
| description | string |
Description of the material test instruction. |
| material_test_operation | URI |
The URI of the material test operation belongs to. |
| material_work_checklist | URI |
The URI of the material test work checklist belongs to. |
| name | string |
Name of the field describing the data to collect as part of the MaterialTestOperation Example: '"% hydrogen composition of sample"'
|
| position | integer |
indexed position this has within the material_work_checklist.The Order of measurements to take as part of a material_test_operation. |
| unit | URI |
the uri for the unit type(km, inch, kg) of measurement that material_test_instruction_reports will be filled out in only units returned from API/units are allowed. |
| uri | URI |
The URI of the material-test-instruction. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested material-test-instruction cannot be found. |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau the material test operation belongs to. Required |
| description | string |
Description of the material test instruction. Required |
| material_test_operation | URI |
The URI of the material test operation belongs to. Required |
| material_work_checklist | URI |
The URI of the material test work checklist belongs to. Required |
| name | string |
Name of the field describing the data to collect as part of the MaterialTestOperation Required Example: '"% hydrogen composition of sample"'
|
| position | integer |
indexed position this has within the material_work_checklist.The Order of measurements to take as part of a material_test_operation. Default: 1 |
| unit | URI |
the uri for the unit type(km, inch, kg) of measurement that material_test_instruction_reports will be filled out in only units returned from API/units are allowed. Required |
| uri | URI |
The URI of the material-test-instruction. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 404 |
The requested material-test-instruction cannot be found. |
A Material Test Instruction is a description of one field that makes a test operation. Designed for Telling the tester what to measure as part of a test. For instance (complex case) for Material Composition Panel there could be one called "% hydrogen" and another called "% Iron". Maps 1:1 to a MaterialTestInstruction Report.
Get a single instruction by UUID.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau the material test operation belongs to. |
| description | string |
Description of the material test instruction. |
| material_test_operation | URI |
The URI of the material test operation belongs to. |
| material_work_checklist | URI |
The URI of the material test work checklist belongs to. |
| name | string |
Name of the field describing the data to collect as part of the MaterialTestOperation Example: '"% hydrogen composition of sample"'
|
| position | integer |
indexed position this has within the material_work_checklist.The Order of measurements to take as part of a material_test_operation. |
| unit | URI |
the uri for the unit type(km, inch, kg) of measurement that material_test_instruction_reports will be filled out in only units returned from API/units are allowed. |
| uri | URI |
The URI of the material-test-instruction. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested material-test-instruction cannot be found. |
A material work checklist can be attached to many types of things in the system:: bureau, material, or a material_test_panel
This API is used for GET/LIST operations on work checklist linkings.
See API /material-test/work-checklists-for/ endpoint for creating work checklist linkings via PUT method
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau the material test operation linkings belongs to |
| material_test_instructions | array |
List of all material_test_instructions that relate to this linking. Example: '["..."]'
|
| material_test_operation | URI |
the uri of a specific material-test-operation within a material-work-checklist. |
| material_work_checklist | URI |
the uri for the material-work-checklist. |
| position | integer |
The position of the material-test-operation within the material work checklist |
| related_uri | URL |
the uri defining the resource that this checklist is applied to. In order of specificity (bureau->material->panel) |
| uri | URI |
The URI of the material test operation linking |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested material-test-operation-linking cannot be found. |
A material work checklist can be attached to many types of things in the system:: bureau, material, or a material_test_panel
This API is used for GET/LIST operations on work checklist linkings.
See API /material-test/work-checklists-for/ endpoint for creating work checklist linkings via PUT method
Get a single material-test-operation by UUID.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau the material test operation linkings belongs to |
| material_test_instructions | array |
List of all material_test_instructions that relate to this linking. Example: '["..."]'
|
| material_test_operation | URI |
the uri of a specific material-test-operation within a material-work-checklist. |
| material_work_checklist | URI |
the uri for the material-work-checklist. |
| position | integer |
The position of the material-test-operation within the material work checklist |
| related_uri | URL |
the uri defining the resource that this checklist is applied to. In order of specificity (bureau->material->panel) |
| uri | URI |
The URI of the material test operation linking |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested material-test-operation-linking cannot be found. |
/material-test/operation/
This resource represents a type of material test that can be included in material-test-panels for a particular bureau. This endpoint includes both custom and non-custom material-test-operations. Custom material-test-operations are any that have been created via the POST of this endpoint. Non-custom are added via Admin script.
When you create custom material-test-operations through this endpoint you create a material-test-instruction at the bureau level as a side-effect. We don't return the specific unit that relates to this test here because this test can be customized for specific materials or test panels and therefore can be associated with various units.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| archived | iso-8601 datetime |
Date if archived and shouldn’t be shown in the UI. Otherwise this will be null. |
| bureau | URI |
The URI of bureau the material test operation belongs to |
| by_customer | URI |
If this was created by a bureau users, which user created this. If None, the operation was created by Authentise |
| description | string |
Description of the material test operation. Example: '"Percentage by weight of each material in sample"'
|
| name | string |
name of the material test operation. Example: '"Measure Density"'
|
| unit | URI |
the uri for the unit type(km, inch, kg) of measurement that material_test_instruction_reports will be filled out in only units returned from API/units are allowed. |
| unit_options | array |
none available Example: '["..."]'
|
| uri | URI |
The URI of the material test operation |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested material-test-operation cannot be found. |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| archived | iso-8601 datetime |
Date if archived and shouldn’t be shown in the UI. Otherwise this will be null. Required |
| bureau | URI |
The URI of bureau the material test operation belongs to Required |
| by_customer | URI |
If this was created by a bureau users, which user created this. If None, the operation was created by Authentise Required |
| description | string |
Description of the material test operation. Required Example: '"Percentage by weight of each material in sample"'
|
| name | string |
name of the material test operation. Required Example: '"Measure Density"'
|
| unit | URI |
the uri for the unit type(km, inch, kg) of measurement that material_test_instruction_reports will be filled out in only units returned from API/units are allowed. Required |
| unit_options | array |
none available Required Example: '["..."]'
|
| uri | URI |
The URI of the material test operation Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 404 |
The requested material-test-operation cannot be found. |
This resource represents a type of material test that can be included in material-test-panels for a particular bureau. This endpoint includes both custom and non-custom material-test-operations. Custom material-test-operations are any that have been created via the POST of this endpoint. Non-custom are added via Admin script.
When you create custom material-test-operations through this endpoint you create a material-test-instruction at the bureau level as a side-effect. We don't return the specific unit that relates to this test here because this test can be customized for specific materials or test panels and therefore can be associated with various units.
Get a single material-test-operation by UUID.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| archived | iso-8601 datetime |
Date if archived and shouldn’t be shown in the UI. Otherwise this will be null. |
| bureau | URI |
The URI of bureau the material test operation belongs to |
| by_customer | URI |
If this was created by a bureau users, which user created this. If None, the operation was created by Authentise |
| description | string |
Description of the material test operation. Example: '"Percentage by weight of each material in sample"'
|
| name | string |
name of the material test operation. Example: '"Measure Density"'
|
| unit | URI |
the uri for the unit type(km, inch, kg) of measurement that material_test_instruction_reports will be filled out in only units returned from API/units are allowed. |
| unit_options | array |
none available Example: '["..."]'
|
| uri | URI |
The URI of the material test operation |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested material-test-operation cannot be found. |
/material-test/panel/
Panel resource represents a group of tests that we can perform on a sample. A sample being a small amount of material taken from a material-batch with the intention of performing material tests on it.
Each MaterialTestPanel can have one or many MaterialTestOperations. Each Operation can have multiple MaterialTestInstructions. Each MaterialTestInstruction can have only one MaterialTestReport
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau the material_test_panel belongs to |
| completion_date | iso-8601 datetime |
the datetime representation of when the tester finished the last test in the panel |
| material_test_reports | array |
List of all reports filled out so far for this specific panel Example: '["..."]'
|
| name | string |
The name associated with the test panel |
| sample | URI |
The URI of sample that this panel is being performed on. |
| start_date | iso-8601 datetime |
the datetime representation of when the tester started started the first test in the panel |
| uri | URI |
The URI of the material test panel |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested material test panel cannot be found. |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau the material_test_panel belongs to Required |
| completion_date | iso-8601 datetime |
the datetime representation of when the tester finished the last test in the panel Required |
| material_test_reports | array |
List of all reports filled out so far for this specific panel Required Example: '["..."]'
|
| name | string |
The name associated with the test panel Required |
| sample | URI |
The URI of sample that this panel is being performed on. Required |
| start_date | iso-8601 datetime |
the datetime representation of when the tester started started the first test in the panel Required |
| uri | URI |
The URI of the material test panel Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 404 |
The requested material test panel cannot be found. |
Panel resource represents a group of tests that we can perform on a sample. A sample being a small amount of material taken from a material-batch with the intention of performing material tests on it.
Each MaterialTestPanel can have one or many MaterialTestOperations. Each Operation can have multiple MaterialTestInstructions. Each MaterialTestInstruction can have only one MaterialTestReport
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau the material_test_panel belongs to |
| completion_date | iso-8601 datetime |
the datetime representation of when the tester finished the last test in the panel |
| material_test_reports | array |
List of all reports filled out so far for this specific panel Example: '["..."]'
|
| name | string |
The name associated with the test panel |
| sample | URI |
The URI of sample that this panel is being performed on. |
| start_date | iso-8601 datetime |
the datetime representation of when the tester started started the first test in the panel |
| uri | URI |
The URI of the material test panel |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested material test panel cannot be found. |
/material-test/unit/
This endpoint is currently used by material-test-panel feature. Resources listed by this endpoint are allowed to be used when creating material-test-operations.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau the unit belongs to. |
| description | string |
Description of the unit and how its measured. |
| symbol | string |
Display name of unit |
| uri | URI |
The URI of the material-test-unit. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested material-test-unit cannot be found. |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau the unit belongs to. Required |
| description | string |
Description of the unit and how its measured. Default: None |
| symbol | string |
Display name of unit Required |
| uri | URI |
The URI of the material-test-unit. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 404 |
The requested material-test-unit cannot be found. |
This endpoint is currently used by material-test-panel feature. Resources listed by this endpoint are allowed to be used when creating material-test-operations.
Get a single unit by UUID.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau the unit belongs to. |
| description | string |
Description of the unit and how its measured. |
| symbol | string |
Display name of unit |
| uri | URI |
The URI of the material-test-unit. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested material-test-unit cannot be found. |
A material test work checklist has a 1-many relationship with a material-test and its purpose is to This endpoint isn't functional at this time. This is a placeholder and required to construct uris.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau the work checklist belongs to |
| uri | URI |
The URI of the material work checklist |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested material work checklist cannot be found. |
A material work checklist can be attached to many types of things in the system:: bureau, material, or a material_test_panel
This API is used for creating, updating and deleting work checklist linkings for specific objects via PUT method.
/material/
A material is the type of consumable that can be used to create objects. This includes thermoplastics, metal powders, foundry sand, etc. The material resource is used identify capabilities and type of material as well as allowing users to define what material they would like their finished products to be made from.
NOTE: This is not amount of material (that is stock , or material_batch, or material_lot).
NOTE: The "base_template" is a UUID of a parent template material, that may not be part of this bureau. the DB we cut/pasted into the bureau so we have a local copy of it.
Material can also be used in tracking stock usage and supply
List all of the materials in the system for your account.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| base_template | URI |
Indicates the URI of Material (from the shared library with |
| bureau | URI |
The URI of the material's bureau. |
| color | string |
HEX Color of the material. Example: (#000000) |
| color_opacity | float |
A value between 0.00 (fully transparent) and 1.00 (fully opaque) that represents the color's opacity. Returns data only to 2 decimal places. |
| cost | float |
The cost of the material per 'units'. |
| custom_field_values | array |
none available Example: '[{}]'
|
| density | float |
The density of the material is grams/cm^3. Required if units is by weight |
| description | string |
The description of the material |
| external_datasheet_url | URL |
URL on remote documentation about material. |
| external_id | string |
The unique ID of this material in the customers ERP system. Can be a URI |
| identifiers | array |
Identifier for a material instance. It contains bureau, material ID and finish ID. Example: '[{}]'
|
| is_prosper_integration_available | boolean |
none available |
| is_template | boolean |
Indicates, that this |
| manufacturer | URI |
The URI of the material's manufacturer. |
| manufacturing_process | string |
Additive Manufacturing process in which this material can be used. Choices
('"Binder Jet|NA|SLA|SLS|FDM|Polyjet|Polyjet '
'Anatomy|EBM|MJF|DLP|CLIP|DMLS|SDL|SLM_DMLS|LCD SLA|CNC|Press brake|Laser '
'cutting|Waterjet"')
|
| material_family | string |
Class of the material by structure. Choices
'"Priority|Polymer|Composite|Metal|Ceramic|Wax|Sand"'
|
| name | string |
The name of the material |
| post_processing_seconds | integer |
Post processing time of the material in seconds. |
| stock_locations | array |
The list of all locations with stock of this material available at them. Example: '["..."]'
|
| swatch | URL |
Image of the /material/ instance Example: '"https://external-url.com/img/materials/swatch-pla.png"'
|
| third_party_fulfillment | boolean |
Post processing of the material in seconds. Choices
'"True|False"'
|
| thumbnail | object |
none available Example: '{}'
|
| type | string |
Type of the material. Choices
'"support|base|consumable|raw_material"'
|
| units | string |
Unit of the stock, user-specified. Choices
'"cm3|mm3|inch3|ml|l|gram|kg|lb|each|meter|feet|meter2|feet2"'
|
| units_measurement_core | string |
Core of units (Weight or Volume) Can't be change by users. Choices
'"weight|volume|count|length|area"'
|
| uri | URI |
none available |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
You cannot delete this material because there are stocks or orders associated with it. Delete all orders and stocks using this material first. There is a mismatch in the bureau and the bureau of manufacturer in the payload. Kindly make sure the manufacturer belongs to the same bureau. The requested material name already exists. |
| 403 |
You are not authorized to complete the request. Modification of template material not allowed via API. |
| 404 |
The requested material cannot be found. |
Create a new material.
After a new material is created a X-Upload-Location header will be returned. Using this allows us to upload a thumbnail for the material that was created. Use the X-Upload-Location header to PUT file contents to that location.
Example:
curl -X PUT -H 'Content-Type: image/png' --data-binary '@PATH-TO-YOUR-PNG' "<HEADER X-UPLOAD-LOCATION>"
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| base_template | URI |
Indicates the URI of Material (from the shared library with Required |
| bureau | URI |
The URI of the material's bureau. Required |
| color | string |
HEX Color of the material. Example: (#000000) Required |
| color_opacity | float |
A value between 0.00 (fully transparent) and 1.00 (fully opaque) that represents the color's opacity. Returns data only to 2 decimal places. Default: 1.0 |
| cost | float |
The cost of the material per 'units'. Required |
| custom_field_values | array |
none available Default: NoneExample: '[{}]'
|
| density | float |
The density of the material is grams/cm^3. Required if units is by weight Default: None |
| description | string |
The description of the material Required |
| external_datasheet_url | URL |
URL on remote documentation about material. Default: None |
| external_id | string |
The unique ID of this material in the customers ERP system. Can be a URI Default: None |
| identifiers | array |
Identifier for a material instance. It contains bureau, material ID and finish ID. Default: []Example: '[{}]'
|
| is_prosper_integration_available | boolean |
none available Default: False |
| is_template | boolean |
Indicates, that this Required |
| manufacturer | URI |
The URI of the material's manufacturer. Required |
| manufacturing_process | string |
Additive Manufacturing process in which this material can be used. Default: NoneChoices
('"Binder Jet|NA|SLA|SLS|FDM|Polyjet|Polyjet '
'Anatomy|EBM|MJF|DLP|CLIP|DMLS|SDL|SLM_DMLS|LCD SLA|CNC|Press brake|Laser '
'cutting|Waterjet"')
|
| material_family | string |
Class of the material by structure. Default: NoneChoices
'"Priority|Polymer|Composite|Metal|Ceramic|Wax|Sand"'
|
| name | string |
The name of the material Required |
| post_processing_seconds | integer |
Post processing time of the material in seconds. Default: 0 |
| stock_locations | array |
The list of all locations with stock of this material available at them. Required Example: '["..."]'
|
| swatch | URL |
Image of the /material/ instance Default: NoneExample: '"https://external-url.com/img/materials/swatch-pla.png"'
|
| third_party_fulfillment | boolean |
Post processing of the material in seconds. Required Choices
'"True|False"'
|
| thumbnail | object |
none available Default: NoneExample: '{}'
|
| type | string |
Type of the material. Required Choices
'"support|base|consumable|raw_material"'
|
| units | string |
Unit of the stock, user-specified. Default: cm3Choices
'"cm3|mm3|inch3|ml|l|gram|kg|lb|each|meter|feet|meter2|feet2"'
|
| units_measurement_core | string |
Core of units (Weight or Volume) Can't be change by users. Default: volumeChoices
'"weight|volume|count|length|area"'
|
| uri | URI |
none available Default: None |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
You cannot delete this material because there are stocks or orders associated with it. Delete all orders and stocks using this material first. There is a mismatch in the bureau and the bureau of manufacturer in the payload. Kindly make sure the manufacturer belongs to the same bureau. The requested material name already exists. |
| 403 |
You are not authorized to complete the request. Modification of template material not allowed via API. |
| 404 |
The requested material cannot be found. |
/material//clone/
Clone Material to the bureau level from the template (shared) Material
Schema (application/json)
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested material type cannot be found. |
A material is the type of consumable that can be used to create objects. This includes thermoplastics, metal powders, foundry sand, etc. The material resource is used identify capabilities and type of material as well as allowing users to define what material they would like their finished products to be made from.
NOTE: This is not amount of material (that is stock , or material_batch, or material_lot).
NOTE: The "base_template" is a UUID of a parent template material, that may not be part of this bureau. the DB we cut/pasted into the bureau so we have a local copy of it.
Material can also be used in tracking stock usage and supply
Get a single material by UUID.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| base_template | URI |
Indicates the URI of Material (from the shared library with |
| bureau | URI |
The URI of the material's bureau. |
| color | string |
HEX Color of the material. Example: (#000000) |
| color_opacity | float |
A value between 0.00 (fully transparent) and 1.00 (fully opaque) that represents the color's opacity. Returns data only to 2 decimal places. |
| cost | float |
The cost of the material per 'units'. |
| custom_field_values | array |
none available Example: '[{}]'
|
| density | float |
The density of the material is grams/cm^3. Required if units is by weight |
| description | string |
The description of the material |
| external_datasheet_url | URL |
URL on remote documentation about material. |
| external_id | string |
The unique ID of this material in the customers ERP system. Can be a URI |
| identifiers | array |
Identifier for a material instance. It contains bureau, material ID and finish ID. Example: '[{}]'
|
| is_prosper_integration_available | boolean |
none available |
| is_template | boolean |
Indicates, that this |
| manufacturer | URI |
The URI of the material's manufacturer. |
| manufacturing_process | string |
Additive Manufacturing process in which this material can be used. Choices
('"Binder Jet|NA|SLA|SLS|FDM|Polyjet|Polyjet '
'Anatomy|EBM|MJF|DLP|CLIP|DMLS|SDL|SLM_DMLS|LCD SLA|CNC|Press brake|Laser '
'cutting|Waterjet"')
|
| material_family | string |
Class of the material by structure. Choices
'"Priority|Polymer|Composite|Metal|Ceramic|Wax|Sand"'
|
| name | string |
The name of the material |
| post_processing_seconds | integer |
Post processing time of the material in seconds. |
| stock_locations | array |
The list of all locations with stock of this material available at them. Example: '["..."]'
|
| swatch | URL |
Image of the /material/ instance Example: '"https://external-url.com/img/materials/swatch-pla.png"'
|
| third_party_fulfillment | boolean |
Post processing of the material in seconds. Choices
'"True|False"'
|
| thumbnail | object |
none available Example: '{}'
|
| type | string |
Type of the material. Choices
'"support|base|consumable|raw_material"'
|
| units | string |
Unit of the stock, user-specified. Choices
'"cm3|mm3|inch3|ml|l|gram|kg|lb|each|meter|feet|meter2|feet2"'
|
| units_measurement_core | string |
Core of units (Weight or Volume) Can't be change by users. Choices
'"weight|volume|count|length|area"'
|
| uri | URI |
none available |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
You cannot delete this material because there are stocks or orders associated with it. Delete all orders and stocks using this material first. There is a mismatch in the bureau and the bureau of manufacturer in the payload. Kindly make sure the manufacturer belongs to the same bureau. The requested material name already exists. |
| 403 |
You are not authorized to complete the request. Modification of template material not allowed via API. |
| 404 |
The requested material cannot be found. |
/memberships/
This is some legacy stuff which in most cases should be or removed or used only internally
(currently, it used in create_bureau script - which is not the best decision).
PUT, POST and DELETE methods requires permission nautilus.constants.GROUP_ADMIN_RIGHT and this should be enough
to protect this methods (bureau manager should use API /role/ instead).
GET and LIST methods potentially dangerous - that why we restrict access to memberships only to current user.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| group | URI |
none available |
| uri | URI |
none available |
| user | URI |
none available |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| group | URI |
none available Required |
| uri | URI |
none available Default: None |
| user | URI |
none available Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
This is some legacy stuff which in most cases should be or removed or used only internally
(currently, it used in create_bureau script - which is not the best decision).
PUT, POST and DELETE methods requires permission nautilus.constants.GROUP_ADMIN_RIGHT and this should be enough
to protect this methods (bureau manager should use API /role/ instead).
GET and LIST methods potentially dangerous - that why we restrict access to memberships only to current user.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| group | URI |
none available |
| uri | URI |
none available |
| user | URI |
none available |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
/merge/
Layout and Position data are used to run a merge to create a build-file. This endpoint reports
that status of the merge action.
Before ch28083 this API was used in the chain of internal calls (it was a part of micro-services architecture in ~2015-2017).
Create a new merge.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| build_file | URI |
Build file URI Default: None |
| created | iso-8601 datetime |
The time of creation of merge instance. Default: None |
| description | string |
Description of merge model Default: None |
| name | string |
Name of merge model. Required |
| uri | URI |
Merge URI Default: None |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 404 |
The requested layout cannot be found. |
/merge/{uuid}/
Layout and Position data are used to run a merge to create a build-file. This endpoint reports
that status of the merge action.
Before ch28083 this API was used in the chain of internal calls (it was a part of micro-services architecture in ~2015-2017).
Get a single merge by uuid.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| build_file | URI |
Build file URI |
| created | iso-8601 datetime |
The time of creation of merge instance. |
| description | string |
Description of merge model |
| name | string |
Name of merge model. |
| uri | URI |
Merge URI |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested layout cannot be found. |
/mline-laser-processing-system/
This resource is modeled after GE MLine's modular printer. This resource is a sub-resource of the printer resource to limit changes to the base functioning while allowing for custom extensions that apply specifically to the MLine printers.
The main differences between normal printers and the MLine printers are as follows: 1. To run the printer you need to load 3 modules. These are called dose, overflow, and build modules. see MaterialContainerType in constants.py 2. powder isn't decontainerized when loaded to the printer. They stay in dose module even when loaded to the printer. 3. The printer has three slots for the 3 types of modules. Dose modules go in the dose slot, overflow in the overflow slot, and build in built slot
This endpoint is read-only. To make changes to the permanent-container(module) assigned to a slot you need to use container-action Load/unload module action.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| build | URI |
A special material-container that is loaded into the mline LPS system. This module serves as the build plate for the mline LPS. |
| dose | URI |
A special material-container that is loaded into the mline LPS system. This module contains the input material for the printer. |
| overflow | URI |
A special material-container that is loaded into the mline LPS system. This is used to catch any material that failed to make it into the build module |
| printer | URI |
The printer this module is associated with |
| uri | URI |
The URI of the printer module relationship. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested record cannot be found. |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| build | URI |
A special material-container that is loaded into the mline LPS system. This module serves as the build plate for the mline LPS. Required |
| dose | URI |
A special material-container that is loaded into the mline LPS system. This module contains the input material for the printer. Required |
| overflow | URI |
A special material-container that is loaded into the mline LPS system. This is used to catch any material that failed to make it into the build module Required |
| printer | URI |
The printer this module is associated with Required |
| uri | URI |
The URI of the printer module relationship. Default: None |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested record cannot be found. |
This resource is modeled after GE MLine's modular printer. This resource is a sub-resource of the printer resource to limit changes to the base functioning while allowing for custom extensions that apply specifically to the MLine printers.
The main differences between normal printers and the MLine printers are as follows: 1. To run the printer you need to load 3 modules. These are called dose, overflow, and build modules. see MaterialContainerType in constants.py 2. powder isn't decontainerized when loaded to the printer. They stay in dose module even when loaded to the printer. 3. The printer has three slots for the 3 types of modules. Dose modules go in the dose slot, overflow in the overflow slot, and build in built slot
This endpoint is read-only. To make changes to the permanent-container(module) assigned to a slot you need to use container-action Load/unload module action.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| build | URI |
A special material-container that is loaded into the mline LPS system. This module serves as the build plate for the mline LPS. |
| dose | URI |
A special material-container that is loaded into the mline LPS system. This module contains the input material for the printer. |
| overflow | URI |
A special material-container that is loaded into the mline LPS system. This is used to catch any material that failed to make it into the build module |
| printer | URI |
The printer this module is associated with |
| uri | URI |
The URI of the printer module relationship. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested record cannot be found. |
/mline-material-handling-system/
:todoproperly document this
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| cyclone | URI |
This is a permanent fixture of the Material-Handling system. It is a part of the machine itself for storing the reclaimed material.Represented as a permanent container to allow for use of container-actions |
| input_module | URI |
The module that is loaded into the MHS in order to remove/reclaim the material inside of it. |
| output_module | URI |
The module that is being prepped by the MHS. Sieved material being unloaded into for future builds. |
| post_processor | URI |
The post-processor associated with the MHS. This resource is a custom wrapper around the post-processor |
| uri | URI |
The URI of the material-handling-system |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested record cannot be found. |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| cyclone | URI |
This is a permanent fixture of the Material-Handling system. It is a part of the machine itself for storing the reclaimed material.Represented as a permanent container to allow for use of container-actions Required |
| input_module | URI |
The module that is loaded into the MHS in order to remove/reclaim the material inside of it. Required |
| output_module | URI |
The module that is being prepped by the MHS. Sieved material being unloaded into for future builds. Required |
| post_processor | URI |
The post-processor associated with the MHS. This resource is a custom wrapper around the post-processor Required |
| uri | URI |
The URI of the material-handling-system Default: None |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested record cannot be found. |
:todoproperly document this
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| cyclone | URI |
This is a permanent fixture of the Material-Handling system. It is a part of the machine itself for storing the reclaimed material.Represented as a permanent container to allow for use of container-actions |
| input_module | URI |
The module that is loaded into the MHS in order to remove/reclaim the material inside of it. |
| output_module | URI |
The module that is being prepped by the MHS. Sieved material being unloaded into for future builds. |
| post_processor | URI |
The post-processor associated with the MHS. This resource is a custom wrapper around the post-processor |
| uri | URI |
The URI of the material-handling-system |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested record cannot be found. |
Custom API that processes/takes messages from Cichlid microservice about Model Cad Conversion process.
We are sending this URI in a payload to Cichlid and expect that Cichlid will publishing updates (status change, notes, and resulting STL file on success) to this API.
Note: Supports only auth by API_TOKEN constants (marker for the function "is_api_user").
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| notes | string |
Additional notes or error related to the conversion process. Required |
| status | string |
Status of the Cichlid conversion process. Required Choices
'"scheduled|processing|processed|error"'
|
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 404 |
The requested feature cannot be found. |
/model-library/
This is a feature to keep track some relationships between models, workflows, and related info that we will want when re-using a model.
Example uses: Marking some models as 'samples' to use a a testing object to add to builds. Marking a whole build volume and workflow to re-use complete build volumes. Marking a print that does very well in a certain workflow, to find an use it again.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| additive | object |
none available Example: '{}'
|
| created | iso-8601 datetime |
The date when the Model Library was created. |
| custom_field_values | array |
none available Example: '[{}]'
|
| default_customer_id | string |
Human readable alpha-numeric, customer defined ID |
| desired_quantity | integer |
Quantity for Castor Integration. |
| labels | array |
list of label uris related to the model-library Example: '["..."]'
|
| name | string |
The name of the model library. |
| notes | string |
The description of the Model Library. |
| owner | URL |
The user, bureau, or group that can edit (or view, for some bureaus) this item. |
| snapshot_content | string |
The first carouse image |
| type | string |
Choices
'"product|specimen|waste|tooling"'
|
| updated | iso-8601 datetime |
The date when the Model Library was updated |
| uri | URI |
The Model Library URI. |
| workflow | URI |
The URI of workflow. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
|
| 404 |
|
create a new model-library entry. must have an existing item.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| additive | object |
none available Default: {}Example: '{}'
|
| created | iso-8601 datetime |
The date when the Model Library was created. Default: None |
| custom_field_values | array |
none available Default: NoneExample: '[{}]'
|
| default_customer_id | string |
Human readable alpha-numeric, customer defined ID Default: None |
| desired_quantity | integer |
Quantity for Castor Integration. Default: 1 |
| labels | array |
list of label uris related to the model-library Default: []Example: '["..."]'
|
| name | string |
The name of the model library. Required |
| notes | string |
The description of the Model Library. Default: None |
| owner | URL |
The user, bureau, or group that can edit (or view, for some bureaus) this item. Required |
| snapshot_content | string |
The first carouse image Default: None |
| type | string |
Required Choices
'"product|specimen|waste|tooling"'
|
| updated | iso-8601 datetime |
The date when the Model Library was updated Default: None |
| uri | URI |
The Model Library URI. Required |
| workflow | URI |
The URI of workflow. Default: None |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 403 |
|
| 404 |
|
This is a feature to keep track some relationships between models, workflows, and related info that we will want when re-using a model.
Example uses: Marking some models as 'samples' to use a a testing object to add to builds. Marking a whole build volume and workflow to re-use complete build volumes. Marking a print that does very well in a certain workflow, to find an use it again.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| additive | object |
none available Example: '{}'
|
| created | iso-8601 datetime |
The date when the Model Library was created. |
| custom_field_values | array |
none available Example: '[{}]'
|
| default_customer_id | string |
Human readable alpha-numeric, customer defined ID |
| desired_quantity | integer |
Quantity for Castor Integration. |
| labels | array |
list of label uris related to the model-library Example: '["..."]'
|
| name | string |
The name of the model library. |
| notes | string |
The description of the Model Library. |
| owner | URL |
The user, bureau, or group that can edit (or view, for some bureaus) this item. |
| snapshot_content | string |
The first carouse image |
| type | string |
Choices
'"product|specimen|waste|tooling"'
|
| updated | iso-8601 datetime |
The date when the Model Library was updated |
| uri | URI |
The Model Library URI. |
| workflow | URI |
The URI of workflow. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
|
| 404 |
|
/model/
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| action | string |
none available Choices
'"mesh_heal_via_Authentise|processing_mesh_heal_via_Authentise"'
|
| allowed_transformations | object |
none available Example: '{}'
|
| analyses | object |
status of manifold and count of inverted surface triangles Example: '{}'
|
| auto-align | boolean |
none available |
| callback | object |
none available Example: '{}'
|
| children | array |
none available Example: '["..."]'
|
| content | string |
Download to raw model content. Data format matches 'type'. |
| conversion_notes | string |
Notes for the conversion process. |
| conversion_original_content | string |
Link to binary content of pre-conversion file, if exists |
| conversion_original_filename | string |
Filename of source native file |
| conversion_original_type | string |
Type of input native file to send to X-Upload and for conversion_original_content Choices
'"x_t|xt|sat|step|stp|igs|iges|sldprt|ipt|prt|catpart|jt|j_t|3dm|obj|iam|dae|pdf|png|tiff|tif"'
|
| conversion_status | string |
Sub-Status of conversion process if status is conversion Choices
'"new|pending|downloading|repairing|processing|uploading|complete|complete-without-upload|failed"'
|
| created | iso-8601 datetime |
none available |
| design_file | URI |
If directly unpacked from a design file (1:1) the URI of that design_file. Otherwise null. |
| expert_conversion | URI |
Expert conversion URI (if model conversion was delegated to the Expert). |
| file_size | integer |
none available |
| file_unit | string |
The default unit of the model file (inch, mm). Set null to allow autodetect. Choices
'"in|mm|cm|m|feet"'
|
| manufacturing_orientation | object |
Manufacturing XYZ rotations of the model associated to this line-item, set by the user to control the structural robustness of the line item during the additive manufacturing step - not to be confused with the final position (transformation) on the build plate, which is instead set by the packing system. Example: '{"status": "in_queue|in_progress|error|uploaded"}'
|
| mfg_oriented_content | string |
Download the mfg-oriented model's content. Data format matches 'type'. |
| name | string |
Name of the model. Cannot exceed 255 characters. |
| parents | array |
none available Example: '["..."]'
|
| polygons | integer |
none available |
| replaced_models | array |
List of model URIs of all models that were replaced from a line_item, leading to the current model. Sorted from most recently replaced model to the oldest replaced model. Note: we dont return this field in LIST response because it requires expensive db operations and data is not needed for LIST at the moment Example: '["..."]'
|
| rights | array |
none available Example: '["all|download|print|transform|transform-external|view"]'
|
| size | object |
We use mm internally and front-end logic converts to user_unit Example: '{}'
|
| snapshot | string |
none available |
| snapshot_content | string |
none available |
| status | string |
none available Choices
'"not-uploaded|converting|processing|processed|external-process|error|repaired|irreparable|inoperable|file-too-large"'
|
| surface_area_mm | float |
The surface area is in mm as unit at API level, not in user_units. |
| type | string |
Format of data we will post to X-Upload-Location. Choices
'"stl"'
|
| updated | iso-8601 datetime |
none available |
| upload-location | string |
none available |
| uri | URI |
none available |
| user_unit | string |
Model files can have their units (file_units) and users can also specify units to read this API data. Internal data is always in MM, this changes API presentation of data only. We strongly encourage using the default of mm. Choices
'"in|mm"'
|
| user_uri | URI |
none available |
| virus_scan | string |
State of the virus-scan on the file pushed to X-Upload-Location. Quarantined indicates a problem was detected. Choices
'"unscanned|passed|quarantined"'
|
| volume_mm | float |
The volume is in mm as unit at API level, not in user_units. |
| zverse_conversion | URI |
ZVerse conversion URI (if model conversion was delegated to the ZVerse service). |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 401 |
|
Create a new model.
NOTE: Most 'model' updates should be done by creating a new model. See docs.authentise.com or PlatformModel code for more details.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| action | string |
none available Default: NoneChoices
'"mesh_heal_via_Authentise|processing_mesh_heal_via_Authentise"'
|
| allowed_transformations | object |
none available Default: {'resize': False, 'rotation': False}Example: '{}'
|
| analyses | object |
status of manifold and count of inverted surface triangles Default: NoneExample: '{}'
|
| auto-align | boolean |
none available Default: None |
| callback | object |
none available Default: NoneExample: '{}'
|
| children | array |
none available Default: []Example: '["..."]'
|
| content | string |
Download to raw model content. Data format matches 'type'. Default: None |
| conversion_notes | string |
Notes for the conversion process. Required |
| conversion_original_content | string |
Link to binary content of pre-conversion file, if exists Required |
| conversion_original_filename | string |
Filename of source native file Default: None |
| conversion_original_type | string |
Type of input native file to send to X-Upload and for conversion_original_content Default: NoneChoices
'"x_t|xt|sat|step|stp|igs|iges|sldprt|ipt|prt|catpart|jt|j_t|3dm|obj|iam|dae|pdf|png|tiff|tif"'
|
| conversion_status | string |
Sub-Status of conversion process if status is conversion Required Choices
'"new|pending|downloading|repairing|processing|uploading|complete|complete-without-upload|failed"'
|
| created | iso-8601 datetime |
none available Default: None |
| design_file | URI |
If directly unpacked from a design file (1:1) the URI of that design_file. Otherwise null. Required |
| expert_conversion | URI |
Expert conversion URI (if model conversion was delegated to the Expert). Required |
| file_size | integer |
none available Default: None |
| file_unit | string |
The default unit of the model file (inch, mm). Set null to allow autodetect. Default: mmChoices
'"in|mm|cm|m|feet"'
|
| manufacturing_orientation | object |
Manufacturing XYZ rotations of the model associated to this line-item, set by the user to control the structural robustness of the line item during the additive manufacturing step - not to be confused with the final position (transformation) on the build plate, which is instead set by the packing system. Default: NoneExample: '{"status": "in_queue|in_progress|error|uploaded"}'
|
| mfg_oriented_content | string |
Download the mfg-oriented model's content. Data format matches 'type'. Default: None |
| name | string |
Name of the model. Cannot exceed 255 characters. Required |
| parents | array |
none available Default: []Example: '["..."]'
|
| polygons | integer |
none available Default: None |
| replaced_models | array |
List of model URIs of all models that were replaced from a line_item, leading to the current model. Sorted from most recently replaced model to the oldest replaced model. Note: we dont return this field in LIST response because it requires expensive db operations and data is not needed for LIST at the moment Default: []Example: '["..."]'
|
| rights | array |
none available Default: NoneExample: '["all|download|print|transform|transform-external|view"]'
|
| size | object |
We use mm internally and front-end logic converts to user_unit Default: NoneExample: '{}'
|
| snapshot | string |
none available Default: None |
| snapshot_content | string |
none available Default: None |
| status | string |
none available Default: NoneChoices
'"not-uploaded|converting|processing|processed|external-process|error|repaired|irreparable|inoperable|file-too-large"'
|
| surface_area_mm | float |
The surface area is in mm as unit at API level, not in user_units. Default: None |
| type | string |
Format of data we will post to X-Upload-Location. Required Choices
'"stl"'
|
| updated | iso-8601 datetime |
none available Default: None |
| upload-location | string |
none available Default: None |
| uri | URI |
none available Default: None |
| user_unit | string |
Model files can have their units (file_units) and users can also specify units to read this API data. Internal data is always in MM, this changes API presentation of data only. We strongly encourage using the default of mm. Default: mmChoices
'"in|mm"'
|
| user_uri | URI |
none available Default: None |
| virus_scan | string |
State of the virus-scan on the file pushed to X-Upload-Location. Quarantined indicates a problem was detected. Default: unscannedChoices
'"unscanned|passed|quarantined"'
|
| volume_mm | float |
The volume is in mm as unit at API level, not in user_units. Default: None |
| zverse_conversion | URI |
ZVerse conversion URI (if model conversion was delegated to the ZVerse service). Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 401 |
|
/model//snapshot/
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| callback | object |
none available Example: '{"method": "GET|POST|PUT"}'
|
| color | string |
RGB for a your snapshots for base_material, including # sign at the start. Auth Orange default |
| content | string |
none available |
| created | iso-8601 datetime |
none available |
| height | integer |
none available |
| model | URI |
none available |
| model_status | string |
none available Choices
'"not-uploaded|converting|processing|processed|external-process|error|repaired|irreparable|inoperable|file-too-large"'
|
| samples | integer |
none available |
| slice_height | float |
none available |
| status | string |
none available Choices
'"in_queue|rendering|error|rendered"'
|
| u | float |
none available |
| uri | URI |
none available |
| v | float |
none available |
| w | float |
none available |
| width | integer |
none available |
| x | float |
none available |
| y | float |
none available |
| z | float |
none available |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| callback | object |
none available Default: NoneExample: '{"method": "GET|POST|PUT"}'
|
| color | string |
RGB for a your snapshots for base_material, including # sign at the start. Auth Orange defaultDefault: #FF7F00 |
| content | string |
none available Default: None |
| created | iso-8601 datetime |
none available Default: None |
| height | integer |
none available Default: 480 |
| model | URI |
none available Default: None |
| model_status | string |
none available Default: NoneChoices
'"not-uploaded|converting|processing|processed|external-process|error|repaired|irreparable|inoperable|file-too-large"'
|
| samples | integer |
none available Default: 10 |
| slice_height | float |
none available Default: None |
| status | string |
none available Default: NoneChoices
'"in_queue|rendering|error|rendered"'
|
| u | float |
none available Default: None |
| uri | URI |
none available Default: None |
| v | float |
none available Default: None |
| w | float |
none available Default: None |
| width | integer |
none available Default: 640 |
| x | float |
none available Default: None |
| y | float |
none available Default: None |
| z | float |
none available Default: None |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
/model//snapshot/binary/
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| callback | object |
none available Example: '{"method": "GET|POST|PUT"}'
|
| color | string |
RGB for a your snapshots for base_material, including # sign at the start. Auth Orange default |
| content | string |
none available |
| created | iso-8601 datetime |
none available |
| height | integer |
none available |
| model | URI |
none available |
| model_status | string |
none available Choices
'"not-uploaded|converting|processing|processed|external-process|error|repaired|irreparable|inoperable|file-too-large"'
|
| samples | integer |
none available |
| slice_height | float |
none available |
| status | string |
none available Choices
'"in_queue|rendering|error|rendered"'
|
| u | float |
none available |
| uri | URI |
none available |
| v | float |
none available |
| w | float |
none available |
| width | integer |
none available |
| x | float |
none available |
| y | float |
none available |
| z | float |
none available |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| callback | object |
none available Default: NoneExample: '{"method": "GET|POST|PUT"}'
|
| color | string |
RGB for a your snapshots for base_material, including # sign at the start. Auth Orange defaultDefault: #FF7F00 |
| content | string |
none available Default: None |
| created | iso-8601 datetime |
none available Default: None |
| height | integer |
none available Default: 480 |
| model | URI |
none available Default: None |
| model_status | string |
none available Default: NoneChoices
'"not-uploaded|converting|processing|processed|external-process|error|repaired|irreparable|inoperable|file-too-large"'
|
| samples | integer |
none available Default: 10 |
| slice_height | float |
none available Default: None |
| status | string |
none available Default: NoneChoices
'"in_queue|rendering|error|rendered"'
|
| u | float |
none available Default: None |
| uri | URI |
none available Default: None |
| v | float |
none available Default: None |
| w | float |
none available Default: None |
| width | integer |
none available Default: 640 |
| x | float |
none available Default: None |
| y | float |
none available Default: None |
| z | float |
none available Default: None |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| callback | object |
none available Example: '{"method": "GET|POST|PUT"}'
|
| color | string |
RGB for a your snapshots for base_material, including # sign at the start. Auth Orange default |
| content | string |
none available |
| created | iso-8601 datetime |
none available |
| height | integer |
none available |
| model | URI |
none available |
| model_status | string |
none available Choices
'"not-uploaded|converting|processing|processed|external-process|error|repaired|irreparable|inoperable|file-too-large"'
|
| samples | integer |
none available |
| slice_height | float |
none available |
| status | string |
none available Choices
'"in_queue|rendering|error|rendered"'
|
| u | float |
none available |
| uri | URI |
none available |
| v | float |
none available |
| w | float |
none available |
| width | integer |
none available |
| x | float |
none available |
| y | float |
none available |
| z | float |
none available |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| callback | object |
none available Example: '{"method": "GET|POST|PUT"}'
|
| color | string |
RGB for a your snapshots for base_material, including # sign at the start. Auth Orange default |
| content | string |
none available |
| created | iso-8601 datetime |
none available |
| height | integer |
none available |
| model | URI |
none available |
| model_status | string |
none available Choices
'"not-uploaded|converting|processing|processed|external-process|error|repaired|irreparable|inoperable|file-too-large"'
|
| samples | integer |
none available |
| slice_height | float |
none available |
| status | string |
none available Choices
'"in_queue|rendering|error|rendered"'
|
| u | float |
none available |
| uri | URI |
none available |
| v | float |
none available |
| w | float |
none available |
| width | integer |
none available |
| x | float |
none available |
| y | float |
none available |
| z | float |
none available |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Create a new model
Schema (application/json)
| Property | Type | Description |
|---|
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
|
/model/{uuid}/
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| action | string |
none available Choices
'"mesh_heal_via_Authentise|processing_mesh_heal_via_Authentise"'
|
| allowed_transformations | object |
none available Example: '{}'
|
| analyses | object |
status of manifold and count of inverted surface triangles Example: '{}'
|
| auto-align | boolean |
none available |
| callback | object |
none available Example: '{}'
|
| children | array |
none available Example: '["..."]'
|
| content | string |
Download to raw model content. Data format matches 'type'. |
| conversion_notes | string |
Notes for the conversion process. |
| conversion_original_content | string |
Link to binary content of pre-conversion file, if exists |
| conversion_original_filename | string |
Filename of source native file |
| conversion_original_type | string |
Type of input native file to send to X-Upload and for conversion_original_content Choices
'"x_t|xt|sat|step|stp|igs|iges|sldprt|ipt|prt|catpart|jt|j_t|3dm|obj|iam|dae|pdf|png|tiff|tif"'
|
| conversion_status | string |
Sub-Status of conversion process if status is conversion Choices
'"new|pending|downloading|repairing|processing|uploading|complete|complete-without-upload|failed"'
|
| created | iso-8601 datetime |
none available |
| design_file | URI |
If directly unpacked from a design file (1:1) the URI of that design_file. Otherwise null. |
| expert_conversion | URI |
Expert conversion URI (if model conversion was delegated to the Expert). |
| file_size | integer |
none available |
| file_unit | string |
The default unit of the model file (inch, mm). Set null to allow autodetect. Choices
'"in|mm|cm|m|feet"'
|
| manufacturing_orientation | object |
Manufacturing XYZ rotations of the model associated to this line-item, set by the user to control the structural robustness of the line item during the additive manufacturing step - not to be confused with the final position (transformation) on the build plate, which is instead set by the packing system. Example: '{"status": "in_queue|in_progress|error|uploaded"}'
|
| mfg_oriented_content | string |
Download the mfg-oriented model's content. Data format matches 'type'. |
| name | string |
Name of the model. Cannot exceed 255 characters. |
| parents | array |
none available Example: '["..."]'
|
| polygons | integer |
none available |
| replaced_models | array |
List of model URIs of all models that were replaced from a line_item, leading to the current model. Sorted from most recently replaced model to the oldest replaced model. Note: we dont return this field in LIST response because it requires expensive db operations and data is not needed for LIST at the moment Example: '["..."]'
|
| rights | array |
none available Example: '["all|download|print|transform|transform-external|view"]'
|
| size | object |
We use mm internally and front-end logic converts to user_unit Example: '{}'
|
| snapshot | string |
none available |
| snapshot_content | string |
none available |
| status | string |
none available Choices
'"not-uploaded|converting|processing|processed|external-process|error|repaired|irreparable|inoperable|file-too-large"'
|
| surface_area_mm | float |
The surface area is in mm as unit at API level, not in user_units. |
| type | string |
Format of data we will post to X-Upload-Location. Choices
'"stl"'
|
| updated | iso-8601 datetime |
none available |
| upload-location | string |
none available |
| uri | URI |
none available |
| user_unit | string |
Model files can have their units (file_units) and users can also specify units to read this API data. Internal data is always in MM, this changes API presentation of data only. We strongly encourage using the default of mm. Choices
'"in|mm"'
|
| user_uri | URI |
none available |
| virus_scan | string |
State of the virus-scan on the file pushed to X-Upload-Location. Quarantined indicates a problem was detected. Choices
'"unscanned|passed|quarantined"'
|
| volume_mm | float |
The volume is in mm as unit at API level, not in user_units. |
| zverse_conversion | URI |
ZVerse conversion URI (if model conversion was delegated to the ZVerse service). |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 401 |
|
/modeler-command/
This is the resource for creating and listing commands.
This endpoint is used to create new commands, and update their status. This endpoint will have two clients, Rapidfab will mainly be creating the commands and setting their status to new. The payload of the API will differ depending on the type of the command.
Another client is Echo which will read the commands payload and execute it and then update the status of the command to completed.
Every command that gets created will be sent to the EventBus on the nautilus.command topic.
Event-Stream will then pick up on the command and publish it to endpoint https://events.{environment}/commands.
On the other end, Echo will be listening on that endpoint and executing the commands as they come.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| build-file | URI |
In case the command is triggered for the purpose of starting a run. The contents of the file would be attached here |
| bureau | URI |
Bureau this command is associated with |
| created | iso-8601 datetime |
The date the command was created. |
| job_external_id | string |
External ID of the job, kept as a string as some vendors would have this as UUID and others as int. This field is only required when the command is of type |
| machine_job_file | URI |
When experimenting with printer connection, the user may attach test files only used for experimenting. Those files would be stored in this URI |
| modeler | URI |
The modeler on which this command will be executed when the command gets to Echo. The modeler could be associated with a printer or a post processor. |
| printing_preset | string |
The printing preset that that will dictate the material and workflow that will be used to print the build file. This field is only required when the command is of type |
| response | string |
This will be a JSON field and contain the result of executing the command on the printer. Along with the |
| run | URI |
If the command is linked to a run, run URI should be sent as part of the payload. If the command is just an experiment this will be sent blank. |
| status | string |
Status of the command. When first created, the command is set to new. Echo receives it, updates the status to Choices
'"new|processing|complete|error"'
|
| type | string |
Type of the command, the payload of this endpoint will change depending on the type. For example, the Choices
'"start_job|pause_job|resume_job|cancel_job|check_configuration"'
|
| uri | URI |
URI of the command |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| build-file | URI |
In case the command is triggered for the purpose of starting a run. The contents of the file would be attached here Required |
| bureau | URI |
Bureau this command is associated with Required |
| created | iso-8601 datetime |
The date the command was created. Required |
| job_external_id | string |
External ID of the job, kept as a string as some vendors would have this as UUID and others as int. This field is only required when the command is of type Required |
| machine_job_file | URI |
When experimenting with printer connection, the user may attach test files only used for experimenting. Those files would be stored in this URI Required |
| modeler | URI |
The modeler on which this command will be executed when the command gets to Echo. The modeler could be associated with a printer or a post processor. Required |
| printing_preset | string |
The printing preset that that will dictate the material and workflow that will be used to print the build file. This field is only required when the command is of type Required |
| response | string |
This will be a JSON field and contain the result of executing the command on the printer. Along with the Required |
| run | URI |
If the command is linked to a run, run URI should be sent as part of the payload. If the command is just an experiment this will be sent blank. Required |
| status | string |
Status of the command. When first created, the command is set to new. Echo receives it, updates the status to Default: newChoices
'"new|processing|complete|error"'
|
| type | string |
Type of the command, the payload of this endpoint will change depending on the type. For example, the Required Choices
'"start_job|pause_job|resume_job|cancel_job|check_configuration"'
|
| uri | URI |
URI of the command Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
This is the resource for creating and listing commands.
This endpoint is used to create new commands, and update their status. This endpoint will have two clients, Rapidfab will mainly be creating the commands and setting their status to new. The payload of the API will differ depending on the type of the command.
Another client is Echo which will read the commands payload and execute it and then update the status of the command to completed.
Every command that gets created will be sent to the EventBus on the nautilus.command topic.
Event-Stream will then pick up on the command and publish it to endpoint https://events.{environment}/commands.
On the other end, Echo will be listening on that endpoint and executing the commands as they come.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| build-file | URI |
In case the command is triggered for the purpose of starting a run. The contents of the file would be attached here |
| bureau | URI |
Bureau this command is associated with |
| created | iso-8601 datetime |
The date the command was created. |
| job_external_id | string |
External ID of the job, kept as a string as some vendors would have this as UUID and others as int. This field is only required when the command is of type |
| machine_job_file | URI |
When experimenting with printer connection, the user may attach test files only used for experimenting. Those files would be stored in this URI |
| modeler | URI |
The modeler on which this command will be executed when the command gets to Echo. The modeler could be associated with a printer or a post processor. |
| printing_preset | string |
The printing preset that that will dictate the material and workflow that will be used to print the build file. This field is only required when the command is of type |
| response | string |
This will be a JSON field and contain the result of executing the command on the printer. Along with the |
| run | URI |
If the command is linked to a run, run URI should be sent as part of the payload. If the command is just an experiment this will be sent blank. |
| status | string |
Status of the command. When first created, the command is set to new. Echo receives it, updates the status to Choices
'"new|processing|complete|error"'
|
| type | string |
Type of the command, the payload of this endpoint will change depending on the type. For example, the Choices
'"start_job|pause_job|resume_job|cancel_job|check_configuration"'
|
| uri | URI |
URI of the command |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
/modeler-printing-preset/
A printing preset defines the material and workflow the printer needs to use for the print job.
An example of present would be Durable DL110 HB Bottle Cap
The list of presets can be retrieved directly from the printer. We have to keep our internal list of presets in sync with what is available on the printer.
A Photocentric printer user can introduce new presets on the fly without going through Flaws. This update can occur often.
We also add a preset description which is a summary of the data we retrieve from JENI preset details endpoint.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| active | boolean |
Whether the preset is active or not. When a preset is disabled, it will not be available for selection. We retrieve the list of active presets straight from printers API. When a stored preset no longer shows up on the pritners list we mark it as disabled |
| bureau | URI |
The bureau that has access to this presets |
| description | string |
A summary of what the preset consists of. Typically this would contain the names of the process steps the preset contains |
| modeler | URI |
A URI for a modeler. A modeler can have multiple presets and a preset can be enabled/disabled on multiple modelers.We don't keep a central list of presets. Presets are spread across multiple modelers |
| name | string |
The name of the preset, it's a unique name and cannot be duplicated. |
| preset_list | array |
none available Example: '[{}]'
|
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| active | boolean |
Whether the preset is active or not. When a preset is disabled, it will not be available for selection. We retrieve the list of active presets straight from printers API. When a stored preset no longer shows up on the pritners list we mark it as disabled Default: True |
| bureau | URI |
The bureau that has access to this presets Required |
| description | string |
A summary of what the preset consists of. Typically this would contain the names of the process steps the preset contains Required |
| modeler | URI |
A URI for a modeler. A modeler can have multiple presets and a preset can be enabled/disabled on multiple modelers.We don't keep a central list of presets. Presets are spread across multiple modelers Required |
| name | string |
The name of the preset, it's a unique name and cannot be duplicated. Required |
| preset_list | array |
none available Required Example: '[{}]'
|
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
A printing preset defines the material and workflow the printer needs to use for the print job.
An example of present would be Durable DL110 HB Bottle Cap
The list of presets can be retrieved directly from the printer. We have to keep our internal list of presets in sync with what is available on the printer.
A Photocentric printer user can introduce new presets on the fly without going through Flaws. This update can occur often.
We also add a preset description which is a summary of the data we retrieve from JENI preset details endpoint.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| active | boolean |
Whether the preset is active or not. When a preset is disabled, it will not be available for selection. We retrieve the list of active presets straight from printers API. When a stored preset no longer shows up on the pritners list we mark it as disabled |
| bureau | URI |
The bureau that has access to this presets |
| description | string |
A summary of what the preset consists of. Typically this would contain the names of the process steps the preset contains |
| modeler | URI |
A URI for a modeler. A modeler can have multiple presets and a preset can be enabled/disabled on multiple modelers.We don't keep a central list of presets. Presets are spread across multiple modelers |
| name | string |
The name of the preset, it's a unique name and cannot be duplicated. |
| preset_list | array |
none available Example: '[{}]'
|
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
/modeler-type/
Get information about the different supported modeler-types (printer models)
Get list of modeler-types. Supports filters
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| capture_types | array |
The capture_types associated with this modeler-type Example: ('[{"capture_type": '
'"arcam.job.log|catex.modeler.jobs|catex.modeler.status|connex.modeler.log|eos_connect.modeler.log|eos.modeler.log|eosconnet_v6_http_modeler.jobs|hp.modeler.status|slm.modeler.status|projet660.modeler.log|ultimaker.modeler.log|stratasys.connectivity.modeler.status|stratasys.connectivity.modeler.historic|carbon3D.modeler.status|formlabs.modeler.status|markforged.modeler.status|renishaw.modeler.log|renishaw.modeler.historic|photocentric.modeler.status|photocentric_jeni.modeler.status|addiguru.build.analysis|bambu.modeler.status|haas.modeler.status"}]')
|
| description | string |
A short description of the modeler-type |
| manufacturer | string |
The the manufacturer of the modeler |
| name | string |
The name/model number of the represented modeler (printer). |
| technology | string |
The 3d printing technology the modeler can use. Choices
('"Binder Jet|NA|SLA|SLS|FDM|Polyjet|Polyjet '
'Anatomy|EBM|MJF|DLP|CLIP|DMLS|SDL|SLM_DMLS|LCD SLA|CNC|Press brake|Laser '
'cutting|Waterjet"')
|
| uri | URI |
The URI to the modeler-type |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
|
Get information about the different supported modeler-types (printer models)
Get a modeler-type by uuid
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| capture_types | array |
The capture_types associated with this modeler-type Example: ('[{"capture_type": '
'"arcam.job.log|catex.modeler.jobs|catex.modeler.status|connex.modeler.log|eos_connect.modeler.log|eos.modeler.log|eosconnet_v6_http_modeler.jobs|hp.modeler.status|slm.modeler.status|projet660.modeler.log|ultimaker.modeler.log|stratasys.connectivity.modeler.status|stratasys.connectivity.modeler.historic|carbon3D.modeler.status|formlabs.modeler.status|markforged.modeler.status|renishaw.modeler.log|renishaw.modeler.historic|photocentric.modeler.status|photocentric_jeni.modeler.status|addiguru.build.analysis|bambu.modeler.status|haas.modeler.status"}]')
|
| description | string |
A short description of the modeler-type |
| manufacturer | string |
The the manufacturer of the modeler |
| name | string |
The name/model number of the represented modeler (printer). |
| technology | string |
The 3d printing technology the modeler can use. Choices
('"Binder Jet|NA|SLA|SLS|FDM|Polyjet|Polyjet '
'Anatomy|EBM|MJF|DLP|CLIP|DMLS|SDL|SLM_DMLS|LCD SLA|CNC|Press brake|Laser '
'cutting|Waterjet"')
|
| uri | URI |
The URI to the modeler-type |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
|
/modeler/
Create and update modelers, and get information about them
Get list of modelers with optional filters
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| cassettes | array |
none available Example: '["..."]'
|
| connected | boolean |
True if we are able to communicate with the printer, false otherwise. When this property is set to 'false' the status of the modeler will be changed to 'offline' until 'connected' is set back to 'true'. This will even take precedence over error states. This property is normally used by API managed modelers |
| current_build | URI |
The current build the modeler is processing |
| description | string |
A short description about this modeler |
| error | string |
Detailed error status on the modeler, if any. |
| history_collection_frequency | string |
The frequency of collecting the modeler's historic jobs Choices
'"daily|monthly|never"'
|
| ip_address | string |
The local ip address of the modeler, as a string. Supports both IPv4 and IPv6 |
| latest_upload | iso-8601 datetime |
The last date and time a capture was uploaded for this modeler |
| name | string |
The name of the modeler |
| password | string |
The password for corresponding username to communicate with certain machines. It's only used for EOSConnect modeler. |
| serial_number | string |
The serial number of the modeler, as a string |
| status | string |
The status of the modeler, or what it's doing. This cannot be directly changed Choices
'"not_connected|error|idle|offline|printing|maintenance|print_finished|ready_to_print|unknown"'
|
| type | URI |
The URI to the modeler type of this modeler |
| updated | iso-8601 datetime |
none available |
| uri | URI |
The URI to the modeler |
| username | string |
Special username required to communicate with certain machines. It's only used for EOSConnect modeler. |
| watermark | string |
Marks the reference to the latest historic build collected |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
This means the IP address you entered is invalid. Make sure your ip address is a valid IPv4 or IPv6 address. |
| 404 |
|
Create a new modeler
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| cassettes | array |
none available Required Example: '["..."]'
|
| connected | boolean |
True if we are able to communicate with the printer, false otherwise. When this property is set to 'false' the status of the modeler will be changed to 'offline' until 'connected' is set back to 'true'. This will even take precedence over error states. This property is normally used by API managed modelers Default: True |
| current_build | URI |
The current build the modeler is processing Required |
| description | string |
A short description about this modeler Default: None |
| error | string |
Detailed error status on the modeler, if any. Required |
| history_collection_frequency | string |
The frequency of collecting the modeler's historic jobs Required Choices
'"daily|monthly|never"'
|
| ip_address | string |
The local ip address of the modeler, as a string. Supports both IPv4 and IPv6 Default: None |
| latest_upload | iso-8601 datetime |
The last date and time a capture was uploaded for this modeler Required |
| name | string |
The name of the modeler Required |
| password | string |
The password for corresponding username to communicate with certain machines. It's only used for EOSConnect modeler. Default: None |
| serial_number | string |
The serial number of the modeler, as a string Default: None |
| status | string |
The status of the modeler, or what it's doing. This cannot be directly changed Required Choices
'"not_connected|error|idle|offline|printing|maintenance|print_finished|ready_to_print|unknown"'
|
| type | URI |
The URI to the modeler type of this modeler Required |
| updated | iso-8601 datetime |
none available Required |
| uri | URI |
The URI to the modeler Required |
| username | string |
Special username required to communicate with certain machines. It's only used for EOSConnect modeler. Default: None |
| watermark | string |
Marks the reference to the latest historic build collected Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
This means the IP address you entered is invalid. Make sure your ip address is a valid IPv4 or IPv6 address. |
| 404 |
|
/modeler/{uuid}/
Create and update modelers, and get information about them
Get a modeler by URI
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| cassettes | array |
none available Example: '["..."]'
|
| connected | boolean |
True if we are able to communicate with the printer, false otherwise. When this property is set to 'false' the status of the modeler will be changed to 'offline' until 'connected' is set back to 'true'. This will even take precedence over error states. This property is normally used by API managed modelers |
| current_build | URI |
The current build the modeler is processing |
| description | string |
A short description about this modeler |
| error | string |
Detailed error status on the modeler, if any. |
| history_collection_frequency | string |
The frequency of collecting the modeler's historic jobs Choices
'"daily|monthly|never"'
|
| ip_address | string |
The local ip address of the modeler, as a string. Supports both IPv4 and IPv6 |
| latest_upload | iso-8601 datetime |
The last date and time a capture was uploaded for this modeler |
| name | string |
The name of the modeler |
| password | string |
The password for corresponding username to communicate with certain machines. It's only used for EOSConnect modeler. |
| serial_number | string |
The serial number of the modeler, as a string |
| status | string |
The status of the modeler, or what it's doing. This cannot be directly changed Choices
'"not_connected|error|idle|offline|printing|maintenance|print_finished|ready_to_print|unknown"'
|
| type | URI |
The URI to the modeler type of this modeler |
| updated | iso-8601 datetime |
none available |
| uri | URI |
The URI to the modeler |
| username | string |
Special username required to communicate with certain machines. It's only used for EOSConnect modeler. |
| watermark | string |
Marks the reference to the latest historic build collected |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
This means the IP address you entered is invalid. Make sure your ip address is a valid IPv4 or IPv6 address. |
| 404 |
|
/msnav-import/file-to-order/
This endpoint is for uploading / downloaing Microsoft Nav (MSNav) files. MSNav files are CSV files that we can store, and conver into workstations, and/or convert into Workflows and/or convert into individual Line-Items in an order
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau the msnav workflow belongs to |
| error | string |
If conversion encountered an error, this will contain error message and correction notes on the error |
| msnav_file | URI |
Link to a MS Nav file to turn into an authentise flows order with line-item, etc. |
| status | string |
Status of creating an order / line-item msnav-file. Choices
'"pending|making-line-item|making-order|complete|error"'
|
| uri | URI |
URI to self, mostly for LIST function |
| workflow | URI |
Link to a the nautilus workflow. we created from this. Nullable if still processing, or an error happend |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau the msnav workflow belongs to Required |
| error | string |
If conversion encountered an error, this will contain error message and correction notes on the error Required |
| msnav_file | URI |
Link to a MS Nav file to turn into an authentise flows order with line-item, etc. Required |
| status | string |
Status of creating an order / line-item msnav-file. Required Choices
'"pending|making-line-item|making-order|complete|error"'
|
| uri | URI |
URI to self, mostly for LIST function Default: None |
| workflow | URI |
Link to a the nautilus workflow. we created from this. Nullable if still processing, or an error happend Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
This endpoint is for uploading / downloaing Microsoft Nav (MSNav) files. MSNav files are CSV files that we can store, and conver into workstations, and/or convert into Workflows and/or convert into individual Line-Items in an order
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau the msnav workflow belongs to |
| error | string |
If conversion encountered an error, this will contain error message and correction notes on the error |
| msnav_file | URI |
Link to a MS Nav file to turn into an authentise flows order with line-item, etc. |
| status | string |
Status of creating an order / line-item msnav-file. Choices
'"pending|making-line-item|making-order|complete|error"'
|
| uri | URI |
URI to self, mostly for LIST function |
| workflow | URI |
Link to a the nautilus workflow. we created from this. Nullable if still processing, or an error happend |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
/msnav-import/file/
This endpoint is for uploading / downloaing Microsoft Nav (MSNav) files. MSNav files are CSV files that we can store, and conver into workstations, and/or convert into Workflows and/or convert into individual Line-Items in an order
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau the msnav file belongs to |
| content | URL |
The URL of the file if one has been uploaded. |
| created | iso-8601 datetime |
The date the file was uploaded. |
| error | string |
If status is an error, this will contain error message and correction notes on the error |
| msnav_id | string |
MSNav ID for this file. Note this is parsed from column M (and/or A) |
| msnav_workflows | array |
Msnav workflows linked to this file Example: '["..."]'
|
| name | string |
filename of the file you are uploading |
| notes | string |
any notes concerning the file upload. |
| status | string |
Status of file reading / validation process if status is conversion Choices
'"not-uploaded|uploaded|processing|processed|error"'
|
| upload_location | string |
none available |
| uri | URI |
URI to self, mostly for LIST function |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 401 |
|
| 404 |
The requested msnav file cannot be found. |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau the msnav file belongs to Required |
| content | URL |
The URL of the file if one has been uploaded. Required |
| created | iso-8601 datetime |
The date the file was uploaded. Required |
| error | string |
If status is an error, this will contain error message and correction notes on the error Required |
| msnav_id | string |
MSNav ID for this file. Note this is parsed from column M (and/or A) Default: None |
| msnav_workflows | array |
Msnav workflows linked to this file Default: NoneExample: '["..."]'
|
| name | string |
filename of the file you are uploading Required |
| notes | string |
any notes concerning the file upload. Required |
| status | string |
Status of file reading / validation process if status is conversion Required Choices
'"not-uploaded|uploaded|processing|processed|error"'
|
| upload_location | string |
none available Default: None |
| uri | URI |
URI to self, mostly for LIST function Default: None |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 401 |
|
| 404 |
The requested msnav file cannot be found. |
This endpoint is for uploading / downloaing Microsoft Nav (MSNav) files. MSNav files are CSV files that we can store, and conver into workstations, and/or convert into Workflows and/or convert into individual Line-Items in an order
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau the msnav file belongs to |
| content | URL |
The URL of the file if one has been uploaded. |
| created | iso-8601 datetime |
The date the file was uploaded. |
| error | string |
If status is an error, this will contain error message and correction notes on the error |
| msnav_id | string |
MSNav ID for this file. Note this is parsed from column M (and/or A) |
| msnav_workflows | array |
Msnav workflows linked to this file Example: '["..."]'
|
| name | string |
filename of the file you are uploading |
| notes | string |
any notes concerning the file upload. |
| status | string |
Status of file reading / validation process if status is conversion Choices
'"not-uploaded|uploaded|processing|processed|error"'
|
| upload_location | string |
none available |
| uri | URI |
URI to self, mostly for LIST function |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 401 |
|
| 404 |
The requested msnav file cannot be found. |
Endpoint for Action of converting a 'msnav-workflow' into a complete nautilus workflow with process-step, and work-instructions, etc.
no PUT to this endpoint, POST triggers the conversion, or ends in error.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| error | string |
If conversion encountered an error, this will contain error message and correction notes on the error |
| msnav_workflow | URI |
Link to a MS Nav workflow to turn into an authentise flows workflow. |
| status | string |
Status of creating a final flows workflow from an msav-workflow. Choices
'"pending|making_process_steps|making_workflow|linking_work_instructions|complete|error"'
|
| uri | URI |
URI to our own action self, mostly for LIST function |
| workflow | URI |
Link to a the nautilus workflow. we created from this. Nullable if still processing, or an error happend |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| error | string |
If conversion encountered an error, this will contain error message and correction notes on the error Required |
| msnav_workflow | URI |
Link to a MS Nav workflow to turn into an authentise flows workflow. Required |
| status | string |
Status of creating a final flows workflow from an msav-workflow. Required Choices
'"pending|making_process_steps|making_workflow|linking_work_instructions|complete|error"'
|
| uri | URI |
URI to our own action self, mostly for LIST function Default: None |
| workflow | URI |
Link to a the nautilus workflow. we created from this. Nullable if still processing, or an error happend Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
Endpoint for Action of converting a 'msnav-workflow' into a complete nautilus workflow with process-step, and work-instructions, etc.
no PUT to this endpoint, POST triggers the conversion, or ends in error.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| error | string |
If conversion encountered an error, this will contain error message and correction notes on the error |
| msnav_workflow | URI |
Link to a MS Nav workflow to turn into an authentise flows workflow. |
| status | string |
Status of creating a final flows workflow from an msav-workflow. Choices
'"pending|making_process_steps|making_workflow|linking_work_instructions|complete|error"'
|
| uri | URI |
URI to our own action self, mostly for LIST function |
| workflow | URI |
Link to a the nautilus workflow. we created from this. Nullable if still processing, or an error happend |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
/msnav-import/workflow/
TODO: add docs
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau the msnav workflow belongs to |
| msnav_files | array |
Link to any/all MSNAV files using this workflow in our system Example: '["..."]'
|
| name | string |
Workflow name. Usually a MSNAV ID |
| uri | URI |
URI to self, mostly for LIST function |
| workflow | URI |
URI to self, mostly for LIST function |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau the msnav workflow belongs to Required |
| msnav_files | array |
Link to any/all MSNAV files using this workflow in our system Default: NoneExample: '["..."]'
|
| name | string |
Workflow name. Usually a MSNAV ID Required |
| uri | URI |
URI to self, mostly for LIST function Default: None |
| workflow | URI |
URI to self, mostly for LIST function Default: None |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
TODO: add docs
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau the msnav workflow belongs to |
| msnav_files | array |
Link to any/all MSNAV files using this workflow in our system Example: '["..."]'
|
| name | string |
Workflow name. Usually a MSNAV ID |
| uri | URI |
URI to self, mostly for LIST function |
| workflow | URI |
URI to self, mostly for LIST function |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
/nebumind-analysis/
Endpoint to see the status of a Nebumind analysis.
This represents the states/behaviour of peer service Nebumind processing mpm-format data + Nebumind's analysis page, and then letting Rapidfab embed the Nebumind analysis web page (3D view/statistics).
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| created | iso-8601 datetime |
When the Nebumind Analysis was created (requested). |
| currency | string |
The currency of the costs in this endpoint. Choices
'"AED|AFN|ALL|AMD|ANG|AOA|ARS|AUD|AWG|AZN|BAM|BBD|BDT|BGN|BHD|BIF|BMD|BND|BOB|BOV|BRL|BSD|BTN|BWP|BYN|BZD|CAD|CDF|CHE|CHF|CHW|CLF|CLP|CNY|COP|COU|CRC|CUC|CUP|CVE|CZK|DJF|DKK|DOP|DZD|EGP|ERN|ETB|EUR|FJD|FKP|GBP|GEL|GHS|GIP|GMD|GNF|GTQ|GYD|HKD|HNL|HRK|HTG|HUF|IDR|ILS|INR|IQD|IRR|ISK|JMD|JOD|JPY|KES|KGS|KHR|KMF|KPW|KRW|KWD|KYD|KZT|LAK|LBP|LKR|LRD|LSL|LYD|MAD|MDL|MGA|MKD|MMK|MNT|MOP|MRU|MUR|MVR|MWK|MXN|MXV|MYR|MZN|NAD|NGN|NIO|NOK|NPR|NZD|OMR|PAB|PEN|PGK|PHP|PKR|PLN|PYG|QAR|RON|RSD|RUB|RWF|SAR|SBD|SCR|SDG|SEK|SGD|SHP|SLE|SLL|SOS|SRD|SSP|STN|SVC|SYP|SZL|THB|TJS|TMT|TND|TOP|TRY|TTD|TWD|TZS|UAH|UGX|USD|USN|UYI|UYU|UYW|UZS|VED|VES|VND|VUV|WST|XAF|XAG|XAU|XBA|XBB|XBC|XBD|XCD|XDR|XOF|XPD|XPF|XPT|XSU|XTS|XUA|XXX|YER|ZAR|ZMW|ZWL"'
|
| indications | array |
none available Example: '[{}]'
|
| nebumind_user_name | string |
Nebumind Analysis user name |
| nebumind_user_password | string |
Nebumind Analysis user password |
| notes | string |
notes or errors on transaction |
| piece | URI |
This nebumind analysis is triggered on the printing step of this piece. |
| status | string |
The processing status of this analysis in the Nebumind instance. Choices
'"new|in_progress|complete|error"'
|
| updated | iso-8601 datetime |
When the Nebumind Analysis was updated |
| uri | URI |
The URI to this record. |
| visualization | string |
3d model with all indications overlaid |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested record cannot be found. |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| created | iso-8601 datetime |
When the Nebumind Analysis was created (requested). Required |
| currency | string |
The currency of the costs in this endpoint. Required Choices
'"AED|AFN|ALL|AMD|ANG|AOA|ARS|AUD|AWG|AZN|BAM|BBD|BDT|BGN|BHD|BIF|BMD|BND|BOB|BOV|BRL|BSD|BTN|BWP|BYN|BZD|CAD|CDF|CHE|CHF|CHW|CLF|CLP|CNY|COP|COU|CRC|CUC|CUP|CVE|CZK|DJF|DKK|DOP|DZD|EGP|ERN|ETB|EUR|FJD|FKP|GBP|GEL|GHS|GIP|GMD|GNF|GTQ|GYD|HKD|HNL|HRK|HTG|HUF|IDR|ILS|INR|IQD|IRR|ISK|JMD|JOD|JPY|KES|KGS|KHR|KMF|KPW|KRW|KWD|KYD|KZT|LAK|LBP|LKR|LRD|LSL|LYD|MAD|MDL|MGA|MKD|MMK|MNT|MOP|MRU|MUR|MVR|MWK|MXN|MXV|MYR|MZN|NAD|NGN|NIO|NOK|NPR|NZD|OMR|PAB|PEN|PGK|PHP|PKR|PLN|PYG|QAR|RON|RSD|RUB|RWF|SAR|SBD|SCR|SDG|SEK|SGD|SHP|SLE|SLL|SOS|SRD|SSP|STN|SVC|SYP|SZL|THB|TJS|TMT|TND|TOP|TRY|TTD|TWD|TZS|UAH|UGX|USD|USN|UYI|UYU|UYW|UZS|VED|VES|VND|VUV|WST|XAF|XAG|XAU|XBA|XBB|XBC|XBD|XCD|XDR|XOF|XPD|XPF|XPT|XSU|XTS|XUA|XXX|YER|ZAR|ZMW|ZWL"'
|
| indications | array |
none available Required Example: '[{}]'
|
| nebumind_user_name | string |
Nebumind Analysis user name Required |
| nebumind_user_password | string |
Nebumind Analysis user password Required |
| notes | string |
notes or errors on transaction Required |
| piece | URI |
This nebumind analysis is triggered on the printing step of this piece. Required |
| status | string |
The processing status of this analysis in the Nebumind instance. Required Choices
'"new|in_progress|complete|error"'
|
| updated | iso-8601 datetime |
When the Nebumind Analysis was updated Required |
| uri | URI |
The URI to this record. Required |
| visualization | string |
3d model with all indications overlaid Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested record cannot be found. |
Endpoint to see the status of a Nebumind analysis.
This represents the states/behaviour of peer service Nebumind processing mpm-format data + Nebumind's analysis page, and then letting Rapidfab embed the Nebumind analysis web page (3D view/statistics).
generic get one resource by exact UUID
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| created | iso-8601 datetime |
When the Nebumind Analysis was created (requested). |
| currency | string |
The currency of the costs in this endpoint. Choices
'"AED|AFN|ALL|AMD|ANG|AOA|ARS|AUD|AWG|AZN|BAM|BBD|BDT|BGN|BHD|BIF|BMD|BND|BOB|BOV|BRL|BSD|BTN|BWP|BYN|BZD|CAD|CDF|CHE|CHF|CHW|CLF|CLP|CNY|COP|COU|CRC|CUC|CUP|CVE|CZK|DJF|DKK|DOP|DZD|EGP|ERN|ETB|EUR|FJD|FKP|GBP|GEL|GHS|GIP|GMD|GNF|GTQ|GYD|HKD|HNL|HRK|HTG|HUF|IDR|ILS|INR|IQD|IRR|ISK|JMD|JOD|JPY|KES|KGS|KHR|KMF|KPW|KRW|KWD|KYD|KZT|LAK|LBP|LKR|LRD|LSL|LYD|MAD|MDL|MGA|MKD|MMK|MNT|MOP|MRU|MUR|MVR|MWK|MXN|MXV|MYR|MZN|NAD|NGN|NIO|NOK|NPR|NZD|OMR|PAB|PEN|PGK|PHP|PKR|PLN|PYG|QAR|RON|RSD|RUB|RWF|SAR|SBD|SCR|SDG|SEK|SGD|SHP|SLE|SLL|SOS|SRD|SSP|STN|SVC|SYP|SZL|THB|TJS|TMT|TND|TOP|TRY|TTD|TWD|TZS|UAH|UGX|USD|USN|UYI|UYU|UYW|UZS|VED|VES|VND|VUV|WST|XAF|XAG|XAU|XBA|XBB|XBC|XBD|XCD|XDR|XOF|XPD|XPF|XPT|XSU|XTS|XUA|XXX|YER|ZAR|ZMW|ZWL"'
|
| indications | array |
none available Example: '[{}]'
|
| nebumind_user_name | string |
Nebumind Analysis user name |
| nebumind_user_password | string |
Nebumind Analysis user password |
| notes | string |
notes or errors on transaction |
| piece | URI |
This nebumind analysis is triggered on the printing step of this piece. |
| status | string |
The processing status of this analysis in the Nebumind instance. Choices
'"new|in_progress|complete|error"'
|
| updated | iso-8601 datetime |
When the Nebumind Analysis was updated |
| uri | URI |
The URI to this record. |
| visualization | string |
3d model with all indications overlaid |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested record cannot be found. |
/notifications/
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| context | object |
none available Example: 'null'
|
| created | iso-8601 datetime |
none available |
| emails | array |
none available Example: '["..."]'
|
| reply_to | string |
none available |
| template | string |
none available Choices
'"customer.support_request|nautilus.bureau_bid_declined_email|nautilus.bureau_bid_updated_email|nautilus.bureau_inactivate_process_provider|nautilus.castor_estimate_done|nautilus.conversion_expert|nautilus.model_upload_failed|nautilus.order_complete|nautilus.order_created|nautilus.order_line_items_confirmed|nautilus.order_owner|nautilus.order_scheduled|nautilus.order_shipped|nautilus.order_start_printing|nautilus.order_summary|nautilus.order_summary_ephemeral_user|nautilus.order_update|nautilus.print_error|nautilus.process_provider_activated|nautilus.process_provider_declined|nautilus.process_provider_invited|nautilus.service_provider_assignment_email|nautilus.service_provider_canceled_email|nautilus.service_provider_confirmation_email|nautilus.service_provider_inactivate_process_provider|nautilus.service_provider_order_request_email|nautilus.service_provider_registration|nautilus.service_provider_update_email|nautilus.stock_available_below_min_quantity|nautilus.user_mentioned_in_comment|nautilus.work_instruction_piece_owner|users.blocked_for_login|users.guest_registered|users.password_reset|users.welcome_mailer|vision.alert"'
|
| uri | URI |
none available |
| user | URI |
none available |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| context | object |
none available Required Example: 'null'
|
| created | iso-8601 datetime |
none available Default: None |
| emails | array |
none available Default: NoneExample: '["..."]'
|
| reply_to | string |
none available Default: None |
| template | string |
none available Required Choices
'"customer.support_request|nautilus.bureau_bid_declined_email|nautilus.bureau_bid_updated_email|nautilus.bureau_inactivate_process_provider|nautilus.castor_estimate_done|nautilus.conversion_expert|nautilus.model_upload_failed|nautilus.order_complete|nautilus.order_created|nautilus.order_line_items_confirmed|nautilus.order_owner|nautilus.order_scheduled|nautilus.order_shipped|nautilus.order_start_printing|nautilus.order_summary|nautilus.order_summary_ephemeral_user|nautilus.order_update|nautilus.print_error|nautilus.process_provider_activated|nautilus.process_provider_declined|nautilus.process_provider_invited|nautilus.service_provider_assignment_email|nautilus.service_provider_canceled_email|nautilus.service_provider_confirmation_email|nautilus.service_provider_inactivate_process_provider|nautilus.service_provider_order_request_email|nautilus.service_provider_registration|nautilus.service_provider_update_email|nautilus.stock_available_below_min_quantity|nautilus.user_mentioned_in_comment|nautilus.work_instruction_piece_owner|users.blocked_for_login|users.guest_registered|users.password_reset|users.welcome_mailer|vision.alert"'
|
| uri | URI |
none available Default: None |
| user | URI |
none available Default: None |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
|
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| context | object |
none available Example: 'null'
|
| created | iso-8601 datetime |
none available |
| emails | array |
none available Example: '["..."]'
|
| reply_to | string |
none available |
| template | string |
none available Choices
'"customer.support_request|nautilus.bureau_bid_declined_email|nautilus.bureau_bid_updated_email|nautilus.bureau_inactivate_process_provider|nautilus.castor_estimate_done|nautilus.conversion_expert|nautilus.model_upload_failed|nautilus.order_complete|nautilus.order_created|nautilus.order_line_items_confirmed|nautilus.order_owner|nautilus.order_scheduled|nautilus.order_shipped|nautilus.order_start_printing|nautilus.order_summary|nautilus.order_summary_ephemeral_user|nautilus.order_update|nautilus.print_error|nautilus.process_provider_activated|nautilus.process_provider_declined|nautilus.process_provider_invited|nautilus.service_provider_assignment_email|nautilus.service_provider_canceled_email|nautilus.service_provider_confirmation_email|nautilus.service_provider_inactivate_process_provider|nautilus.service_provider_order_request_email|nautilus.service_provider_registration|nautilus.service_provider_update_email|nautilus.stock_available_below_min_quantity|nautilus.user_mentioned_in_comment|nautilus.work_instruction_piece_owner|users.blocked_for_login|users.guest_registered|users.password_reset|users.welcome_mailer|vision.alert"'
|
| uri | URI |
none available |
| user | URI |
none available |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
As part of oAuth standard, this does ???
First step in the OAuth authorization flow, generating the URL that starts the authentication process.
OAuth Flow: 1. This endpoint generates an authorization URL with required parameters (client_id, scopes, callback URL) 2. User is redirected to the OAuth provider's consent page (e.g. Fusion) 3. Provider displays requested permissions (scopes) and asks for user consent 4. After user approves, provider redirects back to our callback URL with an auth code 5. Backend exchanges auth code for access token (handled in OAuthCallback endpoint)
The scopes parameter in the authorization URL defines what permissions the app is requesting. For example, Fusion OAuth may request scopes like: - data:read - Permission to read user's data - data:write - Permission to modify user's data
Args: provider: String identifier for the OAuth provider (e.g. 'fusion_user', 'github', etc)
Returns: A Flask redirect response to the provider's authorization page
Raises: APIException: If a bureau proxy user attempts to authenticate with Fusion (Fusion requires real user accounts for 3-legged OAuth)
Schema (application/json)
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 401 |
|
/oauth/callback/
This is called by our Identity Provider to let us know that the identity provder is processing a request to ?
Handle OAuth callback from identity providers. State parameter is optional - some providers use it, others don't. For Fusion, we use state to pass provider and redirect information.
Schema (application/json)
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 401 |
|
| 404 |
|
| 500 |
|
/oauth/token/
This is called by ? to get from nautilus the access token to a Partner aPI
Create or update a Personal Access Token for a bureau.
NOTE: Unlike the typical REST pattern where POST is for creation and PUT is for updates, this endpoint uses POST for both creating new tokens and updating existing ones. This pattern is called an 'upsert' and should be used very carefully. This is specifically designed for the Fusion Personal Access Token workflow, where existing tokens are replaced rather than updated in-place when a new token is submitted.
When a token already exists for the bureau with the specified provider, it will be deleted and replaced with the new token information.
Args: payload (dict): Must contain: - "access_token": The personal access token string - "provider": Must be "autodesk-fusion-personal-access-token"
Returns: dict: The created or updated token information
Raises: InvalidPayload: If the provider is not "autodesk-fusion-personal-access-token"
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| access_token | string |
The value of the access token right now Required |
| access_token_expires | iso-8601 datetime |
The date and time in UTC when this token expires Required |
| provider | string |
The name of the provider the token is for Required Choices
'"autodesk-forge|zverse|castor3d|pathfindr|autodesk-fusion-bureau|autodesk-fusion-user|autodesk-fusion-personal-access-token"'
|
| user | URI |
The user the token is for Required |
| uuid | uuid |
none available Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 401 |
|
| 404 |
|
| 500 |
|
This is called by ? to get from nautilus the access token to a Partner aPI
to get an Access Token to a partner API, we may need to transact to oAuth ID server?
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| access_token | string |
The value of the access token right now |
| access_token_expires | iso-8601 datetime |
The date and time in UTC when this token expires |
| provider | string |
The name of the provider the token is for Choices
'"autodesk-forge|zverse|castor3d|pathfindr|autodesk-fusion-bureau|autodesk-fusion-user|autodesk-fusion-personal-access-token"'
|
| user | URI |
The user the token is for |
| uuid | uuid |
none available |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 401 |
|
| 404 |
|
| 500 |
|
/order-packing-slip/
An OrderPackingSlip is a docx file listing what needs to be shipped in an order.
It may include all or some limited group of Line Items in the Order it is related to.
Packing slip may need to be regenerated at a new date.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The bureau a report belongs to. |
| content | URL |
the download link for the packing slip document. |
| created | iso-8601 datetime |
The date the packing slip was created. |
| order | URI |
The order to get an packing slip document on. |
| status | string |
none available Choices
'"pending|processing|complete|error"'
|
| uri | URI |
The URI of the packing slip. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested packing slip cannot be found. |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The bureau a report belongs to. Required |
| content | URL |
the download link for the packing slip document. Required |
| created | iso-8601 datetime |
The date the packing slip was created. Required |
| order | URI |
The order to get an packing slip document on. Required |
| status | string |
none available Required Choices
'"pending|processing|complete|error"'
|
| uri | URI |
The URI of the packing slip. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested packing slip cannot be found. |
An OrderPackingSlip is a docx file listing what needs to be shipped in an order.
It may include all or some limited group of Line Items in the Order it is related to.
Packing slip may need to be regenerated at a new date.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The bureau a report belongs to. |
| content | URL |
the download link for the packing slip document. |
| created | iso-8601 datetime |
The date the packing slip was created. |
| order | URI |
The order to get an packing slip document on. |
| status | string |
none available Choices
'"pending|processing|complete|error"'
|
| uri | URI |
The URI of the packing slip. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested packing slip cannot be found. |
Order part quote callback.
Order part quote callback
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | string |
none available Required |
| callback_method | string |
none available Required |
| callback_url | URL |
none available Required |
| currency | string |
none available Required |
| material | string |
none available Required |
| model | string |
none available Required |
| price | float |
none available Required |
| status | string |
none available Required |
| uri | URL |
none available Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested order part cannot be found. |
/order-part/
A Streamics order part record.
List all of the order part in the system for your account.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| attachments_ids | array |
none available Example: '["..."]'
|
| build_due_date | iso-8601 datetime |
none available |
| check_out_date | iso-8601 datetime |
none available |
| check_out_to | string |
none available |
| comments | array |
none available Example: '["..."]'
|
| counters | object |
none available Example: 'null'
|
| created_by | string |
none available |
| created_date | iso-8601 datetime |
none available |
| custom_fields | object |
none available Example: 'null'
|
| due_date | iso-8601 datetime |
none available |
| external_id | string |
none available |
| file_id | integer |
none available |
| file_name | string |
none available |
| id | integer |
none available |
| material_external_id | string |
none available |
| model_uri | URL |
The URI of the order part's model. |
| modified_by | string |
none available |
| modified_date | iso-8601 datetime |
none available |
| needs_validation | boolean |
none available |
| order | URI |
The URI of the order this order part belongs to. |
| order_external_id | string |
none available |
| parameters | object |
none available Example: 'null'
|
| part_id | integer |
none available |
| part_name | string |
none available |
| planned_end_date | iso-8601 datetime |
none available |
| post_processing_estimation | float |
none available |
| post_processing_template | integer |
none available |
| price | float |
none available |
| quantity | integer |
none available |
| quoted_part_external_id | string |
none available |
| quotes | array |
none available Example: '["..."]'
|
| status | string |
none available |
| uri | URI |
The URI of the order part. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested order part cannot be found. |
Create a new order part.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| attachments_ids | array |
none available Default: []Example: '["..."]'
|
| build_due_date | iso-8601 datetime |
none available Default: None |
| check_out_date | iso-8601 datetime |
none available Default: None |
| check_out_to | string |
none available Default: None |
| comments | array |
none available Default: []Example: '["..."]'
|
| counters | object |
none available Default: {}Example: 'null'
|
| created_by | string |
none available Required |
| created_date | iso-8601 datetime |
none available Required |
| custom_fields | object |
none available Required Example: 'null'
|
| due_date | iso-8601 datetime |
none available Required |
| external_id | string |
none available Required |
| file_id | integer |
none available Required |
| file_name | string |
none available Required |
| id | integer |
none available Required |
| material_external_id | string |
none available Required |
| model_uri | URL |
The URI of the order part's model. Required |
| modified_by | string |
none available Required |
| modified_date | iso-8601 datetime |
none available Required |
| needs_validation | boolean |
none available Default: None |
| order | URI |
The URI of the order this order part belongs to. Default: None |
| order_external_id | string |
none available Required |
| parameters | object |
none available Default: {}Example: 'null'
|
| part_id | integer |
none available Required |
| part_name | string |
none available Required |
| planned_end_date | iso-8601 datetime |
none available Required |
| post_processing_estimation | float |
none available Default: None |
| post_processing_template | integer |
none available Default: None |
| price | float |
none available Default: None |
| quantity | integer |
none available Required |
| quoted_part_external_id | string |
none available Default: None |
| quotes | array |
none available Default: NoneExample: '["..."]'
|
| status | string |
none available Required |
| uri | URI |
The URI of the order part. Default: None |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 404 |
The requested order part cannot be found. |
A Streamics order part record.
Get a single order part by UUID.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| attachments_ids | array |
none available Example: '["..."]'
|
| build_due_date | iso-8601 datetime |
none available |
| check_out_date | iso-8601 datetime |
none available |
| check_out_to | string |
none available |
| comments | array |
none available Example: '["..."]'
|
| counters | object |
none available Example: 'null'
|
| created_by | string |
none available |
| created_date | iso-8601 datetime |
none available |
| custom_fields | object |
none available Example: 'null'
|
| due_date | iso-8601 datetime |
none available |
| external_id | string |
none available |
| file_id | integer |
none available |
| file_name | string |
none available |
| id | integer |
none available |
| material_external_id | string |
none available |
| model_uri | URL |
The URI of the order part's model. |
| modified_by | string |
none available |
| modified_date | iso-8601 datetime |
none available |
| needs_validation | boolean |
none available |
| order | URI |
The URI of the order this order part belongs to. |
| order_external_id | string |
none available |
| parameters | object |
none available Example: 'null'
|
| part_id | integer |
none available |
| part_name | string |
none available |
| planned_end_date | iso-8601 datetime |
none available |
| post_processing_estimation | float |
none available |
| post_processing_template | integer |
none available |
| price | float |
none available |
| quantity | integer |
none available |
| quoted_part_external_id | string |
none available |
| quotes | array |
none available Example: '["..."]'
|
| status | string |
none available |
| uri | URI |
The URI of the order part. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested order part cannot be found. |
/order-quote/
An ‘Order Quote’ is an outbound Quote (price to end customer) for a bureau customers send to their customers for an order. This is for all line-items in an order, see LineItemQuote for detailed data for each line-item in the order.
There may be multiple revisions of an in an ’Order Quote' for a single Order object. Usually you only want to use the newest (or the highest # version) of the OrderQuote.
When agreed to by the customer, the parent 'order.quote_approved' value is set to True. FOOTNOTE[1]
Old version may represent different versions or updates or state-changes in that orders history.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| approved | boolean |
Date and time when certain revision of order quote was approved. |
| bureau | URI |
The bureau a report belongs to. |
| content | URL |
the download link for the document |
| created | iso-8601 datetime |
The date the report was created. |
| customer_po | string |
Customer PO which is a reference to Customer number. |
| discount_type | string |
Discount type for quote. Choices
'"percentage|amount"'
|
| discount_value | float |
Discount that should be applied for total cost in quote. |
| markup_value | float |
Markup percentage to apply to all line-items in this order Example: '"50.35"'
|
| notes | string |
Notes for the order quote. |
| number | string |
A reference to Sales quotes |
| order | URI |
The order to get a quote document on. |
| status | string |
Status of a report. Choices
'"pending|processing|complete|error"'
|
| uri | URI |
The URI of the order quote. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
Order quote can't be generated if order confirmed. Or, cannot be approved if there is no customer_po specified. |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested report cannot be found. |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| approved | boolean |
Date and time when certain revision of order quote was approved. Default: False |
| bureau | URI |
The bureau a report belongs to. Required |
| content | URL |
the download link for the document Default: None |
| created | iso-8601 datetime |
The date the report was created. Default: None |
| customer_po | string |
Customer PO which is a reference to Customer number. Default: None |
| discount_type | string |
Discount type for quote. Default: amountChoices
'"percentage|amount"'
|
| discount_value | float |
Discount that should be applied for total cost in quote. Default: None |
| markup_value | float |
Markup percentage to apply to all line-items in this order Default: 0Example: '"50.35"'
|
| notes | string |
Notes for the order quote. Default: None |
| number | string |
A reference to Sales quotes Default: None |
| order | URI |
The order to get a quote document on. Required |
| status | string |
Status of a report. Default: NoneChoices
'"pending|processing|complete|error"'
|
| uri | URI |
The URI of the order quote. Default: None |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
Order quote can't be generated if order confirmed. Or, cannot be approved if there is no customer_po specified. |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested report cannot be found. |
An ‘Order Quote’ is an outbound Quote (price to end customer) for a bureau customers send to their customers for an order. This is for all line-items in an order, see LineItemQuote for detailed data for each line-item in the order.
There may be multiple revisions of an in an ’Order Quote' for a single Order object. Usually you only want to use the newest (or the highest # version) of the OrderQuote.
When agreed to by the customer, the parent 'order.quote_approved' value is set to True. FOOTNOTE[1]
Old version may represent different versions or updates or state-changes in that orders history.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| approved | boolean |
Date and time when certain revision of order quote was approved. |
| bureau | URI |
The bureau a report belongs to. |
| content | URL |
the download link for the document |
| created | iso-8601 datetime |
The date the report was created. |
| customer_po | string |
Customer PO which is a reference to Customer number. |
| discount_type | string |
Discount type for quote. Choices
'"percentage|amount"'
|
| discount_value | float |
Discount that should be applied for total cost in quote. |
| markup_value | float |
Markup percentage to apply to all line-items in this order Example: '"50.35"'
|
| notes | string |
Notes for the order quote. |
| number | string |
A reference to Sales quotes |
| order | URI |
The order to get a quote document on. |
| status | string |
Status of a report. Choices
'"pending|processing|complete|error"'
|
| uri | URI |
The URI of the order quote. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
Order quote can't be generated if order confirmed. Or, cannot be approved if there is no customer_po specified. |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested report cannot be found. |
/order-report/
The order-report api is for exporting the details of an Order along with the line-items associated with it as a printable csv.
Schema (application/json)
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
/order-streamics/
This is our backend end for connection to our Streamics bridge.
The streamics bridge is in it's own repository, StreamicsConnector.
Some customers can use Stremics as a third party is where an order can be placed/
List all of the order in the system for your account.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| attachments_ids | array |
none available Example: '["..."]'
|
| build_due_date | iso-8601 datetime |
none available |
| comments | array |
none available Example: '["..."]'
|
| contact_person_external_id | string |
none available |
| created_by | string |
none available |
| created_date | iso-8601 datetime |
none available |
| custom_fields | object |
none available Example: 'null'
|
| due_date | iso-8601 datetime |
none available |
| external_id | string |
none available |
| id | integer |
none available |
| modified_by | string |
none available |
| modified_date | iso-8601 datetime |
none available |
| ordered_parts_total_quantity | integer |
none available |
| planned_end_date | iso-8601 datetime |
none available |
| price | float |
none available |
| quote_external_id | string |
none available |
| status | string |
none available |
| uri | URI |
The URI of the order. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested order cannot be found. |
Create a new order.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| attachments_ids | array |
none available Required Example: '["..."]'
|
| build_due_date | iso-8601 datetime |
none available Default: None |
| comments | array |
none available Default: []Example: '["..."]'
|
| contact_person_external_id | string |
none available Required |
| created_by | string |
none available Required |
| created_date | iso-8601 datetime |
none available Required |
| custom_fields | object |
none available Default: {}Example: 'null'
|
| due_date | iso-8601 datetime |
none available Required |
| external_id | string |
none available Required |
| id | integer |
none available Required |
| modified_by | string |
none available Required |
| modified_date | iso-8601 datetime |
none available Required |
| ordered_parts_total_quantity | integer |
none available Required |
| planned_end_date | iso-8601 datetime |
none available Required |
| price | float |
none available Default: None |
| quote_external_id | string |
none available Default: None |
| status | string |
none available Required |
| uri | URI |
The URI of the order. Default: None |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 404 |
The requested order cannot be found. |
This is our backend end for connection to our Streamics bridge.
The streamics bridge is in it's own repository, StreamicsConnector.
Some customers can use Stremics as a third party is where an order can be placed/
Get a single order by UUID.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| attachments_ids | array |
none available Example: '["..."]'
|
| build_due_date | iso-8601 datetime |
none available |
| comments | array |
none available Example: '["..."]'
|
| contact_person_external_id | string |
none available |
| created_by | string |
none available |
| created_date | iso-8601 datetime |
none available |
| custom_fields | object |
none available Example: 'null'
|
| due_date | iso-8601 datetime |
none available |
| external_id | string |
none available |
| id | integer |
none available |
| modified_by | string |
none available |
| modified_date | iso-8601 datetime |
none available |
| ordered_parts_total_quantity | integer |
none available |
| planned_end_date | iso-8601 datetime |
none available |
| price | float |
none available |
| quote_external_id | string |
none available |
| status | string |
none available |
| uri | URI |
The URI of the order. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested order cannot be found. |
/order/
An order is how a user tells the system they would like a particular bureau to build a particular part or parts.
The order is mostly composed of line-item resources which should be created before creating the order. Each
line item contains information on a particular model in a particular quantity to produce. The order then aggregates
the line-items with metadata about the currency to quote the order in, total estimates of cost and time, shipping
information to use to send the parts to the customer and overall status of the order.
The status of an order is normally calculated as the aggregate status of the line-items of the order. When an order has all line items printing, the status is printing. When all line items are complete, the order is complete.
Orders should normally be specified with the bureau, line_items, name and shipping. Other fields are populated as the order moves through the system towards completion
List all of the order in the system for your account.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| application_type | string |
Application type, field specific to business-segment bureaus. Choices
'"prototype|tooling|end_component"'
|
| build_file_status | string |
none available Choices
'"Pending|In Progress|Complete"'
|
| bureau | URI |
The URI of the bureau. |
| callback_method | string |
Callback method |
| callback_url | string |
Callback URL |
| country | string |
3 digit ISO 3166 country code for non danfoss bureau |
| created | iso-8601 datetime |
The date the order was created. |
| created_by | string |
Name of user that created order |
| custom_field_values | array |
none available Example: '[{}]'
|
| customer_email |
Customer email address. |
|
| customer_go | string |
none available Choices
'"Yes|No"'
|
| customer_id | string |
Human readable alpha-numeric, customer defined ID. Defaults to UUID-8 |
| customer_name | string |
Customer name for the order. |
| customer_po | string |
Customer PO which is a reference to Customer number. |
| due_date | iso-8601 datetime |
The due date for the order. |
| error | string |
none available |
| estimates | object |
none available Example: '{"cost": {}, "materials": {}}'
|
| external_id | string |
External ID for an order. |
| include_piece_count | boolean |
True if you want the List request to include piece counts. False otherwise. |
| ip_sensitivity | string |
The intellectual property sensitivity. |
| is_template | boolean |
True if the resource is a template resource. (template_name is None).False otherwise. Added for clarity and filtering ease |
| line_items | array |
The uri of the line items inside this order. Example: '["..."]'
|
| location | URI |
URI of the location |
| locations_available | array |
list of manufacturing locations available for this order Example: '["..."]'
|
| name | string |
Name of the order. |
| notes | string |
System notes if the system auto-updates values, or is reporting a warning. |
| order_owner | URI |
The URI of the order owner. |
| order_owner_name | string |
The name of the order.order_owner user. |
| order_type | string |
Order type choices. Choice depends on the bureau. Choices
'"benchmark|commercial|r-d|sample-free|timestudy"'
|
| piece_count | integer |
The sum of pieces related to an order |
| planning_status | string |
none available Choices
'"Pending|In Progress|Complete"'
|
| priority | integer |
0 to 100 value of priority, higher means 'runs sooner' |
| quote_required | boolean |
Whether order quote workflow required or not. |
| region | string |
Region of the order. |
| run_status | string |
By transferred run status returning orders where at least one run has that status Choices
'"calculating|calculated|queued|queued-work-ready|in-progress|paused|error|complete|cancelled"'
|
| shipping | object |
none available Example: '{}'
|
| shipping_grouping | string |
Order shipping grouping strategy: 'by_batching_strategy' means use default logic for planning shipping, 'by_order' means put all pieces in the order to a same single shipping run. Choices
'"by_batching_strategy|by_order"'
|
| shipping_type | string |
Required to sort the list of orders by shipping name. |
| special_processing_required | boolean |
Whether re-design hours or special post-processing required or not. |
| status | string |
Status of an order. Choices
'"calculating_estimates|cancelled|confirmed|complete|error|new|pending|in-preparation|processing|post-processing|printing|shipping|cloning"'
|
| template_name | string |
SET ONCE field to indicate a template. A template is not an actual / instance of a resource,it is only a template to create others. |
| updated | iso-8601 datetime |
The date the order was updated. |
| uri | URI |
The URI of the order. |
| used_material_families | array |
By transferred list of material family(s) returning orders where at least one line_item using material (base/support) with any of the material family(s). Example: '["Priority|Polymer|Composite|Metal|Ceramic|Wax|Sand"]'
|
| user | URI |
The URI of the user who created the order. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
The model does not seem printable An order with prints associated with a run cannot be deleted Provided status transformation is not allowed You cannot delete order which is already confirmed (this is not allowed for restricted and guest users). Order quote can't be generated if order confirmed. Or, cannot be approved if there is no customer_po specified.
The requested template name already exists. |
| 404 |
The requested order cannot be found. |
Create a new order.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| application_type | string |
Application type, field specific to business-segment bureaus. Default: NoneChoices
'"prototype|tooling|end_component"'
|
| build_file_status | string |
none available Required Choices
'"Pending|In Progress|Complete"'
|
| bureau | URI |
The URI of the bureau. Required |
| callback_method | string |
Callback method Default: None |
| callback_url | string |
Callback URL Default: None |
| country | string |
3 digit ISO 3166 country code for non danfoss bureau Default: None |
| created | iso-8601 datetime |
The date the order was created. Default: None |
| created_by | string |
Name of user that created order Default: None |
| custom_field_values | array |
none available Default: NoneExample: '[{}]'
|
| customer_email |
Customer email address. Default: None |
|
| customer_go | string |
none available Required Choices
'"Yes|No"'
|
| customer_id | string |
Human readable alpha-numeric, customer defined ID. Defaults to UUID-8 Required |
| customer_name | string |
Customer name for the order. Default: None |
| customer_po | string |
Customer PO which is a reference to Customer number. Default: None |
| due_date | iso-8601 datetime |
The due date for the order. Default: None |
| error | string |
none available Default: None |
| estimates | object |
none available Required Example: '{"cost": {}, "materials": {}}'
|
| external_id | string |
External ID for an order. Default: None |
| include_piece_count | boolean |
True if you want the List request to include piece counts. False otherwise. Required |
| ip_sensitivity | string |
The intellectual property sensitivity. Default: None |
| is_template | boolean |
True if the resource is a template resource. (template_name is None).False otherwise. Added for clarity and filtering ease Required |
| line_items | array |
The uri of the line items inside this order. Required Example: '["..."]'
|
| location | URI |
URI of the location Default: None |
| locations_available | array |
list of manufacturing locations available for this order Default: []Example: '["..."]'
|
| name | string |
Name of the order. Required |
| notes | string |
System notes if the system auto-updates values, or is reporting a warning. Required |
| order_owner | URI |
The URI of the order owner. Default: None |
| order_owner_name | string |
The name of the order.order_owner user. Required |
| order_type | string |
Order type choices. Choice depends on the bureau. Default: NoneChoices
'"benchmark|commercial|r-d|sample-free|timestudy"'
|
| piece_count | integer |
The sum of pieces related to an order Default: 0 |
| planning_status | string |
none available Required Choices
'"Pending|In Progress|Complete"'
|
| priority | integer |
0 to 100 value of priority, higher means 'runs sooner' Default: 65 |
| quote_required | boolean |
Whether order quote workflow required or not. Default: False |
| region | string |
Region of the order. Default: None |
| run_status | string |
By transferred run status returning orders where at least one run has that status Required Choices
'"calculating|calculated|queued|queued-work-ready|in-progress|paused|error|complete|cancelled"'
|
| shipping | object |
none available Required Example: '{}'
|
| shipping_grouping | string |
Order shipping grouping strategy: 'by_batching_strategy' means use default logic for planning shipping, 'by_order' means put all pieces in the order to a same single shipping run. Default: by_batching_strategyChoices
'"by_batching_strategy|by_order"'
|
| shipping_type | string |
Required to sort the list of orders by shipping name. Required |
| special_processing_required | boolean |
Whether re-design hours or special post-processing required or not. Default: False |
| status | string |
Status of an order. Default: NoneChoices
'"calculating_estimates|cancelled|confirmed|complete|error|new|pending|in-preparation|processing|post-processing|printing|shipping|cloning"'
|
| template_name | string |
SET ONCE field to indicate a template. A template is not an actual / instance of a resource,it is only a template to create others. Required |
| updated | iso-8601 datetime |
The date the order was updated. Required |
| uri | URI |
The URI of the order. Default: None |
| used_material_families | array |
By transferred list of material family(s) returning orders where at least one line_item using material (base/support) with any of the material family(s). Required Example: '["Priority|Polymer|Composite|Metal|Ceramic|Wax|Sand"]'
|
| user | URI |
The URI of the user who created the order. Default: None |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
The model does not seem printable An order with prints associated with a run cannot be deleted Provided status transformation is not allowed You cannot delete order which is already confirmed (this is not allowed for restricted and guest users). Order quote can't be generated if order confirmed. Or, cannot be approved if there is no customer_po specified.
The requested template name already exists. |
| 404 |
The requested order cannot be found. |
/order//clone/
Based on received in URL order_uuid (target order) copying an Order
and run background task nautilus.backend.order.promise_copy_products for copying
related valid Products and their Line Items.
Schema (application/json)
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested order cannot be found. |
/order/{uuid}/
An order is how a user tells the system they would like a particular bureau to build a particular part or parts.
The order is mostly composed of line-item resources which should be created before creating the order. Each
line item contains information on a particular model in a particular quantity to produce. The order then aggregates
the line-items with metadata about the currency to quote the order in, total estimates of cost and time, shipping
information to use to send the parts to the customer and overall status of the order.
The status of an order is normally calculated as the aggregate status of the line-items of the order. When an order has all line items printing, the status is printing. When all line items are complete, the order is complete.
Orders should normally be specified with the bureau, line_items, name and shipping. Other fields are populated as the order moves through the system towards completion
Get a single order by UUID.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| application_type | string |
Application type, field specific to business-segment bureaus. Choices
'"prototype|tooling|end_component"'
|
| build_file_status | string |
none available Choices
'"Pending|In Progress|Complete"'
|
| bureau | URI |
The URI of the bureau. |
| callback_method | string |
Callback method |
| callback_url | string |
Callback URL |
| country | string |
3 digit ISO 3166 country code for non danfoss bureau |
| created | iso-8601 datetime |
The date the order was created. |
| created_by | string |
Name of user that created order |
| custom_field_values | array |
none available Example: '[{}]'
|
| customer_email |
Customer email address. |
|
| customer_go | string |
none available Choices
'"Yes|No"'
|
| customer_id | string |
Human readable alpha-numeric, customer defined ID. Defaults to UUID-8 |
| customer_name | string |
Customer name for the order. |
| customer_po | string |
Customer PO which is a reference to Customer number. |
| due_date | iso-8601 datetime |
The due date for the order. |
| error | string |
none available |
| estimates | object |
none available Example: '{"cost": {}, "materials": {}}'
|
| external_id | string |
External ID for an order. |
| include_piece_count | boolean |
True if you want the List request to include piece counts. False otherwise. |
| ip_sensitivity | string |
The intellectual property sensitivity. |
| is_template | boolean |
True if the resource is a template resource. (template_name is None).False otherwise. Added for clarity and filtering ease |
| line_items | array |
The uri of the line items inside this order. Example: '["..."]'
|
| location | URI |
URI of the location |
| locations_available | array |
list of manufacturing locations available for this order Example: '["..."]'
|
| name | string |
Name of the order. |
| notes | string |
System notes if the system auto-updates values, or is reporting a warning. |
| order_owner | URI |
The URI of the order owner. |
| order_owner_name | string |
The name of the order.order_owner user. |
| order_type | string |
Order type choices. Choice depends on the bureau. Choices
'"benchmark|commercial|r-d|sample-free|timestudy"'
|
| piece_count | integer |
The sum of pieces related to an order |
| planning_status | string |
none available Choices
'"Pending|In Progress|Complete"'
|
| priority | integer |
0 to 100 value of priority, higher means 'runs sooner' |
| quote_required | boolean |
Whether order quote workflow required or not. |
| region | string |
Region of the order. |
| run_status | string |
By transferred run status returning orders where at least one run has that status Choices
'"calculating|calculated|queued|queued-work-ready|in-progress|paused|error|complete|cancelled"'
|
| shipping | object |
none available Example: '{}'
|
| shipping_grouping | string |
Order shipping grouping strategy: 'by_batching_strategy' means use default logic for planning shipping, 'by_order' means put all pieces in the order to a same single shipping run. Choices
'"by_batching_strategy|by_order"'
|
| shipping_type | string |
Required to sort the list of orders by shipping name. |
| special_processing_required | boolean |
Whether re-design hours or special post-processing required or not. |
| status | string |
Status of an order. Choices
'"calculating_estimates|cancelled|confirmed|complete|error|new|pending|in-preparation|processing|post-processing|printing|shipping|cloning"'
|
| template_name | string |
SET ONCE field to indicate a template. A template is not an actual / instance of a resource,it is only a template to create others. |
| updated | iso-8601 datetime |
The date the order was updated. |
| uri | URI |
The URI of the order. |
| used_material_families | array |
By transferred list of material family(s) returning orders where at least one line_item using material (base/support) with any of the material family(s). Example: '["Priority|Polymer|Composite|Metal|Ceramic|Wax|Sand"]'
|
| user | URI |
The URI of the user who created the order. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
The model does not seem printable An order with prints associated with a run cannot be deleted Provided status transformation is not allowed You cannot delete order which is already confirmed (this is not allowed for restricted and guest users). Order quote can't be generated if order confirmed. Or, cannot be approved if there is no customer_po specified.
The requested template name already exists. |
| 404 |
The requested order cannot be found. |
/packing-process/
API endpoint for managing packing processes. Currently a work in progress, comments are left to remind us that this should be completed.
One day we wll want to pack directly into something that is not a printer
One day will we will want to tell user what was packed, and what could not fit in. That day is soon, but that day is not today
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The bureau the this packing process belongs to |
| create_runs | URI |
The run creation process that was created as a result of this packing process. |
| do_build_volume_check | boolean |
When set, run is checked for ability to fit into the specified printer_type build volume. Patched to/from Layout. |
| on_failure | string |
Action to take when packing fails. Options: ignore (do nothing), notify-user (notify user of failure). Choices
'"split-builds|ignore|notify-user"'
|
| on_success | string |
Action to take when packing succeeds. Options: silent (do nothing), notify-user (notify user of success). Choices
'"notify-user|silent"'
|
| pieces | array |
The URIs of pieces to pack Example: '["..."]'
|
| printer | URI |
The URI of the printer to pack for |
| run | URI |
The primary run that was created as a result of this packing process. |
| status | string |
Status of the packing process Choices
'"pending|processing|complete|error"'
|
| uri | URI |
The URI of the packing process |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
Invalid payload. |
| 403 |
Cannot establish user or bureau from session. Check that the current user is authenticated. |
| 404 |
The requested packing process cannot be found. |
| 405 |
|
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The bureau the this packing process belongs to Required |
| create_runs | URI |
The run creation process that was created as a result of this packing process. Required |
| do_build_volume_check | boolean |
When set, run is checked for ability to fit into the specified printer_type build volume. Patched to/from Layout. Default: True |
| on_failure | string |
Action to take when packing fails. Options: ignore (do nothing), notify-user (notify user of failure). Default: ignoreChoices
'"split-builds|ignore|notify-user"'
|
| on_success | string |
Action to take when packing succeeds. Options: silent (do nothing), notify-user (notify user of success). Default: silentChoices
'"notify-user|silent"'
|
| pieces | array |
The URIs of pieces to pack Required Example: '["..."]'
|
| printer | URI |
The URI of the printer to pack for Required |
| run | URI |
The primary run that was created as a result of this packing process. Required |
| status | string |
Status of the packing process Required Choices
'"pending|processing|complete|error"'
|
| uri | URI |
The URI of the packing process Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
Invalid payload. |
| 403 |
Cannot establish user or bureau from session. Check that the current user is authenticated. |
| 404 |
The requested packing process cannot be found. |
| 405 |
|
API endpoint for managing packing processes. Currently a work in progress, comments are left to remind us that this should be completed.
One day we wll want to pack directly into something that is not a printer
One day will we will want to tell user what was packed, and what could not fit in. That day is soon, but that day is not today
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The bureau the this packing process belongs to |
| create_runs | URI |
The run creation process that was created as a result of this packing process. |
| do_build_volume_check | boolean |
When set, run is checked for ability to fit into the specified printer_type build volume. Patched to/from Layout. |
| on_failure | string |
Action to take when packing fails. Options: ignore (do nothing), notify-user (notify user of failure). Choices
'"split-builds|ignore|notify-user"'
|
| on_success | string |
Action to take when packing succeeds. Options: silent (do nothing), notify-user (notify user of success). Choices
'"notify-user|silent"'
|
| pieces | array |
The URIs of pieces to pack Example: '["..."]'
|
| printer | URI |
The URI of the printer to pack for |
| run | URI |
The primary run that was created as a result of this packing process. |
| status | string |
Status of the packing process Choices
'"pending|processing|complete|error"'
|
| uri | URI |
The URI of the packing process |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
Invalid payload. |
| 403 |
Cannot establish user or bureau from session. Check that the current user is authenticated. |
| 404 |
The requested packing process cannot be found. |
| 405 |
|
/paperless-managed-integration/
API endpoint for managing Paperless Managed Integrations
These are really an integration-level resource, but since a bureau may need to support more than one Paperless Parts instance, it might require multiple Managed Integrations, hence the need for a CRUD endpoint.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| api_token | string |
The API Token used to call the Paperless Parts API |
| bureau | URI |
none available |
| default_location | URI |
The location to which orders NOT containing ITAR pieces is assigned. |
| itar_location | URI |
The location to which orders containing ITAR pieces is assigned. |
| name | string |
User-facing name of integration |
| paperless_managed_integration_id | string |
External integration ID. |
| signature | string |
The Webhook signature Paperless uses to allow us to verify webhook calls are coming from them |
| uri | URI |
none available |
| user | URI |
The URI of the user on whose behalf orders are created. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| api_token | string |
The API Token used to call the Paperless Parts API Required |
| bureau | URI |
none available Required |
| default_location | URI |
The location to which orders NOT containing ITAR pieces is assigned. Required |
| itar_location | URI |
The location to which orders containing ITAR pieces is assigned. Required |
| name | string |
User-facing name of integration Required |
| paperless_managed_integration_id | string |
External integration ID. Required |
| signature | string |
The Webhook signature Paperless uses to allow us to verify webhook calls are coming from them Required |
| uri | URI |
none available Required |
| user | URI |
The URI of the user on whose behalf orders are created. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
|
API endpoint for managing Paperless Managed Integrations
These are really an integration-level resource, but since a bureau may need to support more than one Paperless Parts instance, it might require multiple Managed Integrations, hence the need for a CRUD endpoint.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| api_token | string |
The API Token used to call the Paperless Parts API |
| bureau | URI |
none available |
| default_location | URI |
The location to which orders NOT containing ITAR pieces is assigned. |
| itar_location | URI |
The location to which orders containing ITAR pieces is assigned. |
| name | string |
User-facing name of integration |
| paperless_managed_integration_id | string |
External integration ID. |
| signature | string |
The Webhook signature Paperless uses to allow us to verify webhook calls are coming from them |
| uri | URI |
none available |
| user | URI |
The URI of the user on whose behalf orders are created. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
/part/{uuid}/
Get information about parts. This is just a placeholder and not yet implemented
Schema (application/json)
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
/payment/
This endpoint is to link a payment to another resource. Enables users to make purchasers manually and in the future automatically
through stripe or other third party payment processors. For now, we are only accepting payments for an order created via DDW
shopping-cart checkout process. This functionality might be expanded in the future.
For restricted buyer this will List all of the payments in the system for their account. For normal internal bureau user
this will display all payment records for that bureau. Use payment['purchaser'] for the 'owning' user,
who is doing the purchasing.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| checkout_url | URL |
For stripe integration a checkout url is dynamically generated. This url will be used to redirect front-end user to stripe hosted page. Future this might expand to other providers. |
| fees | array |
none available Example: '[{}]'
|
| payment_for | URI |
What the payment is for. For v1 we will only need be accepting payments for orders. Might be expanded in the future. |
| payment_system | string |
The URI of piece's line item. Choices
'"manual|stripe"'
|
| purchaser | URI |
The purchaser(user) that is making a payment for the order or whatever payment_for is. |
| status | string |
Step position of a print which currently in-progress or queued as a next, or, if all prints completed, last print.process_step_position; or first, if piece manufacturing not scheduled yet. Choices
'"new|ready|pending|complete|abandoned|error"'
|
| sub_total | float |
The price paid by the user. For v1, this price is in exchange for the order identified by payment_for. |
| uri | URI |
URI for the payment. Payment is a record of a customer payment for some resource. Currently only linked to order. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
Invalid payload.
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested record cannot be found. |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| checkout_url | URL |
For stripe integration a checkout url is dynamically generated. This url will be used to redirect front-end user to stripe hosted page. Future this might expand to other providers. Required |
| fees | array |
none available Required Example: '[{}]'
|
| payment_for | URI |
What the payment is for. For v1 we will only need be accepting payments for orders. Might be expanded in the future. Required |
| payment_system | string |
The URI of piece's line item. Required Choices
'"manual|stripe"'
|
| purchaser | URI |
The purchaser(user) that is making a payment for the order or whatever payment_for is. Required |
| status | string |
Step position of a print which currently in-progress or queued as a next, or, if all prints completed, last print.process_step_position; or first, if piece manufacturing not scheduled yet. Required Choices
'"new|ready|pending|complete|abandoned|error"'
|
| sub_total | float |
The price paid by the user. For v1, this price is in exchange for the order identified by payment_for. Required |
| uri | URI |
URI for the payment. Payment is a record of a customer payment for some resource. Currently only linked to order. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
Invalid payload.
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested record cannot be found. |
/payment/{uuid}/
This endpoint is to link a payment to another resource. Enables users to make purchasers manually and in the future automatically
through stripe or other third party payment processors. For now, we are only accepting payments for an order created via DDW
shopping-cart checkout process. This functionality might be expanded in the future.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| checkout_url | URL |
For stripe integration a checkout url is dynamically generated. This url will be used to redirect front-end user to stripe hosted page. Future this might expand to other providers. |
| fees | array |
none available Example: '[{}]'
|
| payment_for | URI |
What the payment is for. For v1 we will only need be accepting payments for orders. Might be expanded in the future. |
| payment_system | string |
The URI of piece's line item. Choices
'"manual|stripe"'
|
| purchaser | URI |
The purchaser(user) that is making a payment for the order or whatever payment_for is. |
| status | string |
Step position of a print which currently in-progress or queued as a next, or, if all prints completed, last print.process_step_position; or first, if piece manufacturing not scheduled yet. Choices
'"new|ready|pending|complete|abandoned|error"'
|
| sub_total | float |
The price paid by the user. For v1, this price is in exchange for the order identified by payment_for. |
| uri | URI |
URI for the payment. Payment is a record of a customer payment for some resource. Currently only linked to order. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
Invalid payload.
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested record cannot be found. |
/permission-bureau/
A permision bureau record represenst a right that is created for a user on the bureau. This right such as material.all will allow the user to edit, update, and delete the associated record type. In this case it is material. Creating a record here will grant the user access to perform the associated actions. Deleting will revoke the permission.
List all of the bureau permissions in the system.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of the bureau. |
| right | string |
Right for the permission. Choices
'"currency_conversion.all|location.all|manufacturer.all|material.all|model_library.all|bureau.permission.all|post_processor_type.all|printer_type.all|service_provider.all|shipping.all|specimen.all|workflow.all"'
|
| uri | URI |
The URI of the bureau. |
| user | string |
User associated to the permission. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested permission is not found. |
Create a new bureau permission.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of the bureau. Required |
| right | string |
Right for the permission. Required Choices
'"currency_conversion.all|location.all|manufacturer.all|material.all|model_library.all|bureau.permission.all|post_processor_type.all|printer_type.all|service_provider.all|shipping.all|specimen.all|workflow.all"'
|
| uri | URI |
The URI of the bureau. Default: None |
| user | string |
User associated to the permission. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 404 |
The requested permission is not found. |
A permision bureau record represenst a right that is created for a user on the bureau. This right such as material.all will allow the user to edit, update, and delete the associated record type. In this case it is material. Creating a record here will grant the user access to perform the associated actions. Deleting will revoke the permission.
Get a single bureau permission.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of the bureau. |
| right | string |
Right for the permission. Choices
'"currency_conversion.all|location.all|manufacturer.all|material.all|model_library.all|bureau.permission.all|post_processor_type.all|printer_type.all|service_provider.all|shipping.all|specimen.all|workflow.all"'
|
| uri | URI |
The URI of the bureau. |
| user | string |
User associated to the permission. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested permission is not found. |
/permissions/
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| created_by | URI |
none available |
| holder | string |
none available |
| namespace | string |
none available |
| object | string |
none available |
| resource_name | string |
none available |
| resource_uuid | uuid |
none available |
| right | string |
none available |
| uri | URI |
none available |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| created_by | URI |
none available Default: None |
| holder | string |
none available Default: * |
| namespace | string |
none available Required |
| object | string |
none available Required |
| resource_name | string |
none available Default: None |
| resource_uuid | uuid |
none available Default: None |
| right | string |
none available Required |
| uri | URI |
none available Default: None |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
|
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| created_by | URI |
none available |
| holder | string |
none available |
| namespace | string |
none available |
| object | string |
none available |
| resource_name | string |
none available |
| resource_uuid | uuid |
none available |
| right | string |
none available |
| uri | URI |
none available |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
/piece-actuals/
This contains the log of what has actually happened for a piece.
There is no API to create/edit resource, resources are created automatically when print actuals is created. Print Actuals are created from RunActuals, when run goes into in-progress state.
List all piece actuals.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| created | iso-8601 datetime |
When piece actuals record was created |
| end_in_progress_time | iso-8601 datetime |
When piece was completed (last print of this piece is completed).Can be null if not completed yet or time can't be recognized. |
| per_step_details | array |
List of process steps of this piece. Example: '[{}]'
|
| piece | URI |
The URI of the related piece |
| start_in_progress_time | iso-8601 datetime |
When piece was started (status of first print was changed to in progress). |
| total_cost | float |
Sum of material and running cost. Null if material_cost and running_cost are empty |
| updated | iso-8601 datetime |
When piece actuals record was updated last time |
| uri | URI |
The URI of the piece actuals record. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested piece actuals cannot be found. |
| 405 |
|
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| created | iso-8601 datetime |
When piece actuals record was created Required |
| end_in_progress_time | iso-8601 datetime |
When piece was completed (last print of this piece is completed).Can be null if not completed yet or time can't be recognized. Required |
| per_step_details | array |
List of process steps of this piece. Required Example: '[{}]'
|
| piece | URI |
The URI of the related piece Required |
| start_in_progress_time | iso-8601 datetime |
When piece was started (status of first print was changed to in progress). Required |
| total_cost | float |
Sum of material and running cost. Null if material_cost and running_cost are empty Required |
| updated | iso-8601 datetime |
When piece actuals record was updated last time Required |
| uri | URI |
The URI of the piece actuals record. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested piece actuals cannot be found. |
| 405 |
|
This contains the log of what has actually happened for a piece.
There is no API to create/edit resource, resources are created automatically when print actuals is created. Print Actuals are created from RunActuals, when run goes into in-progress state.
Get an piece actuals by UUID.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| created | iso-8601 datetime |
When piece actuals record was created |
| end_in_progress_time | iso-8601 datetime |
When piece was completed (last print of this piece is completed).Can be null if not completed yet or time can't be recognized. |
| per_step_details | array |
List of process steps of this piece. Example: '[{}]'
|
| piece | URI |
The URI of the related piece |
| start_in_progress_time | iso-8601 datetime |
When piece was started (status of first print was changed to in progress). |
| total_cost | float |
Sum of material and running cost. Null if material_cost and running_cost are empty |
| updated | iso-8601 datetime |
When piece actuals record was updated last time |
| uri | URI |
The URI of the piece actuals record. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested piece actuals cannot be found. |
| 405 |
|
/piece/
A piece represents a physical object we are manufacturing. It has 3 main relationships:
- to line_item (+legacy piece.copy) to track what manufacturing request it is making;
- to many print objects, for the result of each production step during manufacturing;
- to a workflow showing how it is manufactured.
The line_item data is the starting value for most piece data but because of things workflow,
materials (this is not planned yet and unclear), or details can change during manufacturing process.
NOTE: print objects are output of run data. See tables.py for more info.
List all of the print in the system for your account.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| available_for_printer | URI |
Filter pieces available for manufacturing in specific printer. |
| copy | integer |
Legacy field, do not use. Legacy unique piece selector by unique |
| created | iso-8601 datetime |
Datetime when piece was created (in UTC). |
| current_print | URI |
URI of the current print in piece. |
| current_step_position | integer |
Step position of a print which currently in-progress or queued as a next, or, if all prints completed, last print.process_step_position; or first, if piece manufacturing not scheduled yet. |
| external_print_analysis | object |
none available Example: '{"type": "nebumind"}'
|
| is_line_item_deleted | boolean |
True if piece's line item was deleted. |
| is_order_deleted | boolean |
True if piece -> line item -> order was deleted. |
| layer_thickness | float |
The layer thickness of the print in mm. Must be 0 < layer_thickness < 1. |
| line_item | URI |
The URI of piece's line item. |
| line_item_status | string |
The status of piece's line item. Choices
'"new|calculating_estimates|pending|in-preparation|confirmed|printing|post-processing|shipping|error|cancelled|complete"'
|
| location | URI |
Manufacturing location. Defaults to order.location (piece -> line item -> order). |
| material | URI |
URI of related line_item's base material. |
| material_name | string |
Name of related line-item's base material |
| model | URI |
The URI of piece -> line item -> model. |
| name | string |
Piece name is composed of model_name and copy number. |
| no_model_upload | boolean |
flag on related line_item to specify that model shouldn't be uploaded |
| notes | string |
Notes for the piece (currently not supported and always nullable). |
| order | URI |
The order URI of piece -> line item -> order. |
| order_due_date | iso-8601 datetime |
The due date of related order |
| order_name | string |
The order name of piece -> line item -> order. |
| owner | URI |
The URI of the order owner. |
| priority | integer |
The priority score for the piece, in range 0-100, where 0 is the lowest priority and 100 is the highest priority |
| remanufactured_to | URI |
If this piece failed during manufacturing, then the piece URI of the replacement (remanufactured) object. Usually null. |
| reworked | boolean |
identifies pieces based on if they match their production plan. line-item[workflow] != piece[workflow].This is mostly useful on the Run record to quickly find the pieces that have workflows that differ fromtheir original line-item planning. |
| size | integer |
The bounding box volume (in mm3) of the print item (x * y * z model dimensions) |
| status | string |
Status of piece. Choices
'"new|confirmed|queued-for-printing|printing|queued-for-post-processing|post-processing|queued-for-shipping|shipping|complete|incomplete|cancelled|error"'
|
| type | string |
Type of the Piece. Choices
'"product|specimen|waste|tooling"'
|
| updated | iso-8601 datetime |
The date when the Piece was updated |
| uri | URI |
The URI of this piece. |
| workflow | URI |
The workflow for this piece. Defaults to parent line_item.workflow, but can change during production. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
Auto-generated piece names cannot be renamed. |
| 404 |
The requested piece cannot be found. |
/piece/{uuid}/
A piece represents a physical object we are manufacturing. It has 3 main relationships:
- to line_item (+legacy piece.copy) to track what manufacturing request it is making;
- to many print objects, for the result of each production step during manufacturing;
- to a workflow showing how it is manufactured.
The line_item data is the starting value for most piece data but because of things workflow,
materials (this is not planned yet and unclear), or details can change during manufacturing process.
NOTE: print objects are output of run data. See tables.py for more info.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| available_for_printer | URI |
Filter pieces available for manufacturing in specific printer. |
| copy | integer |
Legacy field, do not use. Legacy unique piece selector by unique |
| created | iso-8601 datetime |
Datetime when piece was created (in UTC). |
| current_print | URI |
URI of the current print in piece. |
| current_step_position | integer |
Step position of a print which currently in-progress or queued as a next, or, if all prints completed, last print.process_step_position; or first, if piece manufacturing not scheduled yet. |
| external_print_analysis | object |
none available Example: '{"type": "nebumind"}'
|
| is_line_item_deleted | boolean |
True if piece's line item was deleted. |
| is_order_deleted | boolean |
True if piece -> line item -> order was deleted. |
| layer_thickness | float |
The layer thickness of the print in mm. Must be 0 < layer_thickness < 1. |
| line_item | URI |
The URI of piece's line item. |
| line_item_status | string |
The status of piece's line item. Choices
'"new|calculating_estimates|pending|in-preparation|confirmed|printing|post-processing|shipping|error|cancelled|complete"'
|
| location | URI |
Manufacturing location. Defaults to order.location (piece -> line item -> order). |
| material | URI |
URI of related line_item's base material. |
| material_name | string |
Name of related line-item's base material |
| model | URI |
The URI of piece -> line item -> model. |
| name | string |
Piece name is composed of model_name and copy number. |
| no_model_upload | boolean |
flag on related line_item to specify that model shouldn't be uploaded |
| notes | string |
Notes for the piece (currently not supported and always nullable). |
| order | URI |
The order URI of piece -> line item -> order. |
| order_due_date | iso-8601 datetime |
The due date of related order |
| order_name | string |
The order name of piece -> line item -> order. |
| owner | URI |
The URI of the order owner. |
| priority | integer |
The priority score for the piece, in range 0-100, where 0 is the lowest priority and 100 is the highest priority |
| remanufactured_to | URI |
If this piece failed during manufacturing, then the piece URI of the replacement (remanufactured) object. Usually null. |
| reworked | boolean |
identifies pieces based on if they match their production plan. line-item[workflow] != piece[workflow].This is mostly useful on the Run record to quickly find the pieces that have workflows that differ fromtheir original line-item planning. |
| size | integer |
The bounding box volume (in mm3) of the print item (x * y * z model dimensions) |
| status | string |
Status of piece. Choices
'"new|confirmed|queued-for-printing|printing|queued-for-post-processing|post-processing|queued-for-shipping|shipping|complete|incomplete|cancelled|error"'
|
| type | string |
Type of the Piece. Choices
'"product|specimen|waste|tooling"'
|
| updated | iso-8601 datetime |
The date when the Piece was updated |
| uri | URI |
The URI of this piece. |
| workflow | URI |
The workflow for this piece. Defaults to parent line_item.workflow, but can change during production. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
Auto-generated piece names cannot be renamed. |
| 404 |
The requested piece cannot be found. |
/pieces-by-run/
This - READ-ONLY Helper API - was built as a step towards moving away from the print resource to determine what pieces are on a particular run. Short Term the db:layer will rely on the print resource. Long Term the print resource will be deprecated and replaced
This Resource enables the following: 1. get the pieces associated with a run without using the /print/ api 2. multi-column search for the desired fields(piece['uuid'], piece_name, line_item_name) 3. pagination including the new filters/search
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| line_item | URI |
The line-item URI. |
| line_item_name | string |
The name for the line-item associated with the piece |
| order_customer_id | string |
This is the customer provided identifier for the order. |
| order_name | string |
The name of the order associated with this piece |
| piece | URI |
The URI of piece |
| piece_name | string |
Piece name is composed of model_name and copy number. |
| piece_status | string |
Status of piece. Choices
'"new|confirmed|queued-for-printing|printing|queued-for-post-processing|post-processing|queued-for-shipping|shipping|complete|incomplete|cancelled|error"'
|
| reworked | boolean |
identifies pieces based on if they match their production plan. line-item[workflow] != piece[workflow] |
| run | URI |
The URI for the run this piece is associated with |
| workflow_name | string |
The name of the workflow associated with the piece |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| line_item | URI |
The line-item URI. Required |
| line_item_name | string |
The name for the line-item associated with the piece Required |
| order_customer_id | string |
This is the customer provided identifier for the order. Required |
| order_name | string |
The name of the order associated with this piece Required |
| piece | URI |
The URI of piece Required |
| piece_name | string |
Piece name is composed of model_name and copy number. Required |
| piece_status | string |
Status of piece. Required Choices
'"new|confirmed|queued-for-printing|printing|queued-for-post-processing|post-processing|queued-for-shipping|shipping|complete|incomplete|cancelled|error"'
|
| reworked | boolean |
identifies pieces based on if they match their production plan. line-item[workflow] != piece[workflow] Required |
| run | URI |
The URI for the run this piece is associated with Required |
| workflow_name | string |
The name of the workflow associated with the piece Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
This - READ-ONLY Helper API - was built as a step towards moving away from the print resource to determine what pieces are on a particular run. Short Term the db:layer will rely on the print resource. Long Term the print resource will be deprecated and replaced
This Resource enables the following: 1. get the pieces associated with a run without using the /print/ api 2. multi-column search for the desired fields(piece['uuid'], piece_name, line_item_name) 3. pagination including the new filters/search
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| line_item | URI |
The line-item URI. |
| line_item_name | string |
The name for the line-item associated with the piece |
| order_customer_id | string |
This is the customer provided identifier for the order. |
| order_name | string |
The name of the order associated with this piece |
| piece | URI |
The URI of piece |
| piece_name | string |
Piece name is composed of model_name and copy number. |
| piece_status | string |
Status of piece. Choices
'"new|confirmed|queued-for-printing|printing|queued-for-post-processing|post-processing|queued-for-shipping|shipping|complete|incomplete|cancelled|error"'
|
| reworked | boolean |
identifies pieces based on if they match their production plan. line-item[workflow] != piece[workflow] |
| run | URI |
The URI for the run this piece is associated with |
| workflow_name | string |
The name of the workflow associated with the piece |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
/post-processor-type/
This resource defines a type of post-processing a bureau can handle. Examples might include painting, caustic bath, sanding, milling or other processes that refine a part before final delivery to a customer.
After creating a post-processor type you'll want to create instances of post-processors that satisfy the type in particular
locations via the post-processor API
List all of the post-processor-types in the system for your account.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| active_post_processors | array |
URI of all active post-processors of this post-processor-type in this bureau. Example: '["..."]'
|
| archived | iso-8601 datetime |
The date the post-processor-type was archived. |
| archived_post_processors | array |
URI of all archived post-processors referenced in traceability report or historic data. Example: '["..."]'
|
| batching_strategy | string |
Batching Strategy which describe how should be grouped Prints for Run with this Post Processor type. Choices
'"by_size_xyz|by_size_xy|by_number_of_parts|match_previous|single|by_job"'
|
| build_volume | object |
Dimensions of the build volume in millimeters. Used when Example: '{}'
|
| cost | float |
The cost of the post processor per minute |
| description | string |
Description of the post-processor-type. |
| duration | timedelta |
The length of time it will take to complete post process in seconds. |
| edit_group | URI |
The URI of the custom-group with access to make changes for this resource. Empty if can be edited without restrictions. |
| flow_time | timedelta |
Historic Mean time from 'Piece can be worked on' to 'Piece has ended work. At this workstation (or workstation-type). Rounded longer to 4 hour blocks. |
| flow_time_queued | timedelta |
Historic Mean time from 'Piece can be worked on' to 'Piece has started work' At this workstation (or workstation-type).Rounded longer to 4 hour blocks. |
| in_progress_max | integer |
Max number of concurrent runs that can be in progress on the post processors of this type. |
| integrated | boolean |
Printer type is part of a unit that includes a printer and post processor, printer of this type cannot be used within the normal workflow. They can only be part of an integrated workflow. |
| is_modular | boolean |
True if you wish to create a GE MLine Post-Processor-Type (MHS). False otherwise. |
| manufacturer | URI |
Manufacturer of the post-processor-type |
| materials | array |
The URI of materials from the manufacturer. Example: '["..."]'
|
| min_packing_distance | float |
Min distance between Parts. Used when |
| name | string |
Name of the post-processor-type. |
| number_of_parts | integer |
Max number of Prints in Run. Used when |
| overhead_cost_per_piece_in_run | float |
The each run cost it takes to handle a single piece in a single run of this type. |
| overhead_cost_per_run | float |
The each run cost it takes for each run at this workstation |
| special_type | string |
Can set a workstation to be a review workstation, for review/approval automation. One of each type allowed per bureau. Choices
'"non_conformance_review"'
|
| uri | URI |
The URI of the post-processor-type. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
You cannot delete this post_processor_type because there are post processors associated with it. Delete all post processors of this type first. The requested post processor type name already exists.
The value you provided for materials does not appear to be a valid material |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested post-processor-type cannot be found. |
Create a new post-processor-type.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| active_post_processors | array |
URI of all active post-processors of this post-processor-type in this bureau. Required Example: '["..."]'
|
| archived | iso-8601 datetime |
The date the post-processor-type was archived. Required |
| archived_post_processors | array |
URI of all archived post-processors referenced in traceability report or historic data. Required Example: '["..."]'
|
| batching_strategy | string |
Batching Strategy which describe how should be grouped Prints for Run with this Post Processor type. Default: match_previousChoices
'"by_size_xyz|by_size_xy|by_number_of_parts|match_previous|single|by_job"'
|
| build_volume | object |
Dimensions of the build volume in millimeters. Used when Required Example: '{}'
|
| cost | float |
The cost of the post processor per minute Default: None |
| description | string |
Description of the post-processor-type. Required |
| duration | timedelta |
The length of time it will take to complete post process in seconds. Required |
| edit_group | URI |
The URI of the custom-group with access to make changes for this resource. Empty if can be edited without restrictions. Default: None |
| flow_time | timedelta |
Historic Mean time from 'Piece can be worked on' to 'Piece has ended work. At this workstation (or workstation-type). Rounded longer to 4 hour blocks. Required |
| flow_time_queued | timedelta |
Historic Mean time from 'Piece can be worked on' to 'Piece has started work' At this workstation (or workstation-type).Rounded longer to 4 hour blocks. Required |
| in_progress_max | integer |
Max number of concurrent runs that can be in progress on the post processors of this type. Default: 10 |
| integrated | boolean |
Printer type is part of a unit that includes a printer and post processor, printer of this type cannot be used within the normal workflow. They can only be part of an integrated workflow. Default: False |
| is_modular | boolean |
True if you wish to create a GE MLine Post-Processor-Type (MHS). False otherwise. Default: False |
| manufacturer | URI |
Manufacturer of the post-processor-type Required |
| materials | array |
The URI of materials from the manufacturer. Required Example: '["..."]'
|
| min_packing_distance | float |
Min distance between Parts. Used when Default: None |
| name | string |
Name of the post-processor-type. Required |
| number_of_parts | integer |
Max number of Prints in Run. Used when Default: None |
| overhead_cost_per_piece_in_run | float |
The each run cost it takes to handle a single piece in a single run of this type. Default: 0 |
| overhead_cost_per_run | float |
The each run cost it takes for each run at this workstation Default: 0 |
| special_type | string |
Can set a workstation to be a review workstation, for review/approval automation. One of each type allowed per bureau. Default: NoneChoices
'"non_conformance_review"'
|
| uri | URI |
The URI of the post-processor-type. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
You cannot delete this post_processor_type because there are post processors associated with it. Delete all post processors of this type first. The requested post processor type name already exists.
The value you provided for materials does not appear to be a valid material |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested post-processor-type cannot be found. |
This resource defines a type of post-processing a bureau can handle. Examples might include painting, caustic bath, sanding, milling or other processes that refine a part before final delivery to a customer.
After creating a post-processor type you'll want to create instances of post-processors that satisfy the type in particular
locations via the post-processor API
Get a single post-processor-type.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| active_post_processors | array |
URI of all active post-processors of this post-processor-type in this bureau. Example: '["..."]'
|
| archived | iso-8601 datetime |
The date the post-processor-type was archived. |
| archived_post_processors | array |
URI of all archived post-processors referenced in traceability report or historic data. Example: '["..."]'
|
| batching_strategy | string |
Batching Strategy which describe how should be grouped Prints for Run with this Post Processor type. Choices
'"by_size_xyz|by_size_xy|by_number_of_parts|match_previous|single|by_job"'
|
| build_volume | object |
Dimensions of the build volume in millimeters. Used when Example: '{}'
|
| cost | float |
The cost of the post processor per minute |
| description | string |
Description of the post-processor-type. |
| duration | timedelta |
The length of time it will take to complete post process in seconds. |
| edit_group | URI |
The URI of the custom-group with access to make changes for this resource. Empty if can be edited without restrictions. |
| flow_time | timedelta |
Historic Mean time from 'Piece can be worked on' to 'Piece has ended work. At this workstation (or workstation-type). Rounded longer to 4 hour blocks. |
| flow_time_queued | timedelta |
Historic Mean time from 'Piece can be worked on' to 'Piece has started work' At this workstation (or workstation-type).Rounded longer to 4 hour blocks. |
| in_progress_max | integer |
Max number of concurrent runs that can be in progress on the post processors of this type. |
| integrated | boolean |
Printer type is part of a unit that includes a printer and post processor, printer of this type cannot be used within the normal workflow. They can only be part of an integrated workflow. |
| is_modular | boolean |
True if you wish to create a GE MLine Post-Processor-Type (MHS). False otherwise. |
| manufacturer | URI |
Manufacturer of the post-processor-type |
| materials | array |
The URI of materials from the manufacturer. Example: '["..."]'
|
| min_packing_distance | float |
Min distance between Parts. Used when |
| name | string |
Name of the post-processor-type. |
| number_of_parts | integer |
Max number of Prints in Run. Used when |
| overhead_cost_per_piece_in_run | float |
The each run cost it takes to handle a single piece in a single run of this type. |
| overhead_cost_per_run | float |
The each run cost it takes for each run at this workstation |
| special_type | string |
Can set a workstation to be a review workstation, for review/approval automation. One of each type allowed per bureau. Choices
'"non_conformance_review"'
|
| uri | URI |
The URI of the post-processor-type. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
You cannot delete this post_processor_type because there are post processors associated with it. Delete all post processors of this type first. The requested post processor type name already exists.
The value you provided for materials does not appear to be a valid material |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested post-processor-type cannot be found. |
/post-processor/
Post processor is an instance of a particular post-processor. This is normally set up shortly after a
post-processor-type and a valid location is set up. A user who has a permission to add post-processor
for a particular bureau will be able to create an instance of post processor.
A post-processor should match to a physical device that can perform post-processing of the provided type at the provided location. post-processors are used by the system to schedule time to perform post-processing, queue orders to be worked on and keep track of material usage and availability
List all of the post-processor in the system for your account.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| archived | iso-8601 datetime |
The date the post-processor was archived. |
| duration | timedelta |
The length of time it will take to complete post process in seconds. |
| flow_time | timedelta |
Historic Mean time from 'Piece can be worked on' to 'Piece has ended work. At this workstation (or workstation-type). Rounded longer to 4 hour blocks. |
| flow_time_queued | timedelta |
Historic Mean time from 'Piece can be worked on' to 'Piece has started work' At this workstation (or workstation-type).Rounded longer to 4 hour blocks. |
| in_progress | array |
Realtime updated list of runs in_progress on the post-processor. Due to query complexity, GET only. Example: '["..."]'
|
| in_progress_max | integer |
Max number of concurrent runs that can be in progress on the post-processor. Read only |
| include_archived | boolean |
True if you want the List request to include archived resources. False otherwise. |
| is_service | boolean |
If true - this post-processor outsourced to service providers picked later at order and job creation. This is common in bureau post-processor. |
| location | URI |
The URI of a valid location. Required if is_service is false. |
| location_name | string |
The name of a related location. |
| modeler | URI |
A URI from the Machine Analytics service for a modeler. This URI will be used to capture updates from Machine Analytics and apply the data to this post processor |
| name | string |
The name of the post-processor. For 'is_service is False' this field is required. For 'is_service is True' this field will be ignored. |
| post_processor_special_type | string |
Special Workstation type of parent post-processor Choices
'"non_conformance_review"'
|
| post_processor_type | URI |
The URI of a valid post-processor-type. |
| post_processor_type_name | string |
The name of the related post-processor-type. |
| queue | array |
Ordered list of run URIs queued on the post processor. Example: '["..."]'
|
| sub_location | URI |
The URI of the post-processor’s sub_location |
| updated | iso-8601 datetime |
When the or resource was updated |
| updated_by | URI |
The user that last updated this post_processor. |
| uri | URI |
The URI of the post-processor. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
You cannot change the position of an already post processing job. The requested post processor name already exists. Cannot delete post-processor that has runs in queue. Remove runs before deleting post-processor.
|
| 403 |
You are not authorized to complete the request. Service provider user cannot edit/create post-processor. |
| 404 |
The requested post-processor cannot be found. |
Create a new post-processor.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| archived | iso-8601 datetime |
The date the post-processor was archived. Required |
| duration | timedelta |
The length of time it will take to complete post process in seconds. Required |
| flow_time | timedelta |
Historic Mean time from 'Piece can be worked on' to 'Piece has ended work. At this workstation (or workstation-type). Rounded longer to 4 hour blocks. Required |
| flow_time_queued | timedelta |
Historic Mean time from 'Piece can be worked on' to 'Piece has started work' At this workstation (or workstation-type).Rounded longer to 4 hour blocks. Required |
| in_progress | array |
Realtime updated list of runs in_progress on the post-processor. Due to query complexity, GET only. Required Example: '["..."]'
|
| in_progress_max | integer |
Max number of concurrent runs that can be in progress on the post-processor. Read only Required |
| include_archived | boolean |
True if you want the List request to include archived resources. False otherwise. Required |
| is_service | boolean |
If true - this post-processor outsourced to service providers picked later at order and job creation. This is common in bureau post-processor. Default: False |
| location | URI |
The URI of a valid location. Required if is_service is false. Required |
| location_name | string |
The name of a related location. Required |
| modeler | URI |
A URI from the Machine Analytics service for a modeler. This URI will be used to capture updates from Machine Analytics and apply the data to this post processor Default: None |
| name | string |
The name of the post-processor. For 'is_service is False' this field is required. For 'is_service is True' this field will be ignored. Required |
| post_processor_special_type | string |
Special Workstation type of parent post-processor Required Choices
'"non_conformance_review"'
|
| post_processor_type | URI |
The URI of a valid post-processor-type. Required |
| post_processor_type_name | string |
The name of the related post-processor-type. Required |
| queue | array |
Ordered list of run URIs queued on the post processor. Default: []Example: '["..."]'
|
| sub_location | URI |
The URI of the post-processor’s sub_location Required |
| updated | iso-8601 datetime |
When the or resource was updated Required |
| updated_by | URI |
The user that last updated this post_processor. Required |
| uri | URI |
The URI of the post-processor. Default: None |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
You cannot change the position of an already post processing job. The requested post processor name already exists. Cannot delete post-processor that has runs in queue. Remove runs before deleting post-processor.
|
| 403 |
You are not authorized to complete the request. Service provider user cannot edit/create post-processor. |
| 404 |
The requested post-processor cannot be found. |
Post processor is an instance of a particular post-processor. This is normally set up shortly after a
post-processor-type and a valid location is set up. A user who has a permission to add post-processor
for a particular bureau will be able to create an instance of post processor.
A post-processor should match to a physical device that can perform post-processing of the provided type at the provided location. post-processors are used by the system to schedule time to perform post-processing, queue orders to be worked on and keep track of material usage and availability
Get a single post-processor by UUID.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| archived | iso-8601 datetime |
The date the post-processor was archived. |
| duration | timedelta |
The length of time it will take to complete post process in seconds. |
| flow_time | timedelta |
Historic Mean time from 'Piece can be worked on' to 'Piece has ended work. At this workstation (or workstation-type). Rounded longer to 4 hour blocks. |
| flow_time_queued | timedelta |
Historic Mean time from 'Piece can be worked on' to 'Piece has started work' At this workstation (or workstation-type).Rounded longer to 4 hour blocks. |
| in_progress | array |
Realtime updated list of runs in_progress on the post-processor. Due to query complexity, GET only. Example: '["..."]'
|
| in_progress_max | integer |
Max number of concurrent runs that can be in progress on the post-processor. Read only |
| include_archived | boolean |
True if you want the List request to include archived resources. False otherwise. |
| is_service | boolean |
If true - this post-processor outsourced to service providers picked later at order and job creation. This is common in bureau post-processor. |
| location | URI |
The URI of a valid location. Required if is_service is false. |
| location_name | string |
The name of a related location. |
| modeler | URI |
A URI from the Machine Analytics service for a modeler. This URI will be used to capture updates from Machine Analytics and apply the data to this post processor |
| name | string |
The name of the post-processor. For 'is_service is False' this field is required. For 'is_service is True' this field will be ignored. |
| post_processor_special_type | string |
Special Workstation type of parent post-processor Choices
'"non_conformance_review"'
|
| post_processor_type | URI |
The URI of a valid post-processor-type. |
| post_processor_type_name | string |
The name of the related post-processor-type. |
| queue | array |
Ordered list of run URIs queued on the post processor. Example: '["..."]'
|
| sub_location | URI |
The URI of the post-processor’s sub_location |
| updated | iso-8601 datetime |
When the or resource was updated |
| updated_by | URI |
The user that last updated this post_processor. |
| uri | URI |
The URI of the post-processor. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
You cannot change the position of an already post processing job. The requested post processor name already exists. Cannot delete post-processor that has runs in queue. Remove runs before deleting post-processor.
|
| 403 |
You are not authorized to complete the request. Service provider user cannot edit/create post-processor. |
| 404 |
The requested post-processor cannot be found. |
/prep-task-record/
Preparation Task Records is the object, which representing/contains report info (status, start_in_progress_time, start_dwell_time, end_time) for a specific task in the workflow record.
Preparation Task Record can be created only during Preparation Workflow Record create or during extending
Preparation Workflow via /replace/.
To edit Preparation Task Records can only bureau managers and users with membership in db:prep_task.edit_group
(if db:prep_task.edit_group is null then edit this task can all users from bureau).
Right now we supporting for update only the "status" field.
There are several rules and notes for editing status::
1. any task record can be moved to skipped;
2. all other task records can be changed only if they are "current task record in the prep_workflow_record" and
if current_user has rights to edit it;
3. if prep task record goes to end status (skipped or completed),
then next task will be moved to queued status;
4. On status change we will also change prep workflow record status;
5. IMPORTANT: If last task in the prep workflow record will be skipped/completed - related line_item
or line_items from related order (and, as the result, order itself) will goes to the pending status
and it will allow to move line_items into "confirmed" status and further.
Get a list of prep tasks records extended with info from prep tasks, prep workflow record and order.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| actuals | object |
The actual measured timing and usage data for this record related to current time Example: '{}'
|
| completed_by | URI |
User who completed (or marked as skipped) this task record. |
| created_by | URI |
The user who created this task record. |
| edit_group | URI |
The group which has access to edit 'pre-task' record. |
| end_time | iso-8601 datetime |
The datetime when task record moved to 'complete' or 'skipped' status. |
| name | string |
The name of the prep task. |
| order_name | string |
Name of the related order. |
| position | integer |
Prep task position in the preparation workflow (starts from 0) |
| prep_task | URI |
URI of the related preparation task (linking between prep_workflow and prep_task). |
| prep_task_in_workflow | uuid |
UUID if the related prep_task_in_workflow |
| prep_workflow | URI |
URI of the related preparation workflow. |
| prep_workflow_record | URI |
URI of the related preparation workflow record. |
| shortname | string |
A shorter version of Task name, for mobile or summary UI |
| start_dwell_time | iso-8601 datetime |
Datetime when task record moved to 'queued' status. |
| start_in_progress_time | iso-8601 datetime |
Datetime when task record moved to 'in-progress' status. |
| status | string |
Status of the preparation task record. Choices
'"new|queued|in-progress|on-hold|complete|skipped|cancelled"'
|
| updated | iso-8601 datetime |
The datetime when this prep-task-record was updated. |
| uri | URI |
The URI of the preparation task record. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
Provided status is not allowed by transformations. |
| 403 |
User cannot edit prep_task_record. |
| 404 |
The requested prep_task_record cannot be found. |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| actuals | object |
The actual measured timing and usage data for this record related to current time Required Example: '{}'
|
| completed_by | URI |
User who completed (or marked as skipped) this task record. Required |
| created_by | URI |
The user who created this task record. Required |
| edit_group | URI |
The group which has access to edit 'pre-task' record. Required |
| end_time | iso-8601 datetime |
The datetime when task record moved to 'complete' or 'skipped' status. Required |
| name | string |
The name of the prep task. Required |
| order_name | string |
Name of the related order. Required |
| position | integer |
Prep task position in the preparation workflow (starts from 0) Required |
| prep_task | URI |
URI of the related preparation task (linking between prep_workflow and prep_task). Required |
| prep_task_in_workflow | uuid |
UUID if the related prep_task_in_workflow Required |
| prep_workflow | URI |
URI of the related preparation workflow. Required |
| prep_workflow_record | URI |
URI of the related preparation workflow record. Required |
| shortname | string |
A shorter version of Task name, for mobile or summary UI Required |
| start_dwell_time | iso-8601 datetime |
Datetime when task record moved to 'queued' status. Required |
| start_in_progress_time | iso-8601 datetime |
Datetime when task record moved to 'in-progress' status. Required |
| status | string |
Status of the preparation task record. Required Choices
'"new|queued|in-progress|on-hold|complete|skipped|cancelled"'
|
| updated | iso-8601 datetime |
The datetime when this prep-task-record was updated. Required |
| uri | URI |
The URI of the preparation task record. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
Provided status is not allowed by transformations. |
| 403 |
User cannot edit prep_task_record. |
| 404 |
The requested prep_task_record cannot be found. |
Preparation Task Records is the object, which representing/contains report info (status, start_in_progress_time, start_dwell_time, end_time) for a specific task in the workflow record.
Preparation Task Record can be created only during Preparation Workflow Record create or during extending
Preparation Workflow via /replace/.
To edit Preparation Task Records can only bureau managers and users with membership in db:prep_task.edit_group
(if db:prep_task.edit_group is null then edit this task can all users from bureau).
Right now we supporting for update only the "status" field.
There are several rules and notes for editing status::
1. any task record can be moved to skipped;
2. all other task records can be changed only if they are "current task record in the prep_workflow_record" and
if current_user has rights to edit it;
3. if prep task record goes to end status (skipped or completed),
then next task will be moved to queued status;
4. On status change we will also change prep workflow record status;
5. IMPORTANT: If last task in the prep workflow record will be skipped/completed - related line_item
or line_items from related order (and, as the result, order itself) will goes to the pending status
and it will allow to move line_items into "confirmed" status and further.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| actuals | object |
The actual measured timing and usage data for this record related to current time Example: '{}'
|
| completed_by | URI |
User who completed (or marked as skipped) this task record. |
| created_by | URI |
The user who created this task record. |
| edit_group | URI |
The group which has access to edit 'pre-task' record. |
| end_time | iso-8601 datetime |
The datetime when task record moved to 'complete' or 'skipped' status. |
| name | string |
The name of the prep task. |
| order_name | string |
Name of the related order. |
| position | integer |
Prep task position in the preparation workflow (starts from 0) |
| prep_task | URI |
URI of the related preparation task (linking between prep_workflow and prep_task). |
| prep_task_in_workflow | uuid |
UUID if the related prep_task_in_workflow |
| prep_workflow | URI |
URI of the related preparation workflow. |
| prep_workflow_record | URI |
URI of the related preparation workflow record. |
| shortname | string |
A shorter version of Task name, for mobile or summary UI |
| start_dwell_time | iso-8601 datetime |
Datetime when task record moved to 'queued' status. |
| start_in_progress_time | iso-8601 datetime |
Datetime when task record moved to 'in-progress' status. |
| status | string |
Status of the preparation task record. Choices
'"new|queued|in-progress|on-hold|complete|skipped|cancelled"'
|
| updated | iso-8601 datetime |
The datetime when this prep-task-record was updated. |
| uri | URI |
The URI of the preparation task record. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
Provided status is not allowed by transformations. |
| 403 |
User cannot edit prep_task_record. |
| 404 |
The requested prep_task_record cannot be found. |
/prep-task/
This is a single Prep Task in a Prep Workflow. A Prepworkflow is the list of things to do on a Line-Item to get all data Prepared (Prep) for manufacturing to begin. A PrepWorkflow is different from Production Workflow (ProdWorkflow).
PrepWorkflow: - Line-Item, no workstations, no schedule
ProdWorkflow: - Piece and Print/run - Uses workstations, and a schedule.
Get a list of prep tasks.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| created_by | URI |
User who created this task. |
| description | string |
The description of the prep task. |
| edit_group | URI |
The group which has access to edit 'pre-task' records. |
| name | string |
The name of the prep task. |
| shortname | string |
A shorter version of Task name, for mobile or summary UI |
| source_task | URI |
URI for source task (based on which one is created current) |
| uri | URI |
The URI of the prep-task. |
| used_in_workflow_count | integer |
In which prep workflow this task is used |
| user_estimated_dwell_time | timedelta |
User estimated work time in days |
| user_estimated_work_time | timedelta |
User estimated work time in hours |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
You are not authorized to complete the request. User cannot edit/create prep-task. |
| 404 |
The requested prep-task cannot be found. |
Create a new prep task entity.
Note: relation for workflow (prep_task_in_workflow) should be created with workflow update
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| created_by | URI |
User who created this task. Default: None |
| description | string |
The description of the prep task. Required |
| edit_group | URI |
The group which has access to edit 'pre-task' records. Required |
| name | string |
The name of the prep task. Required |
| shortname | string |
A shorter version of Task name, for mobile or summary UI Required |
| source_task | URI |
URI for source task (based on which one is created current) Required |
| uri | URI |
The URI of the prep-task. Required |
| used_in_workflow_count | integer |
In which prep workflow this task is used Required |
| user_estimated_dwell_time | timedelta |
User estimated work time in days Required |
| user_estimated_work_time | timedelta |
User estimated work time in hours Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 403 |
You are not authorized to complete the request. User cannot edit/create prep-task. |
| 404 |
The requested prep-task cannot be found. |
This is a single Prep Task in a Prep Workflow. A Prepworkflow is the list of things to do on a Line-Item to get all data Prepared (Prep) for manufacturing to begin. A PrepWorkflow is different from Production Workflow (ProdWorkflow).
PrepWorkflow: - Line-Item, no workstations, no schedule
ProdWorkflow: - Piece and Print/run - Uses workstations, and a schedule.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| created_by | URI |
User who created this task. |
| description | string |
The description of the prep task. |
| edit_group | URI |
The group which has access to edit 'pre-task' records. |
| name | string |
The name of the prep task. |
| shortname | string |
A shorter version of Task name, for mobile or summary UI |
| source_task | URI |
URI for source task (based on which one is created current) |
| uri | URI |
The URI of the prep-task. |
| used_in_workflow_count | integer |
In which prep workflow this task is used |
| user_estimated_dwell_time | timedelta |
User estimated work time in days |
| user_estimated_work_time | timedelta |
User estimated work time in hours |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
You are not authorized to complete the request. User cannot edit/create prep-task. |
| 404 |
The requested prep-task cannot be found. |
/prep-workflow-record/
Allow to create (and, as the result, start work on it) prep workflow record (with related prep task records) and fetch info about them.
Creating preparation workflow record moves related line_item(s) or/and order into in-preparation status.
When preparation workflow record will be completed/skipped - line_item(s) or/and order will go back to pending status.
Preparation workflow record cannot be edited directly. All changes can be done only via related objects, for example:: - "status" evaluated based on dependent db:prep_task_records; - "prep_workflow_record" can be changed (as side effect) only during replacing prep_workflow; - "line_item" (at least for now) and "order" cannot be changed.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| line_item | URI |
Related line item URI. If not null - record related to the specific line item, otherwise - to the whole order. |
| order | URI |
Related order URI. |
| prep_workflow | URI |
Related preparation workflow URI. |
| status | string |
Status of the preparation workflow record. Choices
'"queued|in-progress|on-hold|complete|skipped|cancelled"'
|
| updated | iso-8601 datetime |
The date the workflow was updated. |
| uri | URI |
The URI for preparation workflow. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
Inconsistent state for one of line_items. |
| 404 |
The requested preparation workflow record cannot be found. |
Create a new prep workflow record entity and related prep task records.
Creation of a prep_workflow_record will moves line_item(s) or/and order status to in-preparation.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| line_item | URI |
Related line item URI. If not null - record related to the specific line item, otherwise - to the whole order. Required |
| order | URI |
Related order URI. Required |
| prep_workflow | URI |
Related preparation workflow URI. Required |
| status | string |
Status of the preparation workflow record. Required Choices
'"queued|in-progress|on-hold|complete|skipped|cancelled"'
|
| updated | iso-8601 datetime |
The date the workflow was updated. Required |
| uri | URI |
The URI for preparation workflow. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
Inconsistent state for one of line_items. |
| 404 |
The requested preparation workflow record cannot be found. |
Allow to create (and, as the result, start work on it) prep workflow record (with related prep task records) and fetch info about them.
Creating preparation workflow record moves related line_item(s) or/and order into in-preparation status.
When preparation workflow record will be completed/skipped - line_item(s) or/and order will go back to pending status.
Preparation workflow record cannot be edited directly. All changes can be done only via related objects, for example:: - "status" evaluated based on dependent db:prep_task_records; - "prep_workflow_record" can be changed (as side effect) only during replacing prep_workflow; - "line_item" (at least for now) and "order" cannot be changed.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| line_item | URI |
Related line item URI. If not null - record related to the specific line item, otherwise - to the whole order. |
| order | URI |
Related order URI. |
| prep_workflow | URI |
Related preparation workflow URI. |
| status | string |
Status of the preparation workflow record. Choices
'"queued|in-progress|on-hold|complete|skipped|cancelled"'
|
| updated | iso-8601 datetime |
The date the workflow was updated. |
| uri | URI |
The URI for preparation workflow. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
Inconsistent state for one of line_items. |
| 404 |
The requested preparation workflow record cannot be found. |
/prep-workflow/
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| description | string |
The description of the preparation workflow. Example: '"First version of workflow."'
|
| include_custom_workflows | boolean |
Indicates should be included custom preparation workflows for line-items/orders or not. By default, custom preparation workflows will be 'excluded'. |
| line_item | URI |
URI of a line item to which preparation workflow is pinned. It means that preparation workflow was created and can be used only for this line item. |
| name | string |
The name of the preparation workflow. Example: '"Workflow-0.1"'
|
| order | URI |
URI of an order to which preparation workflow is pinned. It means that preparation workflow was created and can be used only for line items from this order. |
| source_workflow | URI |
URI of a workflow based on which current workflow was cloned/duplicated. |
| tasks_in_workflow | array |
List of preparation tasks in workflow objects (for this preparation workflow) ordered by position. Example: '[{}]'
|
| type | string |
Workflow type - this is fixed value which equals to 'preparative'. |
| updated | iso-8601 datetime |
The date the workflow was updated. |
| uri | URI |
The URI for preparation workflow. |
| usage_state | string |
Representing preparation workflow's usage state based on usage by db:line_item table.'archived' state can be passed into PUT signature to archive workflow (if it allowed by workflow usage_state). Choices
'"archived|active|can_be_safely_archived|inactive"'
|
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
The requested workflow name already exists. |
| 403 |
You are not authorized to complete the request. Action not allowed by permissions or by usage_state. |
| 404 |
The requested workflow cannot be found. |
Create a new prep workflow entity and linking prep_tasks with workflow via tasks_in_workflow.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| description | string |
The description of the preparation workflow. Required Example: '"First version of workflow."'
|
| include_custom_workflows | boolean |
Indicates should be included custom preparation workflows for line-items/orders or not. By default, custom preparation workflows will be 'excluded'. Required |
| line_item | URI |
URI of a line item to which preparation workflow is pinned. It means that preparation workflow was created and can be used only for this line item. Required |
| name | string |
The name of the preparation workflow. Required Example: '"Workflow-0.1"'
|
| order | URI |
URI of an order to which preparation workflow is pinned. It means that preparation workflow was created and can be used only for line items from this order. Required |
| source_workflow | URI |
URI of a workflow based on which current workflow was cloned/duplicated. Required |
| tasks_in_workflow | array |
List of preparation tasks in workflow objects (for this preparation workflow) ordered by position. Required Example: '[{}]'
|
| type | string |
Workflow type - this is fixed value which equals to 'preparative'. Required |
| updated | iso-8601 datetime |
The date the workflow was updated. Required |
| uri | URI |
The URI for preparation workflow. Required |
| usage_state | string |
Representing preparation workflow's usage state based on usage by db:line_item table.'archived' state can be passed into PUT signature to archive workflow (if it allowed by workflow usage_state). Required Choices
'"archived|active|can_be_safely_archived|inactive"'
|
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
The requested workflow name already exists. |
| 403 |
You are not authorized to complete the request. Action not allowed by permissions or by usage_state. |
| 404 |
The requested workflow cannot be found. |
Provides possibility to replace an active preparation workflows or copy and pin workflow into line item/order level.
I. For line_item level and order level workflow we do next steps (line_item is not None or order is not None)::
- checking permissions by fetching source preparation workflow and line_item/order;
- ensure, that line_item or line_items from order has allowed for "replace workflow" state;
- maybe updating name for new preparation workflow to avoid constraint error
(if the user transferred a name, it is on his conscience);
- building payload and creating new preparation workflow with permissions on it;
- create prep_tasks_in_workflow (if validation for this field in the payload not failed;
note: if preparation workflow record already exits - user can edit/add/delete prep_tasks_in_workflow only after
a current task), based on payload, and update (if prep_workflow_record is not None) field prep_task_in_workflow
in related preparation task records;
- if prep_workflow_record exists - update prep_workflow field for it;
- updating line_item or line_items for the order with new preparation workflow;
II. for common workflows we do next steps (line_item is None and order is None) [Not finished yet]
- checking permissions by fetching source preparation workflow;
- checking preparation workflow usage_state - this operation available only for active preparation workflows;
- updating source preparation workflow name to avoid constraint error (if the user transferred a name, it is on his conscience)
and mark it as archived (with utc_now datetime);
- building payload and creating new preparation workflow with permission on it;
- updating bureau_settings.default_prep_workflow - if it using source preparation workflow;
- updating line_items which using source preparation workflow and have statuses "new",
"calculating_estimates" or "pending" and have no associated prep_workflow_record (last case means,
that prep_workflow_record was finished and line_item(s) goes to "pending" status - we should not change
prep_workflow in this case).
Replaces source preparation workflow with newly created workflow.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| description | string |
The description of the replacement preparation workflow. Required |
| line_item | URI |
URI of the line item to which preparation workflow is pinned. It means that preparation workflow was created and can be used only for this line item. Required |
| name | string |
The name of the preparation workflow. Required Example: '"Workflow-0.2"'
|
| order | URI |
URI of the order to which preparation workflow is pinned. It means that preparation workflow must be created and can be used only for line items from this order. Required |
| tasks_in_workflow | array |
List of preparation tasks in workflow objects (for this preparation workflow) ordered by position. Required Example: '[{}]'
|
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
The requested workflow name already exists. |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested preparation workflow or another related resource cannot be found. |
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| description | string |
The description of the preparation workflow. Example: '"First version of workflow."'
|
| include_custom_workflows | boolean |
Indicates should be included custom preparation workflows for line-items/orders or not. By default, custom preparation workflows will be 'excluded'. |
| line_item | URI |
URI of a line item to which preparation workflow is pinned. It means that preparation workflow was created and can be used only for this line item. |
| name | string |
The name of the preparation workflow. Example: '"Workflow-0.1"'
|
| order | URI |
URI of an order to which preparation workflow is pinned. It means that preparation workflow was created and can be used only for line items from this order. |
| source_workflow | URI |
URI of a workflow based on which current workflow was cloned/duplicated. |
| tasks_in_workflow | array |
List of preparation tasks in workflow objects (for this preparation workflow) ordered by position. Example: '[{}]'
|
| type | string |
Workflow type - this is fixed value which equals to 'preparative'. |
| updated | iso-8601 datetime |
The date the workflow was updated. |
| uri | URI |
The URI for preparation workflow. |
| usage_state | string |
Representing preparation workflow's usage state based on usage by db:line_item table.'archived' state can be passed into PUT signature to archive workflow (if it allowed by workflow usage_state). Choices
'"archived|active|can_be_safely_archived|inactive"'
|
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
The requested workflow name already exists. |
| 403 |
You are not authorized to complete the request. Action not allowed by permissions or by usage_state. |
| 404 |
The requested workflow cannot be found. |
/print/
A print resource represents a single output from a single proces-step in a workflow. Note that this name is a legacy name, from when it was a single print to be performed by a 3D printer.
Now it is used for as the 'status of a process-step on a single piece' . So if a
line-item has multiple copies requested then there will be a separate print
for each of those copies, for each step in the current workflow.
List all of the print in the system for your account.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| base_material | uuid |
Base material of attached line-item. |
| bureau | URI |
The URI of print's bureau. |
| copy | integer |
Copy number in the quantity the print belongs to. If a customer requests 4 copies there will be 4 separate prints and each will have a different |
| filter_by_line_item_status | boolean |
Filter prints by line-item statuses |
| layer_thickness | float |
The layer thickness of the print in mm. Must be 0 < layer_thickness < 1. |
| line_item | URI |
The URI of print's line item. |
| location | uuid |
Location of attached order. |
| material_name | string |
Name of material |
| name | string |
The autogenerated name of the print |
| order | URI |
The URI of print's order. |
| order_due_date | string |
The due date of order |
| order_name | string |
The name of print's order. |
| order_step_status | string |
Status of the order step. Choices
'"complete|error|new|processing"'
|
| piece | URI |
The URI of the piece this print is tied to. |
| piece_priority | integer |
The priority score of a related piece, in range 0-100, where 0 is the lowest priority and 100 is the highest priority |
| printer | uuid |
Printer UUID |
| process_step | URI |
The URI of the process step this print is tied to/ at. Read Only, joined from a peer data table. |
| process_step_position | integer |
Step position in the workflow this print is running through. Read Only, joined from a peer data table. |
| remanufactured_to | uuid |
UUID of print, to which this one was remanufactured to. |
| run | URI |
The URI of print's run, if any. Prints are eventually collected together in a run to be manufactured by a specific printer. If this value is |
| size | integer |
The size of print item |
| status | string |
Status of the print. |
| type | string |
Type of the Print Choices
'"product|specimen|waste|tooling"'
|
| uri | URI |
The URI of the print. |
| work_needed | boolean |
Filter prints depending on what in remanufactured_to field |
| workflow | URI |
The workflow this print is running through. Read Only, joined from a peer data table. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested print cannot be found. |
/print/{uuid}/
A print resource represents a single output from a single proces-step in a workflow. Note that this name is a legacy name, from when it was a single print to be performed by a 3D printer.
Now it is used for as the 'status of a process-step on a single piece' . So if a
line-item has multiple copies requested then there will be a separate print
for each of those copies, for each step in the current workflow.
Get a single print by UUID.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| base_material | uuid |
Base material of attached line-item. |
| bureau | URI |
The URI of print's bureau. |
| copy | integer |
Copy number in the quantity the print belongs to. If a customer requests 4 copies there will be 4 separate prints and each will have a different |
| filter_by_line_item_status | boolean |
Filter prints by line-item statuses |
| layer_thickness | float |
The layer thickness of the print in mm. Must be 0 < layer_thickness < 1. |
| line_item | URI |
The URI of print's line item. |
| location | uuid |
Location of attached order. |
| material_name | string |
Name of material |
| name | string |
The autogenerated name of the print |
| order | URI |
The URI of print's order. |
| order_due_date | string |
The due date of order |
| order_name | string |
The name of print's order. |
| order_step_status | string |
Status of the order step. Choices
'"complete|error|new|processing"'
|
| piece | URI |
The URI of the piece this print is tied to. |
| piece_priority | integer |
The priority score of a related piece, in range 0-100, where 0 is the lowest priority and 100 is the highest priority |
| printer | uuid |
Printer UUID |
| process_step | URI |
The URI of the process step this print is tied to/ at. Read Only, joined from a peer data table. |
| process_step_position | integer |
Step position in the workflow this print is running through. Read Only, joined from a peer data table. |
| remanufactured_to | uuid |
UUID of print, to which this one was remanufactured to. |
| run | URI |
The URI of print's run, if any. Prints are eventually collected together in a run to be manufactured by a specific printer. If this value is |
| size | integer |
The size of print item |
| status | string |
Status of the print. |
| type | string |
Type of the Print Choices
'"product|specimen|waste|tooling"'
|
| uri | URI |
The URI of the print. |
| work_needed | boolean |
Filter prints depending on what in remanufactured_to field |
| workflow | URI |
The workflow this print is running through. Read Only, joined from a peer data table. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested print cannot be found. |
This endpoint allows us to filter by material-batch and get all of the printer-type history associated with the material currently inside the batch. Conversely, we can also filter by printer-type to get all the batches.
Material batch actions are responsible for creating and transferring these relationships whenever material is loaded/unloaded, topped off, blended, or split.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| material_batch | URI |
URI of the material batch associated with the printer type |
| printer_type | URI |
URI of the printer type associated with the material batch |
| uri | URI |
Printer Type Batch Relationship's URI. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
|
This endpoint allows us to filter by material-batch and get all of the printer-type history associated with the material currently inside the batch. Conversely, we can also filter by printer-type to get all the batches.
Material batch actions are responsible for creating and transferring these relationships whenever material is loaded/unloaded, topped off, blended, or split.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| material_batch | URI |
URI of the material batch associated with the printer type |
| printer_type | URI |
URI of the printer type associated with the material batch |
| uri | URI |
Printer Type Batch Relationship's URI. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
|
/printer-type/
A printer type defines a pattern to be used by printer resources. Usually a printer-type should correspond
to the model of a printer the bureau owns and operates. build_volume information is used for capacity planning
and to lay out models together to fill a build area for better efficiency. The materials property identifies
which types of materials the printer can consume when building a part and is used to match orders up with printer
capabilities for scheduling
Without filters - list all of printer-types in the system for user's bureau.
By default - will return all records for Bureau and exclude all templates.
If passed is_template == True - will return only shared between bureaus records
and will exclude printer-types for current user bureau.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| active_printers | array |
URI of all active printers of this printer-type in this bureau. Example: '["..."]'
|
| base_template | URI |
Indicates the URI of Printer Type (from the shared library with |
| build_packer_type | string |
The type of packing supported by this printer. Choices
'"pack2d|pack3d|user_managed|pack3d_premium|autodesk_fusion"'
|
| build_plate_shape | string |
The shape of the build plate either circular or rectangular Choices
'"rectangular|circular"'
|
| build_volume | object |
Dimensions of the build volume in millimeters. Example: '{}'
|
| constant_overhead | float |
A constant overhead used for the printing process. |
| custom_print_time_estimator | URI |
If SET use custom print time estimation calculation. Otherwise use the default estimation behavior. |
| description | string |
Description of the printer-type. |
| edit_group | URI |
The URI of the custom-group with access to make changes for this resource. Empty if can be edited without restrictions |
| flow_time | timedelta |
Historic Mean time from 'Piece can be worked on' to 'Piece has ended work. At this workstation (or workstation-type). Rounded longer to 4 hour blocks. |
| flow_time_queued | timedelta |
Historic Mean time from 'Piece can be worked on' to 'Piece has started work' At this workstation (or workstation-type).Rounded longer to 4 hour blocks. |
| in_progress_max | integer |
Max number of concurrent runs that can be in progress on the printers of this type. Read only |
| infill_strategies | array |
A list of infill strategies URIs that this printer can use. Example: '["..."]'
|
| integrated | boolean |
Printer type is part of a unit that includes a printer and post processor, printer of this type cannot be used within the normal workflow. They can only be part of an integrated workflow. |
| is_modular | boolean |
True if you wish to create a GE MLine Printer-Type (LPS). False otherwise. |
| is_template | boolean |
Indicates, that this |
| manufacturer | URI |
Manufacturer of the printer |
| manufacturing_process | string |
Additive Manufacturing process in which this material can be used. Choices
('"Binder Jet|NA|SLA|SLS|FDM|Polyjet|Polyjet '
'Anatomy|EBM|MJF|DLP|CLIP|DMLS|SDL|SLM_DMLS|LCD SLA|CNC|Press brake|Laser '
'cutting|Waterjet"')
|
| material_cost_scale_factor | integer |
A scaling factor multiplied with material cost |
| material_mode | string |
The operation mode of the printer, this defines if the printer can mix material in the same run or same piece or if it doesn't support material mixing at all Choices
'"single_material|multiple_material_per_run"'
|
| materials | array |
A list of material URIs that this printer can use. Both support and base materials should be included in this list Example: '["..."]'
|
| min_packing_distance | float |
The minimum spacing required between packed models. |
| name | string |
Name of the printer-type, such as Fortus 250 or ProJet 660 |
| overhead_per_line_item | float |
Overhead cost per line item |
| print_cost_scale_factor | integer |
A scaling factor multiplied with print cost |
| running_cost_per_hour | float |
The cost for running the printer type per hour. |
| support_strategies | array |
A list of support strategies URIs that this printer can use. Example: '["..."]'
|
| time_after_print | timedelta |
Buffer time after printing process in seconds. |
| time_before_print | timedelta |
Buffer time before printing will start in seconds. |
| type | string |
Technology used by the printer such as DLMS or FDM |
| uri | URI |
The URI of the printer-type. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
The requested printer type name already exists. You cannot delete this printer_type because there are printers associated with it. Delete all printers of this type first. There is a mismatch in the bureau and the bureau of manufacturer in the payload. Kindly make sure the manufacturer belongs to the same bureau. The value you provided for materials does not appear to be a valid material |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested printer type cannot be found. |
Create a new printer-type.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| active_printers | array |
URI of all active printers of this printer-type in this bureau. Required Example: '["..."]'
|
| base_template | URI |
Indicates the URI of Printer Type (from the shared library with Required |
| build_packer_type | string |
The type of packing supported by this printer. Default: pack2dChoices
'"pack2d|pack3d|user_managed|pack3d_premium|autodesk_fusion"'
|
| build_plate_shape | string |
The shape of the build plate either circular or rectangular Required Choices
'"rectangular|circular"'
|
| build_volume | object |
Dimensions of the build volume in millimeters. Required Example: '{}'
|
| constant_overhead | float |
A constant overhead used for the printing process. Default: None |
| custom_print_time_estimator | URI |
If SET use custom print time estimation calculation. Otherwise use the default estimation behavior. Required |
| description | string |
Description of the printer-type. Required |
| edit_group | URI |
The URI of the custom-group with access to make changes for this resource. Empty if can be edited without restrictions Default: None |
| flow_time | timedelta |
Historic Mean time from 'Piece can be worked on' to 'Piece has ended work. At this workstation (or workstation-type). Rounded longer to 4 hour blocks. Required |
| flow_time_queued | timedelta |
Historic Mean time from 'Piece can be worked on' to 'Piece has started work' At this workstation (or workstation-type).Rounded longer to 4 hour blocks. Required |
| in_progress_max | integer |
Max number of concurrent runs that can be in progress on the printers of this type. Read only Required |
| infill_strategies | array |
A list of infill strategies URIs that this printer can use. Default: []Example: '["..."]'
|
| integrated | boolean |
Printer type is part of a unit that includes a printer and post processor, printer of this type cannot be used within the normal workflow. They can only be part of an integrated workflow. Default: False |
| is_modular | boolean |
True if you wish to create a GE MLine Printer-Type (LPS). False otherwise. Default: False |
| is_template | boolean |
Indicates, that this Required |
| manufacturer | URI |
Manufacturer of the printer Required |
| manufacturing_process | string |
Additive Manufacturing process in which this material can be used. Default: NoneChoices
('"Binder Jet|NA|SLA|SLS|FDM|Polyjet|Polyjet '
'Anatomy|EBM|MJF|DLP|CLIP|DMLS|SDL|SLM_DMLS|LCD SLA|CNC|Press brake|Laser '
'cutting|Waterjet"')
|
| material_cost_scale_factor | integer |
A scaling factor multiplied with material cost Default: 1 |
| material_mode | string |
The operation mode of the printer, this defines if the printer can mix material in the same run or same piece or if it doesn't support material mixing at all Default: single_materialChoices
'"single_material|multiple_material_per_run"'
|
| materials | array |
A list of material URIs that this printer can use. Both support and base materials should be included in this list Required Example: '["..."]'
|
| min_packing_distance | float |
The minimum spacing required between packed models. Default: 5 |
| name | string |
Name of the printer-type, such as Fortus 250 or ProJet 660 Required |
| overhead_per_line_item | float |
Overhead cost per line item Default: None |
| print_cost_scale_factor | integer |
A scaling factor multiplied with print cost Default: 1 |
| running_cost_per_hour | float |
The cost for running the printer type per hour. Default: None |
| support_strategies | array |
A list of support strategies URIs that this printer can use. Default: []Example: '["..."]'
|
| time_after_print | timedelta |
Buffer time after printing process in seconds. Default: 0 |
| time_before_print | timedelta |
Buffer time before printing will start in seconds. Default: 0 |
| type | string |
Technology used by the printer such as DLMS or FDM Default: None |
| uri | URI |
The URI of the printer-type. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
The requested printer type name already exists. You cannot delete this printer_type because there are printers associated with it. Delete all printers of this type first. There is a mismatch in the bureau and the bureau of manufacturer in the payload. Kindly make sure the manufacturer belongs to the same bureau. The value you provided for materials does not appear to be a valid material |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested printer type cannot be found. |
Clone Printer Type to the bureau level from the template (shared) Printer Type
Schema (application/json)
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested printer type cannot be found. |
A printer type defines a pattern to be used by printer resources. Usually a printer-type should correspond
to the model of a printer the bureau owns and operates. build_volume information is used for capacity planning
and to lay out models together to fill a build area for better efficiency. The materials property identifies
which types of materials the printer can consume when building a part and is used to match orders up with printer
capabilities for scheduling
Get a single printer-type by UUID.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| active_printers | array |
URI of all active printers of this printer-type in this bureau. Example: '["..."]'
|
| base_template | URI |
Indicates the URI of Printer Type (from the shared library with |
| build_packer_type | string |
The type of packing supported by this printer. Choices
'"pack2d|pack3d|user_managed|pack3d_premium|autodesk_fusion"'
|
| build_plate_shape | string |
The shape of the build plate either circular or rectangular Choices
'"rectangular|circular"'
|
| build_volume | object |
Dimensions of the build volume in millimeters. Example: '{}'
|
| constant_overhead | float |
A constant overhead used for the printing process. |
| custom_print_time_estimator | URI |
If SET use custom print time estimation calculation. Otherwise use the default estimation behavior. |
| description | string |
Description of the printer-type. |
| edit_group | URI |
The URI of the custom-group with access to make changes for this resource. Empty if can be edited without restrictions |
| flow_time | timedelta |
Historic Mean time from 'Piece can be worked on' to 'Piece has ended work. At this workstation (or workstation-type). Rounded longer to 4 hour blocks. |
| flow_time_queued | timedelta |
Historic Mean time from 'Piece can be worked on' to 'Piece has started work' At this workstation (or workstation-type).Rounded longer to 4 hour blocks. |
| in_progress_max | integer |
Max number of concurrent runs that can be in progress on the printers of this type. Read only |
| infill_strategies | array |
A list of infill strategies URIs that this printer can use. Example: '["..."]'
|
| integrated | boolean |
Printer type is part of a unit that includes a printer and post processor, printer of this type cannot be used within the normal workflow. They can only be part of an integrated workflow. |
| is_modular | boolean |
True if you wish to create a GE MLine Printer-Type (LPS). False otherwise. |
| is_template | boolean |
Indicates, that this |
| manufacturer | URI |
Manufacturer of the printer |
| manufacturing_process | string |
Additive Manufacturing process in which this material can be used. Choices
('"Binder Jet|NA|SLA|SLS|FDM|Polyjet|Polyjet '
'Anatomy|EBM|MJF|DLP|CLIP|DMLS|SDL|SLM_DMLS|LCD SLA|CNC|Press brake|Laser '
'cutting|Waterjet"')
|
| material_cost_scale_factor | integer |
A scaling factor multiplied with material cost |
| material_mode | string |
The operation mode of the printer, this defines if the printer can mix material in the same run or same piece or if it doesn't support material mixing at all Choices
'"single_material|multiple_material_per_run"'
|
| materials | array |
A list of material URIs that this printer can use. Both support and base materials should be included in this list Example: '["..."]'
|
| min_packing_distance | float |
The minimum spacing required between packed models. |
| name | string |
Name of the printer-type, such as Fortus 250 or ProJet 660 |
| overhead_per_line_item | float |
Overhead cost per line item |
| print_cost_scale_factor | integer |
A scaling factor multiplied with print cost |
| running_cost_per_hour | float |
The cost for running the printer type per hour. |
| support_strategies | array |
A list of support strategies URIs that this printer can use. Example: '["..."]'
|
| time_after_print | timedelta |
Buffer time after printing process in seconds. |
| time_before_print | timedelta |
Buffer time before printing will start in seconds. |
| type | string |
Technology used by the printer such as DLMS or FDM |
| uri | URI |
The URI of the printer-type. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
The requested printer type name already exists. You cannot delete this printer_type because there are printers associated with it. Delete all printers of this type first. There is a mismatch in the bureau and the bureau of manufacturer in the payload. Kindly make sure the manufacturer belongs to the same bureau. The value you provided for materials does not appear to be a valid material |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested printer type cannot be found. |
/printer/
A printer is an instance of a printer-type in a particular location. It should correspond to a physical
machine used for printing parts. Printers are used to queue and schedule work and get status information about
prints to be performed to satisfy orders
List all of the printer in the system for your account.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| archived | iso-8601 datetime |
The date the printer was archived. |
| available_at | iso-8601 datetime |
Calculated (dynamically) datetime when printer will be available; calculated based on run schedules and printer downtimes. |
| description | string |
Description of printer |
| flow_time | timedelta |
Historic Mean time from 'Piece can be worked on' to 'Piece has ended work. At this workstation (or workstation-type). Rounded longer to 4 hour blocks. |
| flow_time_queued | timedelta |
Historic Mean time from 'Piece can be worked on' to 'Piece has started work' At this workstation (or workstation-type).Rounded longer to 4 hour blocks. |
| in_progress | array |
Realtime updated list of runs in_progress on the printer. Due to query complexity, GET only. Example: '["..."]'
|
| in_progress_max | integer |
Max number of concurrent runs that can be in progress on the printer. Read only |
| include_archived | boolean |
True if you want the List request to include archived resources. False otherwise. |
| location | URI |
The URI of the printer's location. |
| modeler | URI |
A URI from the Machine Analytics service for a modeler. This URI will be used to capture updates from Machine Analytics and apply the data to this printer |
| name | string |
Name of the printer. |
| printer_type | URI |
The URI of the printer type. |
| queue | array |
Ordered list of run URIs queued on the printer. Example: '["..."]'
|
| sub_location | URI |
The URI of the printer’s sub_location |
| updated | iso-8601 datetime |
The date the printer was updated. |
| updated_by | URI |
The user that last updated the printer. |
| uri | URI |
The URI of the printer. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
You cannot change the position of an already printing job. The requested printer name already exists. Cannot delete printer that has runs in queue. Remove runs before deleting printer. Cannot delete printer that has registered prints or active runs. Remove them before deleting printer.
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested printer cannot be found. |
Create a new printer.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| archived | iso-8601 datetime |
The date the printer was archived. Required |
| available_at | iso-8601 datetime |
Calculated (dynamically) datetime when printer will be available; calculated based on run schedules and printer downtimes. Required |
| description | string |
Description of printer Default: None |
| flow_time | timedelta |
Historic Mean time from 'Piece can be worked on' to 'Piece has ended work. At this workstation (or workstation-type). Rounded longer to 4 hour blocks. Required |
| flow_time_queued | timedelta |
Historic Mean time from 'Piece can be worked on' to 'Piece has started work' At this workstation (or workstation-type).Rounded longer to 4 hour blocks. Required |
| in_progress | array |
Realtime updated list of runs in_progress on the printer. Due to query complexity, GET only. Required Example: '["..."]'
|
| in_progress_max | integer |
Max number of concurrent runs that can be in progress on the printer. Read only Required |
| include_archived | boolean |
True if you want the List request to include archived resources. False otherwise. Required |
| location | URI |
The URI of the printer's location. Required |
| modeler | URI |
A URI from the Machine Analytics service for a modeler. This URI will be used to capture updates from Machine Analytics and apply the data to this printer Default: None |
| name | string |
Name of the printer. Required |
| printer_type | URI |
The URI of the printer type. Required |
| queue | array |
Ordered list of run URIs queued on the printer. Default: []Example: '["..."]'
|
| sub_location | URI |
The URI of the printer’s sub_location Required |
| updated | iso-8601 datetime |
The date the printer was updated. Required |
| updated_by | URI |
The user that last updated the printer. Required |
| uri | URI |
The URI of the printer. Default: None |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
You cannot change the position of an already printing job. The requested printer name already exists. Cannot delete printer that has runs in queue. Remove runs before deleting printer. Cannot delete printer that has registered prints or active runs. Remove them before deleting printer.
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested printer cannot be found. |
/printer/{uuid}/
A printer is an instance of a printer-type in a particular location. It should correspond to a physical
machine used for printing parts. Printers are used to queue and schedule work and get status information about
prints to be performed to satisfy orders
Get a single printer by UUID.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| archived | iso-8601 datetime |
The date the printer was archived. |
| available_at | iso-8601 datetime |
Calculated (dynamically) datetime when printer will be available; calculated based on run schedules and printer downtimes. |
| description | string |
Description of printer |
| flow_time | timedelta |
Historic Mean time from 'Piece can be worked on' to 'Piece has ended work. At this workstation (or workstation-type). Rounded longer to 4 hour blocks. |
| flow_time_queued | timedelta |
Historic Mean time from 'Piece can be worked on' to 'Piece has started work' At this workstation (or workstation-type).Rounded longer to 4 hour blocks. |
| in_progress | array |
Realtime updated list of runs in_progress on the printer. Due to query complexity, GET only. Example: '["..."]'
|
| in_progress_max | integer |
Max number of concurrent runs that can be in progress on the printer. Read only |
| include_archived | boolean |
True if you want the List request to include archived resources. False otherwise. |
| location | URI |
The URI of the printer's location. |
| modeler | URI |
A URI from the Machine Analytics service for a modeler. This URI will be used to capture updates from Machine Analytics and apply the data to this printer |
| name | string |
Name of the printer. |
| printer_type | URI |
The URI of the printer type. |
| queue | array |
Ordered list of run URIs queued on the printer. Example: '["..."]'
|
| sub_location | URI |
The URI of the printer’s sub_location |
| updated | iso-8601 datetime |
The date the printer was updated. |
| updated_by | URI |
The user that last updated the printer. |
| uri | URI |
The URI of the printer. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
You cannot change the position of an already printing job. The requested printer name already exists. Cannot delete printer that has runs in queue. Remove runs before deleting printer. Cannot delete printer that has registered prints or active runs. Remove them before deleting printer.
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested printer cannot be found. |
/process-provider/
This endpoint provides possibility to request service provider to outsource post-processing
operations for the bureau post-processor (with is_service is True) and track this relationships.
As the result - it will provide possibility for bureau users outsource process steps
from the workflow for line-items to this service provider.
The common flow for regular bureau users next:: 1. Bureau user creates outsource/service post-processor. 2. The Bureau user goes to post-processor from p.1, see the list of available service providers (created by this bureau), and can request from this service providers to outsource this post-processing operation. 3. [in the future] Bureau user can inactivate some service provider from outsource operation.
Service provider users can confirm, that he can outsource this post-processing operation or decline request.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| cost | float |
Approximate cost of the post processor per minute. |
| created | iso-8601 datetime |
Datetime when process provider was requested (in UTC). |
| currency | string |
Currency for the 'cost' field. Choices
'"AED|AFN|ALL|AMD|ANG|AOA|ARS|AUD|AWG|AZN|BAM|BBD|BDT|BGN|BHD|BIF|BMD|BND|BOB|BOV|BRL|BSD|BTN|BWP|BYN|BZD|CAD|CDF|CHE|CHF|CHW|CLF|CLP|CNY|COP|COU|CRC|CUC|CUP|CVE|CZK|DJF|DKK|DOP|DZD|EGP|ERN|ETB|EUR|FJD|FKP|GBP|GEL|GHS|GIP|GMD|GNF|GTQ|GYD|HKD|HNL|HRK|HTG|HUF|IDR|ILS|INR|IQD|IRR|ISK|JMD|JOD|JPY|KES|KGS|KHR|KMF|KPW|KRW|KWD|KYD|KZT|LAK|LBP|LKR|LRD|LSL|LYD|MAD|MDL|MGA|MKD|MMK|MNT|MOP|MRU|MUR|MVR|MWK|MXN|MXV|MYR|MZN|NAD|NGN|NIO|NOK|NPR|NZD|OMR|PAB|PEN|PGK|PHP|PKR|PLN|PYG|QAR|RON|RSD|RUB|RWF|SAR|SBD|SCR|SDG|SEK|SGD|SHP|SLE|SLL|SOS|SRD|SSP|STN|SVC|SYP|SZL|THB|TJS|TMT|TND|TOP|TRY|TTD|TWD|TZS|UAH|UGX|USD|USN|UYI|UYU|UYW|UZS|VED|VES|VND|VUV|WST|XAF|XAG|XAU|XBA|XBB|XBC|XBD|XCD|XDR|XOF|XPD|XPF|XPT|XSU|XTS|XUA|XXX|YER|ZAR|ZMW|ZWL"'
|
| duration | timedelta |
Approximate duration to complete post-processing operation in seconds. |
| post_processor | URI |
The URI of the target outsource post-processor. |
| service_provider | URI |
The URI of the bureau service-provider. |
| status | string |
Status of the process provider request Choices
'"pending|active|inactive"'
|
| updated | iso-8601 datetime |
Datetime when process provider was updated last time (in UTC). |
| uri | URI |
The URI for process provider. |
| user | URI |
The URI of the user created the process provider. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
Service provider user cannot create process provider. |
| 404 |
The requested Process Provider (or related record) cannot be found. |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| cost | float |
Approximate cost of the post processor per minute. Required |
| created | iso-8601 datetime |
Datetime when process provider was requested (in UTC). Required |
| currency | string |
Currency for the 'cost' field. Required Choices
'"AED|AFN|ALL|AMD|ANG|AOA|ARS|AUD|AWG|AZN|BAM|BBD|BDT|BGN|BHD|BIF|BMD|BND|BOB|BOV|BRL|BSD|BTN|BWP|BYN|BZD|CAD|CDF|CHE|CHF|CHW|CLF|CLP|CNY|COP|COU|CRC|CUC|CUP|CVE|CZK|DJF|DKK|DOP|DZD|EGP|ERN|ETB|EUR|FJD|FKP|GBP|GEL|GHS|GIP|GMD|GNF|GTQ|GYD|HKD|HNL|HRK|HTG|HUF|IDR|ILS|INR|IQD|IRR|ISK|JMD|JOD|JPY|KES|KGS|KHR|KMF|KPW|KRW|KWD|KYD|KZT|LAK|LBP|LKR|LRD|LSL|LYD|MAD|MDL|MGA|MKD|MMK|MNT|MOP|MRU|MUR|MVR|MWK|MXN|MXV|MYR|MZN|NAD|NGN|NIO|NOK|NPR|NZD|OMR|PAB|PEN|PGK|PHP|PKR|PLN|PYG|QAR|RON|RSD|RUB|RWF|SAR|SBD|SCR|SDG|SEK|SGD|SHP|SLE|SLL|SOS|SRD|SSP|STN|SVC|SYP|SZL|THB|TJS|TMT|TND|TOP|TRY|TTD|TWD|TZS|UAH|UGX|USD|USN|UYI|UYU|UYW|UZS|VED|VES|VND|VUV|WST|XAF|XAG|XAU|XBA|XBB|XBC|XBD|XCD|XDR|XOF|XPD|XPF|XPT|XSU|XTS|XUA|XXX|YER|ZAR|ZMW|ZWL"'
|
| duration | timedelta |
Approximate duration to complete post-processing operation in seconds. Required |
| post_processor | URI |
The URI of the target outsource post-processor. Required |
| service_provider | URI |
The URI of the bureau service-provider. Required |
| status | string |
Status of the process provider request Required Choices
'"pending|active|inactive"'
|
| updated | iso-8601 datetime |
Datetime when process provider was updated last time (in UTC). Required |
| uri | URI |
The URI for process provider. Required |
| user | URI |
The URI of the user created the process provider. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 403 |
Service provider user cannot create process provider. |
| 404 |
The requested Process Provider (or related record) cannot be found. |
This endpoint provides possibility to request service provider to outsource post-processing
operations for the bureau post-processor (with is_service is True) and track this relationships.
As the result - it will provide possibility for bureau users outsource process steps
from the workflow for line-items to this service provider.
The common flow for regular bureau users next:: 1. Bureau user creates outsource/service post-processor. 2. The Bureau user goes to post-processor from p.1, see the list of available service providers (created by this bureau), and can request from this service providers to outsource this post-processing operation. 3. [in the future] Bureau user can inactivate some service provider from outsource operation.
Service provider users can confirm, that he can outsource this post-processing operation or decline request.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| cost | float |
Approximate cost of the post processor per minute. |
| created | iso-8601 datetime |
Datetime when process provider was requested (in UTC). |
| currency | string |
Currency for the 'cost' field. Choices
'"AED|AFN|ALL|AMD|ANG|AOA|ARS|AUD|AWG|AZN|BAM|BBD|BDT|BGN|BHD|BIF|BMD|BND|BOB|BOV|BRL|BSD|BTN|BWP|BYN|BZD|CAD|CDF|CHE|CHF|CHW|CLF|CLP|CNY|COP|COU|CRC|CUC|CUP|CVE|CZK|DJF|DKK|DOP|DZD|EGP|ERN|ETB|EUR|FJD|FKP|GBP|GEL|GHS|GIP|GMD|GNF|GTQ|GYD|HKD|HNL|HRK|HTG|HUF|IDR|ILS|INR|IQD|IRR|ISK|JMD|JOD|JPY|KES|KGS|KHR|KMF|KPW|KRW|KWD|KYD|KZT|LAK|LBP|LKR|LRD|LSL|LYD|MAD|MDL|MGA|MKD|MMK|MNT|MOP|MRU|MUR|MVR|MWK|MXN|MXV|MYR|MZN|NAD|NGN|NIO|NOK|NPR|NZD|OMR|PAB|PEN|PGK|PHP|PKR|PLN|PYG|QAR|RON|RSD|RUB|RWF|SAR|SBD|SCR|SDG|SEK|SGD|SHP|SLE|SLL|SOS|SRD|SSP|STN|SVC|SYP|SZL|THB|TJS|TMT|TND|TOP|TRY|TTD|TWD|TZS|UAH|UGX|USD|USN|UYI|UYU|UYW|UZS|VED|VES|VND|VUV|WST|XAF|XAG|XAU|XBA|XBB|XBC|XBD|XCD|XDR|XOF|XPD|XPF|XPT|XSU|XTS|XUA|XXX|YER|ZAR|ZMW|ZWL"'
|
| duration | timedelta |
Approximate duration to complete post-processing operation in seconds. |
| post_processor | URI |
The URI of the target outsource post-processor. |
| service_provider | URI |
The URI of the bureau service-provider. |
| status | string |
Status of the process provider request Choices
'"pending|active|inactive"'
|
| updated | iso-8601 datetime |
Datetime when process provider was updated last time (in UTC). |
| uri | URI |
The URI for process provider. |
| user | URI |
The URI of the user created the process provider. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
Service provider user cannot create process provider. |
| 404 |
The requested Process Provider (or related record) cannot be found. |
/process-step/
Process Step endpoint offers a way to add steps in a workflow that will be used to process the order. Steps must have either a printer-type, post-processor-type or shipping type that defines their behavior. Steps can also require a technician to provide uploaded data, notes, confirmation of success or other forms of input before the step is completed
List all of the process steps in your bureau
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| additive | object |
none available Example: '{}'
|
| bureau | URI |
none available |
| flow_time | timedelta |
Historic Mean time from 'Piece can be worked on' to 'Piece has ended work. At this workstation (or workstation-type). Rounded longer to 4 hour blocks. |
| flow_time_queued | timedelta |
Historic Mean time from 'Piece can be worked on' to 'Piece has started work' At this workstation (or workstation-type).Rounded longer to 4 hour blocks. |
| is_service | boolean |
If true - this process step is post-processor to be outsourced; if false - this is the common process-step. |
| name | string |
The name of this process_step. Example: '"ProcessStep-0.1"'
|
| notes | string |
Notes requirement for user input as the process-step is completed. Choices
'"Select: optional, required or hidden"'
|
| shipping_direction | string |
Shipping direction for shipment. Choices
'"bureau_to_customer|bureau_to_service_provider|service_provider_to_bureau"'
|
| source_process_step | URI |
Source for process_steps, created for workflows with |
| step_positions | array |
Step position in workflow, index matched to workflows list above Example: '["2"]'
|
| success | string |
Does this step need a success validation from user? Choices
'"Select: optional, required or hidden"'
|
| tracking_id | string |
Does this step need a tracking_id from user? Choices
'"Select: optional, required or hidden"'
|
| upload | string |
Does this step need an upload from user? Choices
'"Select: optional, required or hidden"'
|
| uri | URI |
The URI for Process Step resource. |
| workflows | array |
List of workflows containing this process_step. Example: '["..."]'
|
| workstation | URL |
The URI of the printer, post_processor, shipping exact workstation, if tied to an exact workstation |
| workstation_type_uri | URL |
The URI of the process type. For example [/printer-type/, /post-processing-type/ or /shipping/, etc] |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
The value of bureau appears to be an invalid bureau. The requested process_step name already exists. Cannot delete process-step that belongs to a workflow.
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested process_step cannot be found. |
Create a new process step resource.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| additive | object |
none available Required Example: '{}'
|
| bureau | URI |
none available Required |
| flow_time | timedelta |
Historic Mean time from 'Piece can be worked on' to 'Piece has ended work. At this workstation (or workstation-type). Rounded longer to 4 hour blocks. Required |
| flow_time_queued | timedelta |
Historic Mean time from 'Piece can be worked on' to 'Piece has started work' At this workstation (or workstation-type).Rounded longer to 4 hour blocks. Required |
| is_service | boolean |
If true - this process step is post-processor to be outsourced; if false - this is the common process-step. Default: False |
| name | string |
The name of this process_step. Default: NoneExample: '"ProcessStep-0.1"'
|
| notes | string |
Notes requirement for user input as the process-step is completed. Required Choices
'"Select: optional, required or hidden"'
|
| shipping_direction | string |
Shipping direction for shipment. Default: NoneChoices
'"bureau_to_customer|bureau_to_service_provider|service_provider_to_bureau"'
|
| source_process_step | URI |
Source for process_steps, created for workflows with Required |
| step_positions | array |
Step position in workflow, index matched to workflows list above Required Example: '["2"]'
|
| success | string |
Does this step need a success validation from user? Required Choices
'"Select: optional, required or hidden"'
|
| tracking_id | string |
Does this step need a tracking_id from user? Required Choices
'"Select: optional, required or hidden"'
|
| upload | string |
Does this step need an upload from user? Required Choices
'"Select: optional, required or hidden"'
|
| uri | URI |
The URI for Process Step resource. Default: None |
| workflows | array |
List of workflows containing this process_step. Required Example: '["..."]'
|
| workstation | URL |
The URI of the printer, post_processor, shipping exact workstation, if tied to an exact workstation Default: None |
| workstation_type_uri | URL |
The URI of the process type. For example [/printer-type/, /post-processing-type/ or /shipping/, etc] Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
The value of bureau appears to be an invalid bureau. The requested process_step name already exists. Cannot delete process-step that belongs to a workflow.
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested process_step cannot be found. |
Process Step endpoint offers a way to add steps in a workflow that will be used to process the order. Steps must have either a printer-type, post-processor-type or shipping type that defines their behavior. Steps can also require a technician to provide uploaded data, notes, confirmation of success or other forms of input before the step is completed
Get an individual process step resource by UUID.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| additive | object |
none available Example: '{}'
|
| bureau | URI |
none available |
| flow_time | timedelta |
Historic Mean time from 'Piece can be worked on' to 'Piece has ended work. At this workstation (or workstation-type). Rounded longer to 4 hour blocks. |
| flow_time_queued | timedelta |
Historic Mean time from 'Piece can be worked on' to 'Piece has started work' At this workstation (or workstation-type).Rounded longer to 4 hour blocks. |
| is_service | boolean |
If true - this process step is post-processor to be outsourced; if false - this is the common process-step. |
| name | string |
The name of this process_step. Example: '"ProcessStep-0.1"'
|
| notes | string |
Notes requirement for user input as the process-step is completed. Choices
'"Select: optional, required or hidden"'
|
| shipping_direction | string |
Shipping direction for shipment. Choices
'"bureau_to_customer|bureau_to_service_provider|service_provider_to_bureau"'
|
| source_process_step | URI |
Source for process_steps, created for workflows with |
| step_positions | array |
Step position in workflow, index matched to workflows list above Example: '["2"]'
|
| success | string |
Does this step need a success validation from user? Choices
'"Select: optional, required or hidden"'
|
| tracking_id | string |
Does this step need a tracking_id from user? Choices
'"Select: optional, required or hidden"'
|
| upload | string |
Does this step need an upload from user? Choices
'"Select: optional, required or hidden"'
|
| uri | URI |
The URI for Process Step resource. |
| workflows | array |
List of workflows containing this process_step. Example: '["..."]'
|
| workstation | URL |
The URI of the printer, post_processor, shipping exact workstation, if tied to an exact workstation |
| workstation_type_uri | URL |
The URI of the process type. For example [/printer-type/, /post-processing-type/ or /shipping/, etc] |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
The value of bureau appears to be an invalid bureau. The requested process_step name already exists. Cannot delete process-step that belongs to a workflow.
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested process_step cannot be found. |
/product/
Product is resource for "design and details for a things to ships to a customer'. It is child to an order and parent to line-item(s). Order = "when/who to ship this to" and Line-Item = "Design of a thing to manufacture".
We have support for multiple model types with more than one mesh inside of, so they needed to be converted to line items.
For 1-mesh files it must be only 1 product per 1 line item. For the multi-mesh model formats, there can be multiple line items for one product.
Product must be created for line item with type=product. Only 1 mesh file is implemented for now.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| created | iso-8601 datetime |
The date when the product was created. |
| model_library | URI |
Model library URI when product's line item should be created based on model library. Design file will not be expected to be created in this case. |
| no_model_upload | boolean |
Is model upload required for the product or not. |
| order | URI |
URI to assigned order for this product. |
| updated | iso-8601 datetime |
The date when the product was updated. |
| uri | URI |
none available |
| user | URI |
URI of user who created this product. Null if user was deleted. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested product cannot be found. |
| 405 |
|
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| created | iso-8601 datetime |
The date when the product was created. Required |
| model_library | URI |
Model library URI when product's line item should be created based on model library. Design file will not be expected to be created in this case. Default: None |
| no_model_upload | boolean |
Is model upload required for the product or not. Default: False |
| order | URI |
URI to assigned order for this product. Required |
| updated | iso-8601 datetime |
The date when the product was updated. Required |
| uri | URI |
none available Required |
| user | URI |
URI of user who created this product. Null if user was deleted. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 404 |
The requested product cannot be found. |
| 405 |
|
/product/{uuid}/
Product is resource for "design and details for a things to ships to a customer'. It is child to an order and parent to line-item(s). Order = "when/who to ship this to" and Line-Item = "Design of a thing to manufacture".
We have support for multiple model types with more than one mesh inside of, so they needed to be converted to line items.
For 1-mesh files it must be only 1 product per 1 line item. For the multi-mesh model formats, there can be multiple line items for one product.
Product must be created for line item with type=product. Only 1 mesh file is implemented for now.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| created | iso-8601 datetime |
The date when the product was created. |
| model_library | URI |
Model library URI when product's line item should be created based on model library. Design file will not be expected to be created in this case. |
| no_model_upload | boolean |
Is model upload required for the product or not. |
| order | URI |
URI to assigned order for this product. |
| updated | iso-8601 datetime |
The date when the product was updated. |
| uri | URI |
none available |
| user | URI |
URI of user who created this product. Null if user was deleted. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested product cannot be found. |
| 405 |
|
/prosper/
This endpoint allows you to get and set information about builds that have occurred from one of your 3D printers. A build is the process of doing a print run, regardless of the number of independent CAD models that were represented in the build volume.
List all of the builds in the system for your account
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| created | iso-8601 datetime |
When the cassette resource was created |
| service_url | URL |
The URI of the printer performing the build Choices
'"s|e|r|v|i|c|e|_|u|r|l"'
|
| uri | URI |
The URI for this prosper |
| x_p3d_token | string |
The application token Prosper service |
| x_p3d_user | string |
The user token of Prosper service |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The prosper requested cannot be found |
Create a new prosper
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| created | iso-8601 datetime |
When the cassette resource was created Default: None |
| service_url | URL |
The URI of the printer performing the build Required Choices
'"s|e|r|v|i|c|e|_|u|r|l"'
|
| uri | URI |
The URI for this prosper Default: None |
| x_p3d_token | string |
The application token Prosper service Required |
| x_p3d_user | string |
The user token of Prosper service Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 404 |
The prosper requested cannot be found |
/prosper/{uuid}/
This endpoint allows you to get and set information about builds that have occurred from one of your 3D printers. A build is the process of doing a print run, regardless of the number of independent CAD models that were represented in the build volume.
Get a single prosper by UUID
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| created | iso-8601 datetime |
When the cassette resource was created |
| service_url | URL |
The URI of the printer performing the build Choices
'"s|e|r|v|i|c|e|_|u|r|l"'
|
| uri | URI |
The URI for this prosper |
| x_p3d_token | string |
The application token Prosper service |
| x_p3d_user | string |
The user token of Prosper service |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The prosper requested cannot be found |
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Get all resources for your account.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| material_name | string |
Material name |
| printer_name | string |
Printer name |
| uri | URI |
URI for object |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
The requested object name already exists. |
| 404 |
The requested object cannot be found. |
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Get an individual resource by UUID.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| material_name | string |
Material name |
| printer_name | string |
Printer name |
| uri | URI |
URI for object |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
The requested object name already exists. |
| 404 |
The requested object cannot be found. |
/quote/
This is the main resource for Quoting price for printing a model with certain material and from a certain bureau with a currency specified.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| actual_cost | float |
The actual cost corresponding to a /quote/ Example: '"39.45"'
|
| bureau | string |
Quote price from this bureau. You get the list of bureaus from GET/bureau/ Choices
'"shapeways"'
|
| callback | object |
Callback URL for price quoting result Example: '{}'
|
| created | iso-8601 datetime |
Creation date of the quote Example: '"2017-01-01T00:00:00.000000"'
|
| currency | string |
Currency of the price quote Choices
'"USD"'
|
| edited_by | URL |
The URI of the resource (user or potentially service provider) that last edited estimates. |
| error | string |
Error message from the bureau Example: '"Failed to grab pricing data"'
|
| material | URI |
Quote price for this material using the material URI. You get the list of materials from GET/material/ Example: '"https://quoting.authentise.com/material/123456/"'
|
| model | URI |
This URL should point to a valid model resource that has already been uploaded. Example: '"https://models.authentise.com/model/456/"'
|
| model_statistics | object |
Model statistics for the model resource. Example: '{"size": {}}'
|
| price | float |
Price quote for the model Example: '"100.00"'
|
| process | string |
Technology used to print this model. Choices
'"FDM|SLA|DLP|EBM|SDL|Binder Jet"'
|
| status | string |
Status code of the request. Possible status are: complete, error, processing, queued. Example: '"complete"'
|
| uri | URI |
The URI of the /quote/ instance Example: '"https://quoting.authentise.com/quote/123456/"'
|
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
There is no matching bureau-material combination Either the model requested does not exist or you do not have permission to use The model response does not contain few or all of these fields: Size, Volume, Surface Area |
| 404 |
The material requested is not available with the bureau requested |
| 500 |
The bureau requested does not exist |
/quote/{uuid}/
This is the main resource for Quoting price for printing a model with certain material and from a certain bureau with a currency specified.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| actual_cost | float |
The actual cost corresponding to a /quote/ Example: '"39.45"'
|
| bureau | string |
Quote price from this bureau. You get the list of bureaus from GET/bureau/ Choices
'"shapeways"'
|
| callback | object |
Callback URL for price quoting result Example: '{}'
|
| created | iso-8601 datetime |
Creation date of the quote Example: '"2017-01-01T00:00:00.000000"'
|
| currency | string |
Currency of the price quote Choices
'"USD"'
|
| edited_by | URL |
The URI of the resource (user or potentially service provider) that last edited estimates. |
| error | string |
Error message from the bureau Example: '"Failed to grab pricing data"'
|
| material | URI |
Quote price for this material using the material URI. You get the list of materials from GET/material/ Example: '"https://quoting.authentise.com/material/123456/"'
|
| model | URI |
This URL should point to a valid model resource that has already been uploaded. Example: '"https://models.authentise.com/model/456/"'
|
| model_statistics | object |
Model statistics for the model resource. Example: '{"size": {}}'
|
| price | float |
Price quote for the model Example: '"100.00"'
|
| process | string |
Technology used to print this model. Choices
'"FDM|SLA|DLP|EBM|SDL|Binder Jet"'
|
| status | string |
Status code of the request. Possible status are: complete, error, processing, queued. Example: '"complete"'
|
| uri | URI |
The URI of the /quote/ instance Example: '"https://quoting.authentise.com/quote/123456/"'
|
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
There is no matching bureau-material combination Either the model requested does not exist or you do not have permission to use The model response does not contain few or all of these fields: Size, Volume, Surface Area |
| 404 |
The material requested is not available with the bureau requested |
| 500 |
The bureau requested does not exist |
Get the data for the various builds captured by the system grouped by modeler
Get all build reports by modeler, or filter by a specific start and end date
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| builds_count | integer |
The total number of builds |
| builds_estimated_time | integer |
The total estimate build time |
| builds_estimation_error | integer |
The average amount of estimated build time error |
| builds_status_backlogged | integer |
The number of builds with the |
| builds_status_cancelled | integer |
The number of builds with the |
| builds_status_complete | integer |
The number of builds with the |
| builds_status_error | integer |
The number of builds with the |
| builds_status_failed | integer |
The number of builds with the |
| builds_status_machine_error | integer |
The number of builds with the |
| builds_status_new | integer |
The number of builds with the |
| builds_status_part_exceeds_boundaries | integer |
The number of builds with the |
| builds_status_paused | integer |
The number of builds with the |
| builds_status_preheat | integer |
The number of builds with the |
| builds_status_processing | integer |
The number of builds with the |
| builds_status_suspended | integer |
The number of builds with the |
| builds_status_unknown | integer |
The number of builds with the |
| builds_status_user_abort | integer |
The number of builds with the |
| builds_status_waiting_for_resolution | integer |
The number of builds with the |
| builds_time | integer |
The total amount of build time |
| modeler | string |
The modeler identifier |
| modeler_name | string |
The modeler name |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
/role/
Get and update a users role.
Role - it is extended info about users memberships (Role.uuid == Membership.uuid) in groups:
key role contains user-friendly representation (string) for relation user -> membership <-group.
Users can have multiple roles. For a lot of internal logic, only 'highest role is used.'
Bureau manager have access to all bureau roles and can view, create, edit and delete roles.
Other users can only view their own roles.
Restrictions were added due to tickets: https://app.clubhouse.io/authentise/story/9154, https://app.clubhouse.io/authentise/story/8668.
Get a list of all users for a bureau and their roles
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The bureau these roles are related to. |
| csrf_token | string |
CSRF token provided to ensure the request was made by the user intentionally |
| emails | array |
The user's email address Example: '["..."]'
|
| hide_info | string |
A single 'Hide Data' type. Editable by Bureau Manager only. Do not submit for no-change.Submit None to clear the hide-info setting. Choices
'"financial"'
|
| highest_only | boolean |
This filter will returns only highest highest role for the user. Be careful: it can returns few roles, if highest user role is 'location'. |
| location | URI |
The locations the user is assigned to for this role, or null if the role is not location-based |
| name | string |
The human readable name of the user. |
| role | string |
The role we are changing. Note that one user can have a variety of roles. Choices
'"manager|location-manager|global-user|standard-user|location-user|restricted|unknown|self-registered-guest"'
|
| uri | URI |
The URI of this specific role for this user. |
| user | URI |
Each user has a unique username and this should be enough but this filter also allows filtering by users URI. |
| username | string |
The username/account of the user |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested role cannot be found. |
Create a new 'role' for a user in a bureau
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The bureau these roles are related to. Required |
| csrf_token | string |
CSRF token provided to ensure the request was made by the user intentionally Required |
| emails | array |
The user's email address Required Example: '["..."]'
|
| hide_info | string |
A single 'Hide Data' type. Editable by Bureau Manager only. Do not submit for no-change.Submit None to clear the hide-info setting. Default: NoneChoices
'"financial"'
|
| highest_only | boolean |
This filter will returns only highest highest role for the user. Be careful: it can returns few roles, if highest user role is 'location'. Required |
| location | URI |
The locations the user is assigned to for this role, or null if the role is not location-based Default: None |
| name | string |
The human readable name of the user. Required |
| role | string |
The role we are changing. Note that one user can have a variety of roles. Required Choices
'"manager|location-manager|global-user|standard-user|location-user|restricted|unknown|self-registered-guest"'
|
| uri | URI |
The URI of this specific role for this user. Required |
| user | URI |
Each user has a unique username and this should be enough but this filter also allows filtering by users URI. Required |
| username | string |
The username/account of the user Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested role cannot be found. |
/role/{uuid}/
Get and update a users role.
Role - it is extended info about users memberships (Role.uuid == Membership.uuid) in groups:
key role contains user-friendly representation (string) for relation user -> membership <-group.
Users can have multiple roles. For a lot of internal logic, only 'highest role is used.'
Bureau manager have access to all bureau roles and can view, create, edit and delete roles.
Other users can only view their own roles.
Restrictions were added due to tickets: https://app.clubhouse.io/authentise/story/9154, https://app.clubhouse.io/authentise/story/8668.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The bureau these roles are related to. |
| csrf_token | string |
CSRF token provided to ensure the request was made by the user intentionally |
| emails | array |
The user's email address Example: '["..."]'
|
| hide_info | string |
A single 'Hide Data' type. Editable by Bureau Manager only. Do not submit for no-change.Submit None to clear the hide-info setting. Choices
'"financial"'
|
| highest_only | boolean |
This filter will returns only highest highest role for the user. Be careful: it can returns few roles, if highest user role is 'location'. |
| location | URI |
The locations the user is assigned to for this role, or null if the role is not location-based |
| name | string |
The human readable name of the user. |
| role | string |
The role we are changing. Note that one user can have a variety of roles. Choices
'"manager|location-manager|global-user|standard-user|location-user|restricted|unknown|self-registered-guest"'
|
| uri | URI |
The URI of this specific role for this user. |
| user | URI |
Each user has a unique username and this should be enough but this filter also allows filtering by users URI. |
| username | string |
The username/account of the user |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested role cannot be found. |
/run-actuals-additive/
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
List all run actuals.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| base_material_used | float |
The amount of base material consumed during the print run. |
| material_batch | URI |
The consumed material-batch that was used to create a print build. |
| run_actual | URI |
The base run actual this additive specific co-resource belongs to. |
| support_material_used | float |
The amount of support material consumed during the print run |
| uri | URI |
The URI for the additive co-resource for run-actuals. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested run actuals additive cannot be found. |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| base_material_used | float |
The amount of base material consumed during the print run. Default: None |
| material_batch | URI |
The consumed material-batch that was used to create a print build. Default: None |
| run_actual | URI |
The base run actual this additive specific co-resource belongs to. Required |
| support_material_used | float |
The amount of support material consumed during the print run Default: None |
| uri | URI |
The URI for the additive co-resource for run-actuals. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested run actuals additive cannot be found. |
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Get a run actuals by UUID.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| base_material_used | float |
The amount of base material consumed during the print run. |
| material_batch | URI |
The consumed material-batch that was used to create a print build. |
| run_actual | URI |
The base run actual this additive specific co-resource belongs to. |
| support_material_used | float |
The amount of support material consumed during the print run |
| uri | URI |
The URI for the additive co-resource for run-actuals. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested run actuals additive cannot be found. |
/run-actuals/
This contains the log of what has actually happened in a run, vs the forecasted run time/data. Note that this is for a run overall, TimeEntry may contain more specific data on machine, labor, etc times.
A run in a collection of the same/similar work that is sent through a machine or workstation as a group.
Run endpoint contains the plan for a run (time, prints, material, etc). This contains the record of what has actually happened during that run
For example, scheduled time for the run to happen is in schedule table. The actual time the run begain is in the related run_actual.start_in_progress_time field.
Note that a run can exist without run-actuals, run-actuals
are created when status is 'in-progress', but run-actuals require a parent run.
If data is collected, and a build created, and able to be related to a run that is OK. We can have 'build' without 'run-actuals'.
List all run actuals.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| additive | object |
none available Example: '{}'
|
| by_line_item | URI |
Filter only field to filter on parent order. Lookup is Run -> Piece -> Line-Item. Not all runs have a related line-item. |
| by_order | URI |
Filter only field to filter on parent order. Lookup is Run -> Piece -> Line-Item -> Order. Not all runs have a related order. |
| consumable_cost | float |
Material cost of run, null if can't be determined. See platform level of RunActuals for formulas of calculation |
| created | iso-8601 datetime |
Datetime when this record was created. |
| edited_by | URI |
The URI of the related updated by user |
| end_in_progress_time | iso-8601 datetime |
When run was completed. Can be null if not completed yet or time can't be recognized. |
| machine_cost | float |
Material cost of run, null if can't be determined. See platform level of RunActuals for formulas of calculation |
| powder | object |
none available Example: 'null'
|
| previous | URI |
The URI of the previous / prior run-actuals. Note 'Run' is none |
| run | URI |
The URI of the related run. If none, this data was replace.This is 'previous' to a newer run-actuals. |
| start_in_progress_time | iso-8601 datetime |
When run was started (status is changed to in progress). |
| system_notes | string |
System notes for related run changes |
| total_cost | float |
Sum of material and running cost. Null if material_cost and running_cost are empty |
| updated | iso-8601 datetime |
When run actuals record was updated last time |
| uri | URI |
The URI of the this run-actuals record. |
| user | URI |
The URI of the user that last edited this run-actual data. Not some automatic changes don't track a source user.Maybe be set as side-effect of a 'run' status change. |
| workstation_cost | float |
Running cost of run, null if can't be determined. See platform level of RunActuals for formulas of calculation |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested run actuals cannot be found. |
RunActuals created in backend on events/triggers on run, or on builds, or TimeEntries. AKA cannot be POST'd to created
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| additive | object |
none available Required Example: '{}'
|
| by_line_item | URI |
Filter only field to filter on parent order. Lookup is Run -> Piece -> Line-Item. Not all runs have a related line-item. Required |
| by_order | URI |
Filter only field to filter on parent order. Lookup is Run -> Piece -> Line-Item -> Order. Not all runs have a related order. Required |
| consumable_cost | float |
Material cost of run, null if can't be determined. See platform level of RunActuals for formulas of calculation Default: None |
| created | iso-8601 datetime |
Datetime when this record was created. Required |
| edited_by | URI |
The URI of the related updated by user Default: None |
| end_in_progress_time | iso-8601 datetime |
When run was completed. Can be null if not completed yet or time can't be recognized. Default: None |
| machine_cost | float |
Material cost of run, null if can't be determined. See platform level of RunActuals for formulas of calculation Default: None |
| powder | object |
none available Required Example: 'null'
|
| previous | URI |
The URI of the previous / prior run-actuals. Note 'Run' is none Default: None |
| run | URI |
The URI of the related run. If none, this data was replace.This is 'previous' to a newer run-actuals. Default: None |
| start_in_progress_time | iso-8601 datetime |
When run was started (status is changed to in progress). Required |
| system_notes | string |
System notes for related run changes Default: None |
| total_cost | float |
Sum of material and running cost. Null if material_cost and running_cost are empty Default: None |
| updated | iso-8601 datetime |
When run actuals record was updated last time Required |
| uri | URI |
The URI of the this run-actuals record. Required |
| user | URI |
The URI of the user that last edited this run-actual data. Not some automatic changes don't track a source user.Maybe be set as side-effect of a 'run' status change. Default: None |
| workstation_cost | float |
Running cost of run, null if can't be determined. See platform level of RunActuals for formulas of calculation Default: None |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested run actuals cannot be found. |
This contains the log of what has actually happened in a run, vs the forecasted run time/data. Note that this is for a run overall, TimeEntry may contain more specific data on machine, labor, etc times.
A run in a collection of the same/similar work that is sent through a machine or workstation as a group.
Run endpoint contains the plan for a run (time, prints, material, etc). This contains the record of what has actually happened during that run
For example, scheduled time for the run to happen is in schedule table. The actual time the run begain is in the related run_actual.start_in_progress_time field.
Note that a run can exist without run-actuals, run-actuals
are created when status is 'in-progress', but run-actuals require a parent run.
If data is collected, and a build created, and able to be related to a run that is OK. We can have 'build' without 'run-actuals'.
Get a run actuals by UUID.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| additive | object |
none available Example: '{}'
|
| by_line_item | URI |
Filter only field to filter on parent order. Lookup is Run -> Piece -> Line-Item. Not all runs have a related line-item. |
| by_order | URI |
Filter only field to filter on parent order. Lookup is Run -> Piece -> Line-Item -> Order. Not all runs have a related order. |
| consumable_cost | float |
Material cost of run, null if can't be determined. See platform level of RunActuals for formulas of calculation |
| created | iso-8601 datetime |
Datetime when this record was created. |
| edited_by | URI |
The URI of the related updated by user |
| end_in_progress_time | iso-8601 datetime |
When run was completed. Can be null if not completed yet or time can't be recognized. |
| machine_cost | float |
Material cost of run, null if can't be determined. See platform level of RunActuals for formulas of calculation |
| powder | object |
none available Example: 'null'
|
| previous | URI |
The URI of the previous / prior run-actuals. Note 'Run' is none |
| run | URI |
The URI of the related run. If none, this data was replace.This is 'previous' to a newer run-actuals. |
| start_in_progress_time | iso-8601 datetime |
When run was started (status is changed to in progress). |
| system_notes | string |
System notes for related run changes |
| total_cost | float |
Sum of material and running cost. Null if material_cost and running_cost are empty |
| updated | iso-8601 datetime |
When run actuals record was updated last time |
| uri | URI |
The URI of the this run-actuals record. |
| user | URI |
The URI of the user that last edited this run-actual data. Not some automatic changes don't track a source user.Maybe be set as side-effect of a 'run' status change. |
| workstation_cost | float |
Running cost of run, null if can't be determined. See platform level of RunActuals for formulas of calculation |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested run actuals cannot be found. |
/run-material/
Read only API endpoint for retrieving total quantity of material used in a printing run. UUID needs to be UUID on a run for this endpoint to work.
Note: run-material is used in printing only, powder workflows should have no entries for this resource
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| actual_base_material_used | float |
Actual amount of base material used |
| estimate_base_material_used | float |
Estimated amount of base material used |
| materials | array |
List of materials and the amount being used. Example: '[{"type": "support|base|consumable|raw_material"}]'
|
| run | URI |
URI of run we want to the material usage for |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
|
Read only API endpoint for retrieving total quantity of material used in a printing run. UUID needs to be UUID on a run for this endpoint to work.
Note: run-material is used in printing only, powder workflows should have no entries for this resource
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| actual_base_material_used | float |
Actual amount of base material used |
| estimate_base_material_used | float |
Estimated amount of base material used |
| materials | array |
List of materials and the amount being used. Example: '[{"type": "support|base|consumable|raw_material"}]'
|
| run | URI |
URI of run we want to the material usage for |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
|
/run-queue/
/run-queue/ endpoint helps re-queuing the run provided to the API. By default, it puts the run at the start of the queue, but can also position it relative to another run using the relative_to and position parameters.
For detailed documentation on relative positioning and queue management, see: docs/core_features/run_queue_api.md
Requeue runs and position them in the queue. If relative_to is provided, position the run relative to that run. Otherwise, move the run to the front of the queue.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| position | string |
Position the run 'before' or 'after' the reference run. Only used if relative_to is provided. See docs/core_features/run_queue_api.md for examples. Default: beforeChoices
'"before|after"'
|
| relative_to | URI |
The URI of the reference run to position relative to. Required |
| run | URI |
The URI of run which is to be re-queued. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
The queue modification is not allowed at this time. Invalid position specified for queue modification. |
| 404 |
The requested run cannot be found. |
/run-transformation/
This triggers complex actions on a run, which may need to run in the background. POST creates promise for the action, and runs it. GET/LIST show a record of it's success/failure. The changes here may change several resources,
Status of this endpoints is the status of the backend job doing the requested change: - pending: job is accepted, queued to run in the backend; - processing: job is running in the backend; - complete: job completed OK, no error. All resources up to date OK (any known warning can be added to the notes); - error: job did not complete OK. See notes for error/failure info.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| created | iso-8601 datetime |
The datetime when run transformation was created. |
| custom_workflow | URI |
Custom workflow URI, created for pieces (for 'prints') during 'change_workflow' transformation. |
| destination_runs | array |
List of resulting runs created or updated on workflow change. Example: '["..."]'
|
| line_items | array |
none available Example: '[{}]'
|
| notes | string |
Notes for the transformation, usually - reason. |
| prints | array |
List of prints from the 'source_run' to apply transformation into. Example: '["..."]'
|
| process_steps | array |
["On change_workflow: List of all process steps in the 'new workflow'(not just new steps), created by caller. Otherwise None. tricky, sorry"] Example: '["..."]'
|
| source_run | URI |
The in-progress run we are going to transform, or update pieces in. AKA 'in-progress' run. |
| split_piece_schedules | boolean |
True if the schedule and runs for reworked pieces are to be separated from non-reworked pieces during run changes. |
| status | string |
none available Choices
'"pending|processing|complete|error"'
|
| type | string |
The type of transformation to apply to these pieces in this run. Choices
'"remanufacture|redo|change_workflow|flag_non_conformance|scrap|split_shipment"'
|
| updated | iso-8601 datetime |
The datetime when run transformation was last updated (by person or algorithm). |
| uri | URI |
This run transformation's URI. |
| user | URI |
The URI of the user who makes the transformation. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 404 |
The requested run transformation or related object cannot be found. |
Creates db promise to do the requested transform. runs action in-line, or in a background task. :param payload: :return:
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| created | iso-8601 datetime |
The datetime when run transformation was created. Required |
| custom_workflow | URI |
Custom workflow URI, created for pieces (for 'prints') during 'change_workflow' transformation. Required |
| destination_runs | array |
List of resulting runs created or updated on workflow change. Required Example: '["..."]'
|
| line_items | array |
none available Required Example: '[{}]'
|
| notes | string |
Notes for the transformation, usually - reason. Default: None |
| prints | array |
List of prints from the 'source_run' to apply transformation into. Required Example: '["..."]'
|
| process_steps | array |
["On change_workflow: List of all process steps in the 'new workflow'(not just new steps), created by caller. Otherwise None. tricky, sorry"] Required Example: '["..."]'
|
| source_run | URI |
The in-progress run we are going to transform, or update pieces in. AKA 'in-progress' run. Required |
| split_piece_schedules | boolean |
True if the schedule and runs for reworked pieces are to be separated from non-reworked pieces during run changes. Required |
| status | string |
none available Required Choices
'"pending|processing|complete|error"'
|
| type | string |
The type of transformation to apply to these pieces in this run. Required Choices
'"remanufacture|redo|change_workflow|flag_non_conformance|scrap|split_shipment"'
|
| updated | iso-8601 datetime |
The datetime when run transformation was last updated (by person or algorithm). Required |
| uri | URI |
This run transformation's URI. Required |
| user | URI |
The URI of the user who makes the transformation. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
|
| 404 |
The requested run transformation or related object cannot be found. |
This triggers complex actions on a run, which may need to run in the background. POST creates promise for the action, and runs it. GET/LIST show a record of it's success/failure. The changes here may change several resources,
Status of this endpoints is the status of the backend job doing the requested change: - pending: job is accepted, queued to run in the backend; - processing: job is running in the backend; - complete: job completed OK, no error. All resources up to date OK (any known warning can be added to the notes); - error: job did not complete OK. See notes for error/failure info.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| created | iso-8601 datetime |
The datetime when run transformation was created. |
| custom_workflow | URI |
Custom workflow URI, created for pieces (for 'prints') during 'change_workflow' transformation. |
| destination_runs | array |
List of resulting runs created or updated on workflow change. Example: '["..."]'
|
| line_items | array |
none available Example: '[{}]'
|
| notes | string |
Notes for the transformation, usually - reason. |
| prints | array |
List of prints from the 'source_run' to apply transformation into. Example: '["..."]'
|
| process_steps | array |
["On change_workflow: List of all process steps in the 'new workflow'(not just new steps), created by caller. Otherwise None. tricky, sorry"] Example: '["..."]'
|
| source_run | URI |
The in-progress run we are going to transform, or update pieces in. AKA 'in-progress' run. |
| split_piece_schedules | boolean |
True if the schedule and runs for reworked pieces are to be separated from non-reworked pieces during run changes. |
| status | string |
none available Choices
'"pending|processing|complete|error"'
|
| type | string |
The type of transformation to apply to these pieces in this run. Choices
'"remanufacture|redo|change_workflow|flag_non_conformance|scrap|split_shipment"'
|
| updated | iso-8601 datetime |
The datetime when run transformation was last updated (by person or algorithm). |
| uri | URI |
This run transformation's URI. |
| user | URI |
The URI of the user who makes the transformation. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 404 |
The requested run transformation or related object cannot be found. |
Read only endpoint for displaying queued stages runs list page information.
Only method that will be enabled for this endpoint for now.
NOTE: We drop the permissions checks here to match those on the /run/ endpoint. These should really
be enabled but were causing issues with query speed. :tech-debt: Look into perms for /run/, /schedule/
alongside this endpoint
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau the run-schedule resource belongs to. |
| created | iso-8601 datetime |
The datetime the run was created, not the run_schedule |
| customer_id | string |
The customer ID of the run |
| estimated_end | iso-8601 datetime |
the datetime representation of when the tester started started the first test in the panel |
| estimated_start | iso-8601 datetime |
the datetime representation of when the tester started started the first test in the panel |
| id | string |
The identifier for this run. This identifier will be generated when the run is created and should be the name used for the print so the sytem can track it |
| location | URI |
The URI of run's location (based on printer or post-processor). |
| name | string |
name of a run |
| notes | string |
Notes for a run |
| operation | string |
Operation type of the run. Choices
'"printing|post-processing|shipping"'
|
| post_processor | URI |
The URI of run's post_processor. |
| post_processor_type | URI |
The URI of run's post processor type. |
| printer | URI |
The URI of run's printer. |
| printer_type | URI |
The URI of run's printer type. |
| priority | integer |
The priority score for the run, in range 0-100, where 0 is the lowest priority and 100 is the highest priority |
| schedule_uuid | uuid |
The URI of the related schedule. |
| shipping | URI |
The URI of run's shipping type. |
| status | string |
Status of the run. Choices
'"calculating|calculated|queued|queued-work-ready|in-progress|paused|error|complete|cancelled"'
|
| updated | iso-8601 datetime |
The date the run was updated, not the run_schedule. |
| uri | URI |
The URI of the run. |
| workstation_name | string |
The name of the printer, post processor, or shipping type |
| workstation_queue_position | integer |
The index of the current run |
| workstation_type_name | string |
The name of the printer type or post processor type |
| workstation_uri | URL |
The URI of the printer, post_processor, shipping exact workstation, if tied to an exact workstation |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 405 |
Notifies user of readonly list endpoint. |
/run/
A run corresponds to a group of pieces being worked on together (a run)
at a printer or post-processor. A run must have one or more pieces indicating the
physical instance being worked on. A run must have a prints for each piece
indicating the success/ failure of work on each piece. AKA print is the output of the
operation on each piece.
The system can aggregate multiple prints together for efficiency. A run can be created without a specific printer or post-processor to indicate work that should be done in the future. Eventually the run is assigned to a particular printer or post-processor that completes the run.
Run data can be automatically updated based on reports gathered by Echo. This gives the system a full control loop for data.
See Also run-actuals.
Get all of the runs the current user has access to
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| batch_type | string |
Type of batching strategy. Choices
'"by_size_xyz|by_size_xy|by_number_of_parts|match_previous|single|by_job|by_order"'
|
| by_line_item | URI |
Allows filtering runs by prints line-item, list only. |
| by_order | URI |
Allows filtering runs by prints orders. |
| created | iso-8601 datetime |
The datetime the records was created |
| custom_field_values | array |
none available Example: '[{}]'
|
| customer_id | string |
The customer ID of the run |
| error | string |
The current error for the run, if any |
| export_controlled | boolean |
True if any pieces of this run has an export control label relationship |
| filled_by_batch_type_prints | boolean |
Is this run fully filled with necessary prints or not (supported by batch_type=by_order). Can be set/changed only by further run creator |
| force | boolean |
False will stop you from skipping steps in state machine. True if you want to force a state change and skip safety checks. This only allows you to skip certain checks. |
| id | string |
The identifier for this run. This identifier will be generated when the run is created and should be the name used for the print so the sytem can track it |
| location | URI |
The URI of run's location (based on printer or post-processor). |
| name | string |
name of a run |
| notes | string |
Notes for a run |
| operation | string |
Operation type of the run. Choices
'"printing|post-processing|shipping"'
|
| orders | array |
List of orders URIs (based on prints). Example: '["..."]'
|
| pieces_locked | boolean |
When locked, prints cannot be added to this run |
| post_processor | URI |
The URI of run's post_processor. |
| post_processor_type | URI |
The URI of run's post processor type. |
| printer | URI |
The URI of run's printer. |
| printer_type | URI |
The URI of run's printer type. |
| prints | array |
The URIs of prints in the run. Example: '["..."]'
|
| priority | integer |
The priority score for the run, in range 0-100, where 0 is the lowest priority and 100 is the highest priority |
| run_documents | array |
none available Example: '["..."]'
|
| service_provider_jobs | array |
none available Example: '["..."]'
|
| shipping | URI |
The URI of run's shipping type. |
| status | string |
Status of the run. Choices
'"calculating|calculated|queued|queued-work-ready|in-progress|paused|error|complete|cancelled"'
|
| updated | iso-8601 datetime |
The date the run was updated. |
| uri | URI |
The URI of the run. |
| workstation_name | string |
The name of the printer, post processor, or shipping type |
| workstation_queue_position | integer |
The index of the current run |
| workstation_type_name | string |
The name of the printer type or post processor type |
| workstation_uri | URL |
The URI of the printer, post_processor, shipping exact workstation, if tied to an exact workstation |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
Run cannot consist of The system is busy printing. Please end the current process first. The requested prints do not have their associated line_items in either confirmed or printing state. The requested prints do not have same process types belonging to process steps. All the previous steps for the order should be completed before we can process these prints. |
| 404 |
The requested run or related object cannot be found. |
| 409 |
The requested status transformation is not allowed. |
Create a new run.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| batch_type | string |
Type of batching strategy. Default: match_previousChoices
'"by_size_xyz|by_size_xy|by_number_of_parts|match_previous|single|by_job|by_order"'
|
| by_line_item | URI |
Allows filtering runs by prints line-item, list only. Required |
| by_order | URI |
Allows filtering runs by prints orders. Required |
| created | iso-8601 datetime |
The datetime the records was created Default: None |
| custom_field_values | array |
none available Default: NoneExample: '[{}]'
|
| customer_id | string |
The customer ID of the run Required |
| error | string |
The current error for the run, if any Default: None |
| export_controlled | boolean |
True if any pieces of this run has an export control label relationship Default: False |
| filled_by_batch_type_prints | boolean |
Is this run fully filled with necessary prints or not (supported by batch_type=by_order). Can be set/changed only by further run creator Required |
| force | boolean |
False will stop you from skipping steps in state machine. True if you want to force a state change and skip safety checks. This only allows you to skip certain checks. Default: False |
| id | string |
The identifier for this run. This identifier will be generated when the run is created and should be the name used for the print so the sytem can track it Default: None |
| location | URI |
The URI of run's location (based on printer or post-processor). Default: None |
| name | string |
name of a run Default: None |
| notes | string |
Notes for a run Default: None |
| operation | string |
Operation type of the run. Default: NoneChoices
'"printing|post-processing|shipping"'
|
| orders | array |
List of orders URIs (based on prints). Required Example: '["..."]'
|
| pieces_locked | boolean |
When locked, prints cannot be added to this run Default: True |
| post_processor | URI |
The URI of run's post_processor. Default: None |
| post_processor_type | URI |
The URI of run's post processor type. Default: None |
| printer | URI |
The URI of run's printer. Default: None |
| printer_type | URI |
The URI of run's printer type. Default: None |
| prints | array |
The URIs of prints in the run. Required Example: '["..."]'
|
| priority | integer |
The priority score for the run, in range 0-100, where 0 is the lowest priority and 100 is the highest priority Default: 65 |
| run_documents | array |
none available Default: NoneExample: '["..."]'
|
| service_provider_jobs | array |
none available Required Example: '["..."]'
|
| shipping | URI |
The URI of run's shipping type. Default: None |
| status | string |
Status of the run. Default: NoneChoices
'"calculating|calculated|queued|queued-work-ready|in-progress|paused|error|complete|cancelled"'
|
| updated | iso-8601 datetime |
The date the run was updated. Required |
| uri | URI |
The URI of the run. Default: None |
| workstation_name | string |
The name of the printer, post processor, or shipping type Required |
| workstation_queue_position | integer |
The index of the current run Default: None |
| workstation_type_name | string |
The name of the printer type or post processor type Required |
| workstation_uri | URL |
The URI of the printer, post_processor, shipping exact workstation, if tied to an exact workstation Default: None |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
Run cannot consist of The system is busy printing. Please end the current process first. The requested prints do not have their associated line_items in either confirmed or printing state. The requested prints do not have same process types belonging to process steps. All the previous steps for the order should be completed before we can process these prints. |
| 404 |
The requested run or related object cannot be found. |
| 409 |
The requested status transformation is not allowed. |
/run/{uuid}/
A run corresponds to a group of pieces being worked on together (a run)
at a printer or post-processor. A run must have one or more pieces indicating the
physical instance being worked on. A run must have a prints for each piece
indicating the success/ failure of work on each piece. AKA print is the output of the
operation on each piece.
The system can aggregate multiple prints together for efficiency. A run can be created without a specific printer or post-processor to indicate work that should be done in the future. Eventually the run is assigned to a particular printer or post-processor that completes the run.
Run data can be automatically updated based on reports gathered by Echo. This gives the system a full control loop for data.
See Also run-actuals.
Get a single run by UUID.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| batch_type | string |
Type of batching strategy. Choices
'"by_size_xyz|by_size_xy|by_number_of_parts|match_previous|single|by_job|by_order"'
|
| by_line_item | URI |
Allows filtering runs by prints line-item, list only. |
| by_order | URI |
Allows filtering runs by prints orders. |
| created | iso-8601 datetime |
The datetime the records was created |
| custom_field_values | array |
none available Example: '[{}]'
|
| customer_id | string |
The customer ID of the run |
| error | string |
The current error for the run, if any |
| export_controlled | boolean |
True if any pieces of this run has an export control label relationship |
| filled_by_batch_type_prints | boolean |
Is this run fully filled with necessary prints or not (supported by batch_type=by_order). Can be set/changed only by further run creator |
| force | boolean |
False will stop you from skipping steps in state machine. True if you want to force a state change and skip safety checks. This only allows you to skip certain checks. |
| id | string |
The identifier for this run. This identifier will be generated when the run is created and should be the name used for the print so the sytem can track it |
| location | URI |
The URI of run's location (based on printer or post-processor). |
| name | string |
name of a run |
| notes | string |
Notes for a run |
| operation | string |
Operation type of the run. Choices
'"printing|post-processing|shipping"'
|
| orders | array |
List of orders URIs (based on prints). Example: '["..."]'
|
| pieces_locked | boolean |
When locked, prints cannot be added to this run |
| post_processor | URI |
The URI of run's post_processor. |
| post_processor_type | URI |
The URI of run's post processor type. |
| printer | URI |
The URI of run's printer. |
| printer_type | URI |
The URI of run's printer type. |
| prints | array |
The URIs of prints in the run. Example: '["..."]'
|
| priority | integer |
The priority score for the run, in range 0-100, where 0 is the lowest priority and 100 is the highest priority |
| run_documents | array |
none available Example: '["..."]'
|
| service_provider_jobs | array |
none available Example: '["..."]'
|
| shipping | URI |
The URI of run's shipping type. |
| status | string |
Status of the run. Choices
'"calculating|calculated|queued|queued-work-ready|in-progress|paused|error|complete|cancelled"'
|
| updated | iso-8601 datetime |
The date the run was updated. |
| uri | URI |
The URI of the run. |
| workstation_name | string |
The name of the printer, post processor, or shipping type |
| workstation_queue_position | integer |
The index of the current run |
| workstation_type_name | string |
The name of the printer type or post processor type |
| workstation_uri | URL |
The URI of the printer, post_processor, shipping exact workstation, if tied to an exact workstation |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
Run cannot consist of The system is busy printing. Please end the current process first. The requested prints do not have their associated line_items in either confirmed or printing state. The requested prints do not have same process types belonging to process steps. All the previous steps for the order should be completed before we can process these prints. |
| 404 |
The requested run or related object cannot be found. |
| 409 |
The requested status transformation is not allowed. |
/sample/
A sample represents a small negligible amount of material taken from a batch and sent off for testing. Material Test Panels are performed on samples. This endpoint controls the creation and retrieval of these samples.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau the sample belongs to. |
| material_batch | URI |
The URI of material_batch the sample was taken from. |
| name | string |
Sample name |
| source_action | URI |
The URI of material_batch_action that was used to set the material-batch to status testing. |
| uri | URI |
The URI of the sample. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested sample cannot be found. |
| 405 |
|
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau the sample belongs to. Required |
| material_batch | URI |
The URI of material_batch the sample was taken from. Required |
| name | string |
Sample name Required |
| source_action | URI |
The URI of material_batch_action that was used to set the material-batch to status testing. Required |
| uri | URI |
The URI of the sample. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 404 |
The requested sample cannot be found. |
| 405 |
|
/sample/{uuid}/
A sample represents a small negligible amount of material taken from a batch and sent off for testing. Material Test Panels are performed on samples. This endpoint controls the creation and retrieval of these samples.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau the sample belongs to. |
| material_batch | URI |
The URI of material_batch the sample was taken from. |
| name | string |
Sample name |
| source_action | URI |
The URI of material_batch_action that was used to set the material-batch to status testing. |
| uri | URI |
The URI of the sample. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested sample cannot be found. |
| 405 |
|
/schedule_runs/
API endpoint to trigger schdule estimation. This will cause the backend to run a recursive search/scan to create a schedule starting from the selected run URI. This may change state or schedule of other Schedule.
responds to API REST GET with no UUID, to get a list of all entries. @returns tuple of (data, status_code, extra headers)
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| edited_by | URI |
URI of user that edited the estimate |
| estimates | object |
Estimated timing and resource usage data for this run Example: '{"time": {}, "run_type": "printing|post-processing|shipping"}'
|
| run | URI |
URI of run we want to the est operation performed |
| uri | URI |
URI of estimate object |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
Wait until estimation process for this run will finish |
responds to API REST POST. Creates a new run_estimate from payload @returns tuple of (data, status_code, ??)
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| edited_by | URI |
URI of user that edited the estimate Required |
| estimates | object |
Estimated timing and resource usage data for this run Default: NoneExample: '{"time": {}, "run_type": "printing|post-processing|shipping"}'
|
| run | URI |
URI of run we want to the est operation performed Required |
| uri | URI |
URI of estimate object Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
Wait until estimation process for this run will finish |
API endpoint to trigger schdule estimation. This will cause the backend to run a recursive search/scan to create a schedule starting from the selected run URI. This may change state or schedule of other Schedule.
responds to API REST GET , gets single entry from db @returns tuple of (data, status_code, ??)
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| edited_by | URI |
URI of user that edited the estimate |
| estimates | object |
Estimated timing and resource usage data for this run Example: '{"time": {}, "run_type": "printing|post-processing|shipping"}'
|
| run | URI |
URI of run we want to the est operation performed |
| uri | URI |
URI of estimate object |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
Wait until estimation process for this run will finish |
/secure-checkout-directory/
Base Class for service with "secure-file-checkout" feature
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| available | boolean |
The last usage is in a status [COMPLETED or ERROR]. |
| common_name | string |
Secure checkout directory common name. |
| directory_name | string |
Secure checkout directory name. |
| uri | URI |
The URI of the secure checkout directory. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested secure checkout directory cannot be found. |
| 405 |
|
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| available | boolean |
The last usage is in a status [COMPLETED or ERROR]. Required |
| common_name | string |
Secure checkout directory common name. Required |
| directory_name | string |
Secure checkout directory name. Required |
| uri | URI |
The URI of the secure checkout directory. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 404 |
The requested secure checkout directory cannot be found. |
| 405 |
|
Base Class for service with "secure-file-checkout" feature
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| available | boolean |
The last usage is in a status [COMPLETED or ERROR]. |
| common_name | string |
Secure checkout directory common name. |
| directory_name | string |
Secure checkout directory name. |
| uri | URI |
The URI of the secure checkout directory. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested secure checkout directory cannot be found. |
| 405 |
|
/secure-file-checkout/
Base Class for service with "secure-file-checkout" feature
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| common_name | string |
The common name of the secure checkout directory. |
| context | array |
Read-only. Messages that can be shown to the user/admin for debugging purposes Example: '["..."]'
|
| created | iso-8601 datetime |
Datetime when secure file checkout was created (in UTC). |
| force_check_in | boolean |
Need this True and a valid uri to forcable check in a resource |
| related_table_name | string |
Related table name of a secure file checkout. Choices
'"run"'
|
| resource_uuid | uuid |
The resource uuid of the secure file checkout. |
| secure_checkout_directory | URI |
The URI of the secure checkout directory. |
| status | string |
Status of a secure file checkout. Choices
'"checking_out|checked_out|processing|processed|checking_in|completed|error|corrected|failed"'
|
| updated | iso-8601 datetime |
Datetime when secure file checkout was updated last time (in UTC). |
| uri | URI |
The URI of the secure file checkout. |
| user | URI |
The URI of the user. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested secure file checkout cannot be found. |
| 405 |
|
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| common_name | string |
The common name of the secure checkout directory. Required |
| context | array |
Read-only. Messages that can be shown to the user/admin for debugging purposes Required Example: '["..."]'
|
| created | iso-8601 datetime |
Datetime when secure file checkout was created (in UTC). Required |
| force_check_in | boolean |
Need this True and a valid uri to forcable check in a resource Default: False |
| related_table_name | string |
Related table name of a secure file checkout. Required Choices
'"run"'
|
| resource_uuid | uuid |
The resource uuid of the secure file checkout. Required |
| secure_checkout_directory | URI |
The URI of the secure checkout directory. Required |
| status | string |
Status of a secure file checkout. Default: NoneChoices
'"checking_out|checked_out|processing|processed|checking_in|completed|error|corrected|failed"'
|
| updated | iso-8601 datetime |
Datetime when secure file checkout was updated last time (in UTC). Required |
| uri | URI |
The URI of the secure file checkout. Required |
| user | URI |
The URI of the user. Default: None |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 404 |
The requested secure file checkout cannot be found. |
| 405 |
|
Base Class for service with "secure-file-checkout" feature
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| common_name | string |
The common name of the secure checkout directory. |
| context | array |
Read-only. Messages that can be shown to the user/admin for debugging purposes Example: '["..."]'
|
| created | iso-8601 datetime |
Datetime when secure file checkout was created (in UTC). |
| force_check_in | boolean |
Need this True and a valid uri to forcable check in a resource |
| related_table_name | string |
Related table name of a secure file checkout. Choices
'"run"'
|
| resource_uuid | uuid |
The resource uuid of the secure file checkout. |
| secure_checkout_directory | URI |
The URI of the secure checkout directory. |
| status | string |
Status of a secure file checkout. Choices
'"checking_out|checked_out|processing|processed|checking_in|completed|error|corrected|failed"'
|
| updated | iso-8601 datetime |
Datetime when secure file checkout was updated last time (in UTC). |
| uri | URI |
The URI of the secure file checkout. |
| user | URI |
The URI of the user. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested secure file checkout cannot be found. |
| 405 |
|
/sensor-data/
This resource is dependent on the parent Sensor. This endpoint is used to list the sensor readings given the sensor. Sensor is a mandatory filter argument. Filtering by sensor will give you a list of data point under Resources. Each data point has a timestamp, humidity and temperature value. This is a READONLY endpoint. The data is fetched from Pathfindr in a background process.
Retrieve a list of sensor data points.
Returns: ResourceList: A list of sensor data points.
Raises: sepiida.errors.InvalidPayload: If sensor data listing is not supported. sepiida.errors.RecordNotFound: If the specified sensor does not exist or is inaccessible.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| humidity | float |
Humidity value of the data point in percentage Example: '42.0'
|
| sensor | URI |
URI of the sensor |
| temperature | float |
Temperature value of the data point in celsius Example: '25.5'
|
| timestamp | string |
Timestamp of the data point, timestamps are normally spaced by 30 mins, unless pathfindr changes their specs Example: '"2023-07-25T12:34:56Z"'
|
| updated | iso-8601 datetime |
none available |
| uri | URI |
URI of this sensor data point |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested sensor cannot be found. |
This resource is dependent on the parent Sensor. This endpoint is used to list the sensor readings given the sensor. Sensor is a mandatory filter argument. Filtering by sensor will give you a list of data point under Resources. Each data point has a timestamp, humidity and temperature value. This is a READONLY endpoint. The data is fetched from Pathfindr in a background process.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| humidity | float |
Humidity value of the data point in percentage Example: '42.0'
|
| sensor | URI |
URI of the sensor |
| temperature | float |
Temperature value of the data point in celsius Example: '25.5'
|
| timestamp | string |
Timestamp of the data point, timestamps are normally spaced by 30 mins, unless pathfindr changes their specs Example: '"2023-07-25T12:34:56Z"'
|
| updated | iso-8601 datetime |
none available |
| uri | URI |
URI of this sensor data point |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested sensor cannot be found. |
/sensor/
This is the resource for creating and listing sensors. This will mainly be used to create new sensor and attach them to a sublocation. This endpoint is only for creating the Sensors, the data collection happens in the backend and as a side effects updates the sensors state.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
Bureau this sensor is connected to |
| frequency | integer |
frequency of data collection, in minutes |
| serial_number | string |
Serial number of the sensor, cannot exceed 255 characters |
| state | string |
This is the current stat of this sensor. If set to new, the sensor has been created but not yet received any data Choices
'"new|idle|error"'
|
| sub_location | URI |
The URI of the sensors sub_location |
| uri | URI |
URI of the sensor |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
The requested sensor is already stored in the database The requested sensor is already attached to a sub-location
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested sensor cannot be found. |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
Bureau this sensor is connected to Required |
| frequency | integer |
frequency of data collection, in minutes Default: 15 |
| serial_number | string |
Serial number of the sensor, cannot exceed 255 characters Required |
| state | string |
This is the current stat of this sensor. If set to new, the sensor has been created but not yet received any data Default: newChoices
'"new|idle|error"'
|
| sub_location | URI |
The URI of the sensors sub_location Required |
| uri | URI |
URI of the sensor Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
The requested sensor is already stored in the database The requested sensor is already attached to a sub-location
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested sensor cannot be found. |
/sensor/{uuid}/
This is the resource for creating and listing sensors. This will mainly be used to create new sensor and attach them to a sublocation. This endpoint is only for creating the Sensors, the data collection happens in the backend and as a side effects updates the sensors state.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
Bureau this sensor is connected to |
| frequency | integer |
frequency of data collection, in minutes |
| serial_number | string |
Serial number of the sensor, cannot exceed 255 characters |
| state | string |
This is the current stat of this sensor. If set to new, the sensor has been created but not yet received any data Choices
'"new|idle|error"'
|
| sub_location | URI |
The URI of the sensors sub_location |
| uri | URI |
URI of the sensor |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
The requested sensor is already stored in the database The requested sensor is already attached to a sub-location
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested sensor cannot be found. |
/sentry/
Endpoint for testing Sentry integration and triggering test alerts.
Internal use only, auth added to prevent DDoS/script kiddies only
May consider a rate limit but overkill at this stage
- Auth required for GET (LIST) and POST requests
- Request logging
Display Sentry testing interface using Jinja2 template.
Requires authentication
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| alert_level | string |
Severity level for the test alert Choices
'"info|warning|error"'
|
| test_message | string |
Message to include in the test Sentry alert |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
Trigger sentry alert for debugging
Requires auth, any flows user is valid
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| alert_level | string |
Severity level for the test alert Default: warningChoices
'"info|warning|error"'
|
| test_message | string |
Message to include in the test Sentry alert Default: Test Sentry alert from Sentry API |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
API endpoint for assigning a Service Provider to a Run, granting cross-bureau access permissions, creating a Service Provider job, and notifying the assigned Service Provider.
This endpoint enforces a "one active assignment per run" rule. If a different Service Provider is already assigned to the run, their assignment is revoked before creating a new one.
Payload: The request body must match the defined SIGNATURE: { "assigned_to": URI (service-provider), The URI of the Service Provider to assign to.. "run_to_share": URI (run), The URI of the Run to share with the Service Provider.. "data_entry_url": QR app URL where the Service Provider can enter their Work Instruction Report. }
Behavior: 1. Checks for any existing Service Provider assignments for the given run: - If the same Service Provider is already assigned, raises InvalidPayload. - If a different Service Provider is assigned, revokes the current assignment and permissions. 2. Retrieves related resources like Prints associated with the run, Pieces and Line items 3. Resolves the Service Provider's hub user for permission granting. 4. Grants cross-bureau access permissions for the run using a custom group. 5. Creates a new Service Provider job and links it with the permissions, custom group and the SP user. 6. Sends a notification email to the Service Provider with: - Assignment details, - QR app URL for the shared run, - Run and order context.
Notes: - Only one active Service Provider job can exist per run. - Permissions are revoked automatically when reassigning to a different Service Provider.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| assigned_to | URI |
The URI of the Service Provider to assign to. Required |
| data_entry_url | URL |
URL where the Service Provider can enter their Work Instruction Report. Required |
| run_to_share | URI |
The URI of the Run to share with the service provider. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
/service-provider-job/
This endpoints tracks the relationship between LineItem, and a WorkServiceProvider (someone that can manufacture LineItems for-hire). Vendor Service Providers don't interact with this resource as this is specifically used to handle the bidding process for line-item.
A ServiceProviderJob is created first when a user decides to bid out a specific LineItem, to a specific ServiceProvider and tracks status of bid, price, production by the ServiceProvider.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| changes_history | array |
none available Example: '["..."]'
|
| cost | float |
The cost of ServiceProviderJob |
| created | iso-8601 datetime |
Datetime when service provider job was requested (in UTC). |
| currency | string |
Default currency (abbreviation) which is tied to cost.Bureau/service provider can change it. Required for POST + required for PUT if cost is provided. Optional for another cases Choices
'"AED|AFN|ALL|AMD|ANG|AOA|ARS|AUD|AWG|AZN|BAM|BBD|BDT|BGN|BHD|BIF|BMD|BND|BOB|BOV|BRL|BSD|BTN|BWP|BYN|BZD|CAD|CDF|CHE|CHF|CHW|CLF|CLP|CNY|COP|COU|CRC|CUC|CUP|CVE|CZK|DJF|DKK|DOP|DZD|EGP|ERN|ETB|EUR|FJD|FKP|GBP|GEL|GHS|GIP|GMD|GNF|GTQ|GYD|HKD|HNL|HRK|HTG|HUF|IDR|ILS|INR|IQD|IRR|ISK|JMD|JOD|JPY|KES|KGS|KHR|KMF|KPW|KRW|KWD|KYD|KZT|LAK|LBP|LKR|LRD|LSL|LYD|MAD|MDL|MGA|MKD|MMK|MNT|MOP|MRU|MUR|MVR|MWK|MXN|MXV|MYR|MZN|NAD|NGN|NIO|NOK|NPR|NZD|OMR|PAB|PEN|PGK|PHP|PKR|PLN|PYG|QAR|RON|RSD|RUB|RWF|SAR|SBD|SCR|SDG|SEK|SGD|SHP|SLE|SLL|SOS|SRD|SSP|STN|SVC|SYP|SZL|THB|TJS|TMT|TND|TOP|TRY|TTD|TWD|TZS|UAH|UGX|USD|USN|UYI|UYU|UYW|UZS|VED|VES|VND|VUV|WST|XAF|XAG|XAU|XBA|XBB|XBC|XBD|XCD|XDR|XOF|XPD|XPF|XPT|XSU|XTS|XUA|XXX|YER|ZAR|ZMW|ZWL"'
|
| due_at | iso-8601 datetime |
Due at date |
| job_rating | integer |
A Likert Scale (1-5) rating of the services provided. Choices
'"1|2|3|4|5"'
|
| last_editor_role | string |
none available Choices
'"bureau_user|service_provider_user"'
|
| line_item | URI |
The URI for line-item resource if this is line_item-level job. |
| line_item_name | string |
Name of the line item. |
| order | URI |
The URI of order the line-item belongs to if this is a line_item level job or order itself if this is an order-level job. |
| order_line_items | array |
The uri of the line items for an order IF this is the order-level job. Example: '["..."]'
|
| order_name | string |
Name of the order. |
| process_step | URI |
The URI of the target process step (within line_item) if this is process_step-level job for line_item. |
| provider_notes | string |
Notes left by service provider user. Regular bureau user can't edit this field - only view. |
| requesting_bureau_name | string |
Name of Bureau that requested the Bid (regular bureau). |
| run | URI |
The run associated with the service-provider-job |
| service_provider | URI |
The URI for service-provider resource. |
| shipping_tracking | string |
Shipping tracking information. |
| status | string |
Status of ServiceProviderJob Choices
'"bid_requested|bid_updated|bid_negotiated|shipping_to|in_progress|shipping_from|completed|declined|cancelled"'
|
| target | string |
Outsource job target; only 'line_item', 'process_step' (in the future can be added support for 'order') are valid |
| updated | iso-8601 datetime |
Datetime when service provider job was updated last time (in UTC). |
| uri | URI |
The URI for resource. |
| workstation_name | string |
Workstation Name (based on process_step). |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
Provided status transformation is not allowed The requested ServiceProviderJob name already exists. |
| 404 |
The requested ServiceProviderJob cannot be found. |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| changes_history | array |
none available Required Example: '["..."]'
|
| cost | float |
The cost of ServiceProviderJob Required |
| created | iso-8601 datetime |
Datetime when service provider job was requested (in UTC). Required |
| currency | string |
Default currency (abbreviation) which is tied to cost.Bureau/service provider can change it. Required for POST + required for PUT if cost is provided. Optional for another cases Required Choices
'"AED|AFN|ALL|AMD|ANG|AOA|ARS|AUD|AWG|AZN|BAM|BBD|BDT|BGN|BHD|BIF|BMD|BND|BOB|BOV|BRL|BSD|BTN|BWP|BYN|BZD|CAD|CDF|CHE|CHF|CHW|CLF|CLP|CNY|COP|COU|CRC|CUC|CUP|CVE|CZK|DJF|DKK|DOP|DZD|EGP|ERN|ETB|EUR|FJD|FKP|GBP|GEL|GHS|GIP|GMD|GNF|GTQ|GYD|HKD|HNL|HRK|HTG|HUF|IDR|ILS|INR|IQD|IRR|ISK|JMD|JOD|JPY|KES|KGS|KHR|KMF|KPW|KRW|KWD|KYD|KZT|LAK|LBP|LKR|LRD|LSL|LYD|MAD|MDL|MGA|MKD|MMK|MNT|MOP|MRU|MUR|MVR|MWK|MXN|MXV|MYR|MZN|NAD|NGN|NIO|NOK|NPR|NZD|OMR|PAB|PEN|PGK|PHP|PKR|PLN|PYG|QAR|RON|RSD|RUB|RWF|SAR|SBD|SCR|SDG|SEK|SGD|SHP|SLE|SLL|SOS|SRD|SSP|STN|SVC|SYP|SZL|THB|TJS|TMT|TND|TOP|TRY|TTD|TWD|TZS|UAH|UGX|USD|USN|UYI|UYU|UYW|UZS|VED|VES|VND|VUV|WST|XAF|XAG|XAU|XBA|XBB|XBC|XBD|XCD|XDR|XOF|XPD|XPF|XPT|XSU|XTS|XUA|XXX|YER|ZAR|ZMW|ZWL"'
|
| due_at | iso-8601 datetime |
Due at date Required |
| job_rating | integer |
A Likert Scale (1-5) rating of the services provided. Required Choices
'"1|2|3|4|5"'
|
| last_editor_role | string |
none available Required Choices
'"bureau_user|service_provider_user"'
|
| line_item | URI |
The URI for line-item resource if this is line_item-level job. Required |
| line_item_name | string |
Name of the line item. Required |
| order | URI |
The URI of order the line-item belongs to if this is a line_item level job or order itself if this is an order-level job. Required |
| order_line_items | array |
The uri of the line items for an order IF this is the order-level job. Required Example: '["..."]'
|
| order_name | string |
Name of the order. Required |
| process_step | URI |
The URI of the target process step (within line_item) if this is process_step-level job for line_item. Required |
| provider_notes | string |
Notes left by service provider user. Regular bureau user can't edit this field - only view. Required |
| requesting_bureau_name | string |
Name of Bureau that requested the Bid (regular bureau). Required |
| run | URI |
The run associated with the service-provider-job Required |
| service_provider | URI |
The URI for service-provider resource. Required |
| shipping_tracking | string |
Shipping tracking information. Required |
| status | string |
Status of ServiceProviderJob Required Choices
'"bid_requested|bid_updated|bid_negotiated|shipping_to|in_progress|shipping_from|completed|declined|cancelled"'
|
| target | string |
Outsource job target; only 'line_item', 'process_step' (in the future can be added support for 'order') are valid Required |
| updated | iso-8601 datetime |
Datetime when service provider job was updated last time (in UTC). Required |
| uri | URI |
The URI for resource. Required |
| workstation_name | string |
Workstation Name (based on process_step). Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
Provided status transformation is not allowed The requested ServiceProviderJob name already exists. |
| 404 |
The requested ServiceProviderJob cannot be found. |
This endpoints tracks the relationship between LineItem, and a WorkServiceProvider (someone that can manufacture LineItems for-hire). Vendor Service Providers don't interact with this resource as this is specifically used to handle the bidding process for line-item.
A ServiceProviderJob is created first when a user decides to bid out a specific LineItem, to a specific ServiceProvider and tracks status of bid, price, production by the ServiceProvider.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| changes_history | array |
none available Example: '["..."]'
|
| cost | float |
The cost of ServiceProviderJob |
| created | iso-8601 datetime |
Datetime when service provider job was requested (in UTC). |
| currency | string |
Default currency (abbreviation) which is tied to cost.Bureau/service provider can change it. Required for POST + required for PUT if cost is provided. Optional for another cases Choices
'"AED|AFN|ALL|AMD|ANG|AOA|ARS|AUD|AWG|AZN|BAM|BBD|BDT|BGN|BHD|BIF|BMD|BND|BOB|BOV|BRL|BSD|BTN|BWP|BYN|BZD|CAD|CDF|CHE|CHF|CHW|CLF|CLP|CNY|COP|COU|CRC|CUC|CUP|CVE|CZK|DJF|DKK|DOP|DZD|EGP|ERN|ETB|EUR|FJD|FKP|GBP|GEL|GHS|GIP|GMD|GNF|GTQ|GYD|HKD|HNL|HRK|HTG|HUF|IDR|ILS|INR|IQD|IRR|ISK|JMD|JOD|JPY|KES|KGS|KHR|KMF|KPW|KRW|KWD|KYD|KZT|LAK|LBP|LKR|LRD|LSL|LYD|MAD|MDL|MGA|MKD|MMK|MNT|MOP|MRU|MUR|MVR|MWK|MXN|MXV|MYR|MZN|NAD|NGN|NIO|NOK|NPR|NZD|OMR|PAB|PEN|PGK|PHP|PKR|PLN|PYG|QAR|RON|RSD|RUB|RWF|SAR|SBD|SCR|SDG|SEK|SGD|SHP|SLE|SLL|SOS|SRD|SSP|STN|SVC|SYP|SZL|THB|TJS|TMT|TND|TOP|TRY|TTD|TWD|TZS|UAH|UGX|USD|USN|UYI|UYU|UYW|UZS|VED|VES|VND|VUV|WST|XAF|XAG|XAU|XBA|XBB|XBC|XBD|XCD|XDR|XOF|XPD|XPF|XPT|XSU|XTS|XUA|XXX|YER|ZAR|ZMW|ZWL"'
|
| due_at | iso-8601 datetime |
Due at date |
| job_rating | integer |
A Likert Scale (1-5) rating of the services provided. Choices
'"1|2|3|4|5"'
|
| last_editor_role | string |
none available Choices
'"bureau_user|service_provider_user"'
|
| line_item | URI |
The URI for line-item resource if this is line_item-level job. |
| line_item_name | string |
Name of the line item. |
| order | URI |
The URI of order the line-item belongs to if this is a line_item level job or order itself if this is an order-level job. |
| order_line_items | array |
The uri of the line items for an order IF this is the order-level job. Example: '["..."]'
|
| order_name | string |
Name of the order. |
| process_step | URI |
The URI of the target process step (within line_item) if this is process_step-level job for line_item. |
| provider_notes | string |
Notes left by service provider user. Regular bureau user can't edit this field - only view. |
| requesting_bureau_name | string |
Name of Bureau that requested the Bid (regular bureau). |
| run | URI |
The run associated with the service-provider-job |
| service_provider | URI |
The URI for service-provider resource. |
| shipping_tracking | string |
Shipping tracking information. |
| status | string |
Status of ServiceProviderJob Choices
'"bid_requested|bid_updated|bid_negotiated|shipping_to|in_progress|shipping_from|completed|declined|cancelled"'
|
| target | string |
Outsource job target; only 'line_item', 'process_step' (in the future can be added support for 'order') are valid |
| updated | iso-8601 datetime |
Datetime when service provider job was updated last time (in UTC). |
| uri | URI |
The URI for resource. |
| workstation_name | string |
Workstation Name (based on process_step). |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
Provided status transformation is not allowed The requested ServiceProviderJob name already exists. |
| 404 |
The requested ServiceProviderJob cannot be found. |
/service-provider/
The service-provider resource contains information about service-provider bureau's that can be
used to outsource work(service_provider_type = work)
or outsource the management of tooling resources (service_provider_type='vendor').
While the bureau/group/permisisons system for these two types of service-providers are the same the workflows these users go through differ significantly.
For Work Service Providers All or part of an order can be handed over to service providers for fulfillment
Jobs are shared manually through the /service-provider-job/ resource. (cross-share of permissions occurs here)
For Vendor Service Providers , the refurbishment of tooling assigned to them via the vendor field attached to the tooling-type
resource. This handles the cross sharing of permissions.
The difference in behavior for these types(work, vendor) is due to the fact that WorkServiceProviders use the /service-provider-job/ manually to share permissions to the service provider for every line-item/process-step. This differs from vendors, where vendors need to continuously monitor any tooling-stocks associated to the type they are assigned to. (via the tooling-stock-action/ resource)
Terms and definitions:
1. Regular bureau - common bureau.
2. Service Provider Bureau - special bureau which used only for service provider users.
3. Regular Service Provider - common service provider which can be created by regular bureau user.
4. Service Provider Hub - copied created regular service provider which will be used as bureau hub for service provider user.
When regular bureau user creates service provider we will also create one more db:service_provider with
- source_bureau == created_service_provider.uuid;
- group == newly_created_group.uuid - this group will be used for granting permissions to the service provider user;
also we will create new user for this service provider and send invite to the specified email which will allow finished
registration for this service provider user.
List all of the service-provider in the system for your account.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| account_status | string |
none available Choices
'"invited|active|provider_declined|rejected"'
|
| address | string |
The address of the service-provider. |
| bureau | URI |
The URI of the regular bureau (for bureau-based records) or of the 'Service Provider Bureau' (for SP-based records). |
| custom_field_values | array |
none available Example: '[{}]'
|
| string |
The email of the service-provider. |
|
| group | URI |
Group which used for granting permissions for Service Provider users. For regular bureau it is NULL and unused. |
| name | string |
The name of the service-provider. |
| phone_number | string |
The phone number of the service-provider. |
| service_provider_type | string |
The specific type of service-provider. Either 'Work' or 'Vendor' Choices
'"work|vendor"'
|
| source_bureau | URI |
The URI of the regular bureau for which was created Service Provider Hub, or NULL and unused (for regular bureau). |
| source_bureau_name | string |
Name of source bureau (for sp user) and null (for regular bureau) |
| source_service_provider | URI |
none available |
| uri | URI |
The URI of the service-provider. |
| website | string |
The website of the service-provider. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
The value of bureau appears to be an invalid bureau.
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested service provider cannot be found. |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| account_status | string |
none available Required Choices
'"invited|active|provider_declined|rejected"'
|
| address | string |
The address of the service-provider. Default: None |
| bureau | URI |
The URI of the regular bureau (for bureau-based records) or of the 'Service Provider Bureau' (for SP-based records). Required |
| custom_field_values | array |
none available Default: NoneExample: '[{}]'
|
| string |
The email of the service-provider. Required |
|
| group | URI |
Group which used for granting permissions for Service Provider users. For regular bureau it is NULL and unused. Required |
| name | string |
The name of the service-provider. Required |
| phone_number | string |
The phone number of the service-provider. Default: None |
| service_provider_type | string |
The specific type of service-provider. Either 'Work' or 'Vendor' Default: workChoices
'"work|vendor"'
|
| source_bureau | URI |
The URI of the regular bureau for which was created Service Provider Hub, or NULL and unused (for regular bureau). Required |
| source_bureau_name | string |
Name of source bureau (for sp user) and null (for regular bureau) Required |
| source_service_provider | URI |
none available Required |
| uri | URI |
The URI of the service-provider. Default: None |
| website | string |
The website of the service-provider. Default: None |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
The value of bureau appears to be an invalid bureau.
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested service provider cannot be found. |
/service-provider/v1/line-item/
Returns limited information for Service Provider users about Line Items.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | object |
Info about bureau for which created line item. Example: '{}'
|
| layer_thickness | float |
The layer thickness of the print in mm. Must be < 1. |
| materials | object |
none available Example: '{"base": {}, "support": {}}'
|
| model | object |
none available Example: '{"file_unit": "in|mm|cm|m|feet", "type": "stl"}'
|
| model_unit | string |
The unit of measure for line-item's model. Choices
'"in|mm"'
|
| notes | string |
Notes for a line item. |
| order | URI |
The URI (for service provider API) of order the line-item belongs to. |
| quantity | integer |
The number of objects to produce. |
| status | string |
Status of an line-item. Choices
'"new|calculating_estimates|pending|in-preparation|confirmed|printing|post-processing|shipping|error|cancelled|complete"'
|
| uri | URI |
The URI of the line-item. |
| workflow | object |
none available Example: '{"process_steps": ["..."]}'
|
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
|
| 404 |
|
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | object |
Info about bureau for which created line item. Required Example: '{}'
|
| layer_thickness | float |
The layer thickness of the print in mm. Must be < 1. Default: 0.2 |
| materials | object |
none available Required Example: '{"base": {}, "support": {}}'
|
| model | object |
none available Required Example: '{"file_unit": "in|mm|cm|m|feet", "type": "stl"}'
|
| model_unit | string |
The unit of measure for line-item's model. Required Choices
'"in|mm"'
|
| notes | string |
Notes for a line item. Required |
| order | URI |
The URI (for service provider API) of order the line-item belongs to. Required |
| quantity | integer |
The number of objects to produce. Required |
| status | string |
Status of an line-item. Required Choices
'"new|calculating_estimates|pending|in-preparation|confirmed|printing|post-processing|shipping|error|cancelled|complete"'
|
| uri | URI |
The URI of the line-item. Required |
| workflow | object |
none available Required Example: '{"process_steps": ["..."]}'
|
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 403 |
|
| 404 |
|
Returns limited information for Service Provider users about Line Items.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | object |
Info about bureau for which created line item. Example: '{}'
|
| layer_thickness | float |
The layer thickness of the print in mm. Must be < 1. |
| materials | object |
none available Example: '{"base": {}, "support": {}}'
|
| model | object |
none available Example: '{"file_unit": "in|mm|cm|m|feet", "type": "stl"}'
|
| model_unit | string |
The unit of measure for line-item's model. Choices
'"in|mm"'
|
| notes | string |
Notes for a line item. |
| order | URI |
The URI (for service provider API) of order the line-item belongs to. |
| quantity | integer |
The number of objects to produce. |
| status | string |
Status of an line-item. Choices
'"new|calculating_estimates|pending|in-preparation|confirmed|printing|post-processing|shipping|error|cancelled|complete"'
|
| uri | URI |
The URI of the line-item. |
| workflow | object |
none available Example: '{"process_steps": ["..."]}'
|
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
|
| 404 |
|
/service-provider/v1/order/
Returns limited information for Service Provider users about Orders.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | object |
Info about bureau for which created order. Example: '{}'
|
| name | string |
Name of the order. |
| owner | object |
none available Example: '{}'
|
| shipping | object |
none available Example: '{}'
|
| status | string |
Status of an order. Choices
'"calculating_estimates|cancelled|confirmed|complete|error|new|pending|in-preparation|processing|post-processing|printing|shipping|cloning"'
|
| uri | URI |
The URI of the order. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
|
| 404 |
|
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | object |
Info about bureau for which created order. Required Example: '{}'
|
| name | string |
Name of the order. Required |
| owner | object |
none available Required Example: '{}'
|
| shipping | object |
none available Required Example: '{}'
|
| status | string |
Status of an order. Required Choices
'"calculating_estimates|cancelled|confirmed|complete|error|new|pending|in-preparation|processing|post-processing|printing|shipping|cloning"'
|
| uri | URI |
The URI of the order. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 403 |
|
| 404 |
|
Returns limited information for Service Provider users about Orders.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | object |
Info about bureau for which created order. Example: '{}'
|
| name | string |
Name of the order. |
| owner | object |
none available Example: '{}'
|
| shipping | object |
none available Example: '{}'
|
| status | string |
Status of an order. Choices
'"calculating_estimates|cancelled|confirmed|complete|error|new|pending|in-preparation|processing|post-processing|printing|shipping|cloning"'
|
| uri | URI |
The URI of the order. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
|
| 404 |
|
The service-provider resource contains information about service-provider bureau's that can be
used to outsource work(service_provider_type = work)
or outsource the management of tooling resources (service_provider_type='vendor').
While the bureau/group/permisisons system for these two types of service-providers are the same the workflows these users go through differ significantly.
For Work Service Providers All or part of an order can be handed over to service providers for fulfillment
Jobs are shared manually through the /service-provider-job/ resource. (cross-share of permissions occurs here)
For Vendor Service Providers , the refurbishment of tooling assigned to them via the vendor field attached to the tooling-type
resource. This handles the cross sharing of permissions.
The difference in behavior for these types(work, vendor) is due to the fact that WorkServiceProviders use the /service-provider-job/ manually to share permissions to the service provider for every line-item/process-step. This differs from vendors, where vendors need to continuously monitor any tooling-stocks associated to the type they are assigned to. (via the tooling-stock-action/ resource)
Terms and definitions:
1. Regular bureau - common bureau.
2. Service Provider Bureau - special bureau which used only for service provider users.
3. Regular Service Provider - common service provider which can be created by regular bureau user.
4. Service Provider Hub - copied created regular service provider which will be used as bureau hub for service provider user.
When regular bureau user creates service provider we will also create one more db:service_provider with
- source_bureau == created_service_provider.uuid;
- group == newly_created_group.uuid - this group will be used for granting permissions to the service provider user;
also we will create new user for this service provider and send invite to the specified email which will allow finished
registration for this service provider user.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| account_status | string |
none available Choices
'"invited|active|provider_declined|rejected"'
|
| address | string |
The address of the service-provider. |
| bureau | URI |
The URI of the regular bureau (for bureau-based records) or of the 'Service Provider Bureau' (for SP-based records). |
| custom_field_values | array |
none available Example: '[{}]'
|
| string |
The email of the service-provider. |
|
| group | URI |
Group which used for granting permissions for Service Provider users. For regular bureau it is NULL and unused. |
| name | string |
The name of the service-provider. |
| phone_number | string |
The phone number of the service-provider. |
| service_provider_type | string |
The specific type of service-provider. Either 'Work' or 'Vendor' Choices
'"work|vendor"'
|
| source_bureau | URI |
The URI of the regular bureau for which was created Service Provider Hub, or NULL and unused (for regular bureau). |
| source_bureau_name | string |
Name of source bureau (for sp user) and null (for regular bureau) |
| source_service_provider | URI |
none available |
| uri | URI |
The URI of the service-provider. |
| website | string |
The website of the service-provider. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
The value of bureau appears to be an invalid bureau.
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested service provider cannot be found. |
/sessions/
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| autologout_after | iso-8601 datetime |
Expiration time for LogonType.qr session |
| contactless_secret | string |
Hashed value of the last generated user secret |
| emails | array |
none available Example: '[{}]'
|
| ephemeral | boolean |
none available |
| impersonating | URI |
none available |
| is_self_registered | boolean |
Indicates that a user created his account itself (this is not the same as membership in 'guests' group in the bureau - role in the bureau can be changed but this flag will be set up only on user creation and not available for change.) |
| ldap_username | string |
none available |
| logon_type | string |
The method to be used to login Choices
'"password|qr|ldap"'
|
| name | string |
none available |
| password | string |
none available |
| submit | string |
none available |
| tos | boolean |
none available |
| uri | URI |
none available |
| username | string |
none available |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
Inititate a new user-session to our API. This will validate the use, and send them back a bearer-token (session key) so they don't have to send log-in data over and over in payload (risky). Not there is some special case code here for qr-kiosk mode, etc.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| autologout_after | iso-8601 datetime |
Expiration time for LogonType.qr session Required |
| contactless_secret | string |
Hashed value of the last generated user secret Required |
| emails | array |
none available Default: []Example: '[{}]'
|
| ephemeral | boolean |
none available Default: False |
| impersonating | URI |
none available Default: None |
| is_self_registered | boolean |
Indicates that a user created his account itself (this is not the same as membership in 'guests' group in the bureau - role in the bureau can be changed but this flag will be set up only on user creation and not available for change.) Default: False |
| ldap_username | string |
none available Required |
| logon_type | string |
The method to be used to login Required Choices
'"password|qr|ldap"'
|
| name | string |
none available Default: None |
| password | string |
none available Required |
| submit | string |
none available Default: None |
| tos | boolean |
none available Default: False |
| uri | URI |
none available Default: None |
| username | string |
none available Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| autologout_after | iso-8601 datetime |
Expiration time for LogonType.qr session |
| contactless_secret | string |
Hashed value of the last generated user secret |
| emails | array |
none available Example: '[{}]'
|
| ephemeral | boolean |
none available |
| impersonating | URI |
none available |
| is_self_registered | boolean |
Indicates that a user created his account itself (this is not the same as membership in 'guests' group in the bureau - role in the bureau can be changed but this flag will be set up only on user creation and not available for change.) |
| ldap_username | string |
none available |
| logon_type | string |
The method to be used to login Choices
'"password|qr|ldap"'
|
| name | string |
none available |
| password | string |
none available |
| submit | string |
none available |
| tos | boolean |
none available |
| uri | URI |
none available |
| username | string |
none available |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
/shipment-packing-slip/
An ShipmentPackingSlip is a docx file listing what needs to be shipped in an order.
It may include all or some limited group of Line Items in the Order it is related to.
Packing slip may need to be regenerated at a new date.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| content | URL |
the download link for the packing slip document. |
| created | iso-8601 datetime |
The date the packing slip was created. |
| order | URI |
The order to get an packing slip document on. |
| run | URI |
Shipment Run associated with shipment at the time of creation. |
| shipment | URI |
The shipment to get an packing slip document on. |
| status | string |
none available Choices
'"pending|processing|complete|error"'
|
| updated | iso-8601 datetime |
The date the packing slip was last time updated.. |
| uri | URI |
The URI of the packing slip. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested shipment packing slip or related order cannot be found. |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| content | URL |
the download link for the packing slip document. Required |
| created | iso-8601 datetime |
The date the packing slip was created. Required |
| order | URI |
The order to get an packing slip document on. Required |
| run | URI |
Shipment Run associated with shipment at the time of creation. Required |
| shipment | URI |
The shipment to get an packing slip document on. Required |
| status | string |
none available Required Choices
'"pending|processing|complete|error"'
|
| updated | iso-8601 datetime |
The date the packing slip was last time updated.. Required |
| uri | URI |
The URI of the packing slip. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested shipment packing slip or related order cannot be found. |
An ShipmentPackingSlip is a docx file listing what needs to be shipped in an order.
It may include all or some limited group of Line Items in the Order it is related to.
Packing slip may need to be regenerated at a new date.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| content | URL |
the download link for the packing slip document. |
| created | iso-8601 datetime |
The date the packing slip was created. |
| order | URI |
The order to get an packing slip document on. |
| run | URI |
Shipment Run associated with shipment at the time of creation. |
| shipment | URI |
The shipment to get an packing slip document on. |
| status | string |
none available Choices
'"pending|processing|complete|error"'
|
| updated | iso-8601 datetime |
The date the packing slip was last time updated.. |
| uri | URI |
The URI of the packing slip. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested shipment packing slip or related order cannot be found. |
/shipment/
Shipment is the resource for tracking packages moving by a shipping company. Do not confuse with 'shipping' which is a kind of workstation/step in a workflow. For "service-provider-on-steps" feature, tied only to run. For "shipment-for-order" feature, tied always to "order" and for "run" (when it will be created).
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| actual_cost | float |
Actual cost |
| actual_delivery_date | iso-8601 datetime |
Actual delivery date |
| actual_shipment_date | iso-8601 datetime |
Actual shipment date |
| billing_address | object |
Billing to this address. All fields must be submitted on update (even with null values) Example: '{}'
|
| created | iso-8601 datetime |
Datetime when process provider was requested (in UTC). |
| currency | string |
Currency for the costs fields. Choices
'"AED|AFN|ALL|AMD|ANG|AOA|ARS|AUD|AWG|AZN|BAM|BBD|BDT|BGN|BHD|BIF|BMD|BND|BOB|BOV|BRL|BSD|BTN|BWP|BYN|BZD|CAD|CDF|CHE|CHF|CHW|CLF|CLP|CNY|COP|COU|CRC|CUC|CUP|CVE|CZK|DJF|DKK|DOP|DZD|EGP|ERN|ETB|EUR|FJD|FKP|GBP|GEL|GHS|GIP|GMD|GNF|GTQ|GYD|HKD|HNL|HRK|HTG|HUF|IDR|ILS|INR|IQD|IRR|ISK|JMD|JOD|JPY|KES|KGS|KHR|KMF|KPW|KRW|KWD|KYD|KZT|LAK|LBP|LKR|LRD|LSL|LYD|MAD|MDL|MGA|MKD|MMK|MNT|MOP|MRU|MUR|MVR|MWK|MXN|MXV|MYR|MZN|NAD|NGN|NIO|NOK|NPR|NZD|OMR|PAB|PEN|PGK|PHP|PKR|PLN|PYG|QAR|RON|RSD|RUB|RWF|SAR|SBD|SCR|SDG|SEK|SGD|SHP|SLE|SLL|SOS|SRD|SSP|STN|SVC|SYP|SZL|THB|TJS|TMT|TND|TOP|TRY|TTD|TWD|TZS|UAH|UGX|USD|USN|UYI|UYU|UYW|UZS|VED|VES|VND|VUV|WST|XAF|XAG|XAU|XBA|XBB|XBC|XBD|XCD|XDR|XOF|XPD|XPF|XPT|XSU|XTS|XUA|XXX|YER|ZAR|ZMW|ZWL"'
|
| duration | timedelta |
The length of time it will take to complete shipment in seconds. |
| estimated_cost | float |
Always null. Estimated cost |
| estimated_delivery_date | iso-8601 datetime |
Estimated delivery date. Set by run scheduler |
| estimated_shipment_date | iso-8601 datetime |
Estimated shipment date. Set by run scheduler |
| name | string |
Shipment name |
| order | URI |
Related order with this shipment. For Service Providers shipments is always null. For shipment-by-order feature is always set. |
| origin_address | object |
Shipping from this address. All fields must be submitted on update (even with null values) Example: '{}'
|
| recipient_address | object |
Shipping to this address. All fields must be submitted on update (even with null values) Example: '{}'
|
| run | URI |
Related run. For Service Providers shipments run always exists. For shipment-by-order this field is null if run does not exist, but will be filled in when related run is created. |
| shipper_url | URL |
Shipper URI |
| shipping_partner | string |
Shipping Partner (USPS, DHL, etc) |
| status | string |
Shipment status Choices
'"new|queued|in_transit|received|error|cancelled"'
|
| tracking_number | string |
Delivery address |
| updated | iso-8601 datetime |
Datetime when process provider was updated last time (in UTC). |
| uri | URI |
The URI for process provider. |
| user | URI |
The URI of the user created the shipment. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
Auto-generated shipment names cannot be renamed. |
| 404 |
The requested Shipment (or related record) cannot be found. |
We don't allow to create shipment via rest (for now). Record should be created when run is created
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| actual_cost | float |
Actual cost Required |
| actual_delivery_date | iso-8601 datetime |
Actual delivery date Required |
| actual_shipment_date | iso-8601 datetime |
Actual shipment date Required |
| billing_address | object |
Billing to this address. All fields must be submitted on update (even with null values) Required Example: '{}'
|
| created | iso-8601 datetime |
Datetime when process provider was requested (in UTC). Required |
| currency | string |
Currency for the costs fields. Required Choices
'"AED|AFN|ALL|AMD|ANG|AOA|ARS|AUD|AWG|AZN|BAM|BBD|BDT|BGN|BHD|BIF|BMD|BND|BOB|BOV|BRL|BSD|BTN|BWP|BYN|BZD|CAD|CDF|CHE|CHF|CHW|CLF|CLP|CNY|COP|COU|CRC|CUC|CUP|CVE|CZK|DJF|DKK|DOP|DZD|EGP|ERN|ETB|EUR|FJD|FKP|GBP|GEL|GHS|GIP|GMD|GNF|GTQ|GYD|HKD|HNL|HRK|HTG|HUF|IDR|ILS|INR|IQD|IRR|ISK|JMD|JOD|JPY|KES|KGS|KHR|KMF|KPW|KRW|KWD|KYD|KZT|LAK|LBP|LKR|LRD|LSL|LYD|MAD|MDL|MGA|MKD|MMK|MNT|MOP|MRU|MUR|MVR|MWK|MXN|MXV|MYR|MZN|NAD|NGN|NIO|NOK|NPR|NZD|OMR|PAB|PEN|PGK|PHP|PKR|PLN|PYG|QAR|RON|RSD|RUB|RWF|SAR|SBD|SCR|SDG|SEK|SGD|SHP|SLE|SLL|SOS|SRD|SSP|STN|SVC|SYP|SZL|THB|TJS|TMT|TND|TOP|TRY|TTD|TWD|TZS|UAH|UGX|USD|USN|UYI|UYU|UYW|UZS|VED|VES|VND|VUV|WST|XAF|XAG|XAU|XBA|XBB|XBC|XBD|XCD|XDR|XOF|XPD|XPF|XPT|XSU|XTS|XUA|XXX|YER|ZAR|ZMW|ZWL"'
|
| duration | timedelta |
The length of time it will take to complete shipment in seconds. Required |
| estimated_cost | float |
Always null. Estimated cost Required |
| estimated_delivery_date | iso-8601 datetime |
Estimated delivery date. Set by run scheduler Required |
| estimated_shipment_date | iso-8601 datetime |
Estimated shipment date. Set by run scheduler Required |
| name | string |
Shipment name Required |
| order | URI |
Related order with this shipment. For Service Providers shipments is always null. For shipment-by-order feature is always set. Required |
| origin_address | object |
Shipping from this address. All fields must be submitted on update (even with null values) Required Example: '{}'
|
| recipient_address | object |
Shipping to this address. All fields must be submitted on update (even with null values) Required Example: '{}'
|
| run | URI |
Related run. For Service Providers shipments run always exists. For shipment-by-order this field is null if run does not exist, but will be filled in when related run is created. Required |
| shipper_url | URL |
Shipper URI Default: None |
| shipping_partner | string |
Shipping Partner (USPS, DHL, etc) Required |
| status | string |
Shipment status Required Choices
'"new|queued|in_transit|received|error|cancelled"'
|
| tracking_number | string |
Delivery address Required |
| updated | iso-8601 datetime |
Datetime when process provider was updated last time (in UTC). Required |
| uri | URI |
The URI for process provider. Required |
| user | URI |
The URI of the user created the shipment. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
Auto-generated shipment names cannot be renamed. |
| 404 |
The requested Shipment (or related record) cannot be found. |
/shipment/split/
API endpoint for splitting shipments by creating a new shipping run for ready pieces.
This endpoint enables split shipping functionality by allowing users to create a fast-track shipping run for pieces that are ready to ship while leaving remaining pieces in the original shipping run for later processing.
Split Shipping Workflow: 1. User identifies pieces within a shipment that are ready for immediate shipping 2. POST request is made to this endpoint with shipment UUID and ready piece URIs 3. System validates that pieces are ready for shipping and belong to the same run 4. New shipping run is created with "queued-ready" status for the ready pieces 5. New shipment is created for the new run (copying details from original shipment) 6. Original shipment remains associated with original run containing pending pieces
Validation Requirements: - All pieces must be in "queued_for_shipping" status - All pieces must be at the final step position in their workflow - All pieces must belong to the same original shipping run - Original run must have a shipping workstation assigned - Original run must have an associated shipment
Example Usage: An order for 6 pieces where 3 are completed and ready to ship while 3 are still in post-processing can be split to ship the ready pieces immediately rather than waiting for all pieces to complete.
POST /shipment/split/ { "pieces": [ "/piece/12345678-1234-1234-1234-123456789abc/", "/piece/87654321-4321-4321-4321-cba987654321/", "/piece/11111111-2222-3333-4444-555555555555/" ] }
Response (201 Created): { "run": "/run/new-run-uuid/", "shipment": "/shipment/new-shipment-uuid/", "message": "Split shipping completed successfully. 3 pieces moved to fast-track shipping." }
Split a shipment by creating a new shipping run for ready pieces.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| message | string |
Success message describing the split shipping operation Required |
| pieces | array |
List of piece URIs that are ready for immediate shipping Required Example: '["..."]'
|
| run | URI |
URI of the newly created shipping run for the ready pieces Required |
| shipment | URI |
URI of the newly created shipment for the fast-track shipping Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
|
| 404 |
|
Shipment is the resource for tracking packages moving by a shipping company. Do not confuse with 'shipping' which is a kind of workstation/step in a workflow. For "service-provider-on-steps" feature, tied only to run. For "shipment-for-order" feature, tied always to "order" and for "run" (when it will be created).
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| actual_cost | float |
Actual cost |
| actual_delivery_date | iso-8601 datetime |
Actual delivery date |
| actual_shipment_date | iso-8601 datetime |
Actual shipment date |
| billing_address | object |
Billing to this address. All fields must be submitted on update (even with null values) Example: '{}'
|
| created | iso-8601 datetime |
Datetime when process provider was requested (in UTC). |
| currency | string |
Currency for the costs fields. Choices
'"AED|AFN|ALL|AMD|ANG|AOA|ARS|AUD|AWG|AZN|BAM|BBD|BDT|BGN|BHD|BIF|BMD|BND|BOB|BOV|BRL|BSD|BTN|BWP|BYN|BZD|CAD|CDF|CHE|CHF|CHW|CLF|CLP|CNY|COP|COU|CRC|CUC|CUP|CVE|CZK|DJF|DKK|DOP|DZD|EGP|ERN|ETB|EUR|FJD|FKP|GBP|GEL|GHS|GIP|GMD|GNF|GTQ|GYD|HKD|HNL|HRK|HTG|HUF|IDR|ILS|INR|IQD|IRR|ISK|JMD|JOD|JPY|KES|KGS|KHR|KMF|KPW|KRW|KWD|KYD|KZT|LAK|LBP|LKR|LRD|LSL|LYD|MAD|MDL|MGA|MKD|MMK|MNT|MOP|MRU|MUR|MVR|MWK|MXN|MXV|MYR|MZN|NAD|NGN|NIO|NOK|NPR|NZD|OMR|PAB|PEN|PGK|PHP|PKR|PLN|PYG|QAR|RON|RSD|RUB|RWF|SAR|SBD|SCR|SDG|SEK|SGD|SHP|SLE|SLL|SOS|SRD|SSP|STN|SVC|SYP|SZL|THB|TJS|TMT|TND|TOP|TRY|TTD|TWD|TZS|UAH|UGX|USD|USN|UYI|UYU|UYW|UZS|VED|VES|VND|VUV|WST|XAF|XAG|XAU|XBA|XBB|XBC|XBD|XCD|XDR|XOF|XPD|XPF|XPT|XSU|XTS|XUA|XXX|YER|ZAR|ZMW|ZWL"'
|
| duration | timedelta |
The length of time it will take to complete shipment in seconds. |
| estimated_cost | float |
Always null. Estimated cost |
| estimated_delivery_date | iso-8601 datetime |
Estimated delivery date. Set by run scheduler |
| estimated_shipment_date | iso-8601 datetime |
Estimated shipment date. Set by run scheduler |
| name | string |
Shipment name |
| order | URI |
Related order with this shipment. For Service Providers shipments is always null. For shipment-by-order feature is always set. |
| origin_address | object |
Shipping from this address. All fields must be submitted on update (even with null values) Example: '{}'
|
| recipient_address | object |
Shipping to this address. All fields must be submitted on update (even with null values) Example: '{}'
|
| run | URI |
Related run. For Service Providers shipments run always exists. For shipment-by-order this field is null if run does not exist, but will be filled in when related run is created. |
| shipper_url | URL |
Shipper URI |
| shipping_partner | string |
Shipping Partner (USPS, DHL, etc) |
| status | string |
Shipment status Choices
'"new|queued|in_transit|received|error|cancelled"'
|
| tracking_number | string |
Delivery address |
| updated | iso-8601 datetime |
Datetime when process provider was updated last time (in UTC). |
| uri | URI |
The URI for process provider. |
| user | URI |
The URI of the user created the shipment. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
Auto-generated shipment names cannot be renamed. |
| 404 |
The requested Shipment (or related record) cannot be found. |
/shipping/
Shipping endpoint has all the available shipping resource for a bureau and region.
List all of the shipping in the system for your account.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| batching_strategy | string |
Batching Strategy which describe how should be grouped Prints for Run with this Shipping. Choices
'"by_size_xyz|by_size_xy|by_number_of_parts|match_previous|single|by_job"'
|
| build_volume | object |
Dimensions of the build volume in millimeters. Used when Example: '{}'
|
| bureau | URI |
The URI of the bureau for which we have the shipping value. |
| cost | float |
The unit cost of shipping. |
| description | string |
The name of the shipping. Example: '"Standard Shipping"'
|
| flow_time | timedelta |
Historic Mean time from 'Piece can be worked on' to 'Piece has ended work. At this workstation (or workstation-type). Rounded longer to 4 hour blocks. |
| flow_time_queued | timedelta |
Historic Mean time from 'Piece can be worked on' to 'Piece has started work' At this workstation (or workstation-type).Rounded longer to 4 hour blocks. |
| in_progress | array |
Realtime updated list of runs in_progress at the shipping station. Due to query complexity, GET only. Example: '["..."]'
|
| in_progress_max | integer |
Max number of concurrent runs that can be in progress on the shipping station. Read only |
| min_packing_distance | float |
Min distance between Parts. Used when |
| name | string |
The description of the shipping. Example: '"Standard fixed cost shipping"'
|
| number_of_parts | integer |
Max number of Prints in Run. Used when |
| region | string |
Select a region from the list: ['africa', 'antarctica', 'asia', 'australia', 'europe', 'north-america', 'south-america'] Choices
'"africa|antarctica|asia|australia|europe|north-america|south-america"'
|
| uri | URI |
The URI for shipping resource. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
The value of bureau appears to be an invalid bureau. The requested shipping name for the region already exists.
Cannot delete shipping that has runs in queue. Remove runs before deleting shipping. |
| 403 |
You are not authorized to complete the request.
|
| 404 |
The requested shipping cannot be found. |
Create a new shipping resource.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| batching_strategy | string |
Batching Strategy which describe how should be grouped Prints for Run with this Shipping. Default: singleChoices
'"by_size_xyz|by_size_xy|by_number_of_parts|match_previous|single|by_job"'
|
| build_volume | object |
Dimensions of the build volume in millimeters. Used when Required Example: '{}'
|
| bureau | URI |
The URI of the bureau for which we have the shipping value. Required |
| cost | float |
The unit cost of shipping. Required |
| description | string |
The name of the shipping. Required Example: '"Standard Shipping"'
|
| flow_time | timedelta |
Historic Mean time from 'Piece can be worked on' to 'Piece has ended work. At this workstation (or workstation-type). Rounded longer to 4 hour blocks. Required |
| flow_time_queued | timedelta |
Historic Mean time from 'Piece can be worked on' to 'Piece has started work' At this workstation (or workstation-type).Rounded longer to 4 hour blocks. Required |
| in_progress | array |
Realtime updated list of runs in_progress at the shipping station. Due to query complexity, GET only. Required Example: '["..."]'
|
| in_progress_max | integer |
Max number of concurrent runs that can be in progress on the shipping station. Read only Required |
| min_packing_distance | float |
Min distance between Parts. Used when Default: None |
| name | string |
The description of the shipping. Required Example: '"Standard fixed cost shipping"'
|
| number_of_parts | integer |
Max number of Prints in Run. Used when Default: None |
| region | string |
Select a region from the list: ['africa', 'antarctica', 'asia', 'australia', 'europe', 'north-america', 'south-america'] Required Choices
'"africa|antarctica|asia|australia|europe|north-america|south-america"'
|
| uri | URI |
The URI for shipping resource. Default: None |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
The value of bureau appears to be an invalid bureau. The requested shipping name for the region already exists.
Cannot delete shipping that has runs in queue. Remove runs before deleting shipping. |
| 403 |
You are not authorized to complete the request.
|
| 404 |
The requested shipping cannot be found. |
Shipping endpoint has all the available shipping resource for a bureau and region.
Get an individual shipping resource by UUID.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| batching_strategy | string |
Batching Strategy which describe how should be grouped Prints for Run with this Shipping. Choices
'"by_size_xyz|by_size_xy|by_number_of_parts|match_previous|single|by_job"'
|
| build_volume | object |
Dimensions of the build volume in millimeters. Used when Example: '{}'
|
| bureau | URI |
The URI of the bureau for which we have the shipping value. |
| cost | float |
The unit cost of shipping. |
| description | string |
The name of the shipping. Example: '"Standard Shipping"'
|
| flow_time | timedelta |
Historic Mean time from 'Piece can be worked on' to 'Piece has ended work. At this workstation (or workstation-type). Rounded longer to 4 hour blocks. |
| flow_time_queued | timedelta |
Historic Mean time from 'Piece can be worked on' to 'Piece has started work' At this workstation (or workstation-type).Rounded longer to 4 hour blocks. |
| in_progress | array |
Realtime updated list of runs in_progress at the shipping station. Due to query complexity, GET only. Example: '["..."]'
|
| in_progress_max | integer |
Max number of concurrent runs that can be in progress on the shipping station. Read only |
| min_packing_distance | float |
Min distance between Parts. Used when |
| name | string |
The description of the shipping. Example: '"Standard fixed cost shipping"'
|
| number_of_parts | integer |
Max number of Prints in Run. Used when |
| region | string |
Select a region from the list: ['africa', 'antarctica', 'asia', 'australia', 'europe', 'north-america', 'south-america'] Choices
'"africa|antarctica|asia|australia|europe|north-america|south-america"'
|
| uri | URI |
The URI for shipping resource. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
The value of bureau appears to be an invalid bureau. The requested shipping name for the region already exists.
Cannot delete shipping that has runs in queue. Remove runs before deleting shipping. |
| 403 |
You are not authorized to complete the request.
|
| 404 |
The requested shipping cannot be found. |
/shopping-cart-item/
ShoppingCartItem are the individual items, with their corresponding quantities, to convert to line-items when the shopping cart is checked out. (status->complete). Initially source will be model_library objects and destination will be line-items. This may be expanded in the future to support multiple source/destinations.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| destination | URI |
The URI of the line-item object created after checking out this shopping cart item. May be expanded inthe future |
| estimator | URL |
Where the estimation/cost of this item came from. Currently only using castor_costing_config uris, but couldbe expanded to internal users that provided a quote in the future. |
| material_override | URI |
This is an optional override that is set when the shopping_cart_item's material differs from the related model-library. |
| price_per | float |
This is the cost being presented to the user in the shopping-cart per quantity of this item. Before checkout this is 1-1 auto-updated from 'source' object . After checkout it will be frozen, no longer update from 'source; object. None if source has no known price_per |
| quantity | integer |
represents how many instances of the model-library needed to fullfill the order. Maps directly to the resulting line-item quantity. |
| shopping_cart | URI |
The URI of the shopping-cart this item belongs to. |
| source | URI |
The URI of the model-library object which will be used as a template to create the line-items at checkout(submit). |
| uri | URI |
The URI of this shopping-cart-item. Model-library plus quantity to be converted to a line-item at checkout. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
Invalid Payload |
| 404 |
The requested shopping-cart-item cannot be found. |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| destination | URI |
The URI of the line-item object created after checking out this shopping cart item. May be expanded inthe future Required |
| estimator | URL |
Where the estimation/cost of this item came from. Currently only using castor_costing_config uris, but couldbe expanded to internal users that provided a quote in the future. Required |
| material_override | URI |
This is an optional override that is set when the shopping_cart_item's material differs from the related model-library. Required |
| price_per | float |
This is the cost being presented to the user in the shopping-cart per quantity of this item. Before checkout this is 1-1 auto-updated from 'source' object . After checkout it will be frozen, no longer update from 'source; object. None if source has no known price_per Required |
| quantity | integer |
represents how many instances of the model-library needed to fullfill the order. Maps directly to the resulting line-item quantity. Required |
| shopping_cart | URI |
The URI of the shopping-cart this item belongs to. Required |
| source | URI |
The URI of the model-library object which will be used as a template to create the line-items at checkout(submit). Required |
| uri | URI |
The URI of this shopping-cart-item. Model-library plus quantity to be converted to a line-item at checkout. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
Invalid Payload |
| 404 |
The requested shopping-cart-item cannot be found. |
ShoppingCartItem are the individual items, with their corresponding quantities, to convert to line-items when the shopping cart is checked out. (status->complete). Initially source will be model_library objects and destination will be line-items. This may be expanded in the future to support multiple source/destinations.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| destination | URI |
The URI of the line-item object created after checking out this shopping cart item. May be expanded inthe future |
| estimator | URL |
Where the estimation/cost of this item came from. Currently only using castor_costing_config uris, but couldbe expanded to internal users that provided a quote in the future. |
| material_override | URI |
This is an optional override that is set when the shopping_cart_item's material differs from the related model-library. |
| price_per | float |
This is the cost being presented to the user in the shopping-cart per quantity of this item. Before checkout this is 1-1 auto-updated from 'source' object . After checkout it will be frozen, no longer update from 'source; object. None if source has no known price_per |
| quantity | integer |
represents how many instances of the model-library needed to fullfill the order. Maps directly to the resulting line-item quantity. |
| shopping_cart | URI |
The URI of the shopping-cart this item belongs to. |
| source | URI |
The URI of the model-library object which will be used as a template to create the line-items at checkout(submit). |
| uri | URI |
The URI of this shopping-cart-item. Model-library plus quantity to be converted to a line-item at checkout. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
Invalid Payload |
| 404 |
The requested shopping-cart-item cannot be found. |
/shopping-cart/
A shopping cart allows users to select multiple model_library objects in digital design warehouse by adding to their carts. When they are ready to checkout they can convert their shopping cart into an order and line-items etc. Every user can have exactly one active (empty, in-progress) shopping cart at a time.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau this shopping cart belongs to. |
| name | string |
The name of the shopping-cart. To be converted into the order name at checkout. |
| order | URI |
Read Only: When a shopping-cart status is updated to |
| owner | URI |
URI identifying the owner of this shopping cart. One Owner per shopping cart with no sharing between users. |
| payment_status | string |
none available Choices
'"new|ready|pending|complete|abandoned|error"'
|
| status | string |
the current state of the shopping cart. ex: (empty, in-progress, complete, abandoned) Choices
'"empty|in-progress|complete|abandoned"'
|
| uri | URI |
The URI of the shopping-cart. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
Invalid payload. |
| 404 |
The requested shopping_cart cannot be found. |
| 405 |
|
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau this shopping cart belongs to. Required |
| name | string |
The name of the shopping-cart. To be converted into the order name at checkout. Default: Unnamed Shopping Cart |
| order | URI |
Read Only: When a shopping-cart status is updated to Required |
| owner | URI |
URI identifying the owner of this shopping cart. One Owner per shopping cart with no sharing between users. Required |
| payment_status | string |
none available Required Choices
'"new|ready|pending|complete|abandoned|error"'
|
| status | string |
the current state of the shopping cart. ex: (empty, in-progress, complete, abandoned) Required Choices
'"empty|in-progress|complete|abandoned"'
|
| uri | URI |
The URI of the shopping-cart. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
Invalid payload. |
| 404 |
The requested shopping_cart cannot be found. |
| 405 |
|
A shopping cart allows users to select multiple model_library objects in digital design warehouse by adding to their carts. When they are ready to checkout they can convert their shopping cart into an order and line-items etc. Every user can have exactly one active (empty, in-progress) shopping cart at a time.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau this shopping cart belongs to. |
| name | string |
The name of the shopping-cart. To be converted into the order name at checkout. |
| order | URI |
Read Only: When a shopping-cart status is updated to |
| owner | URI |
URI identifying the owner of this shopping cart. One Owner per shopping cart with no sharing between users. |
| payment_status | string |
none available Choices
'"new|ready|pending|complete|abandoned|error"'
|
| status | string |
the current state of the shopping cart. ex: (empty, in-progress, complete, abandoned) Choices
'"empty|in-progress|complete|abandoned"'
|
| uri | URI |
The URI of the shopping-cart. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
Invalid payload. |
| 404 |
The requested shopping_cart cannot be found. |
| 405 |
|
/slice/
Call this on a 3d model to slice it. The model must be in the processed state.
The configs for the slicing need to be sent seperatly to the slicer-config endpoint.
The slicing will be done asynchronously and the result will be available at the uri returned by this endpoint.
If successful the content of the slice will be available to download on the content field of the response on GET or LIST.
If an error occurs during slicing, the error will be available on the error field.
The background task will run on the backend and make a call to the slicer engine binary to do the slicing.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| build_file | URI |
In case the slicing is triggered by backend on a build file |
| callback | object |
none available Example: '{"method": "POST|PUT|GET"}'
|
| content | string |
none available |
| error | string |
none available |
| estimated_slicing_time_ms | integer |
none available |
| estimates | object |
none available Example: '{}'
|
| model | URI |
If the job is requested on a model, this is the model. Otherwise it would be a build file slicing job |
| slice_time | string |
none available |
| slicer_config | URI |
none available |
| slicer_config_raw | URI |
none available |
| status | string |
none available |
| uri | URI |
none available |
| use_vision | boolean |
none available |
| user | URI |
none available |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
generated-exception-class raised
generated-exception-class raised |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| build_file | URI |
In case the slicing is triggered by backend on a build file Required |
| callback | object |
none available Default: NoneExample: '{"method": "POST|PUT|GET"}'
|
| content | string |
none available Default: None |
| error | string |
none available Default: None |
| estimated_slicing_time_ms | integer |
none available Default: None |
| estimates | object |
none available Default: NoneExample: '{}'
|
| model | URI |
If the job is requested on a model, this is the model. Otherwise it would be a build file slicing job Default: None |
| slice_time | string |
none available Default: None |
| slicer_config | URI |
none available Required |
| slicer_config_raw | URI |
none available Required |
| status | string |
none available Default: None |
| uri | URI |
none available Default: None |
| use_vision | boolean |
none available Default: False |
| user | URI |
none available Default: None |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
generated-exception-class raised
generated-exception-class raised |
/slice/{uuid}/
Call this on a 3d model to slice it. The model must be in the processed state.
The configs for the slicing need to be sent seperatly to the slicer-config endpoint.
The slicing will be done asynchronously and the result will be available at the uri returned by this endpoint.
If successful the content of the slice will be available to download on the content field of the response on GET or LIST.
If an error occurs during slicing, the error will be available on the error field.
The background task will run on the backend and make a call to the slicer engine binary to do the slicing.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| build_file | URI |
In case the slicing is triggered by backend on a build file |
| callback | object |
none available Example: '{"method": "POST|PUT|GET"}'
|
| content | string |
none available |
| error | string |
none available |
| estimated_slicing_time_ms | integer |
none available |
| estimates | object |
none available Example: '{}'
|
| model | URI |
If the job is requested on a model, this is the model. Otherwise it would be a build file slicing job |
| slice_time | string |
none available |
| slicer_config | URI |
none available |
| slicer_config_raw | URI |
none available |
| status | string |
none available |
| uri | URI |
none available |
| use_vision | boolean |
none available |
| user | URI |
none available |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
generated-exception-class raised
generated-exception-class raised |
/slicer-config/
Using a template provided by the slicer, this endpoint will generate a slicing configuration file.
The template is a dictionary of keys and values that will be used to populate the configuration file.
The template is specific to the slicer being used.
Dictionary items in signature field parameter are the keys that will be used to replace the default values in the template.
There is two ways to create config. Either using the content field or the parameters field.
If the content field is provided, we take it as is and upload it to the storage.
If the parameters field is provided, we generate the content using the template and the parameters.
The content field of the POST is the content of the .ini configuration file.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| content | string |
When POSTing this would contain the escaped content of the config file. When GETting this would contain the link to download the config file. |
| description | string |
Not used for any business logic. This is only a description for what the config may be used for. Maybe reference to the a make of printer or a material. |
| engine | string |
The slicing engine that will accept the config file and use to slice the model Choices
'"slic3r|prusaslicer"'
|
| error | string |
If the async parsing of the raw file results in an error, the error message will be available here. |
| jeni_cluster | URI |
This configuration would be attached to this Jeni Cluster if field is present. |
| name | string |
The name of the config file. Not used for any business logic. This is only a reference the user may give to the distinguish the configs |
| parameters | object |
The template config file specific for a type of slicer has a set of mutable parameters. The user can provide the values for these parameters here. Example: ('{"bed_shape": "rectangular|circular", "material": "ABS|PLA", '
'"part_interior": "solid|sparse|semisparse", "print_quality": '
'"low|standard|fine", "support_style": '
'"basic|breakaway|covex|sparse|surround", "units": "mm|inches"}')
|
| printer | URI |
This configuration would be attached to this printer if field is present. |
| printer_type | URI |
This configuration would be attached to this printer type if field is present. |
| status | string |
The config entity is created first, at which point the status is Choices
'"pending_file_upload|parsed|failed"'
|
| uri | URI |
none available |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| content | string |
When POSTing this would contain the escaped content of the config file. When GETting this would contain the link to download the config file. Default: None |
| description | string |
Not used for any business logic. This is only a description for what the config may be used for. Maybe reference to the a make of printer or a material. Default: |
| engine | string |
The slicing engine that will accept the config file and use to slice the model Default: slic3rChoices
'"slic3r|prusaslicer"'
|
| error | string |
If the async parsing of the raw file results in an error, the error message will be available here. Required |
| jeni_cluster | URI |
This configuration would be attached to this Jeni Cluster if field is present. Required |
| name | string |
The name of the config file. Not used for any business logic. This is only a reference the user may give to the distinguish the configs Default: |
| parameters | object |
The template config file specific for a type of slicer has a set of mutable parameters. The user can provide the values for these parameters here. Default: NoneExample: ('{"bed_shape": "rectangular|circular", "material": "ABS|PLA", '
'"part_interior": "solid|sparse|semisparse", "print_quality": '
'"low|standard|fine", "support_style": '
'"basic|breakaway|covex|sparse|surround", "units": "mm|inches"}')
|
| printer | URI |
This configuration would be attached to this printer if field is present. Required |
| printer_type | URI |
This configuration would be attached to this printer type if field is present. Required |
| status | string |
The config entity is created first, at which point the status is Required Choices
'"pending_file_upload|parsed|failed"'
|
| uri | URI |
none available Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| description | string |
Not used for any business logic. This is only a description for what the config may be used for. Maybe reference to the a make of printer or a material. Default: |
| engine | string |
The slicing engine that will accept the config file and use to slice the model Default: slic3rChoices
'"slic3r|prusaslicer"'
|
| jeni_cluster | URI |
This configuration would be attached to this Jeni Cluster if field is present. Required |
| name | string |
The name of the config file. Not used for any business logic. This is only a reference the user may give to the distinguish the configs Default: |
| parameters | object |
The template config file specific for a type of slicer has a set of mutable parameters. The user can provide the values for these parameters here. Default: {'material': 'PLA', 'print_quality': 'standard', 'filament_diameter': 1.75, 'nozzle_diameter': '0.4', 'infill_density': 20.0, 'infill_speed': 40.0, 'extruder_temperature': 230.0, 'bed_shape': 'rectangular', 'bed_size_x_r': 200.0, 'bed_size_y': 200.0, 'bed_temperature': 0.0, 'part_interior': 'sparse', 'perimeters': 2, 'perimeter_speed': 40.0, 'scale': 1, 'support': False, 'support_style': 'sparse', 'raft': False, 'units': 'mm'}Example: ('{"bed_shape": "rectangular|circular", "material": "ABS|PLA", '
'"part_interior": "solid|sparse|semisparse", "print_quality": '
'"low|standard|fine", "support_style": '
'"basic|breakaway|covex|sparse|surround", "units": "mm|inches"}')
|
| printer | URI |
This configuration would be attached to this printer if field is present. Required |
| printer_type | URI |
This configuration would be attached to this printer type if field is present. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
/slicer-config/raw/
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| content | string |
Link to download the raw config file |
| description | string |
none available |
| engine | string |
none available Choices
'"slic3r|prusaslicer"'
|
| error | string |
If the async parsing of the raw file results in an error, the error message will be available here. |
| jeni_cluster | URI |
This configuration would be attached to this Jeni Cluster if field is present. |
| name | string |
none available |
| printer | URI |
This configuration would be attached to this printer if field is present. |
| printer_type | URI |
This configuration would be attached to this printer type if field is present. |
| status | string |
The config entity is created first, at which point the status is Choices
'"pending_file_upload|parsed|failed"'
|
| updated | iso-8601 datetime |
Datetime when config file was updated last time (in UTC). |
| uri | URI |
none available |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
Slicer config can only be attached to one of printer/printer-type or jeni-cluster The requested printer or printer_type or jeni-cluster is already attached to another slicing config Slicer config requires feature slicing to be enabled on bureau. Contact admins |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| content | string |
Link to download the raw config file Default: None |
| description | string |
none available Default: |
| engine | string |
none available Required Choices
'"slic3r|prusaslicer"'
|
| error | string |
If the async parsing of the raw file results in an error, the error message will be available here. Required |
| jeni_cluster | URI |
This configuration would be attached to this Jeni Cluster if field is present. Required |
| name | string |
none available Default: |
| printer | URI |
This configuration would be attached to this printer if field is present. Required |
| printer_type | URI |
This configuration would be attached to this printer type if field is present. Required |
| status | string |
The config entity is created first, at which point the status is Required Choices
'"pending_file_upload|parsed|failed"'
|
| updated | iso-8601 datetime |
Datetime when config file was updated last time (in UTC). Required |
| uri | URI |
none available Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
Slicer config can only be attached to one of printer/printer-type or jeni-cluster The requested printer or printer_type or jeni-cluster is already attached to another slicing config Slicer config requires feature slicing to be enabled on bureau. Contact admins |
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| content | string |
Link to download the raw config file |
| description | string |
none available |
| engine | string |
none available Choices
'"slic3r|prusaslicer"'
|
| error | string |
If the async parsing of the raw file results in an error, the error message will be available here. |
| jeni_cluster | URI |
This configuration would be attached to this Jeni Cluster if field is present. |
| name | string |
none available |
| printer | URI |
This configuration would be attached to this printer if field is present. |
| printer_type | URI |
This configuration would be attached to this printer type if field is present. |
| status | string |
The config entity is created first, at which point the status is Choices
'"pending_file_upload|parsed|failed"'
|
| updated | iso-8601 datetime |
Datetime when config file was updated last time (in UTC). |
| uri | URI |
none available |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
Slicer config can only be attached to one of printer/printer-type or jeni-cluster The requested printer or printer_type or jeni-cluster is already attached to another slicing config Slicer config requires feature slicing to be enabled on bureau. Contact admins |
Using a template provided by the slicer, this endpoint will generate a slicing configuration file.
The template is a dictionary of keys and values that will be used to populate the configuration file.
The template is specific to the slicer being used.
Dictionary items in signature field parameter are the keys that will be used to replace the default values in the template.
There is two ways to create config. Either using the content field or the parameters field.
If the content field is provided, we take it as is and upload it to the storage.
If the parameters field is provided, we generate the content using the template and the parameters.
The content field of the POST is the content of the .ini configuration file.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| content | string |
When POSTing this would contain the escaped content of the config file. When GETting this would contain the link to download the config file. |
| description | string |
Not used for any business logic. This is only a description for what the config may be used for. Maybe reference to the a make of printer or a material. |
| engine | string |
The slicing engine that will accept the config file and use to slice the model Choices
'"slic3r|prusaslicer"'
|
| error | string |
If the async parsing of the raw file results in an error, the error message will be available here. |
| jeni_cluster | URI |
This configuration would be attached to this Jeni Cluster if field is present. |
| name | string |
The name of the config file. Not used for any business logic. This is only a reference the user may give to the distinguish the configs |
| parameters | object |
The template config file specific for a type of slicer has a set of mutable parameters. The user can provide the values for these parameters here. Example: ('{"bed_shape": "rectangular|circular", "material": "ABS|PLA", '
'"part_interior": "solid|sparse|semisparse", "print_quality": '
'"low|standard|fine", "support_style": '
'"basic|breakaway|covex|sparse|surround", "units": "mm|inches"}')
|
| printer | URI |
This configuration would be attached to this printer if field is present. |
| printer_type | URI |
This configuration would be attached to this printer type if field is present. |
| status | string |
The config entity is created first, at which point the status is Choices
'"pending_file_upload|parsed|failed"'
|
| uri | URI |
none available |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
A read-only endpoint for listing available 3DSpark analysis profiles.
An analysis profile is a predefined collection of process chains that 3DSpark will use to analyze a part. Each profile contains multiple manufacturing processes (such as Binder Jetting, Investment Casting, Fused Deposition Modeling, etc.) that represent different ways to manufacture the part.
When creating a Spark Analysis, you specify: - A profile_id: An analysis profile containing multiple process chains to analyze
This endpoint provides a passthrough to the 3DSpark API to fetch available analysis profiles with their associated process chain templates.
List available 3DSpark analysis profiles.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| name | string |
The human-readable name of the analysis profile (e.g., 'Prod', 'Development') |
| process_chain_names | array |
List of manufacturing process names that will be analyzed when using this profile (e.g., 'Binder Jetting (BJ)', 'Investment Casting', 'Fused Deposition Modeling (FDM)') Example: '["..."]'
|
| profile_id | string |
The unique identifier of the analysis profile. Use this ID when creating a Spark Analysis to run analysis on all process chains in this profile. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
You are not authorized to complete the request. 3DSpark analysis feature is not enabled for this bureau. |
| 500 |
Failed to fetch analysis profiles from 3DSpark service. |
/spark-analysis/
A Spark Analysis represents a 3DSpark analysis of a model library item. This endpoint controls the creation, retrieval, and management of these analyses.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau the analysis belongs to. |
| created | iso-8601 datetime |
When the analysis was created. |
| error | string |
Error message if analysis failed |
| model_library | URI |
The URI of model library item being analyzed. |
| part_id | string |
3DSpark part ID for tracking the analysis |
| profile_id | string |
The ID of an analysis profile containing multiple process chains to analyze. If not provided, will use the bureau's default profile ID. |
| result | object |
Complete analysis result data (only present when status is complete) Example: 'null'
|
| status | string |
Current status of the analysis Choices
'"pending|processing|complete|error"'
|
| updated | iso-8601 datetime |
When the analysis was last updated. |
| uri | URI |
The URI of the spark analysis. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
3DSpark analysis feature is not enabled for this bureau. |
| 404 |
The requested analysis cannot be found. |
| 405 |
|
| 500 |
Failed to create Spark Analysis |
Create a new Spark Analysis.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau the analysis belongs to. Required |
| created | iso-8601 datetime |
When the analysis was created. Required |
| error | string |
Error message if analysis failed Required |
| model_library | URI |
The URI of model library item being analyzed. Required |
| part_id | string |
3DSpark part ID for tracking the analysis Required |
| profile_id | string |
The ID of an analysis profile containing multiple process chains to analyze. If not provided, will use the bureau's default profile ID. Required |
| result | object |
Complete analysis result data (only present when status is complete) Required Example: 'null'
|
| status | string |
Current status of the analysis Required Choices
'"pending|processing|complete|error"'
|
| updated | iso-8601 datetime |
When the analysis was last updated. Required |
| uri | URI |
The URI of the spark analysis. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 403 |
3DSpark analysis feature is not enabled for this bureau. |
| 404 |
The requested analysis cannot be found. |
| 405 |
|
| 500 |
Failed to create Spark Analysis |
A Spark Analysis represents a 3DSpark analysis of a model library item. This endpoint controls the creation, retrieval, and management of these analyses.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The URI of bureau the analysis belongs to. |
| created | iso-8601 datetime |
When the analysis was created. |
| error | string |
Error message if analysis failed |
| model_library | URI |
The URI of model library item being analyzed. |
| part_id | string |
3DSpark part ID for tracking the analysis |
| profile_id | string |
The ID of an analysis profile containing multiple process chains to analyze. If not provided, will use the bureau's default profile ID. |
| result | object |
Complete analysis result data (only present when status is complete) Example: 'null'
|
| status | string |
Current status of the analysis Choices
'"pending|processing|complete|error"'
|
| updated | iso-8601 datetime |
When the analysis was last updated. |
| uri | URI |
The URI of the spark analysis. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
3DSpark analysis feature is not enabled for this bureau. |
| 404 |
The requested analysis cannot be found. |
| 405 |
|
| 500 |
Failed to create Spark Analysis |
/specimen/
Specimen data is stored as part of the Model Library, but has a unique API Endpoint to make it easier for developers to use.
An engineering specimen can be tied to model and a workflow. In other words tables.ModelLibrary & model_library.type == 'specimen') can be linked to a parent tables.workflow.
During a print-run creations, if the selected workflow has a specimen linked to it, extra work will be done to calculate the minimum set of specimens need to be added.
The specimen models will be automatically added to a print-volume, and the workflow process the engineering specimen will automatically be added to the rest of the process-steps in the workflow.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| created | iso-8601 datetime |
The date when the Specimen was created. |
| model_library | URI |
The URI of the Model Library |
| parent_workflow | URI |
The URI of parent workflow. |
| quantity | integer |
The number of Specimens to produce. |
| updated | iso-8601 datetime |
The date when the Specimen was updated |
| uri | URI |
The Specimen URI. |
| workflow | URI |
The URI of workflow which describes the process steps that should be performed with this specimen (except for the printing step - it should be taken from the parent_workflow). |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
|
| 404 |
|
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| created | iso-8601 datetime |
The date when the Specimen was created. Default: None |
| model_library | URI |
The URI of the Model Library Required |
| parent_workflow | URI |
The URI of parent workflow. Default: None |
| quantity | integer |
The number of Specimens to produce. Default: 1 |
| updated | iso-8601 datetime |
The date when the Specimen was updated Default: None |
| uri | URI |
The Specimen URI. Required |
| workflow | URI |
The URI of workflow which describes the process steps that should be performed with this specimen (except for the printing step - it should be taken from the parent_workflow). Default: None |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 403 |
|
| 404 |
|
Specimen data is stored as part of the Model Library, but has a unique API Endpoint to make it easier for developers to use.
An engineering specimen can be tied to model and a workflow. In other words tables.ModelLibrary & model_library.type == 'specimen') can be linked to a parent tables.workflow.
During a print-run creations, if the selected workflow has a specimen linked to it, extra work will be done to calculate the minimum set of specimens need to be added.
The specimen models will be automatically added to a print-volume, and the workflow process the engineering specimen will automatically be added to the rest of the process-steps in the workflow.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| created | iso-8601 datetime |
The date when the Specimen was created. |
| model_library | URI |
The URI of the Model Library |
| parent_workflow | URI |
The URI of parent workflow. |
| quantity | integer |
The number of Specimens to produce. |
| updated | iso-8601 datetime |
The date when the Specimen was updated |
| uri | URI |
The Specimen URI. |
| workflow | URI |
The URI of workflow which describes the process steps that should be performed with this specimen (except for the printing step - it should be taken from the parent_workflow). |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
|
| 404 |
|
/stock-summary/sub-location//stock/
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| batches_quantity_available | float |
The amount of material available for use in material_batches, that belong to this sub_location, stock |
| material_lot_quantity_available | float |
The quantity of material available, in material_lots, that relate to this sub_location and stock |
| material_lot_quantity_on_order | float |
The quantity of material on order, in material_lots, that relate to this sub_location and stock |
| stock | URI |
The stock the summary was performed on. Represents the material on hand at a manufacturing facility. |
| sub_location | URI |
The uri of the sub_location. Which is a subset of manufacturing facility(clean room, lab, etc) |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| batches_quantity_available | float |
The amount of material available for use in material_batches, that belong to this sub_location, stock Required |
| material_lot_quantity_available | float |
The quantity of material available, in material_lots, that relate to this sub_location and stock Required |
| material_lot_quantity_on_order | float |
The quantity of material on order, in material_lots, that relate to this sub_location and stock Required |
| stock | URI |
The stock the summary was performed on. Represents the material on hand at a manufacturing facility. Required |
| sub_location | URI |
The uri of the sub_location. Which is a subset of manufacturing facility(clean room, lab, etc) Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| batches_quantity_available | float |
The amount of material available for use in material_batches, that belong to this sub_location, stock |
| material_lot_quantity_available | float |
The quantity of material available, in material_lots, that relate to this sub_location and stock |
| material_lot_quantity_on_order | float |
The quantity of material on order, in material_lots, that relate to this sub_location and stock |
| stock | URI |
The stock the summary was performed on. Represents the material on hand at a manufacturing facility. |
| sub_location | URI |
The uri of the sub_location. Which is a subset of manufacturing facility(clean room, lab, etc) |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
/stock/
Stock works with the /material/ and /location/ endpoints to identify what materials are available on-hand for an organization. As orders are processed and prints are performed the stock will be consumed and should be replenished. By automatically tracking stock the ERP module makes it easier to avoid costly downtime due to out-of-stock issues and to produce reports on stock expiration, rotation and profitability. This resource behaves differently depending on whether material-management feature flag is set. If enabled, quantity/on-order-quantity are calculated on the backend and if disabled the values will be user provided.
List all of the stocks in the system for your account.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| location | URI |
The URI of the stock's location. |
| material | URI |
The URI of the stock's material. |
| material_batches | array |
The array of URIs of material batches Example: '["..."]'
|
| material_lots | array |
The array of URIs of material lots Example: '["..."]'
|
| material_type | string |
The type of material (support, base, consumable, raw_material) derived from material.type field. Choices
'"support|base|consumable|raw_material"'
|
| modeler | URI |
The URI of the stock's modeler. |
| on_order_quantity | float |
Quantity of stock that has been ordered but not yet arrived. Used in email triggers to reduce false positives to order new materials This field is read-only if the 'material-management' feature enabled (and will be calculated based on material containers in material lot from the same 'location + material'). |
| quantity | float |
The stock's quantity. This field is read-only if the 'material-management' feature enabled (and will be calculated based on material containers in material lots from the same 'location + material'). |
| status | string |
Status of the stock. Choices
'"in-use|available|exhausted"'
|
| stock_max | float |
Target max stock level for re-order. Stock available quantity can exceed this level. In units of related material. |
| stock_min | float |
Target min stock level for re-order. Triggers an email when stock available quantity goes below this level. In units of related material. |
| track_quantity | boolean |
When True, we track stock quantity, on_order_quantity, and min/max fields on a stock. False is used to make a material available at a location, without tracking quantities. |
| uri | URI |
The URI of the stock. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
A stock with requested material and location already exists (this pair should be unique). |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested stock cannot be found. |
Create a new stock.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| location | URI |
The URI of the stock's location. Required |
| material | URI |
The URI of the stock's material. Required |
| material_batches | array |
The array of URIs of material batches Required Example: '["..."]'
|
| material_lots | array |
The array of URIs of material lots Required Example: '["..."]'
|
| material_type | string |
The type of material (support, base, consumable, raw_material) derived from material.type field. Required Choices
'"support|base|consumable|raw_material"'
|
| modeler | URI |
The URI of the stock's modeler. Default: None |
| on_order_quantity | float |
Quantity of stock that has been ordered but not yet arrived. Used in email triggers to reduce false positives to order new materials This field is read-only if the 'material-management' feature enabled (and will be calculated based on material containers in material lot from the same 'location + material'). Default: None |
| quantity | float |
The stock's quantity. This field is read-only if the 'material-management' feature enabled (and will be calculated based on material containers in material lots from the same 'location + material'). Default: 0 |
| status | string |
Status of the stock. Default: availableChoices
'"in-use|available|exhausted"'
|
| stock_max | float |
Target max stock level for re-order. Stock available quantity can exceed this level. In units of related material. Default: None |
| stock_min | float |
Target min stock level for re-order. Triggers an email when stock available quantity goes below this level. In units of related material. Default: None |
| track_quantity | boolean |
When True, we track stock quantity, on_order_quantity, and min/max fields on a stock. False is used to make a material available at a location, without tracking quantities. Default: True |
| uri | URI |
The URI of the stock. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
A stock with requested material and location already exists (this pair should be unique). |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested stock cannot be found. |
/stock/{uuid}/
Stock works with the /material/ and /location/ endpoints to identify what materials are available on-hand for an organization. As orders are processed and prints are performed the stock will be consumed and should be replenished. By automatically tracking stock the ERP module makes it easier to avoid costly downtime due to out-of-stock issues and to produce reports on stock expiration, rotation and profitability. This resource behaves differently depending on whether material-management feature flag is set. If enabled, quantity/on-order-quantity are calculated on the backend and if disabled the values will be user provided.
Get a single stock by UUID.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| location | URI |
The URI of the stock's location. |
| material | URI |
The URI of the stock's material. |
| material_batches | array |
The array of URIs of material batches Example: '["..."]'
|
| material_lots | array |
The array of URIs of material lots Example: '["..."]'
|
| material_type | string |
The type of material (support, base, consumable, raw_material) derived from material.type field. Choices
'"support|base|consumable|raw_material"'
|
| modeler | URI |
The URI of the stock's modeler. |
| on_order_quantity | float |
Quantity of stock that has been ordered but not yet arrived. Used in email triggers to reduce false positives to order new materials This field is read-only if the 'material-management' feature enabled (and will be calculated based on material containers in material lot from the same 'location + material'). |
| quantity | float |
The stock's quantity. This field is read-only if the 'material-management' feature enabled (and will be calculated based on material containers in material lots from the same 'location + material'). |
| status | string |
Status of the stock. Choices
'"in-use|available|exhausted"'
|
| stock_max | float |
Target max stock level for re-order. Stock available quantity can exceed this level. In units of related material. |
| stock_min | float |
Target min stock level for re-order. Triggers an email when stock available quantity goes below this level. In units of related material. |
| track_quantity | boolean |
When True, we track stock quantity, on_order_quantity, and min/max fields on a stock. False is used to make a material available at a location, without tracking quantities. |
| uri | URI |
The URI of the stock. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
A stock with requested material and location already exists (this pair should be unique). |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested stock cannot be found. |
/stripe-event-listener/
This endpoint is to be called only by teh stripe webhook. This endpoint will only support post method and will validate Signature of incoming calls to make sure it's coming from stripe and stripe only.
Schema (application/json)
| Property | Type | Description |
|---|
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
Processes incoming HTTP(S) event stream Check stripe events docs here: https://stripe.com/docs/api/events
Schema (application/json)
| Property | Type | Description |
|---|
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
This endpoint is to be called only by teh stripe webhook. This endpoint will only support post method and will validate Signature of incoming calls to make sure it's coming from stripe and stripe only.
Schema (application/json)
| Property | Type | Description |
|---|
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
/sub-location/
A sub-division of a given MFG Location. Commonly a physically defined, specific area within a MFG Location that may be monitored using Environmental Sensors. They may also be a procedurally driven / “abstract” sub-division of a Location to allow for the grouping/segregation of Resources within a MFG Location.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| archived | iso-8601 datetime |
The datetime when sub-location was marked as archived. |
| bureau | URI |
The URI of the bureau. |
| description | string |
The description for the sub-location |
| is_default | boolean |
True if the default sub-location for the given location. False otherwise. There must be one default sub-location for every location. |
| location | URI |
The URI of the location this sub-location belongs to. |
| name | string |
The name of the sub-location. |
| uri | URI |
The URI of the sub-location resource |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
sub-location with the same name already exists. |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| archived | iso-8601 datetime |
The datetime when sub-location was marked as archived. Required |
| bureau | URI |
The URI of the bureau. Required |
| description | string |
The description for the sub-location Required |
| is_default | boolean |
True if the default sub-location for the given location. False otherwise. There must be one default sub-location for every location. Required |
| location | URI |
The URI of the location this sub-location belongs to. Default: None |
| name | string |
The name of the sub-location. Required |
| uri | URI |
The URI of the sub-location resource Default: None |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
sub-location with the same name already exists. |
A sub-division of a given MFG Location. Commonly a physically defined, specific area within a MFG Location that may be monitored using Environmental Sensors. They may also be a procedurally driven / “abstract” sub-division of a Location to allow for the grouping/segregation of Resources within a MFG Location.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| archived | iso-8601 datetime |
The datetime when sub-location was marked as archived. |
| bureau | URI |
The URI of the bureau. |
| description | string |
The description for the sub-location |
| is_default | boolean |
True if the default sub-location for the given location. False otherwise. There must be one default sub-location for every location. |
| location | URI |
The URI of the location this sub-location belongs to. |
| name | string |
The name of the sub-location. |
| uri | URI |
The URI of the sub-location resource |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
sub-location with the same name already exists. |
Get the data about all Support Strategy
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| name | string |
The name of the support strategy. Choices
'"n|a|m|e"'
|
| uri | URI |
The URI of the support strategy. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
RecordNotFound raised |
Get the data about all Support Strategy
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| name | string |
The name of the support strategy. Choices
'"n|a|m|e"'
|
| uri | URI |
The URI of the support strategy. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
RecordNotFound raised |
/threads-messages/
This endpoint allows standard CRUD methods, which forwarded to the threads webhook
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| comment | string |
The message of the thread. |
| created | string |
The date the message was created. |
| name | string |
The name of the thread. |
| record_type | string |
The type of the record (order, run...) Choices
'"run|model|order|line_item"'
|
| record_uuid | uuid |
The UUID of the record. |
| thread_id | integer |
The foreign key to thread. |
| uri | URI |
The foreign key to thread message. |
| user_uri | URI |
Sender of the message |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
Some of the requested data cannot be found. |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| comment | string |
The message of the thread. Required |
| created | string |
The date the message was created. Default: None |
| name | string |
The name of the thread. Required |
| record_type | string |
The type of the record (order, run...) Required Choices
'"run|model|order|line_item"'
|
| record_uuid | uuid |
The UUID of the record. Required |
| thread_id | integer |
The foreign key to thread. Required |
| uri | URI |
The foreign key to thread message. Required |
| user_uri | URI |
Sender of the message Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 404 |
Some of the requested data cannot be found. |
Custom API that processes/takes messages from Threads API microservice about Message process.
Note: Supports only auth by API_TOKEN constant (marker for the function "is_internal_user").
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| action | string |
none available Required Choices
'"CREATED|UPDATED|DELETED"'
|
| created_at | string |
Message timestamp. Required |
| message | string |
none available Required |
| resource | uuid |
The uuid of the nautilus resource. Required |
| thread_id | integer |
The foreign key to thread. Required |
| user | string |
The email of the user. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 404 |
The requested user cannot be found. |
This endpoint allows standard CRUD methods, which forwarded to the threads webhook
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| comment | string |
The message of the thread. |
| created | string |
The date the message was created. |
| name | string |
The name of the thread. |
| record_type | string |
The type of the record (order, run...) Choices
'"run|model|order|line_item"'
|
| record_uuid | uuid |
The UUID of the record. |
| thread_id | integer |
The foreign key to thread. |
| uri | URI |
The foreign key to thread message. |
| user_uri | URI |
Sender of the message |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
Some of the requested data cannot be found. |
/time-entry/
Endpoint for time entries, created by user or system.
List all time entries.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| category | string |
Time entry category. Choices
'"attending|machine-running|in-progress|on-hold"'
|
| completed_by | URI |
The URI of the user that completed this time entry. |
| created | iso-8601 datetime |
The date this time entry was created. |
| created_by | URI |
The URI of the user that created this time entry. |
| end_time | iso-8601 datetime |
The date and time the time entry is completed |
| notes | string |
Notes for a time entry. |
| related_table_name | string |
Related table name of entry. Choices
'"run|prep_task_record"'
|
| related_uuid | uuid |
Related uuid of entry. |
| start_time | iso-8601 datetime |
The date and time when time entry started |
| updated | iso-8601 datetime |
The date this time entry was updated. |
| uri | URI |
The URI of the time entry record. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested time entry cannot be found. |
Create a new time entry.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| category | string |
Time entry category. Required Choices
'"attending|machine-running|in-progress|on-hold"'
|
| completed_by | URI |
The URI of the user that completed this time entry. Default: None |
| created | iso-8601 datetime |
The date this time entry was created. Default: None |
| created_by | URI |
The URI of the user that created this time entry. Required |
| end_time | iso-8601 datetime |
The date and time the time entry is completed Required |
| notes | string |
Notes for a time entry. Default: None |
| related_table_name | string |
Related table name of entry. Required Choices
'"run|prep_task_record"'
|
| related_uuid | uuid |
Related uuid of entry. Required |
| start_time | iso-8601 datetime |
The date and time when time entry started Required |
| updated | iso-8601 datetime |
The date this time entry was updated. Default: None |
| uri | URI |
The URI of the time entry record. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested time entry cannot be found. |
Endpoint for time entries, created by user or system.
Get an time entry by UUID.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| category | string |
Time entry category. Choices
'"attending|machine-running|in-progress|on-hold"'
|
| completed_by | URI |
The URI of the user that completed this time entry. |
| created | iso-8601 datetime |
The date this time entry was created. |
| created_by | URI |
The URI of the user that created this time entry. |
| end_time | iso-8601 datetime |
The date and time the time entry is completed |
| notes | string |
Notes for a time entry. |
| related_table_name | string |
Related table name of entry. Choices
'"run|prep_task_record"'
|
| related_uuid | uuid |
Related uuid of entry. |
| start_time | iso-8601 datetime |
The date and time when time entry started |
| updated | iso-8601 datetime |
The date this time entry was updated. |
| uri | URI |
The URI of the time entry record. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested time entry cannot be found. |
/tool-link/
Relationship representing the linking of a tool to a run For the MVP, a run will only have one tool linked with it, so this resource can be used to find what tools were linked with a run once it is completed
Only used to obtain which tools a run is linked to or vice versa, so any operation other than LIST with filter params is not permitted.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| active | boolean |
Whether the tool is currently linked to the run. |
| created | iso-8601 datetime |
Whether the tool is currently linked to the run. |
| run | URI |
The linked run. |
| tool | URI |
The linked tool. |
| type | URI |
The linked tool. |
| uri | URI |
The uri of the relationship. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested tooling-type cannot be found. |
| 405 |
|
Relationship representing the linking of a tool to a run For the MVP, a run will only have one tool linked with it, so this resource can be used to find what tools were linked with a run once it is completed
Only used to obtain which tools a run is linked to or vice versa, so any operation other than LIST with filter params is not permitted.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| active | boolean |
Whether the tool is currently linked to the run. |
| created | iso-8601 datetime |
Whether the tool is currently linked to the run. |
| run | URI |
The linked run. |
| tool | URI |
The linked tool. |
| type | URI |
The linked tool. |
| uri | URI |
The uri of the relationship. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested tooling-type cannot be found. |
| 405 |
|
/tooling-stock-action/
This endpoint is called to log an action on a tooling stock into the system. This is a POST/GET/LIST only interface. PUT and DELETE is not allowed.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| action_type | string |
The action type we want to take on the specified tooling stock. Choices
'"relocate|record_tests|make_ready_for_use|put_into_use|complete_use|mark_needs_refurbish|send_to_refurbish|complete_refurbish|discard"'
|
| created | iso-8601 datetime |
Datetime when tooling stock action was created (in UTC). |
| metadata | object |
Action specific JSON blob for action metadata. See METADATA_SIGNATURES for more details. Example: 'null'
|
| notes | string |
Custom user description/notes for this action. |
| service_provider | URI |
A user whom performed an action |
| tooling_stock | URI |
URI of the tooling stock to which the action applies. |
| uri | URI |
Tooling Stock Action's URI. |
| user | URI |
A user whom performed an action |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
|
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| action_type | string |
The action type we want to take on the specified tooling stock. Required Choices
'"relocate|record_tests|make_ready_for_use|put_into_use|complete_use|mark_needs_refurbish|send_to_refurbish|complete_refurbish|discard"'
|
| created | iso-8601 datetime |
Datetime when tooling stock action was created (in UTC). Required |
| metadata | object |
Action specific JSON blob for action metadata. See METADATA_SIGNATURES for more details. Default: {}Example: 'null'
|
| notes | string |
Custom user description/notes for this action. Required |
| service_provider | URI |
A user whom performed an action Required |
| tooling_stock | URI |
URI of the tooling stock to which the action applies. Required |
| uri | URI |
Tooling Stock Action's URI. Required |
| user | URI |
A user whom performed an action Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
|
This endpoint is called to log an action on a tooling stock into the system. This is a POST/GET/LIST only interface. PUT and DELETE is not allowed.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| action_type | string |
The action type we want to take on the specified tooling stock. Choices
'"relocate|record_tests|make_ready_for_use|put_into_use|complete_use|mark_needs_refurbish|send_to_refurbish|complete_refurbish|discard"'
|
| created | iso-8601 datetime |
Datetime when tooling stock action was created (in UTC). |
| metadata | object |
Action specific JSON blob for action metadata. See METADATA_SIGNATURES for more details. Example: 'null'
|
| notes | string |
Custom user description/notes for this action. |
| service_provider | URI |
A user whom performed an action |
| tooling_stock | URI |
URI of the tooling stock to which the action applies. |
| uri | URI |
Tooling Stock Action's URI. |
| user | URI |
A user whom performed an action |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
|
/tooling-stock/
Examples: Build Plates, tooling jigs / framing (other examples). These need to track wear, tear, creation / addition to a workspace or system, and/or removal from a workspace. For MVP, this will be 'build plate' object(s),
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| archive | boolean |
True if you want to archive the resource. False otherwise. |
| archived | iso-8601 datetime |
The date the tooling type was archived. Cannot archive until all tooling stock is archived |
| bureau | URI |
The bureau that this tooling-type belongs to. |
| include_archived | boolean |
True if you want the List request to include archived resources. False otherwise. |
| lifetime_use_count | integer |
lifetime_use_count represents the total amount of times it has been |
| location | URI |
The single location this exact stock of this material available at them.Use tooling-stock-action to change this |
| name | string |
User Friendly the tooling instance 64 chars max. Must be unique in the unarchived tooling_types. Defaults to UUID8 if not set |
| notes | string |
Custom user description/notes for this specific tooling stock item. 128 max. |
| run | URI |
This is an exact run (or None) to indicate if this item is This is an exact run (or None) to indicate if this item is attached to an active run. Historic runs are not logged, only 'actively assigned to this run right now. Use tooling-stock-action to change this. Also side-effect of run status change may alter this |
| status | string |
Current status (state) of the this single stock instance. Use tooling-stock-action to change this Choices
'"new|idle|in-use|needs-refurbishment|doing-refurbishment|refurbished|archived"'
|
| sub_location | URI |
The single sub-location this exact stock of this material available at them.Use tooling-stock-action to change this |
| type | URI |
The type of tooling stock. |
| uri | URI |
The URI for the tooling type. |
| use_count | integer |
use_count represents the amount of times it has been |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested tooling-type cannot be found. |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| archive | boolean |
True if you want to archive the resource. False otherwise. Required |
| archived | iso-8601 datetime |
The date the tooling type was archived. Cannot archive until all tooling stock is archived Required |
| bureau | URI |
The bureau that this tooling-type belongs to. Required |
| include_archived | boolean |
True if you want the List request to include archived resources. False otherwise. Required |
| lifetime_use_count | integer |
lifetime_use_count represents the total amount of times it has been Required |
| location | URI |
The single location this exact stock of this material available at them.Use tooling-stock-action to change this Required |
| name | string |
User Friendly the tooling instance 64 chars max. Must be unique in the unarchived tooling_types. Defaults to UUID8 if not set Required |
| notes | string |
Custom user description/notes for this specific tooling stock item. 128 max. Required |
| run | URI |
This is an exact run (or None) to indicate if this item is This is an exact run (or None) to indicate if this item is attached to an active run. Historic runs are not logged, only 'actively assigned to this run right now. Use tooling-stock-action to change this. Also side-effect of run status change may alter this Required |
| status | string |
Current status (state) of the this single stock instance. Use tooling-stock-action to change this Required Choices
'"new|idle|in-use|needs-refurbishment|doing-refurbishment|refurbished|archived"'
|
| sub_location | URI |
The single sub-location this exact stock of this material available at them.Use tooling-stock-action to change this Required |
| type | URI |
The type of tooling stock. Required |
| uri | URI |
The URI for the tooling type. Required |
| use_count | integer |
use_count represents the amount of times it has been Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 404 |
The requested tooling-type cannot be found. |
Examples: Build Plates, tooling jigs / framing (other examples). These need to track wear, tear, creation / addition to a workspace or system, and/or removal from a workspace. For MVP, this will be 'build plate' object(s),
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| archive | boolean |
True if you want to archive the resource. False otherwise. |
| archived | iso-8601 datetime |
The date the tooling type was archived. Cannot archive until all tooling stock is archived |
| bureau | URI |
The bureau that this tooling-type belongs to. |
| include_archived | boolean |
True if you want the List request to include archived resources. False otherwise. |
| lifetime_use_count | integer |
lifetime_use_count represents the total amount of times it has been |
| location | URI |
The single location this exact stock of this material available at them.Use tooling-stock-action to change this |
| name | string |
User Friendly the tooling instance 64 chars max. Must be unique in the unarchived tooling_types. Defaults to UUID8 if not set |
| notes | string |
Custom user description/notes for this specific tooling stock item. 128 max. |
| run | URI |
This is an exact run (or None) to indicate if this item is This is an exact run (or None) to indicate if this item is attached to an active run. Historic runs are not logged, only 'actively assigned to this run right now. Use tooling-stock-action to change this. Also side-effect of run status change may alter this |
| status | string |
Current status (state) of the this single stock instance. Use tooling-stock-action to change this Choices
'"new|idle|in-use|needs-refurbishment|doing-refurbishment|refurbished|archived"'
|
| sub_location | URI |
The single sub-location this exact stock of this material available at them.Use tooling-stock-action to change this |
| type | URI |
The type of tooling stock. |
| uri | URI |
The URI for the tooling type. |
| use_count | integer |
use_count represents the amount of times it has been |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested tooling-type cannot be found. |
/tooling-type/
This is data about a type of Tooling Resource. This is a class of resource that is used in manufacturing, but slowly wears out after months or years of use.
Examples: Build Plates, tooling jigs / framing (other examples). These need to track wear, tear, creation / addition to a workspace or system, and/or removal from a workspace. For MVP, this will be 'build plate' object(s),
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| archive | boolean |
True if you want to archive the resource. False otherwise. |
| archived | iso-8601 datetime |
The date the tooling type was archived. Cannot archive until all tooling stock is archived |
| bureau | URI |
The bureau that this tooling-type belongs to. |
| description | string |
description of tooling type. 512 chars max. |
| include_archived | boolean |
True if you want the List request to include archived resources. False otherwise. |
| name | string |
Name of the tooling type 128 chars max. Must be unique |
| refurbish_after | integer |
The counts of use before this resource is forced to be refurbished. It needs to be at least 1, less than 1000. |
| refurbish_required_info | string |
Text description of what needs to be done/ logged as part of refurbishing this item. 512 characters max. |
| service_provider | URI |
The Vendor Service Provider in charge of maintaining and refurbishing the tooling-stocks of this type. |
| uri | URI |
The URI for the tooling type. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested tooling-type cannot be found. |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| archive | boolean |
True if you want to archive the resource. False otherwise. Required |
| archived | iso-8601 datetime |
The date the tooling type was archived. Cannot archive until all tooling stock is archived Required |
| bureau | URI |
The bureau that this tooling-type belongs to. Required |
| description | string |
description of tooling type. 512 chars max. Required |
| include_archived | boolean |
True if you want the List request to include archived resources. False otherwise. Required |
| name | string |
Name of the tooling type 128 chars max. Must be unique Required |
| refurbish_after | integer |
The counts of use before this resource is forced to be refurbished. It needs to be at least 1, less than 1000. Default: 1 |
| refurbish_required_info | string |
Text description of what needs to be done/ logged as part of refurbishing this item. 512 characters max. Required |
| service_provider | URI |
The Vendor Service Provider in charge of maintaining and refurbishing the tooling-stocks of this type. Required |
| uri | URI |
The URI for the tooling type. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 404 |
The requested tooling-type cannot be found. |
This is data about a type of Tooling Resource. This is a class of resource that is used in manufacturing, but slowly wears out after months or years of use.
Examples: Build Plates, tooling jigs / framing (other examples). These need to track wear, tear, creation / addition to a workspace or system, and/or removal from a workspace. For MVP, this will be 'build plate' object(s),
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| archive | boolean |
True if you want to archive the resource. False otherwise. |
| archived | iso-8601 datetime |
The date the tooling type was archived. Cannot archive until all tooling stock is archived |
| bureau | URI |
The bureau that this tooling-type belongs to. |
| description | string |
description of tooling type. 512 chars max. |
| include_archived | boolean |
True if you want the List request to include archived resources. False otherwise. |
| name | string |
Name of the tooling type 128 chars max. Must be unique |
| refurbish_after | integer |
The counts of use before this resource is forced to be refurbished. It needs to be at least 1, less than 1000. |
| refurbish_required_info | string |
Text description of what needs to be done/ logged as part of refurbishing this item. 512 characters max. |
| service_provider | URI |
The Vendor Service Provider in charge of maintaining and refurbishing the tooling-stocks of this type. |
| uri | URI |
The URI for the tooling type. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested tooling-type cannot be found. |
/traceability-report/
The traceability report api is for exporting the events that transpired during the creation of a given object as a printable document.
List all of the traceability reports in the system for your account.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The bureau a report belongs to. |
| content | URL |
the download link for the document |
| created | iso-8601 datetime |
The date the report was created. |
| filters | array |
Limit report data to specific operation group Example: '["cad_model_changes|cad_model_replaced|print_events|post_process_events|work_checklist_changes|manual_notes|other|work_instruction_report|preparation_events"]'
|
| piece | URI |
The Piece to get a report on. |
| status | string |
Status of a report. Choices
'"pending|processing|complete|error"'
|
| uri | URI |
The URI of the report. |
| user | URI |
The URI of the user making the report. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested report cannot be found. |
Request to generate a new traceability report.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The bureau a report belongs to. Default: None |
| content | URL |
the download link for the document Default: None |
| created | iso-8601 datetime |
The date the report was created. Default: None |
| filters | array |
Limit report data to specific operation group Required Example: '["cad_model_changes|cad_model_replaced|print_events|post_process_events|work_checklist_changes|manual_notes|other|work_instruction_report|preparation_events"]'
|
| piece | URI |
The Piece to get a report on. Required |
| status | string |
Status of a report. Default: NoneChoices
'"pending|processing|complete|error"'
|
| uri | URI |
The URI of the report. Default: None |
| user | URI |
The URI of the user making the report. Default: None |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested report cannot be found. |
The traceability report api is for exporting the events that transpired during the creation of a given object as a printable document.
Get a single traceability report by UUID.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The bureau a report belongs to. |
| content | URL |
the download link for the document |
| created | iso-8601 datetime |
The date the report was created. |
| filters | array |
Limit report data to specific operation group Example: '["cad_model_changes|cad_model_replaced|print_events|post_process_events|work_checklist_changes|manual_notes|other|work_instruction_report|preparation_events"]'
|
| piece | URI |
The Piece to get a report on. |
| status | string |
Status of a report. Choices
'"pending|processing|complete|error"'
|
| uri | URI |
The URI of the report. |
| user | URI |
The URI of the user making the report. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested report cannot be found. |
/traveler/
The traveler api is for exporting the details of an Order along with the model associated with it as a printable document.
Schema (application/json)
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
/users/
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| address | string |
none available |
| archived | boolean |
none available |
| blocked_until | iso-8601 datetime |
none available |
| bureau | URI |
Bureau URI for the bureau we are adding the user to. No funny business. POST will default to POST-ersbureau if not set. |
| company | string |
none available |
| contactless_enabled | boolean |
If contactless_secret is not None for user then return True Choices
'"True|False"'
|
| context | object |
Read-only. Fields that are bureau (or integration) specific, non-standard data on a specific user.Per bureau use or behaivor may change Example: 'null'
|
| conversion_expert_uuid | uuid |
none available |
| string |
Canonical, final email address of this user. Issue a support request to chage |
|
| emails | array |
none available Example: '["..."]'
|
| enable_contactless_logon | boolean |
False will invalidate any existing contactless logon, True is passed with no effect |
| get_contactless_logon | boolean |
True will regenerate any existing contactless logon, invalidating previous qr code, and return new qr_logon_code,False is passed with no effect |
| group | URI |
none available |
| is_self_registered | boolean |
Indicates that a user created his account itself (this is not the same as membership in 'guests' group in the bureau - role in the bureau can be changed but this flag will be set up only on user creation and not available for change.) |
| login | boolean |
none available |
| name | string |
none available |
| password | string |
none available |
| qr_logon_code | string |
base64 representation of QR logon |
| submit | string |
none available |
| tos | boolean |
none available |
| uri | URI |
The URI for this user |
| username | string |
Canonical, final username of this user. Issue a support request to chage |
| uuid | uuid |
none available |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 503 |
|
Add a user, let API select/generate URI/UUID if it's a new user Must be POST via a 'inviter' valid HTTPS connection from a user of the same bureau
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| address | string |
none available Default: None |
| archived | boolean |
none available Default: False |
| blocked_until | iso-8601 datetime |
none available Required |
| bureau | URI |
Bureau URI for the bureau we are adding the user to. No funny business. POST will default to POST-ersbureau if not set. Default: None |
| company | string |
none available Default: None |
| contactless_enabled | boolean |
If contactless_secret is not None for user then return True Default: FalseChoices
'"True|False"'
|
| context | object |
Read-only. Fields that are bureau (or integration) specific, non-standard data on a specific user.Per bureau use or behaivor may change Required Example: 'null'
|
| conversion_expert_uuid | uuid |
none available Required |
| string |
Canonical, final email address of this user. Issue a support request to chage Default: None |
|
| emails | array |
none available Default: []Example: '["..."]'
|
| enable_contactless_logon | boolean |
False will invalidate any existing contactless logon, True is passed with no effect Default: None |
| get_contactless_logon | boolean |
True will regenerate any existing contactless logon, invalidating previous qr code, and return new qr_logon_code,False is passed with no effect Default: None |
| group | URI |
none available Default: None |
| is_self_registered | boolean |
Indicates that a user created his account itself (this is not the same as membership in 'guests' group in the bureau - role in the bureau can be changed but this flag will be set up only on user creation and not available for change.) Default: False |
| login | boolean |
none available Default: True |
| name | string |
none available Default: None |
| password | string |
none available Default: None |
| qr_logon_code | string |
base64 representation of QR logon Default: None |
| submit | string |
none available Default: None |
| tos | boolean |
none available Default: False |
| uri | URI |
The URI for this user Default: None |
| username | string |
Canonical, final username of this user. Issue a support request to chage Default: None |
| uuid | uuid |
none available Default: None |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
|
| 503 |
|
/users/{uuid}/
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| address | string |
none available |
| archived | boolean |
none available |
| blocked_until | iso-8601 datetime |
none available |
| bureau | URI |
Bureau URI for the bureau we are adding the user to. No funny business. POST will default to POST-ersbureau if not set. |
| company | string |
none available |
| contactless_enabled | boolean |
If contactless_secret is not None for user then return True Choices
'"True|False"'
|
| context | object |
Read-only. Fields that are bureau (or integration) specific, non-standard data on a specific user.Per bureau use or behaivor may change Example: 'null'
|
| conversion_expert_uuid | uuid |
none available |
| string |
Canonical, final email address of this user. Issue a support request to chage |
|
| emails | array |
none available Example: '["..."]'
|
| enable_contactless_logon | boolean |
False will invalidate any existing contactless logon, True is passed with no effect |
| get_contactless_logon | boolean |
True will regenerate any existing contactless logon, invalidating previous qr code, and return new qr_logon_code,False is passed with no effect |
| group | URI |
none available |
| is_self_registered | boolean |
Indicates that a user created his account itself (this is not the same as membership in 'guests' group in the bureau - role in the bureau can be changed but this flag will be set up only on user creation and not available for change.) |
| login | boolean |
none available |
| name | string |
none available |
| password | string |
none available |
| qr_logon_code | string |
base64 representation of QR logon |
| submit | string |
none available |
| tos | boolean |
none available |
| uri | URI |
The URI for this user |
| username | string |
Canonical, final username of this user. Issue a support request to chage |
| uuid | uuid |
none available |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 503 |
|
Endpoint for generating csv/json/etc reports for /analytics page.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| end_time | iso-8601 datetime |
The date and time the build ended, if available |
| file_format | string |
Format of report, that will be generated (csv, json, etc.). Choices
'"csv|json"'
|
| start_time | iso-8601 datetime |
The date and time the build started |
| template | string |
Template of report, that will be generated Choices
'"analytics_of_state|analytics_of_yield|operating_time_days|operating_time_weeks"'
|
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
/volume/
This endpoint allows you to get information about volume successfully printed
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| build_name | string |
The name of the build as determined by the printer |
| end_time | iso-8601 datetime |
The date and time the build ended, if available |
| failed_builds | integer |
The count of failed builds |
| max_end_time | iso-8601 datetime |
The max date and time the build ended |
| min_start_time | iso-8601 datetime |
The min date and time the build started |
| modeler_name | string |
The name of the printer performing the build |
| new_builds | integer |
The count of new builds |
| part_count | integer |
The count of parts in the build |
| processing_builds | integer |
The count of processing builds |
| start_time | iso-8601 datetime |
The date and time the build started |
| successful_builds | integer |
The count of successful builds |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The build requested cannot be found |
A checklist can be attached to many types of things in the system:: printer_type, post_processor_type, process_step, or even print objects.
This endpoint is for a quickly finding the right checklist for something based on the object and type (GET/LIST).
Checklist can 'inherit' from parent types (for example, a print 'process_step' may inherit from it's printer_type) this handle that logic as well.
Each step is in a work_instruction object. Log of checking-off things marked as done are stored
in a related work_instruction_report.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| position | integer |
Step position for the Line Item's Work Checklist |
| process_step | URI |
The URI of the process step. |
| related_uri | URL |
URI for one of next tables: [printer type, post_processor_type, shipping, line_item, print, workflow]. |
| uri | URI |
Individual self-link, mostly for list functions |
| work_checklist | object |
none available Example: ('{"work_instructions": [{"choices": ["..."], "required": "True|False", '
'"report_type": "checkbox|document|picture|no '
'entry|number|range|text|single-selection-dropdown|output-at-location", '
'"report_units": "mm|cm|inch|gram|kg|lb", "threshold": null, '
'"threshold_type": '
'"between|not-between|tolerance|less-than|less-than-or-equals-to|greater-than|greater-than-or-equals-to|contains|not-contains|equals-to|not-equals-to", '
'"threshold_action": "warning|error|warning_prompt_ncr", '
'"threshold_notification": "piece_owner|user_group"}]}')
|
| work_checklist_uri | URI |
Filter-only field for filtering work checklists by URI. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
|
| 404 |
|
A checklist can be attached to many types of things in the system:: printer_type, post_processor_type, process_step, or even print objects.
This endpoint is for a quickly finding the right checklist for something based on the object and type (GET/LIST).
Checklist can 'inherit' from parent types (for example, a print 'process_step' may inherit from it's printer_type) this handle that logic as well.
Each step is in a work_instruction object. Log of checking-off things marked as done are stored
in a related work_instruction_report.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| position | integer |
Step position for the Line Item's Work Checklist |
| process_step | URI |
The URI of the process step. |
| related_uri | URL |
URI for one of next tables: [printer type, post_processor_type, shipping, line_item, print, workflow]. |
| uri | URI |
Individual self-link, mostly for list functions |
| work_checklist | object |
none available Example: ('{"work_instructions": [{"choices": ["..."], "required": "True|False", '
'"report_type": "checkbox|document|picture|no '
'entry|number|range|text|single-selection-dropdown|output-at-location", '
'"report_units": "mm|cm|inch|gram|kg|lb", "threshold": null, '
'"threshold_type": '
'"between|not-between|tolerance|less-than|less-than-or-equals-to|greater-than|greater-than-or-equals-to|contains|not-contains|equals-to|not-equals-to", '
'"threshold_action": "warning|error|warning_prompt_ncr", '
'"threshold_notification": "piece_owner|user_group"}]}')
|
| work_checklist_uri | URI |
Filter-only field for filtering work checklists by URI. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
|
| 404 |
|
/work-checklist/
This endpoint is for viewing a checklist of task to do during a work step.
See work_checklist_linking to see what the each checklist is attached to. Checklist instance can be attached to many other types.
Each step is in a work_instruction object. Log of checking-off things marked as done are stored
in a related work_instruction_report.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| additional_instruction_url | URL |
URL for the external video, image or some document which provides additional extended instructions for the work checklist |
| bureau | URI |
Bureau of the Work Checklist. |
| created | iso-8601 datetime |
none available |
| description | string |
Description for the Work Checklist. |
| initial_related_uri | URL |
Work checklists are inherited. This is the URI for the root of inheritance.One of: [printer_type, post_processor_type, shipping, line_item, print]. |
| name | string |
Title of the Work Checklist. |
| updated | iso-8601 datetime |
none available |
| updated_by | URI |
Who update/create Work Checklist. |
| uri | URI |
The Work Checklist URI. If URI not provided - then work checklist doesn't exists yet and should be built/created (if method PUT) or will be used as template (if we return it via GET or LIST with API |
| version | integer |
Count of Work Checklist updated. |
| work_instructions | array |
Optional List of Work Instructions for the Line Item's Work Checklist. Example: ('[{"choices": ["..."], "required": "True|False", "report_type": '
'"checkbox|document|picture|no '
'entry|number|range|text|single-selection-dropdown|output-at-location", '
'"report_units": "mm|cm|inch|gram|kg|lb", "threshold": null, '
'"threshold_type": '
'"between|not-between|tolerance|less-than|less-than-or-equals-to|greater-than|greater-than-or-equals-to|contains|not-contains|equals-to|not-equals-to", '
'"threshold_action": "warning|error|warning_prompt_ncr", '
'"threshold_notification": "piece_owner|user_group"}]')
|
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
|
| 404 |
|
This endpoint is for viewing a checklist of task to do during a work step.
See work_checklist_linking to see what the each checklist is attached to. Checklist instance can be attached to many other types.
Each step is in a work_instruction object. Log of checking-off things marked as done are stored
in a related work_instruction_report.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| additional_instruction_url | URL |
URL for the external video, image or some document which provides additional extended instructions for the work checklist |
| bureau | URI |
Bureau of the Work Checklist. |
| created | iso-8601 datetime |
none available |
| description | string |
Description for the Work Checklist. |
| initial_related_uri | URL |
Work checklists are inherited. This is the URI for the root of inheritance.One of: [printer_type, post_processor_type, shipping, line_item, print]. |
| name | string |
Title of the Work Checklist. |
| updated | iso-8601 datetime |
none available |
| updated_by | URI |
Who update/create Work Checklist. |
| uri | URI |
The Work Checklist URI. If URI not provided - then work checklist doesn't exists yet and should be built/created (if method PUT) or will be used as template (if we return it via GET or LIST with API |
| version | integer |
Count of Work Checklist updated. |
| work_instructions | array |
Optional List of Work Instructions for the Line Item's Work Checklist. Example: ('[{"choices": ["..."], "required": "True|False", "report_type": '
'"checkbox|document|picture|no '
'entry|number|range|text|single-selection-dropdown|output-at-location", '
'"report_units": "mm|cm|inch|gram|kg|lb", "threshold": null, '
'"threshold_type": '
'"between|not-between|tolerance|less-than|less-than-or-equals-to|greater-than|greater-than-or-equals-to|contains|not-contains|equals-to|not-equals-to", '
'"threshold_action": "warning|error|warning_prompt_ncr", '
'"threshold_notification": "piece_owner|user_group"}]')
|
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
|
| 404 |
|
A Work Checklist can be specified for many types of things in the system:: printer_type, post_processor_type, shipping, process_steps of a workflow, line-item, or even print objects.
In a lot of those case, use is inherited, AKA if there is no 'print' work checklist, the system scans for a 'process-step' checklist, if no process-step checklist, it scans for a workstation_type checklist, and so on.
This API for getting work checklist linkings (with work checklist) for specific resource, via looking it up in the inheritance tree. See work-checklist-for for setting work-checklist for some resource.
Return work checklists linkings (with work_checklists with work_instructions)
by filter related_uri; this filter is required for this API.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| related_uri | URL |
URI of the related resource. Resource can be one of: print, printer_type, post_processor_type, shipping, line_item, piece, workflow. |
| work_checklist_linkings | array |
Work checklists linkings (with work checklists with work instructions) for a related_uri. It can be linking directly created for the related resource or inherited linkings. Example: ('[{"work_checklist": {"work_instructions": [{"choices": ["..."], "required": '
'"True|False", "report_type": "checkbox|document|picture|no '
'entry|number|range|text|single-selection-dropdown|output-at-location", '
'"report_units": "mm|cm|inch|gram|kg|lb", "threshold": null, '
'"threshold_type": '
'"between|not-between|tolerance|less-than|less-than-or-equals-to|greater-than|greater-than-or-equals-to|contains|not-contains|equals-to|not-equals-to", '
'"threshold_action": "warning|error|warning_prompt_ncr", '
'"threshold_notification": "piece_owner|user_group"}]}}]')
|
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
One of the provided objects doesn't exists. |
A checklist can be attached to many types of things in the system:: printer_type, post_processor_type, process_step, line-item or even print objects.
This API is used for creating, updating and deleting work checklists for specific objects via PUT method.
/work-instruction-report-action/
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| action_type | string |
The action type Choices
'"create"'
|
| created | iso-8601 datetime |
The date the work_instruction_report_action was created. |
| metadata | array |
Action specific JSON blob for action metadata. See METADATA_SIGNATURES for more details. Example: '["..."]'
|
| notes | string |
Custom user description/notes for this action. |
| status | string |
The status Choices
'"pending|processing|complete|error"'
|
| uri | URI |
Work Instruction Report Action's URI. |
| user | URI |
A user whom performed an action |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 404 |
|
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| action_type | string |
The action type Required Choices
'"create"'
|
| created | iso-8601 datetime |
The date the work_instruction_report_action was created. Required |
| metadata | array |
Action specific JSON blob for action metadata. See METADATA_SIGNATURES for more details. Default: []Example: '["..."]'
|
| notes | string |
Custom user description/notes for this action. Required |
| status | string |
The status Required Choices
'"pending|processing|complete|error"'
|
| uri | URI |
Work Instruction Report Action's URI. Required |
| user | URI |
A user whom performed an action Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
|
| 404 |
|
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| action_type | string |
The action type Choices
'"create"'
|
| created | iso-8601 datetime |
The date the work_instruction_report_action was created. |
| metadata | array |
Action specific JSON blob for action metadata. See METADATA_SIGNATURES for more details. Example: '["..."]'
|
| notes | string |
Custom user description/notes for this action. |
| status | string |
The status Choices
'"pending|processing|complete|error"'
|
| uri | URI |
Work Instruction Report Action's URI. |
| user | URI |
A user whom performed an action |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 404 |
|
/work-instruction-report-summary/
This endpoint is used to generate a summary of work_instruction and work_instruction_report data for each print that has a work_instruction_report created for it. It gathers data about each work_instruction (and related report) in a work_checklist for each print associated with a report. Currently, we support filtering this endpoint by a piece uri or a work_checklist uri Usage Examples: /work-instruction-report-summary/?filter[piece]=some_piece_uri /work-instruction-report-summary/?filter[work_checklist]=some_work checklist_uri We also support filtering reports that were submitted within a certain date range Usage Example: /work-instruction-report-summary/?filter[completed]%3E2021-08-01T15:06:04.317030&filter[completed]%3C2021-09-01T15:06:04.317030
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
Bureau of the Work Instruction Report. |
| completed | iso-8601 datetime |
Datetime filter-only field to fetch work-instruction-reports by when they were completed. |
| order | URI |
Order that the report is linked to |
| piece | URI |
Piece that the report is linked to |
| piece_name | string |
Piece name that report is linked to |
| URI |
Print that the report is linked to. |
|
| run | URI |
Run that the report is linked to |
| run_name | string |
Run name that the report is linked to |
| work_checklist | URI |
Work checklist related to the work_instruction |
| work_checklist_name | string |
Name of the work_checklist |
| work_instructions_summary | array |
List of Work Instruction and Work Instruction report data . Example: ('[{"choices": ["..."], "required": "True|False", "report_type": '
'"checkbox|document|picture|no '
'entry|number|range|text|single-selection-dropdown|output-at-location", '
'"report_units": "mm|cm|inch|gram|kg|lb", "threshold": null, '
'"threshold_type": '
'"between|not-between|tolerance|less-than|less-than-or-equals-to|greater-than|greater-than-or-equals-to|contains|not-contains|equals-to|not-equals-to", '
'"threshold_action": "warning|error|warning_prompt_ncr", '
'"threshold_notification": "piece_owner|user_group"}]')
|
| workflow | URI |
Workflow that the report is linked to |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
Bureau of the Work Instruction Report. Required |
| completed | iso-8601 datetime |
Datetime filter-only field to fetch work-instruction-reports by when they were completed. Required |
| order | URI |
Order that the report is linked to Required |
| piece | URI |
Piece that the report is linked to Required |
| piece_name | string |
Piece name that report is linked to Required |
| URI |
Print that the report is linked to. Required |
|
| run | URI |
Run that the report is linked to Required |
| run_name | string |
Run name that the report is linked to Required |
| work_checklist | URI |
Work checklist related to the work_instruction Required |
| work_checklist_name | string |
Name of the work_checklist Required |
| work_instructions_summary | array |
List of Work Instruction and Work Instruction report data . Required Example: ('[{"choices": ["..."], "required": "True|False", "report_type": '
'"checkbox|document|picture|no '
'entry|number|range|text|single-selection-dropdown|output-at-location", '
'"report_units": "mm|cm|inch|gram|kg|lb", "threshold": null, '
'"threshold_type": '
'"between|not-between|tolerance|less-than|less-than-or-equals-to|greater-than|greater-than-or-equals-to|contains|not-contains|equals-to|not-equals-to", '
'"threshold_action": "warning|error|warning_prompt_ncr", '
'"threshold_notification": "piece_owner|user_group"}]')
|
| workflow | URI |
Workflow that the report is linked to Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
This endpoint is used to generate a summary of work_instruction and work_instruction_report data for each print that has a work_instruction_report created for it. It gathers data about each work_instruction (and related report) in a work_checklist for each print associated with a report. Currently, we support filtering this endpoint by a piece uri or a work_checklist uri Usage Examples: /work-instruction-report-summary/?filter[piece]=some_piece_uri /work-instruction-report-summary/?filter[work_checklist]=some_work checklist_uri We also support filtering reports that were submitted within a certain date range Usage Example: /work-instruction-report-summary/?filter[completed]%3E2021-08-01T15:06:04.317030&filter[completed]%3C2021-09-01T15:06:04.317030
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
Bureau of the Work Instruction Report. |
| completed | iso-8601 datetime |
Datetime filter-only field to fetch work-instruction-reports by when they were completed. |
| order | URI |
Order that the report is linked to |
| piece | URI |
Piece that the report is linked to |
| piece_name | string |
Piece name that report is linked to |
| URI |
Print that the report is linked to. |
|
| run | URI |
Run that the report is linked to |
| run_name | string |
Run name that the report is linked to |
| work_checklist | URI |
Work checklist related to the work_instruction |
| work_checklist_name | string |
Name of the work_checklist |
| work_instructions_summary | array |
List of Work Instruction and Work Instruction report data . Example: ('[{"choices": ["..."], "required": "True|False", "report_type": '
'"checkbox|document|picture|no '
'entry|number|range|text|single-selection-dropdown|output-at-location", '
'"report_units": "mm|cm|inch|gram|kg|lb", "threshold": null, '
'"threshold_type": '
'"between|not-between|tolerance|less-than|less-than-or-equals-to|greater-than|greater-than-or-equals-to|contains|not-contains|equals-to|not-equals-to", '
'"threshold_action": "warning|error|warning_prompt_ncr", '
'"threshold_notification": "piece_owner|user_group"}]')
|
| workflow | URI |
Workflow that the report is linked to |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
/work-instruction-report/
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
Bureau of the Work Instruction Report. |
| completed | iso-8601 datetime |
Date, when instruction was done. |
| outside_threshold | boolean |
Is threshold of checklist exceeded or not. |
| URI |
The Print to get a report on. |
|
| prints | array |
The URIs of prints we're creating reports for. Example: '["..."]'
|
| report | string |
Content of the report, if provided |
| report_file | object |
none available Example: '{}'
|
| uri | URI |
Actual manufacturing information defined by the work-instruction for a specific piece |
| user | URI |
User that created report. |
| work_instruction | uuid |
The UUID of the work-instruction. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 404 |
|
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
Bureau of the Work Instruction Report. Required |
| completed | iso-8601 datetime |
Date, when instruction was done. Default: None |
| outside_threshold | boolean |
Is threshold of checklist exceeded or not. Required |
| URI |
The Print to get a report on. Required |
|
| prints | array |
The URIs of prints we're creating reports for. Required Example: '["..."]'
|
| report | string |
Content of the report, if provided Required |
| report_file | object |
none available Required Example: '{}'
|
| uri | URI |
Actual manufacturing information defined by the work-instruction for a specific piece Required |
| user | URI |
User that created report. Required |
| work_instruction | uuid |
The UUID of the work-instruction. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
|
| 404 |
|
This is a basic API endpoint wrapper, to extend a Flask View with extra features.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
Bureau of the Work Instruction Report. |
| completed | iso-8601 datetime |
Date, when instruction was done. |
| outside_threshold | boolean |
Is threshold of checklist exceeded or not. |
| URI |
The Print to get a report on. |
|
| prints | array |
The URIs of prints we're creating reports for. Example: '["..."]'
|
| report | string |
Content of the report, if provided |
| report_file | object |
none available Example: '{}'
|
| uri | URI |
Actual manufacturing information defined by the work-instruction for a specific piece |
| user | URI |
User that created report. |
| work_instruction | uuid |
The UUID of the work-instruction. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
|
| 404 |
|
/work-instruction/
NOTE: this is only for 'floating' / 'template' work instructions. Any other work instructions need to be GET / SET / PUT / POST via work_checklist
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| additional_instruction_url | URL |
URL for the external video, image or some document which provides additional extended instructions for the Work Instruction |
| choices | array |
none available Example: '["..."]'
|
| description | string |
Descriptions for the step. |
| position | integer |
Step position of the Work Instruction for the Line Item's Work Checklist |
| report_type | string |
In which format should be passed report for this instruction. Choices
('"checkbox|document|picture|no '
'entry|number|range|text|single-selection-dropdown|output-at-location"')
|
| report_units | string |
In which units should be passed report for this instruction. Choices
'"mm|cm|inch|gram|kg|lb"'
|
| required | boolean |
Is report for this instruction required or not. Choices
'"True|False"'
|
| threshold | object |
Threshold as a JSON blob based on 'threshold_type'. See THRESHOLD_SIGNATURES for more details. Example: 'null'
|
| threshold_action | string |
An error level, which describes how to validate threshold values. See enum info for more details. Choices
'"warning|error|warning_prompt_ncr"'
|
| threshold_notification | string |
When a reported value is past threshold, send email notices to whom? Choices
'"piece_owner|user_group"'
|
| threshold_type | string |
Type of the Threshold value. Threshold signature is based on this field. Choices
'"between|not-between|tolerance|less-than|less-than-or-equals-to|greater-than|greater-than-or-equals-to|contains|not-contains|equals-to|not-equals-to"'
|
| uuid | uuid |
none available |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| additional_instruction_url | URL |
URL for the external video, image or some document which provides additional extended instructions for the Work Instruction Required |
| choices | array |
none available Required Example: '["..."]'
|
| description | string |
Descriptions for the step. Required |
| position | integer |
Step position of the Work Instruction for the Line Item's Work Checklist Required |
| report_type | string |
In which format should be passed report for this instruction. Default: textChoices
('"checkbox|document|picture|no '
'entry|number|range|text|single-selection-dropdown|output-at-location"')
|
| report_units | string |
In which units should be passed report for this instruction. Default: NoneChoices
'"mm|cm|inch|gram|kg|lb"'
|
| required | boolean |
Is report for this instruction required or not. Default: FalseChoices
'"True|False"'
|
| threshold | object |
Threshold as a JSON blob based on 'threshold_type'. See THRESHOLD_SIGNATURES for more details. Default: NoneExample: 'null'
|
| threshold_action | string |
An error level, which describes how to validate threshold values. See enum info for more details. Default: NoneChoices
'"warning|error|warning_prompt_ncr"'
|
| threshold_notification | string |
When a reported value is past threshold, send email notices to whom? Default: NoneChoices
'"piece_owner|user_group"'
|
| threshold_type | string |
Type of the Threshold value. Threshold signature is based on this field. Default: NoneChoices
'"between|not-between|tolerance|less-than|less-than-or-equals-to|greater-than|greater-than-or-equals-to|contains|not-contains|equals-to|not-equals-to"'
|
| uuid | uuid |
none available Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
NOTE: this is only for 'floating' / 'template' work instructions. Any other work instructions need to be GET / SET / PUT / POST via work_checklist
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| additional_instruction_url | URL |
URL for the external video, image or some document which provides additional extended instructions for the Work Instruction |
| choices | array |
none available Example: '["..."]'
|
| description | string |
Descriptions for the step. |
| position | integer |
Step position of the Work Instruction for the Line Item's Work Checklist |
| report_type | string |
In which format should be passed report for this instruction. Choices
('"checkbox|document|picture|no '
'entry|number|range|text|single-selection-dropdown|output-at-location"')
|
| report_units | string |
In which units should be passed report for this instruction. Choices
'"mm|cm|inch|gram|kg|lb"'
|
| required | boolean |
Is report for this instruction required or not. Choices
'"True|False"'
|
| threshold | object |
Threshold as a JSON blob based on 'threshold_type'. See THRESHOLD_SIGNATURES for more details. Example: 'null'
|
| threshold_action | string |
An error level, which describes how to validate threshold values. See enum info for more details. Choices
'"warning|error|warning_prompt_ncr"'
|
| threshold_notification | string |
When a reported value is past threshold, send email notices to whom? Choices
'"piece_owner|user_group"'
|
| threshold_type | string |
Type of the Threshold value. Threshold signature is based on this field. Choices
'"between|not-between|tolerance|less-than|less-than-or-equals-to|greater-than|greater-than-or-equals-to|contains|not-contains|equals-to|not-equals-to"'
|
| uuid | uuid |
none available |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
/work-schedule/
Defines the work schedule for a resource. This attaches to workstation_type only now. may attach to more in the future. Used to indicate clock time / week-calendar time when a process is 'workable' AKA people or machines can run.
Args: nautilus (type): description
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| post_processor_type | URI |
The URI of post processor type this schedule applies to. |
| printer_type | URI |
The URI of printer type this schedule applies to. |
| type | string |
Type of Labor timing. 24/7 available, or per week-calendar below. if non-stop values below are ignored. Choices
'"non_stop|calendar"'
|
| uri | URI |
The URI of the work-schedule record. |
| utc_offset | float |
Float representation of hours offset from UTC of the timezone for target workstation or workstation types. Default to Zero |
| week | object |
none available Example: ('{"monday": {"start": {}, "finish": {}}, "tuesday": {"start": {}, "finish": '
'{}}, "wednesday": {"start": {}, "finish": {}}, "thursday": {"start": {}, '
'"finish": {}}, "friday": {"start": {}, "finish": {}}, "saturday": {"start": '
'{}, "finish": {}}, "sunday": {"start": {}, "finish": {}}}')
|
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
The requested post_processor_type is already attached to a work-schedule. |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested work schedule cannot be found. |
| 405 |
|
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| post_processor_type | URI |
The URI of post processor type this schedule applies to. Required |
| printer_type | URI |
The URI of printer type this schedule applies to. Required |
| type | string |
Type of Labor timing. 24/7 available, or per week-calendar below. if non-stop values below are ignored. Required Choices
'"non_stop|calendar"'
|
| uri | URI |
The URI of the work-schedule record. Required |
| utc_offset | float |
Float representation of hours offset from UTC of the timezone for target workstation or workstation types. Default to Zero Default: 0 |
| week | object |
none available Default: {}Example: ('{"monday": {"start": {}, "finish": {}}, "tuesday": {"start": {}, "finish": '
'{}}, "wednesday": {"start": {}, "finish": {}}, "thursday": {"start": {}, '
'"finish": {}}, "friday": {"start": {}, "finish": {}}, "saturday": {"start": '
'{}, "finish": {}}, "sunday": {"start": {}, "finish": {}}}')
|
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
The requested post_processor_type is already attached to a work-schedule. |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested work schedule cannot be found. |
| 405 |
|
Defines the work schedule for a resource. This attaches to workstation_type only now. may attach to more in the future. Used to indicate clock time / week-calendar time when a process is 'workable' AKA people or machines can run.
Args: nautilus (type): description
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| post_processor_type | URI |
The URI of post processor type this schedule applies to. |
| printer_type | URI |
The URI of printer type this schedule applies to. |
| type | string |
Type of Labor timing. 24/7 available, or per week-calendar below. if non-stop values below are ignored. Choices
'"non_stop|calendar"'
|
| uri | URI |
The URI of the work-schedule record. |
| utc_offset | float |
Float representation of hours offset from UTC of the timezone for target workstation or workstation types. Default to Zero |
| week | object |
none available Example: ('{"monday": {"start": {}, "finish": {}}, "tuesday": {"start": {}, "finish": '
'{}}, "wednesday": {"start": {}, "finish": {}}, "thursday": {"start": {}, '
'"finish": {}}, "friday": {"start": {}, "finish": {}}, "saturday": {"start": '
'{}, "finish": {}}, "sunday": {"start": {}, "finish": {}}}')
|
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
The requested post_processor_type is already attached to a work-schedule. |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested work schedule cannot be found. |
| 405 |
|
/workflow/
A workflow defines a process to be followed to manufacture a part. The workflow is just that, a workflow. Individual orders can be customized to follow a different process for just that order.
The workflow identifies the printer type to be used and any post-processing steps that should occur after a print. The workflow may also contain a shipping strategy to be used to ship the parts to a customer.
Workflows are composed of some metadata and a sequence of process-steps that are identified by the
process_steps property. Ordering of this property is important
List all of the workflow in the system for your account.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| description | string |
The description of the workflow. Example: '"First version of workflow."'
|
| flow_time | timedelta |
Summation of the flow_time values from each process_step in the workflow |
| flow_time_queued | timedelta |
Summation of the flow_time_queued values from each process_step in the workflow |
| include_custom_workflows | boolean |
Indicates should be included custom workflows line items/pieces or not. |
| integrated | boolean |
When set to true, all workstation part of this workflow are in one unit |
| labels | array |
List of Label URIs for this workflow. Example: '["..."]'
|
| line_item | URI |
URI of a line item to which workflow is pinned. It means that workflow was created and can be used only for this line item. |
| materials | array |
URIs of a material to which this workflow is pinned. Example: '["..."]'
|
| name | string |
The name of the workflow. Example: '"Workflow-0.1"'
|
| name_ilike | boolean |
Whether to search for names case insensitively |
| pieces | array |
URIs of a pieces to which this workflow is pinned. It means that workflow was created by 'change workflow' run transformation and can be user only by these pieces. Example: '["..."]'
|
| process_steps | array |
The uri of the process steps for this workflow. Example: '["..."]'
|
| source_workflow | URI |
URI of a workflow based on which current workflow was cloned/duplicated. |
| specimens | array |
Optional List of specimens (dict with 'URI and quantity') for Workflow with Example: '[{}]'
|
| type | string |
Choices
'"additive_manufacturing|specimen|powder_manufacturing"'
|
| updated | iso-8601 datetime |
The date the workflow was updated. |
| updated_by | URI |
The user that last updated the workflow. |
| uri | URI |
The URI for workflow resource. |
| usage_state | string |
Representing workflow's usage state based on usage by db:line_item table.'archived' state can be passed into PUT signature to archive workflow (if it allowed by workflow usage_state). Choices
'"archived|active|can_be_safely_archived|inactive"'
|
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
The value of bureau appears to be an invalid bureau. The requested workflow name already exists. |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested workflow cannot be found. |
| 409 |
The requested workflow is attached to line items that are processing. |
Create a new workflow resource.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| description | string |
The description of the workflow. Default: NoneExample: '"First version of workflow."'
|
| flow_time | timedelta |
Summation of the flow_time values from each process_step in the workflow Required |
| flow_time_queued | timedelta |
Summation of the flow_time_queued values from each process_step in the workflow Required |
| include_custom_workflows | boolean |
Indicates should be included custom workflows line items/pieces or not. Required |
| integrated | boolean |
When set to true, all workstation part of this workflow are in one unit Default: False |
| labels | array |
List of Label URIs for this workflow. Default: []Example: '["..."]'
|
| line_item | URI |
URI of a line item to which workflow is pinned. It means that workflow was created and can be used only for this line item. Required |
| materials | array |
URIs of a material to which this workflow is pinned. Required Example: '["..."]'
|
| name | string |
The name of the workflow. Required Example: '"Workflow-0.1"'
|
| name_ilike | boolean |
Whether to search for names case insensitively Required |
| pieces | array |
URIs of a pieces to which this workflow is pinned. It means that workflow was created by 'change workflow' run transformation and can be user only by these pieces. Required Example: '["..."]'
|
| process_steps | array |
The uri of the process steps for this workflow. Default: NoneExample: '["..."]'
|
| source_workflow | URI |
URI of a workflow based on which current workflow was cloned/duplicated. Required |
| specimens | array |
Optional List of specimens (dict with 'URI and quantity') for Workflow with Default: NoneExample: '[{}]'
|
| type | string |
Default: additive_manufacturingChoices
'"additive_manufacturing|specimen|powder_manufacturing"'
|
| updated | iso-8601 datetime |
The date the workflow was updated. Required |
| updated_by | URI |
The user that last updated the workflow. Required |
| uri | URI |
The URI for workflow resource. Required |
| usage_state | string |
Representing workflow's usage state based on usage by db:line_item table.'archived' state can be passed into PUT signature to archive workflow (if it allowed by workflow usage_state). Required Choices
'"archived|active|can_be_safely_archived|inactive"'
|
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
The value of bureau appears to be an invalid bureau. The requested workflow name already exists. |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested workflow cannot be found. |
| 409 |
The requested workflow is attached to line items that are processing. |
/workflow//replace/
Action endpoint (POST / GET/ LIST only) to replace a workflow on an active line-item. If needed, this may also do a copy and 'pin' workflow into line item level.
Due line-items or related workflows, business logic blocks "POST" to 'workflow' or 'line-item'
I. For line_item level workflow we do next steps (line_item is not None)::
- checking permissions by fetching source_workflow and line_item;
- maybe updating name for new workflow to avoid constraint error;
- building payload and creating new workflow with permission on it;
- updating line_item with new workflow: it automatically, if needed (if process steps were changed), will recreate prints;
- re-creating work_checklist_linkings based on line_item or source_workflow work_checklists (if exist);
- replace process_steps with replaced one (based on process_step.source_process_step) for service-provider-job.
- re-creating specimens based on source_workflow, if they exist.
II. Next cases available for common workflows (line_item is None)
1. Common steps::
- checking permissions by fetching source_workflow;
- Checking workflow usage_state - this operation available only for active workflows;
- updating source_workflow name to avoid constraint error and mark it as archived (with utc_now datetime);
- building payload and creating new workflow with permission on it;
- re-creating work_checklist_linkings based on source_workflow work_checklists (if exist);
2. For `additive_manufacturing` workflow we do next additional steps::
- re-creating specimens based on ``source_workflow``, if they exist;
- updating model_libraries which using ``source_workflow`` with new workflow uuid;
- updating bureau_settings.default_workflow - if it using ``source_workflow``;
- updating line_items which have statuses <= 'pending' with new workflow (it will trigger re-creating prints).
3. For `specimen` workflow we do only next additional step::
- updating existing specimens which using ``source_workflow``.
Replaces source_workflow with newly created workflow
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| description | string |
The description of the workflow. Required Example: '"First version of workflow."'
|
| integrated | boolean |
When set to true, all workstation part of this workflow are in one unit Default: False |
| labels | array |
List of Label URIs for this workflow. Default: []Example: '["..."]'
|
| line_item | URI |
URI of a line item to which workflow is pinned. It means that workflow will be createdand can be used only for this line item. Required |
| name | string |
The name of the new workflow. Required Example: '"Workflow-0.1"'
|
| process_steps | array |
The uri of the process steps for this workflow. Process steps should be already created by frontend via API /process-step/ Required Example: '["..."]'
|
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
The requested workflow name already exists. |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested workflow cannot be found. |
| 409 |
The requested workflow is attached to line items that are processing. |
A workflow defines a process to be followed to manufacture a part. The workflow is just that, a workflow. Individual orders can be customized to follow a different process for just that order.
The workflow identifies the printer type to be used and any post-processing steps that should occur after a print. The workflow may also contain a shipping strategy to be used to ship the parts to a customer.
Workflows are composed of some metadata and a sequence of process-steps that are identified by the
process_steps property. Ordering of this property is important
Get an individual workflow resource by UUID.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| description | string |
The description of the workflow. Example: '"First version of workflow."'
|
| flow_time | timedelta |
Summation of the flow_time values from each process_step in the workflow |
| flow_time_queued | timedelta |
Summation of the flow_time_queued values from each process_step in the workflow |
| include_custom_workflows | boolean |
Indicates should be included custom workflows line items/pieces or not. |
| integrated | boolean |
When set to true, all workstation part of this workflow are in one unit |
| labels | array |
List of Label URIs for this workflow. Example: '["..."]'
|
| line_item | URI |
URI of a line item to which workflow is pinned. It means that workflow was created and can be used only for this line item. |
| materials | array |
URIs of a material to which this workflow is pinned. Example: '["..."]'
|
| name | string |
The name of the workflow. Example: '"Workflow-0.1"'
|
| name_ilike | boolean |
Whether to search for names case insensitively |
| pieces | array |
URIs of a pieces to which this workflow is pinned. It means that workflow was created by 'change workflow' run transformation and can be user only by these pieces. Example: '["..."]'
|
| process_steps | array |
The uri of the process steps for this workflow. Example: '["..."]'
|
| source_workflow | URI |
URI of a workflow based on which current workflow was cloned/duplicated. |
| specimens | array |
Optional List of specimens (dict with 'URI and quantity') for Workflow with Example: '[{}]'
|
| type | string |
Choices
'"additive_manufacturing|specimen|powder_manufacturing"'
|
| updated | iso-8601 datetime |
The date the workflow was updated. |
| updated_by | URI |
The user that last updated the workflow. |
| uri | URI |
The URI for workflow resource. |
| usage_state | string |
Representing workflow's usage state based on usage by db:line_item table.'archived' state can be passed into PUT signature to archive workflow (if it allowed by workflow usage_state). Choices
'"archived|active|can_be_safely_archived|inactive"'
|
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
The value of bureau appears to be an invalid bureau. The requested workflow name already exists. |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested workflow cannot be found. |
| 409 |
The requested workflow is attached to line items that are processing. |
/workstation-capacity-data/
Endpoint for workstation capacity data. Tracks daily capacity metrics for workstations (printers, post-processors, shipping). Records are primarily auto-generated by Celery task, not via API.
List all workstation capacity data records.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| actual_time | integer |
Actual time that machine was in use in minutes (from Schedule, Ecco builds, and Downtime). |
| available_time | integer |
Configured available time in minutes (from work_schedule or 9-5 default). |
| bureau | URI |
The bureau this capacity data belongs to. |
| created | iso-8601 datetime |
The date this record was created. |
| date | iso-8601 date |
The date this capacity data applies to. |
| downtime_minutes | integer |
Total downtime for this day in minutes. |
| potential_time | integer |
Pattern-based estimation of time machine might be available in minutes (from work_schedule_estimate). |
| related_table_name | string |
The workstation table name: 'printer', 'post_processor', or 'shipping'. Choices
'"printer|post_processor|shipping"'
|
| related_uuid | uuid |
UUID of the specific printer/post-processor/shipping workstation. |
| updated | iso-8601 datetime |
The date this record was last updated. |
| uri | URI |
The URI of this capacity data record. |
| uuid | uuid |
Unique identifier for this capacity data record. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
The provided payload is invalid. |
| 403 |
You are not authorised to complete the request. The workstation capacity tracking feature is not enabled for this bureau. |
| 404 |
The requested workstation capacity data record cannot be found. |
Create a new workstation capacity data record. Note: This is primarily for admin/system use. Records are normally auto-generated by Celery task.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| actual_time | integer |
Actual time that machine was in use in minutes (from Schedule, Ecco builds, and Downtime). Required |
| available_time | integer |
Configured available time in minutes (from work_schedule or 9-5 default). Required |
| bureau | URI |
The bureau this capacity data belongs to. Required |
| created | iso-8601 datetime |
The date this record was created. Default: None |
| date | iso-8601 date |
The date this capacity data applies to. Required |
| downtime_minutes | integer |
Total downtime for this day in minutes. Default: 0 |
| potential_time | integer |
Pattern-based estimation of time machine might be available in minutes (from work_schedule_estimate). Required |
| related_table_name | string |
The workstation table name: 'printer', 'post_processor', or 'shipping'. Required Choices
'"printer|post_processor|shipping"'
|
| related_uuid | uuid |
UUID of the specific printer/post-processor/shipping workstation. Required |
| updated | iso-8601 datetime |
The date this record was last updated. Default: None |
| uri | URI |
The URI of this capacity data record. Required |
| uuid | uuid |
Unique identifier for this capacity data record. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
The provided payload is invalid. |
| 403 |
You are not authorised to complete the request. The workstation capacity tracking feature is not enabled for this bureau. |
| 404 |
The requested workstation capacity data record cannot be found. |
Endpoint for workstation capacity data. Tracks daily capacity metrics for workstations (printers, post-processors, shipping). Records are primarily auto-generated by Celery task, not via API.
Get a workstation capacity data record by UUID.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| actual_time | integer |
Actual time that machine was in use in minutes (from Schedule, Ecco builds, and Downtime). |
| available_time | integer |
Configured available time in minutes (from work_schedule or 9-5 default). |
| bureau | URI |
The bureau this capacity data belongs to. |
| created | iso-8601 datetime |
The date this record was created. |
| date | iso-8601 date |
The date this capacity data applies to. |
| downtime_minutes | integer |
Total downtime for this day in minutes. |
| potential_time | integer |
Pattern-based estimation of time machine might be available in minutes (from work_schedule_estimate). |
| related_table_name | string |
The workstation table name: 'printer', 'post_processor', or 'shipping'. Choices
'"printer|post_processor|shipping"'
|
| related_uuid | uuid |
UUID of the specific printer/post-processor/shipping workstation. |
| updated | iso-8601 datetime |
The date this record was last updated. |
| uri | URI |
The URI of this capacity data record. |
| uuid | uuid |
Unique identifier for this capacity data record. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 400 |
The provided payload is invalid. |
| 403 |
You are not authorised to complete the request. The workstation capacity tracking feature is not enabled for this bureau. |
| 404 |
The requested workstation capacity data record cannot be found. |
/workstation/
A Workstation is a physical location where a specific kind of work is done. Currently a Read-Only collection/Summary of Workstation types (printer/post-processor/shipping) that are stored in their own tables.
Workstation Printer:
Workstation Post-Processor:
Workstation Shipping:
NOTE: As of 2022-10-03 Workstation logic is mostly split into 'printer'/'post-processor'/'shipping' right now. This is the start of refactoring to a single workstation behavior is
List all of the workstations in the system for your account.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| archived | iso-8601 datetime |
If archived, the datetime the post-processor was archived. |
| description | string |
Description of printer |
| in_progress_max | integer |
Max number of concurrent runs that can be in progress on the printer. Read only |
| location | URI |
The URI of a valid location. Required if is_service is false. |
| name | string |
The name of the workstation. For 'is_service is False' this field is required. For 'is_service is True' this field will be ignored. |
| updated | iso-8601 datetime |
When the resource was last updated |
| updated_by | URI |
The user that last updated the printer. |
| uri | URL |
The URI (as a URL) of the resource, as a printer/post-processor/shipping URI |
| workstation_type | string |
printer/ post-processor/ or shipping only. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
Create a new workstation ... does not work yet .
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| archived | iso-8601 datetime |
If archived, the datetime the post-processor was archived. Required |
| description | string |
Description of printer Default: None |
| in_progress_max | integer |
Max number of concurrent runs that can be in progress on the printer. Read only Required |
| location | URI |
The URI of a valid location. Required if is_service is false. Required |
| name | string |
The name of the workstation. For 'is_service is False' this field is required. For 'is_service is True' this field will be ignored. Required |
| updated | iso-8601 datetime |
When the resource was last updated Required |
| updated_by | URI |
The user that last updated the printer. Required |
| uri | URL |
The URI (as a URL) of the resource, as a printer/post-processor/shipping URI Default: None |
| workstation_type | string |
printer/ post-processor/ or shipping only. Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
A Workstation is a physical location where a specific kind of work is done. Currently a Read-Only collection/Summary of Workstation types (printer/post-processor/shipping) that are stored in their own tables.
Workstation Printer:
Workstation Post-Processor:
Workstation Shipping:
NOTE: As of 2022-10-03 Workstation logic is mostly split into 'printer'/'post-processor'/'shipping' right now. This is the start of refactoring to a single workstation behavior is
Get a workstation by UUID.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| archived | iso-8601 datetime |
If archived, the datetime the post-processor was archived. |
| description | string |
Description of printer |
| in_progress_max | integer |
Max number of concurrent runs that can be in progress on the printer. Read only |
| location | URI |
The URI of a valid location. Required if is_service is false. |
| name | string |
The name of the workstation. For 'is_service is False' this field is required. For 'is_service is True' this field will be ignored. |
| updated | iso-8601 datetime |
When the resource was last updated |
| updated_by | URI |
The user that last updated the printer. |
| uri | URL |
The URI (as a URL) of the resource, as a printer/post-processor/shipping URI |
| workstation_type | string |
printer/ post-processor/ or shipping only. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
/zipfile-request/
This endpoint is used to receive zip file compilation requests on POST, performing pre-flight checks such as validating line-item existence, user permissions, and checking the overall file size before generating the zip.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| line_items | array |
none available Default: []Example: '["..."]'
|
| related_table_name | string |
none available Required Choices
'"order"'
|
| related_uuid | uuid |
none available Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 400 |
Requested data size too large to fulfill request |
| 404 |
Some of the requested data cannot be found. |
/zipfile/
This endpoint is mainly used to retrieve zip file entries that are currently stored in the system and have not yet expired. It provides useful debugging information such as the manifest payload which contains information about the processing of the zip file.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The bureau that this zipfile belongs to. |
| content | string |
Temporary download link for file. |
| created | iso-8601 datetime |
none available |
| created_by | URI |
The user who created this zipfile record. |
| expiry | iso-8601 datetime |
Date/time the file either should or was deleted.Note: This is not the same as the download link expiring, this is when the actual file will be marked for deletionIf a link expires you can GET the URI to make a fresh one, once the file expires it is gone forever |
| manifest | object |
Debugging/context payload to store any usable information about the processing of the zipfile Example: '{"line_items": ["..."]}'
|
| related_table_name | string |
none available Choices
'"order"'
|
| related_uuid | uuid |
none available |
| status | string |
Status of the zipfile compilation process [pending, processing, completed, deleted, error] Choices
'"pending|processing|completed|deleted|error"'
|
| uri | URI |
The URI for the zipfile. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested zipfile cannot be found. |
/zipfile/{uuid}/
This endpoint is mainly used to retrieve zip file entries that are currently stored in the system and have not yet expired. It provides useful debugging information such as the manifest payload which contains information about the processing of the zip file.
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| bureau | URI |
The bureau that this zipfile belongs to. |
| content | string |
Temporary download link for file. |
| created | iso-8601 datetime |
none available |
| created_by | URI |
The user who created this zipfile record. |
| expiry | iso-8601 datetime |
Date/time the file either should or was deleted.Note: This is not the same as the download link expiring, this is when the actual file will be marked for deletionIf a link expires you can GET the URI to make a fresh one, once the file expires it is gone forever |
| manifest | object |
Debugging/context payload to store any usable information about the processing of the zipfile Example: '{"line_items": ["..."]}'
|
| related_table_name | string |
none available Choices
'"order"'
|
| related_uuid | uuid |
none available |
| status | string |
Status of the zipfile compilation process [pending, processing, completed, deleted, error] Choices
'"pending|processing|completed|deleted|error"'
|
| uri | URI |
The URI for the zipfile. |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 404 |
The requested zipfile cannot be found. |
/zverse-conversion/
A Zverse Conversion is used when you upload a 'model' as a PDF conversion This represents the states/behavior of peer service ZVerse turning the PDF into a valid STL model, and then us adding/reloading that model.
HTTPS GET with no UUID does a list of available resources
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| complexity | string |
Complexity level for converting from PDF to STL. Choices
'"TBD|Low|LowMedium|Medium|High|Custom"'
|
| complexity_value | integer |
Complexity value from the ZVerse API. |
| cost | float |
Cost of converting this image/design to a proper 3D Model |
| created | iso-8601 datetime |
When the ZVerse conversion was created (requested). |
| currency | string |
The currency of the costs in this endpoint. Choices
'"AED|AFN|ALL|AMD|ANG|AOA|ARS|AUD|AWG|AZN|BAM|BBD|BDT|BGN|BHD|BIF|BMD|BND|BOB|BOV|BRL|BSD|BTN|BWP|BYN|BZD|CAD|CDF|CHE|CHF|CHW|CLF|CLP|CNY|COP|COU|CRC|CUC|CUP|CVE|CZK|DJF|DKK|DOP|DZD|EGP|ERN|ETB|EUR|FJD|FKP|GBP|GEL|GHS|GIP|GMD|GNF|GTQ|GYD|HKD|HNL|HRK|HTG|HUF|IDR|ILS|INR|IQD|IRR|ISK|JMD|JOD|JPY|KES|KGS|KHR|KMF|KPW|KRW|KWD|KYD|KZT|LAK|LBP|LKR|LRD|LSL|LYD|MAD|MDL|MGA|MKD|MMK|MNT|MOP|MRU|MUR|MVR|MWK|MXN|MXV|MYR|MZN|NAD|NGN|NIO|NOK|NPR|NZD|OMR|PAB|PEN|PGK|PHP|PKR|PLN|PYG|QAR|RON|RSD|RUB|RWF|SAR|SBD|SCR|SDG|SEK|SGD|SHP|SLE|SLL|SOS|SRD|SSP|STN|SVC|SYP|SZL|THB|TJS|TMT|TND|TOP|TRY|TTD|TWD|TZS|UAH|UGX|USD|USN|UYI|UYU|UYW|UZS|VED|VES|VND|VUV|WST|XAF|XAG|XAU|XBA|XBB|XBC|XBD|XCD|XDR|XOF|XPD|XPF|XPT|XSU|XTS|XUA|XXX|YER|ZAR|ZMW|ZWL"'
|
| filename | string |
File name of the PDF model file. |
| model | URI |
This URL should point to a valid model resource that has already been uploaded. |
| notes | string |
notes or errors on transaction |
| status | string |
Status of conversion. 2nd Email or payment needed to trigger conversion Choices
'"new|pending|submitted|estimate-completed|approval-requested|approval-failed|conversion-approved|conversion-completed|complete|error"'
|
| updated | iso-8601 datetime |
When the ZVerse conversion was updated |
| uri | URI |
The URL of this very ZVerseConversion. |
| zverse_id | string |
ZVerse internal ID tracking # |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested record cannot be found. |
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| complexity | string |
Complexity level for converting from PDF to STL. Required Choices
'"TBD|Low|LowMedium|Medium|High|Custom"'
|
| complexity_value | integer |
Complexity value from the ZVerse API. Required |
| cost | float |
Cost of converting this image/design to a proper 3D Model Default: 0.0 |
| created | iso-8601 datetime |
When the ZVerse conversion was created (requested). Required |
| currency | string |
The currency of the costs in this endpoint. Required Choices
'"AED|AFN|ALL|AMD|ANG|AOA|ARS|AUD|AWG|AZN|BAM|BBD|BDT|BGN|BHD|BIF|BMD|BND|BOB|BOV|BRL|BSD|BTN|BWP|BYN|BZD|CAD|CDF|CHE|CHF|CHW|CLF|CLP|CNY|COP|COU|CRC|CUC|CUP|CVE|CZK|DJF|DKK|DOP|DZD|EGP|ERN|ETB|EUR|FJD|FKP|GBP|GEL|GHS|GIP|GMD|GNF|GTQ|GYD|HKD|HNL|HRK|HTG|HUF|IDR|ILS|INR|IQD|IRR|ISK|JMD|JOD|JPY|KES|KGS|KHR|KMF|KPW|KRW|KWD|KYD|KZT|LAK|LBP|LKR|LRD|LSL|LYD|MAD|MDL|MGA|MKD|MMK|MNT|MOP|MRU|MUR|MVR|MWK|MXN|MXV|MYR|MZN|NAD|NGN|NIO|NOK|NPR|NZD|OMR|PAB|PEN|PGK|PHP|PKR|PLN|PYG|QAR|RON|RSD|RUB|RWF|SAR|SBD|SCR|SDG|SEK|SGD|SHP|SLE|SLL|SOS|SRD|SSP|STN|SVC|SYP|SZL|THB|TJS|TMT|TND|TOP|TRY|TTD|TWD|TZS|UAH|UGX|USD|USN|UYI|UYU|UYW|UZS|VED|VES|VND|VUV|WST|XAF|XAG|XAU|XBA|XBB|XBC|XBD|XCD|XDR|XOF|XPD|XPF|XPT|XSU|XTS|XUA|XXX|YER|ZAR|ZMW|ZWL"'
|
| filename | string |
File name of the PDF model file. Required |
| model | URI |
This URL should point to a valid model resource that has already been uploaded. Required |
| notes | string |
notes or errors on transaction Required |
| status | string |
Status of conversion. 2nd Email or payment needed to trigger conversion Required Choices
'"new|pending|submitted|estimate-completed|approval-requested|approval-failed|conversion-approved|conversion-completed|complete|error"'
|
| updated | iso-8601 datetime |
When the ZVerse conversion was updated Required |
| uri | URI |
The URL of this very ZVerseConversion. Required |
| zverse_id | string |
ZVerse internal ID tracking # Required |
Responses
| Status Code | Description |
|---|---|
| 204 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested record cannot be found. |
A Zverse Conversion is used when you upload a 'model' as a PDF conversion This represents the states/behavior of peer service ZVerse turning the PDF into a valid STL model, and then us adding/reloading that model.
generic get one resource by exact UUID
Schema (application/json)
| Property | Type | Description |
|---|---|---|
| complexity | string |
Complexity level for converting from PDF to STL. Choices
'"TBD|Low|LowMedium|Medium|High|Custom"'
|
| complexity_value | integer |
Complexity value from the ZVerse API. |
| cost | float |
Cost of converting this image/design to a proper 3D Model |
| created | iso-8601 datetime |
When the ZVerse conversion was created (requested). |
| currency | string |
The currency of the costs in this endpoint. Choices
'"AED|AFN|ALL|AMD|ANG|AOA|ARS|AUD|AWG|AZN|BAM|BBD|BDT|BGN|BHD|BIF|BMD|BND|BOB|BOV|BRL|BSD|BTN|BWP|BYN|BZD|CAD|CDF|CHE|CHF|CHW|CLF|CLP|CNY|COP|COU|CRC|CUC|CUP|CVE|CZK|DJF|DKK|DOP|DZD|EGP|ERN|ETB|EUR|FJD|FKP|GBP|GEL|GHS|GIP|GMD|GNF|GTQ|GYD|HKD|HNL|HRK|HTG|HUF|IDR|ILS|INR|IQD|IRR|ISK|JMD|JOD|JPY|KES|KGS|KHR|KMF|KPW|KRW|KWD|KYD|KZT|LAK|LBP|LKR|LRD|LSL|LYD|MAD|MDL|MGA|MKD|MMK|MNT|MOP|MRU|MUR|MVR|MWK|MXN|MXV|MYR|MZN|NAD|NGN|NIO|NOK|NPR|NZD|OMR|PAB|PEN|PGK|PHP|PKR|PLN|PYG|QAR|RON|RSD|RUB|RWF|SAR|SBD|SCR|SDG|SEK|SGD|SHP|SLE|SLL|SOS|SRD|SSP|STN|SVC|SYP|SZL|THB|TJS|TMT|TND|TOP|TRY|TTD|TWD|TZS|UAH|UGX|USD|USN|UYI|UYU|UYW|UZS|VED|VES|VND|VUV|WST|XAF|XAG|XAU|XBA|XBB|XBC|XBD|XCD|XDR|XOF|XPD|XPF|XPT|XSU|XTS|XUA|XXX|YER|ZAR|ZMW|ZWL"'
|
| filename | string |
File name of the PDF model file. |
| model | URI |
This URL should point to a valid model resource that has already been uploaded. |
| notes | string |
notes or errors on transaction |
| status | string |
Status of conversion. 2nd Email or payment needed to trigger conversion Choices
'"new|pending|submitted|estimate-completed|approval-requested|approval-failed|conversion-approved|conversion-completed|complete|error"'
|
| updated | iso-8601 datetime |
When the ZVerse conversion was updated |
| uri | URI |
The URL of this very ZVerseConversion. |
| zverse_id | string |
ZVerse internal ID tracking # |
Responses
| Status Code | Description |
|---|---|
| 200 |
The request was successful |
| 403 |
You are not authorized to complete the request. |
| 404 |
The requested record cannot be found. |