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
 

