Skip to content

Runtime Artifacts API

Upload, inspect, download, export, and delete temporary account artifacts.
MethodPathRequestResponse
POST/api/artifactsBinary body + name queryRuntimeArtifactEnvelope
GET/api/artifactsRuntimeArtifactList
GET/api/artifacts/{artifactId}path parameterRuntimeArtifactEnvelope
GET/api/artifacts/{artifactId}/contentpath parameterBinary content
POST/api/artifacts/{artifactId}/public-urlArtifactExportRequestArtifactExportResult
DELETE/api/artifacts/{artifactId}path parameter{ deleted: true }
POST /api/artifacts?name={filename}

Send the file bytes as the request body. The Content-Type header becomes the artifact MIME type.

Terminal window
curl "https://app.dexto.ai/api/artifacts?name=report.pdf" \
-H "Authorization: Bearer $DEXTO_API_KEY" \
-H "Content-Type: application/pdf" \
--data-binary @report.pdf
InputHTTP typeRequiredDescription
namequeryYesOriginal filename
Content-TypeheaderNoDefaults to binary content
request bodybytesYesNon-empty file content
GET /api/artifacts
Terminal window
curl "https://app.dexto.ai/api/artifacts?limit=50" \
-H "Authorization: Bearer $DEXTO_API_KEY"

The list includes uploaded artifacts and completed Media outputs in the same account.

Response fieldJSON typeRequiredDescription
artifactsarray<RuntimeArtifact>YesOne bounded artifact page
artifacts[].idstringYesArtifact identifier
artifacts[].namestringYesOriginal filename
artifacts[].mimeTypestringYesMedia type
artifacts[].sizenumberYesSize in bytes
artifacts[].createdAtstring | nullYesISO-8601 creation timestamp
artifacts[].urlstringYesAuthenticated content path
version1YesResponse contract version
nextCursorstring | nullYesCursor for the next page
GET /api/artifacts/{artifactId}/content
Terminal window
curl https://app.dexto.ai/api/artifacts/$ARTIFACT_ID/content \
-H "Authorization: Bearer $DEXTO_API_KEY" \
--output report.pdf

The response body contains the original bytes and returns the stored MIME type in Content-Type.

POST /api/artifacts/{artifactId}/public-url
Terminal window
curl https://app.dexto.ai/api/artifacts/$ARTIFACT_ID/public-url \
-H "Authorization: Bearer $DEXTO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"purpose":"download","ttlSeconds":900}'
Request fieldJSON typeRequiredDescription
purposestringNodownload, preview, provider input, or other
ttlSecondsnumberNoPositive lifetime bounded by the service maximum
DELETE /api/artifacts/{artifactId}
Terminal window
curl -X DELETE https://app.dexto.ai/api/artifacts/$ARTIFACT_ID \
-H "Authorization: Bearer $DEXTO_API_KEY"