Skip to Content

GraphQL API - Assets

The Assets API provides comprehensive functionality for managing and querying digital assets within the Layer One platform. Assets represent files, documents, models, and other digital resources in your projects.

How to place an order - Initialize Upload

Summary

Begin by initializing a draft order, create upload sessions to upload required assets via pre-signed URLs, then finalize the order to validate inputs and submit it for processing.

Assets Endpoint

Production: https://api.integrated-projects.com/v1/graphql
Staging: https://staging-api.integrated-projects.com/v1/graphql

Authorization: Bearer <access_token>

Upload Reference Example

mutation { initializeUpload(order_id:"194cce76-172b-4465-b59e-18e4ee8dd820", asset_type: "xyz", upload_type: "url", url: "https://ip-public-docs.s3.us-east-1.amazonaws.com/test_pointclouds/ small-test.xyz"){ asset_id asset_type upload_url expires_in part_urls upload_id asset_type upload_url upload_type } }

Upload Flow

• App sends a request to start an upload session (API expects a xyz or e57 file input) • User decides on upload method, url, single, multi • If url method, supply a download url via the “url” param • If single, API will return a presigned url to upload the file (good for files up to 5 GB) • If multi, API expects “total_parts” as an input, will return parts_urls object(PartNumber, signedUrl)) and the upload_id • If multi, user needs to save PartNumber and Etag, and original upload_id to submit back to finalizeUpload endpoint.

Request Body

ParameterDescription
order_idOrder ID.
asset_typee57, xyz
upload_typeurl/single/multi
total_partsFor multipart only, specifies number of parts
urlFor url only, accepts direct download link to asset

Response Body

ParameterDescription
upload_urlPresigned URL. (Single only)
expires_inURL expiration time (in seconds).
upload_idUpload ID for multipart reference.
part_urlsPart numbers, and presigned urls (multipart only)

How to receive an order - Initialize Download

Summary

Once processing is complete, start a download session to receive a pre-signed download URL and use it to securely retrieve the final output.

Download Flow

• App starts download session once order status is completed. • Using pre-signed URL from download session, download assets.

Download Assets Example

mutation { initializeDownload(asset_id:"a9e270fd-c98c-4656-a030-41a9add8ea0b"){ asset_id download_url expires_in } }

Request Body

ParameterDescription
asset_idAsset Identifier

Response Body

ParameterDescription
urlPresigned URL.
expires_inURL expiration time (in seconds).

Response Example

{ "data": { "initializeDownload": { "asset_id": "a9e270fd-c98c-4656-a030-41a9add8ea0b", "download_url": "https://ip-private-files-488741516777-prod.s3-accelerate.amazonaws.com/reporting/area_plan/81cfe88b-a211-4531-be1e-680256f52f9f/81cfe88b-a211-4531-be1e-680256f52f9f_area_plan_1749100775807.pdf?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAX6Q2DMXU2MN23V23%2F20250609%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20250609T070390Z&X-Amz-Expires=86400&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEAwIaBAAGXxVhc3QtMSJHMEQCIQDe+bNCer+FbRPY4xrv6CkT6J1uRd2VERATAZ0Qnrjb4pYphb0V0Pvv6i2PpbzgSJvhY2PChVdSRt2BN%2BAAqDeqGUzSGH2BLe3r4hDxG0LPzJvhYvRcHMxtpZT3K4hZqGbOKqWpLPRYQSPg56P%2B5BLoCYVFrJoJVcGr2YNLzFaawstGLzFewpQLaiCbxf2ZX-Amz-SignedHeaders%3Dhost%2C", "expires_in": 86400 } } }
Last updated on