Skip to main content
GET
/
api
/
data-platform
/
file-ingestions
List file ingestions for data platform
curl --request GET \
  --url https://app.solya.app/api/data-platform/file-ingestions \
  --header 'Authorization: Bearer <token>'
{
  "data": [
    {
      "blobPath": "landing/org-uuid-1/2026-05-01/sales.csv",
      "channel": "data-platform",
      "checksumSha256": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2",
      "createdAt": "2026-05-01T08:00:00.000Z",
      "fileSizeBytes": 1048576,
      "fileType": "csv",
      "id": "fi-uuid-1",
      "ingestionSource": "client-importer",
      "organizationId": "org-uuid-1",
      "originalFilename": "sales_may_2026.csv",
      "sourceSystem": "POLARIS",
      "status": "INGESTED",
      "updatedAt": "2026-05-01T08:05:00.000Z"
    },
    {
      "blobPath": "landing/org-uuid-1/2026-05-02/stock.csv",
      "channel": "data-platform",
      "checksumSha256": "b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3",
      "createdAt": "2026-05-02T07:00:00.000Z",
      "fileSizeBytes": 512000,
      "fileType": "csv",
      "id": "fi-uuid-2",
      "ingestionSource": "client-importer",
      "organizationId": "org-uuid-1",
      "originalFilename": "stock_may_2026.csv",
      "sourceSystem": "POLARIS",
      "status": "UPLOADED",
      "updatedAt": null
    }
  ],
  "limit": 50,
  "offset": 0,
  "total": 2
}

Authorizations

Authorization
string
header
required

Static internal-ops token used by the data platform and internal cron jobs (e.g. zombie-run sweep). Validated via requireBearerToken inside the handler against a service-specific environment variable.

Query Parameters

organizationId
string
required

Organization that owns the file ingestions to list

Minimum string length: 1
status
enum<string>

Filter by ingestion status (UPLOADED, INGESTED, ERROR, DELETED)

Available options:
UPLOADED,
INGESTED,
ERROR,
DELETED
fileType
enum<string>

Filter by file format (csv, excel, json, parquet, etc.)

Available options:
csv,
tsv,
excel,
sql,
json,
xml,
parquet,
database_dump,
image,
other
sourceSystem
string

Filter by source POS system identifier

receivedAfter
string<date-time>

Return only ingestions received at or after this ISO 8601 timestamp

Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
receivedBefore
string<date-time>

Return only ingestions received at or before this ISO 8601 timestamp

Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
limit
integer
default:50

Maximum number of records to return (1–200, default 50)

Required range: x <= 200
offset
integer
default:0

Number of records to skip for pagination

Required range: 0 <= x <= 9007199254740991

Response

Successful response

data
object
required
success
enum<boolean>
required
Available options:
true