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
Header
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
Parameter | Description |
---|---|
order_id | Order ID. |
asset_type | e57, xyz |
upload_type | url/single/multi |
total_parts | For multipart only, specifies number of parts |
url | For url only, accepts direct download link to asset |
Response Body
Parameter | Description |
---|---|
upload_url | Presigned URL. (Single only) |
expires_in | URL expiration time (in seconds). |
upload_id | Upload ID for multipart reference. |
part_urls | Part 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
Parameter | Description |
---|---|
asset_id | Asset Identifier |
Response Body
Parameter | Description |
---|---|
url | Presigned URL. |
expires_in | URL 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
}
}
}