Get Upload
Get Upload
GET
/api/portal/v1/charts/uploads/{id}
Description
Return the upload record with the given id. The upload must belong to the caller’s account.
Authentication
This endpoint requires a Bearer token in the Authorization header.
- Authorization:
Bearer <token>. A valid Portal API session token or API token.
Path Parameters
- id: The
idof the upload to retrieve.
Response Schema
The endpoint returns a single upload record.
upload.id: The unique identifier for the upload.upload.filename: The sanitized original filename.upload.fileSize: The size of the uploaded file in bytes.upload.status: The processing status of the upload. See Charts for the full lifecycle.upload.createdAt: Timestamp when the upload was received, in milliseconds since unix epoch.upload.updatedAt: Timestamp when the upload record was last modified, in milliseconds since unix epoch.upload.uploaderEmail: The email of the user who uploaded the file.upload.totalCharts: The total number of chart cells contained in the upload.upload.expiredCharts: The number of chart cells in the upload that are past their expiry date.upload.logs: An array of log entries emitted by the ingestion job. Each entry hastimestamp(ISO 8601 UTC string),type(one ofinfo,warning,error), andmessage.
Error Responses
- 401 Unauthorized: The
Authorizationheader is missing or the token is not valid. - 404 Not Found: No upload exists with the given
idon the caller’s account.
Example Request
GET https://<your-host>:9909/api/portal/v1/charts/uploads/5
Authorization: Bearer <token>
Example Response
Status Code: 200 OK
Response Body:
{
"upload": {
"id": 5,
"filename": "US5MA10M.000",
"fileSize": 104857600,
"status": "succeeded",
"createdAt": 1736942400000,
"updatedAt": 1736946000000,
"uploaderEmail": "example@zydromarine.com",
"totalCharts": 12,
"expiredCharts": 2,
"logs": [
{
"timestamp": "2026-01-15T08:00:10.000+00:00",
"type": "info",
"message": "Indexing 12 cells"
}
]
}
}