The Connect API allows you to programmatically access your project data. All API requests require authentication using your project-specific API key.
With this API, you can retrieve various project resources including table definitions, operation flows, screen designs, system architectures, and more.
All API requests require an API key which should be included in the request headers.
X-API-Key: your_api_key_hereYou can obtain your API key from your project settings. Each API key is scoped to a specific project, and will only work for resources within that project.
curl -X GET "https://gearindigo.app/api/connect/v1/projects/{project_id}" \
-H "X-API-Key: your_api_key_here"fetch('https://gearindigo.app/api/connect/v1/projects/{project_id}', {
method: 'GET',
headers: {
'X-API-Key': 'your_api_key_here'
}
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));import requests
url = "https://gearindigo.app/api/connect/v1/projects/{project_id}"
headers = {
"X-API-Key": "your_api_key_here"
}
response = requests.get(url, headers=headers)
data = response.json()
print(data)https://gearindigo.app/api/connect/v1/projects/{project_id}Retrieves details for a specific project.
| Parameter | Type | Description |
|---|---|---|
| project_id | string | The unique identifier for the project |
{
"data": {
"id": "project_123",
"name": "Example Project",
"description": "This is a sample project",
"created_at": "2023-06-01T12:00:00Z",
"updated_at": "2023-06-15T14:30:00Z",
"owner_id": "user_456",
"status": "active"
},
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}/projects/{project_id}/table-definitionsRetrieves all table definitions for a specific project.
| Parameter | Type | Description |
|---|---|---|
| project_id | string | The unique identifier for the project |
| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | integer | No | Maximum number of records to return (default: 20, max: 100) |
| offset | integer | No | Number of records to skip (default: 0) |
{
"data": [
{
"id": "table_def_123",
"name": "users",
"description": "Users table containing account information",
"fields": [
{
"name": "id",
"type": "uuid",
"primary_key": true,
"description": "Unique identifier for the user"
},
{
"name": "email",
"type": "string",
"unique": true,
"description": "User's email address"
},
{
"name": "created_at",
"type": "timestamp",
"description": "When the user was created"
}
],
"created_at": "2023-06-01T12:00:00Z",
"updated_at": "2023-06-15T14:30:00Z"
},
// Additional table definitions
],
"meta": {
"total": 12,
"limit": 20,
"offset": 0
},
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}/projects/{project_id}/table-definitions/{table_def_id}Use this endpoint to retrieve a specific table definition by ID.
Access ASIS and TOBE operation flows
/projects/{project_id}/asis-operation-flowsRetrieves all as-is operation flows for a specific project.
/projects/{project_id}/tobe-operation-flowsRetrieves all to-be operation flows for a specific project.
{
"data": [
{
"id": "flow_123",
"name": "User Registration Flow",
"description": "Process for new user registration",
"flow_data": {
"nodes": [
// Flow node objects
],
"edges": [
// Flow edge objects
]
},
"created_at": "2023-06-01T12:00:00Z",
"updated_at": "2023-06-15T14:30:00Z"
},
// Additional flows
],
"meta": {
"total": 8,
"limit": 20,
"offset": 0
},
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}Access screen-related resources including lists, UIs, and transitions
/projects/{project_id}/screens-listsRetrieves the list of all screens for a specific project.
/projects/{project_id}/screen-uisRetrieves all screen UI designs for a specific project.
/projects/{project_id}/screen-transitionsRetrieves all screen transition flows for a specific project.
Access system architecture, ER diagrams, and sequence diagrams
/projects/{project_id}/system-architecturesRetrieves system architecture diagrams and documentation.
/projects/{project_id}/er-diagramsRetrieves entity-relationship diagrams for the project.
/projects/{project_id}/sequence-diagramsRetrieves sequence diagrams showing interaction flows.
Access functional and non-functional requirements
/projects/{project_id}/requirements-listsRetrieves all requirements for the project.
/projects/{project_id}/functions-listsRetrieves all function specifications for the project.
/projects/{project_id}/non-functions-listsRetrieves all non-functional requirements for the project.
Other available project resources
/projects/{project_id}/backend-handles-listsRetrieves backend API endpoints and handlers for the project.
/projects/{project_id}/common-componentsRetrieves reusable components defined in the project.
/projects/{project_id}/system-abstractionsRetrieves high-level system abstractions and models.
Endpoints that return multiple items support pagination through the limit and offset query parameters.
| Parameter | Description |
|---|---|
| limit | Number of records to return (default: 20, max: 100) |
| offset | Number of records to skip (default: 0) |
Paginated responses include a meta object with pagination information:
{
"data": [...],
"meta": {
"total": 42, // Total number of records
"limit": 20, // Current limit
"offset": 20 // Current offset
},
"request_id": "..."
}The API uses standard HTTP status codes to indicate the success or failure of requests. In case of an error, the response will include an error code and message.
{
"error": {
"code": "ERROR_CODE",
"message": "Error message providing more details"
},
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}| Status Code | Error Code | Description |
|---|---|---|
| 400 | INVALID_REQUEST | The request contains invalid parameters |
| 401 | AUTHENTICATION_ERROR | Invalid or missing API key |
| 403 | AUTHORIZATION_ERROR | Access to the requested resource is forbidden |
| 404 | RESOURCE_NOT_FOUND | The requested resource was not found |
| 500 | INTERNAL_ERROR | An internal server error occurred |