file_id.
Endpoint overview
HTTP Method
GET
Endpoint URL
Authentication
This endpoint requires authentication using an API token. Include your API token as a Bearer token in theAuthorization header.
Learn how to create and manage API tokens in the API Tokens guide.
Request format
Headers
| Header | Value | Required |
|---|---|---|
Authorization | Bearer YOUR_API_TOKEN | Yes |
Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
file_ids | list of strings | No | If provided, only sources whose file_id is in this list are returned. Repeat the parameter for multiple IDs (e.g. ?file_ids=id1&file_ids=id2). |
file_ids is omitted, the response includes all sources in the project.
Response format
Success response (200 OK)
The endpoint returns a JSON array of source objects. Each object includes file metadata, status, and message:Response fields
| Field | Type | Description |
|---|---|---|
status | string | Current processing status (from backend): e.g. New, Processing, Processed, Completed, Failed, Processing failed, or unknown |
message | string | Human-readable status message |
file_id | string | Unique identifier for the source (use for subsequent API calls) |
file_name | string | Display name of the source file or identifier |
file_size | integer | File size in bytes (0 for URL/GitHub/YouTube sources) |
file_type | string | File extension or type |
file_source | string | Origin: local file, url, github, or youtube |
project_id | string | UUID of the project |
project_name | string | Name of the project |
method | string | null | Partitioning strategy used: fast, balanced, accurate, vlm, or agentic (when available) |
Status values
Thestatus field is returned with capitalisation as stored in the backend (e.g. New, Completed). Typical values:
| Status | Message | Description |
|---|---|---|
New | ”Source uploaded, awaiting processing” | Upload/ingestion accepted; processing has not started yet |
Processing | ”Source is being processed” | Pipeline is running (partitioning, chunking, embedding) |
Processed | ”Source has been processed” | Source has been processed (intermediate or final state) |
Completed | ”Source processed successfully” | Ready for ask, extract, retrieve, and get elements |
Failed | ”Source processing failed” | Processing encountered an error; consider reprocessing |
Processing failed | ”Source status: Processing failed” | Pipeline failed during processing |
unknown | ”Source status: …” | Status could not be determined (e.g. when status is null) |
File Source Types
| Source Type | Description | Typical Use Cases |
|---|---|---|
local file | Files uploaded directly from your computer | Documents, PDFs, images, spreadsheets |
url | Content imported from web URLs | Web pages, articles, online documents |
github | Content imported from GitHub repositories | Code documentation, README files, wikis |
youtube | Content imported from YouTube videos | Video transcripts, educational content |
Code examples
JavaScript/Node.js
Python
cURL
Error responses
Common error codes
| Status code | Description |
|---|---|
401 | Invalid or missing API token |
403 | Access denied to the project |
500 | Unexpected internal error while retrieving sources |
Error response format
Response analysis
Filtering and processing results
Status monitoring
Integration Examples
Project Health Check
Source Management Dashboard
Automated Processing Pipeline
Best Practices
Performance Optimization
- Cache results: Store the response locally for a reasonable period
- Filter client-side: Process the full list to extract specific information you need
- Monitor regularly: Set up automated checks for processing status
- Batch operations: Use the list to plan batch processing operations
Data Management
- Track processing times: Monitor how long documents take to process
- Identify patterns: Look for file types or sizes that frequently fail
- Maintain logs: Keep records of source management activities
- Plan capacity: Use file counts and sizes for storage planning
Error Handling
- Implement retries: Handle temporary network issues with exponential backoff
- Log failures: Keep detailed logs of API failures for debugging
- Monitor status: Regularly check for failed processing jobs
- Graceful degradation: Have fallback plans when the API is unavailable
Troubleshooting
Slow response times
Slow response times
Causes: Large number of sources, server load, or network issuesSolutions:
- Implement request timeouts (30+ seconds recommended)
- Use response caching for non-critical applications
- Consider pagination if available in future API versions
Empty response
Empty response
Causes: No sources in project, wrong API token, or permission issuesSolutions:
- Verify you have uploaded documents to your project
- Check that your API token is correct and active
- Ensure you’re accessing the right project
Inconsistent status information
Inconsistent status information
Causes: Processing lag, system sync issues, or database inconsistenciesSolutions:
- Wait a few minutes and retry the request
- Check the Graphor dashboard for accurate status
- Contact support if inconsistencies persist
Authentication errors
Authentication errors
Causes: Invalid token, expired token, or revoked accessSolutions:
- Verify token format and validity
- Check token hasn’t been revoked in dashboard
- Generate a new token if necessary
Next steps
After listing your sources:Upload sources
Ingest files, URLs, GitHub repos, or YouTube videos (async)
Reprocess source
Re-process an existing source with a different partition method (async)
Delete source
Remove a source from your project
Get build status
Poll status and optional elements for an async ingestion or reprocess

