Endpoint Overview
HTTP Method
POST
Authentication
This endpoint requires authentication using an API token. Include your API token as a Bearer token in the Authorization 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 |
Content-Type | application/json | ✅ Yes |
Request Body
Send a JSON body with the following field:| Field | Type | Description | Required |
|---|---|---|---|
url | string | The GitHub repository URL to ingest (e.g., https://github.com/org/repo) | ✅ Yes |
Repository Requirements
Supported URLs
Supported URLs
- Public GitHub repositories
- HTTPS URLs (
https://github.com/...)
Access requirements
Access requirements
- Only public repositories are supported via this endpoint
- Private repository ingestion is not supported
Response Format
Success Response (200 OK)
Response Fields
| Field | Type | Description |
|---|---|---|
status | string | Processing status (New, Processing, Completed, Failed, etc.) |
message | string | Human-readable status message |
file_name | string | The repository URL |
file_size | integer | Size in bytes (0 for initial GitHub record) |
file_type | string | Detected file type (when applicable) |
file_source | string | Source type (github) |
project_id | string | UUID of the project |
project_name | string | Name of the project |
partition_method | string | Document processing method used |
Code Examples
JavaScript/Node.js
Python
cURL
Error Responses
Common Error Codes
| Status Code | Error Type | Description |
|---|---|---|
400 | Bad Request | Invalid or missing URL, malformed JSON |
401 | Unauthorized | Invalid or missing API token |
403 | Forbidden | Access denied to the specified project |
404 | Not Found | Project or source not found |
500 | Internal Server Error | Error during repository processing |
Error Response Format
Error Examples
Invalid URL (400)
Invalid URL (400)
Invalid API Token (401)
Invalid API Token (401)
Document Processing
After a successful request, Graphor begins processing the GitHub source in the background.Processing Stages
- Request Accepted - The request is validated and scheduled
- Repository Fetch - Repository content is retrieved
- Text Extraction - Content is extracted and normalized
- Structure Recognition - Document elements are identified and classified
- Ready for Use - Content is available for chunking and retrieval
You can reprocess sources using the Process Source endpoint after ingestion.
Best Practices
- Provide valid repository URLs: Use the canonical HTTPS GitHub URL
- Public repositories only: Private repositories are not supported
- Retry logic: Implement retries for transient network issues

