### Get Project Details Source: https://github.com/timurkhakhalev/erc3/blob/docs/docs/api/erc3-dev/examples.md Retrieve detailed information for a specific project. ```APIDOC ## POST /erc3-dev/task-789/projects/get ### Description Retrieves detailed information for a specific project. ### Method POST ### Endpoint /erc3-dev/task-789/projects/get ### Parameters #### Request Body - **tool** (string) - Required - Specifies the tool to be used, should be "/projects/get". - **id** (string) - Required - The unique identifier of the project. ### Request Example ```json { "tool": "/projects/get", "id": "proj-001" } ``` ### Response #### Success Response (200) - **project** (object) - An object containing the project's details. #### Response Example ```json { "project": { "id": "proj-001", "name": "Website Redesign", "status": "active", "team": [ { "employee": "emp-001", "time_slice": 0.5, "role": "Lead" } ] } } ``` ``` -------------------------------- ### Start ERC3 Session using cURL Source: https://github.com/timurkhakhalev/erc3/blob/docs/README.md Example of how to start a session with the ERC3 API using cURL. It demonstrates the POST request, JSON content type, and the JSON payload containing the account key and benchmark name. Authentication is handled by including the 'account_key' within the request body. ```bash curl -X POST https://erc.timetoact-group.at/start_session \ -H "Content-Type: application/json" \ -d '{"account_key": "key-your-api-key", "benchmark": "store"}' ``` -------------------------------- ### Search Customers by Deal Phase with ERC3-Dev API Source: https://github.com/timurkhakhalev/erc3/blob/docs/docs/api/erc3-dev/examples.md Search for customers based on query terms and their deal phase. This example searches for customers related to 'tech' that are in 'active' or 'exploring' deal phases, using the '/customers/search' endpoint with specified offset and limit. ```bash curl -X POST "https://erc.timetoact-group.at/erc3-dev/task-789/customers/search" \ -H "Content-Type: application/json" \ -d '{ "tool": "/customers/search", "query": "tech", "deal_phase": ["active", "exploring"], "offset": 0, "limit": 20 }' ``` -------------------------------- ### Search Wiki Articles with Regex using ERC3-Dev API Source: https://github.com/timurkhakhalev/erc3/blob/docs/docs/api/erc3-dev/examples.md Search for wiki articles using a regular expression pattern. This example uses the '/wiki/search' endpoint with 'vacation.*policy' to find relevant articles. It highlights the flexibility of using regex for content discovery. ```bash curl -X POST "https://erc.timetoact-group.at/erc3-dev/task-789/wiki/search" \ -H "Content-Type: application/json" \ -d '{ "tool": "/wiki/search", "query_regex": "vacation.*policy" }' ``` -------------------------------- ### POST /sessions/start Source: https://github.com/timurkhakhalev/erc3/blob/docs/docs/api/core/sessions.md Creates and starts a new evaluation session for a specified benchmark and workspace. ```APIDOC ## POST /sessions/start ### Description Creates and starts a new evaluation session. ### Method POST ### Endpoint /sessions/start ### Parameters #### Request Body - **account_key** (string) - Required - API authentication key. - **benchmark** (string) - Required - Benchmark ID to evaluate. - **workspace** (string) - Required - Workspace identifier. - **name** (string) - Optional - Session display name. - **architecture** (string) - Optional - System architecture identifier. ### Request Example ```json { "account_key": "key-abc123def456...", "benchmark": "benchmark-1", "workspace": "workspace-name", "name": "My Evaluation Session", "architecture": "x86_64" } ``` ### Response #### Success Response (200) - **session_id** (string) - The unique identifier of the newly created session. - **task_count** (integer) - The total number of tasks assigned to this session. #### Response Example ```json { "session_id": "session-123", "task_count": 10 } ``` ``` -------------------------------- ### API Key Authentication Example Source: https://github.com/timurkhakhalev/erc3/blob/docs/docs/api/overview.md Demonstrates the required format for API key authentication. The API key must be passed in the request body as a JSON object with the key 'account_key' and must start with the 'key-' prefix. ```JSON { "account_key": "key-abc123def456..." } ``` -------------------------------- ### Search Employees by Skills with ERC3-Dev API Source: https://github.com/timurkhakhalev/erc3/blob/docs/docs/api/erc3-dev/examples.md This example demonstrates searching for employees based on specified skills, such as 'Python' with a minimum level of 3 and maximum of 5. The search can be further refined by 'engineer' query, location, offset, and limit. It utilizes the '/employees/search' endpoint. ```bash curl -X POST "https://erc.timetoact-group.at/erc3-dev/task-789/employees/search" \ -H "Content-Type: application/json" \ -d '{ "tool": "/employees/search", "query": "engineer", "offset": 0, "limit": 20, "location": "New York", "skills": [ { "name": "Python", "min_level": 3, "max_level": 5 } ] }' ``` -------------------------------- ### Start Session Source: https://github.com/timurkhakhalev/erc3/blob/docs/README.md Initiates a new session for a specified benchmark. Requires an account key and benchmark name in the request body. ```APIDOC ## POST /start_session ### Description Initiates a new session for a specified benchmark. Requires an account key and benchmark name in the request body. ### Method POST ### Endpoint https://erc.timetoact-group.at/start_session ### Parameters #### Request Body - **account_key** (string) - Required - Your API account key. - **benchmark** (string) - Required - The name of the benchmark to start (e.g., "store"). ### Request Example ```json { "account_key": "key-your-api-key", "benchmark": "store" } ``` ### Response #### Success Response (200) - **session_id** (string) - The unique identifier for the started session. - **status** (string) - The status of the session initiation. #### Response Example ```json { "session_id": "sess_abc123xyz", "status": "started" } ``` ``` -------------------------------- ### Search Wiki Articles Source: https://github.com/timurkhakhalev/erc3/blob/docs/docs/api/erc3-dev/examples.md Search for wiki articles using a regular expression. ```APIDOC ## POST /erc3-dev/task-789/wiki/search ### Description Searches for wiki articles using a regular expression. ### Method POST ### Endpoint /erc3-dev/task-789/wiki/search ### Parameters #### Request Body - **tool** (string) - Required - Specifies the tool to be used, should be "/wiki/search". - **query_regex** (string) - Required - The regular expression to search wiki articles with. ### Request Example ```json { "tool": "/wiki/search", "query_regex": "vacation.*policy" } ``` ### Response #### Success Response (200) - **articles** (array) - A list of matching wiki article file paths. #### Response Example ```json { "articles": [ "/policies/vacation.md" ] } ``` ``` -------------------------------- ### Load Wiki Article Source: https://github.com/timurkhakhalev/erc3/blob/docs/docs/api/erc3-dev/examples.md Load the content of a specific wiki article. ```APIDOC ## POST /erc3-dev/task-789/wiki/load ### Description Loads the content of a specific wiki article. ### Method POST ### Endpoint /erc3-dev/task-789/wiki/load ### Parameters #### Request Body - **tool** (string) - Required - Specifies the tool to be used, should be "/wiki/load". - **file** (string) - Required - The path to the wiki article file. ### Request Example ```json { "tool": "/wiki/load", "file": "/policies/vacation.md" } ``` ### Response #### Success Response (200) - **content** (string) - The content of the wiki article. #### Response Example ```json { "content": "# Vacation Policy\n\nThis is the vacation policy." } ``` ``` -------------------------------- ### Get Employee Details Source: https://github.com/timurkhakhalev/erc3/blob/docs/docs/api/erc3-dev/examples.md Retrieve detailed information for a specific employee. ```APIDOC ## POST /erc3-dev/task-789/employees/get ### Description Retrieves detailed information for a specific employee. ### Method POST ### Endpoint /erc3-dev/task-789/employees/get ### Parameters #### Request Body - **tool** (string) - Required - Specifies the tool to be used, should be "/employees/get". - **id** (string) - Required - The unique identifier of the employee. ### Request Example ```json { "tool": "/employees/get", "id": "emp-001" } ``` ### Response #### Success Response (200) - **employee** (object) - An object containing the employee's details. #### Response Example ```json { "employee": { "id": "emp-001", "name": "Jane Doe", "role": "Software Engineer", "location": "New York", "salary": 80000, "skills": [{"name": "Python", "level": 4}] } } ``` ``` -------------------------------- ### Start New Session Source: https://github.com/timurkhakhalev/erc3/blob/docs/docs/api/workflows.md Initiates a new performance testing session with specified parameters. ```APIDOC ## POST /sessions/start ### Description Initiates a new performance testing session with specified parameters. ### Method POST ### Endpoint https://erc.timetoact-group.at/sessions/start ### Parameters #### Request Body - **account_key** (string) - Required - The API key obtained from `/get_key`. - **benchmark** (string) - Required - The ID of the benchmark to run. - **workspace** (string) - Required - The name of the workspace for the session. - **name** (string) - Required - A descriptive name for the session. - **architecture** (string) - Required - The system architecture (e.g., 'x86_64'). ### Request Example ```json { "account_key": "key-abc123def456...", "benchmark": "benchmark-1", "workspace": "my-workspace", "name": "Test Session", "architecture": "x86_64" } ``` ### Response #### Success Response (200) - **session_id** (string) - The unique identifier for the newly created session. #### Response Example ```json { "session_id": "session-123" } ``` ``` -------------------------------- ### Get Project Details with ERC3-Dev API Source: https://github.com/timurkhakhalev/erc3/blob/docs/docs/api/erc3-dev/examples.md Retrieve detailed information about a specific project using its ID. The '/projects/get' endpoint is used, and the project's unique identifier must be provided in the JSON payload. ```bash curl -X POST "https://erc.timetoact-group.at/erc3-dev/task-789/projects/get" \ -H "Content-Type: application/json" \ -d '{ "tool": "/projects/get", "id": "proj-001" }' ``` -------------------------------- ### Start Session API Request (JSON) Source: https://github.com/timurkhakhalev/erc3/blob/docs/docs/api/core/sessions.md This snippet shows the JSON format for starting a new evaluation session. It requires an account key, benchmark ID, and workspace, with optional parameters for session name and architecture. The response includes the new session ID and the total task count. ```json { "account_key": "key-abc123def456...", "benchmark": "benchmark-1", "workspace": "workspace-name", "name": "My Evaluation Session", "architecture": "x86_64" } ``` -------------------------------- ### Search Customers Source: https://github.com/timurkhakhalev/erc3/blob/docs/docs/api/erc3-dev/examples.md Search for customers based on query, deal phase, and other filters. ```APIDOC ## POST /erc3-dev/task-789/customers/search ### Description Searches for customers based on provided criteria. ### Method POST ### Endpoint /erc3-dev/task-789/customers/search ### Parameters #### Request Body - **tool** (string) - Required - Specifies the tool to be used, should be "/customers/search". - **query** (string) - Optional - The search query for customer names or details. - **deal_phase** (array) - Optional - Filters customers by their deal phase (e.g., "active", "exploring"). - **offset** (integer) - Optional - The number of records to skip. - **limit** (integer) - Optional - The maximum number of records to return. ### Request Example ```json { "tool": "/customers/search", "query": "tech", "deal_phase": ["active", "exploring"], "offset": 0, "limit": 20 } ``` ### Response #### Success Response (200) - **customers** (array) - A list of matching customer objects. #### Response Example ```json { "customers": [ { "id": "cust-001", "name": "Tech Solutions Inc.", "deal_phase": "active" } ] } ``` ``` -------------------------------- ### Start Session Source: https://context7.com/timurkhakhalev/erc3/llms.txt Initiates a new evaluation session for a specified benchmark. This endpoint requires an account key and benchmark ID, and allows for configuration of workspace, session name, and architecture. ```APIDOC ## POST /sessions/start ### Description Creates a new evaluation session with multiple tasks for a specific benchmark. ### Method POST ### Endpoint /sessions/start ### Parameters #### Request Body - **account_key** (string) - Required - The authentication key obtained from the 'Get API Key' endpoint. - **benchmark** (string) - Required - The ID of the benchmark to run. - **workspace** (string) - Required - The workspace for the evaluation session. - **name** (string) - Optional - A descriptive name for the session. - **architecture** (string) - Optional - The system architecture (e.g., 'x86_64'). ### Request Example ```json { "account_key": "key-abc123def456789", "benchmark": "store", "workspace": "production-eval", "name": "Store Benchmark Run 2024-01", "architecture": "x86_64" } ``` ### Response #### Success Response (200) - **session_id** (string) - The unique identifier for the newly created session. - **task_count** (integer) - The number of tasks included in the session. #### Response Example ```json { "session_id": "session-550e8400-e29b-41d4-a716", "task_count": 15 } ``` ``` -------------------------------- ### Start New Session with curl Source: https://github.com/timurkhakhalev/erc3/blob/docs/docs/api/workflows.md Initiates a new benchmark session. Requires an account key, benchmark identifier, workspace name, session name, and architecture. Returns a session ID for further tracking. ```bash curl -X POST https://erc.timetoact-group.at/sessions/start \ -H "Content-Type: application/json" \ -d '{ "account_key": "key-abc123def456...", "benchmark": "benchmark-1", "workspace": "my-workspace", "name": "Test Session", "architecture": "x86_64" }' ``` -------------------------------- ### Submit Agent Response with ERC3-Dev API Source: https://github.com/timurkhakhalev/erc3/blob/docs/docs/api/erc3-dev/examples.md Submit a response from an agent, indicating the outcome of an operation and providing relevant links. This example shows how to send a success message with employee links using the '/respond' endpoint. ```bash curl -X POST "https://erc.timetoact-group.at/erc3-dev/task-789/respond" \ -H "Content-Type: application/json" \ -d '{ "tool": "/respond", "message": "Found 5 matching employees", "outcome": "ok_answer", "links": [ { "kind": "employee", "id": "emp-001" } ] }' ``` -------------------------------- ### Update Wiki Article Content with ERC3-Dev API Source: https://github.com/timurkhakhalev/erc3/blob/docs/docs/api/erc3-dev/examples.md Update the content of an existing wiki article. This example shows how to modify the '/policies/vacation.md' file with new content using the '/wiki/update' endpoint. Ensure the 'content' field contains the desired markdown. ```bash curl -X POST "https://erc.timetoact-group.at/erc3-dev/task-789/wiki/update" \ -H "Content-Type: application/json" \ -d '{ "tool": "/wiki/update", "file": "/policies/vacation.md", "content": "# Vacation Policy\n\nUpdated policy content..." }' ``` -------------------------------- ### Start Task API Request Source: https://github.com/timurkhakhalev/erc3/blob/docs/docs/api/core/tasks.md Initiates the execution of a task. Supports session-based or ad-hoc modes by providing either a task_id or benchmark/spec_id. ```JSON { "task_id": "task-1", "benchmark": "benchmark-1", "spec_id": "spec-1" } ``` -------------------------------- ### POST /tasks/start Source: https://github.com/timurkhakhalev/erc3/blob/docs/docs/api/core/tasks.md Starts execution of a specific task. This endpoint can be used in session-based mode by providing a `task_id`, or in ad-hoc mode by providing `benchmark` and `spec_id`. ```APIDOC ## POST /tasks/start ### Description Starts execution of a specific task. This endpoint operates in two modes: 1. **Session-based mode**: Provide `task_id` to start a specific task within an existing session. 2. **Ad-hoc mode**: Provide `benchmark` and `spec_id` to start a standalone task outside a session. ### Method POST ### Endpoint /tasks/start ### Parameters #### Request Body - **task_id** (string) - Optional - Task ID from an existing session (session-based mode). - **benchmark** (string) - Optional - Benchmark ID for ad-hoc task creation. - **spec_id** (string) - Optional - Specification ID for ad-hoc task creation. **Note:** Either `task_id` alone OR both `benchmark` and `spec_id` must be provided. ### Request Example ```json { "task_id": "task-1", "benchmark": "benchmark-1", "spec_id": "spec-1" } ``` ### Response #### Success Response (200) - **task_id** (string) - The ID of the task started. - **session_id** (string) - The ID of the session the task belongs to. - **status** (string) - The current status of the task (e.g., "in_progress"). #### Response Example ```json { "task_id": "task-1", "session_id": "session-123", "status": "in_progress" } ``` ``` -------------------------------- ### Start Task (Session-based or Ad-hoc) - Bash Source: https://context7.com/timurkhakhalev/erc3/llms.txt Initiates the execution of a task. This can be a task within an existing session or a standalone, ad-hoc task. For session-based tasks, a task ID is required. For ad-hoc tasks, the benchmark type and specification ID are needed. ```bash # Session-based task curl -X POST https://erc.timetoact-group.at/tasks/start \ -H "Content-Type: application/json" \ -d '{"task_id": "task-001"}' # Ad-hoc task curl -X POST https://erc.timetoact-group.at/tasks/start \ -H "Content-Type: application/json" \ -d '{ "benchmark": "store", "spec_id": "spec-cart-001" }' ``` -------------------------------- ### Update Wiki Article Source: https://github.com/timurkhakhalev/erc3/blob/docs/docs/api/erc3-dev/examples.md Update the content of a specific wiki article. ```APIDOC ## POST /erc3-dev/task-789/wiki/update ### Description Updates the content of a specific wiki article. ### Method POST ### Endpoint /erc3-dev/task-789/wiki/update ### Parameters #### Request Body - **tool** (string) - Required - Specifies the tool to be used, should be "/wiki/update". - **file** (string) - Required - The path to the wiki article file to update. - **content** (string) - Required - The new content for the wiki article. ### Request Example ```json { "tool": "/wiki/update", "file": "/policies/vacation.md", "content": "# Vacation Policy\n\nUpdated policy content..." } ``` ### Response #### Success Response (200) - **status** (string) - Indicates the success of the operation (e.g., "success"). #### Response Example ```json { "status": "success" } ``` ``` -------------------------------- ### Start Evaluation Session using curl Source: https://context7.com/timurkhakhalev/erc3/llms.txt Initiates a new evaluation session for a specified benchmark. Requires an account key, benchmark ID, workspace name, session name, and architecture. Returns a session ID and the total task count for the new session. ```bash curl -X POST https://erc.timetoact-group.at/sessions/start \ -H "Content-Type: application/json" \ -d '{ "account_key": "key-abc123def456789", "benchmark": "store", "workspace": "production-eval", "name": "Store Benchmark Run 2024-01", "architecture": "x86_64" }' ``` -------------------------------- ### Search Employees Source: https://github.com/timurkhakhalev/erc3/blob/docs/docs/api/erc3-dev/examples.md Search for employees based on various criteria such as query, location, and skills. ```APIDOC ## POST /erc3-dev/task-789/employees/search ### Description Searches for employees based on provided criteria. ### Method POST ### Endpoint /erc3-dev/task-789/employees/search ### Parameters #### Request Body - **tool** (string) - Required - Specifies the tool to be used, should be "/employees/search". - **query** (string) - Optional - The search query for employee names or roles. - **offset** (integer) - Optional - The number of records to skip. - **limit** (integer) - Optional - The maximum number of records to return. - **location** (string) - Optional - The location to filter employees by. - **skills** (array) - Optional - A list of skills to filter employees by. Each skill object should have: - **name** (string) - Required - The name of the skill. - **min_level** (integer) - Optional - The minimum skill level. - **max_level** (integer) - Optional - The maximum skill level. ### Request Example ```json { "tool": "/employees/search", "query": "engineer", "offset": 0, "limit": 20, "location": "New York", "skills": [ { "name": "Python", "min_level": 3, "max_level": 5 } ] } ``` ### Response #### Success Response (200) - **employees** (array) - A list of matching employee objects. #### Response Example ```json { "employees": [ { "id": "emp-001", "name": "Jane Doe", "role": "Software Engineer", "location": "New York", "skills": [{"name": "Python", "level": 4}] } ] } ``` ``` -------------------------------- ### Load Wiki Article Content with ERC3-Dev API Source: https://github.com/timurkhakhalev/erc3/blob/docs/docs/api/erc3-dev/examples.md Load the content of a specific wiki article by providing its file path. This operation uses the '/wiki/load' endpoint and is useful for retrieving the current content of a document like '/policies/vacation.md'. ```bash curl -X POST "https://erc.timetoact-group.at/erc3-dev/task-789/wiki/load" \ -H "Content-Type: application/json" \ -d '{ "tool": "/wiki/load", "file": "/policies/vacation.md" }' ``` -------------------------------- ### Get Project API Request Source: https://github.com/timurkhakhalev/erc3/blob/docs/docs/api/erc3-dev/identity-system.md Retrieves detailed information about a specific project using its ID. Requires the tool path and the project's ID. ```json { "tool": "/projects/get", "id": "proj-001" } ``` -------------------------------- ### Get Project Details using cURL Source: https://context7.com/timurkhakhalev/erc3/llms.txt Retrieves comprehensive details for a specific project, identified by its ID. The response includes project information such as description, customer, status, and team allocation. A 'found' boolean indicates if the project exists. ```bash curl -X POST "https://erc.timetoact-group.at/erc3-dev/task-456/projects/get" \ -H "Content-Type: application/json" \ -d '{ "tool": "/projects/get", "id": "proj-api-migration-001" }' ``` -------------------------------- ### View Task Details with Logs - Bash Source: https://context7.com/timurkhakhalev/erc3/llms.txt Retrieves comprehensive information about a specific task, including its execution logs starting from a given timestamp. This is useful for debugging and understanding task behavior over time. ```bash curl -X POST https://erc.timetoact-group.at/tasks/view \ -H "Content-Type: application/json" \ -d '{ "task_id": "task-001", "since": 1704110400 }' ``` -------------------------------- ### Get Employee Details with ERC3-Dev API Source: https://github.com/timurkhakhalev/erc3/blob/docs/docs/api/erc3-dev/examples.md Retrieve specific details for an employee using their ID. This operation targets the '/employees/get' endpoint and requires the 'id' of the employee to be provided in the JSON payload. ```bash curl -X POST "https://erc.timetoact-group.at/erc3-dev/task-789/employees/get" \ -H "Content-Type: application/json" \ -d '{ "tool": "/employees/get", "id": "emp-001" }' ``` -------------------------------- ### Update Employee Salary Source: https://github.com/timurkhakhalev/erc3/blob/docs/docs/api/erc3-dev/examples.md Update the salary for a specific employee. ```APIDOC ## POST /erc3-dev/task-789/employees/update ### Description Updates the salary for a specific employee. ### Method POST ### Endpoint /erc3-dev/task-789/employees/update ### Parameters #### Request Body - **tool** (string) - Required - Specifies the tool to be used, should be "/employees/update". - **employee** (string) - Required - The unique identifier of the employee. - **salary** (integer) - Required - The new salary for the employee. ### Request Example ```json { "tool": "/employees/update", "employee": "emp-001", "salary": 85000 } ``` ### Response #### Success Response (200) - **status** (string) - Indicates the success of the operation (e.g., "success"). #### Response Example ```json { "status": "success" } ``` ``` -------------------------------- ### Update Project Team Source: https://github.com/timurkhakhalev/erc3/blob/docs/docs/api/erc3-dev/examples.md Update the team assigned to a specific project. ```APIDOC ## POST /erc3-dev/task-789/projects/team/update ### Description Updates the team assigned to a specific project. ### Method POST ### Endpoint /erc3-dev/task-789/projects/team/update ### Parameters #### Request Body - **tool** (string) - Required - Specifies the tool to be used, should be "/projects/team/update". - **id** (string) - Required - The unique identifier of the project. - **team** (array) - Required - A list of team members to assign to the project. Each member object should have: - **employee** (string) - Required - The unique identifier of the employee. - **time_slice** (number) - Required - The allocation percentage for the employee (0.0 to 1.0). - **role** (string) - Required - The role of the employee on the project. ### Request Example ```json { "tool": "/projects/team/update", "id": "proj-001", "team": [ { "employee": "emp-001", "time_slice": 0.5, "role": "Lead" }, { "employee": "emp-003", "time_slice": 1.0, "role": "Designer" } ] } ``` ### Response #### Success Response (200) - **status** (string) - Indicates the success of the operation (e.g., "success"). #### Response Example ```json { "status": "success" } ``` ``` -------------------------------- ### List Store Products - Bash Source: https://context7.com/timurkhakhalev/erc3/llms.txt Retrieves a paginated list of products available in the store, including their current availability and pricing. This endpoint is crucial for browsing the product catalog and making purchasing decisions. ```bash curl -X POST "https://erc.timetoact-group.at/store/task-123/products/list" \ -H "Content-Type: application/json" \ -d '{ "tool": "/products/list", "offset": 0, "limit": 50 }' ``` -------------------------------- ### POST /projects/get Source: https://context7.com/timurkhakhalev/erc3/llms.txt Retrieves comprehensive project information including team allocation and status. ```APIDOC ## POST /projects/get ### Description Retrieves comprehensive project information including team allocation and status. ### Method POST ### Endpoint /projects/get ### Parameters #### Request Body - **tool** (string) - Required - Specifies the tool to use, should be "/projects/get". - **id** (string) - Required - The ID of the project to retrieve. ### Request Example ```json { "tool": "/projects/get", "id": "proj-api-migration-001" } ``` ### Response #### Success Response (200) - **project** (object) - Detailed information about the project. - **id** (string) - The project ID. - **name** (string) - The project name. - **description** (string) - The project description. - **customer** (string) - The customer ID. - **status** (string) - The project status. - **team** (array of objects) - The list of team members allocated to the project. - **employee** (string) - The employee ID. - **time_slice** (number) - The time slice allocated to the employee. - **role** (string) - The role of the employee in the project. - **found** (boolean) - Indicates if the project was found. #### Response Example ```json { "project": { "id": "proj-api-migration-001", "name": "REST to GraphQL API Migration", "description": "Migrate legacy REST APIs to GraphQL with backwards compatibility layer", "customer": "cust-techcorp-001", "status": "active", "team": [ { "employee": "emp-alice-wong-002", "time_slice": 0.75, "role": "Lead" }, { "employee": "emp-bob-jones-003", "time_slice": 1.0, "role": "Engineer" }, { "employee": "emp-carol-smith-004", "time_slice": 0.5, "role": "QA" } ] }, "found": true } ``` ``` -------------------------------- ### POST /time/summary/by-project Source: https://context7.com/timurkhakhalev/erc3/llms.txt Aggregates time entries grouped by project with billable/non-billable breakdowns. ```APIDOC ## POST /time/summary/by-project ### Description Aggregates time entries grouped by project with billable/non-billable breakdowns. ### Method POST ### Endpoint /time/summary/by-project ### Parameters #### Request Body - **tool** (string) - Required - The tool identifier, expected to be "/time/summary/by-project". - **date_from** (string) - Required - Start date for aggregation (YYYY-MM-DD). - **date_to** (string) - Required - End date for aggregation (YYYY-MM-DD). - **customers** (array of strings) - Optional - Filter by customer IDs. - **projects** (array of strings) - Optional - Filter by project IDs. - **employees** (array of strings) - Optional - Filter by employee IDs. - **billable** (string) - Optional - Filter by billable status ('billable', 'non-billable', or empty for all). ### Request Example ```json { "tool": "/time/summary/by-project", "date_from": "2024-01-01", "date_to": "2024-01-31", "customers": ["cust-techcorp-001"], "projects": ["proj-api-migration-001"], "employees": [], "billable": "billable" } ``` ### Response #### Success Response (200) - **summaries** (array) - List of project summaries. - **customer** (string) - Customer ID. - **project** (string) - Project ID. - **total_hours** (number) - Total hours for the project. - **billable_hours** (number) - Total billable hours for the project. - **non_billable_hours** (number) - Total non-billable hours for the project. - **distinct_employees** (integer) - Number of distinct employees contributing to the project. #### Response Example ```json { "summaries": [ { "customer": "cust-techcorp-001", "project": "proj-api-migration-001", "total_hours": 312.5, "billable_hours": 312.5, "non_billable_hours": 0.0, "distinct_employees": 3 } ] } ``` ``` -------------------------------- ### List Available Benchmarks Source: https://github.com/timurkhakhalev/erc3/blob/docs/docs/api/workflows.md Retrieves a list of all available benchmarks on the platform. ```APIDOC ## POST /benchmarks/list ### Description Retrieves a list of all available benchmarks on the platform. ### Method POST ### Endpoint https://erc.timetoact-group.at/benchmarks/list ### Parameters #### Request Body - None ### Request Example ```json {} ``` ### Response #### Success Response (200) - **benchmarks** (array) - A list of available benchmark objects. - **id** (string) - The unique identifier for the benchmark. - **name** (string) - The display name of the benchmark. #### Response Example ```json { "benchmarks": [ { "id": "benchmark-1", "name": "Example Benchmark 1" }, { "id": "benchmark-2", "name": "Example Benchmark 2" } ] } ``` ``` -------------------------------- ### Get Time Entry Source: https://github.com/timurkhakhalev/erc3/blob/docs/docs/api/erc3-dev/time-tracking.md Retrieves a single time entry by its unique identifier. ```APIDOC ## POST /time/get ### Description Retrieves a single time entry by ID. ### Method POST ### Endpoint /time/get ### Request Body - **tool** (string) - Required - Identifier for the tool/endpoint. - **id** (string) - Required - The ID of the time entry to retrieve. ### Request Example ```json { "tool": "/time/get", "id": "time-001" } ``` ### Response #### Success Response (200) - **entry** (object) - Contains the details of the time entry. - **employee** (string) - The ID of the employee. - **customer** (string) - The ID of the customer. - **project** (string) - The ID of the project. - **date** (string) - The date of the time entry. - **hours** (number) - The number of hours logged. - **work_category** (string) - The category of work performed. - **notes** (string) - Additional notes for the time entry. - **billable** (boolean) - Whether the time entry is billable. - **status** (string) - The status of the time entry. #### Response Example ```json { "entry": { "employee": "emp-001", "customer": "cust-001", "project": "proj-001", "date": "2024-01-01", "hours": 7.5, "work_category": "implementation", "notes": "Adjusted hours after review", "billable": true, "status": "approved" } } ``` ``` -------------------------------- ### Get API Key Source: https://github.com/timurkhakhalev/erc3/blob/docs/docs/api/workflows.md Obtains an API key for the user by providing their email address. ```APIDOC ## POST /get_key ### Description Obtains an API key for the user by providing their email address. ### Method POST ### Endpoint https://erc.timetoact-group.at/get_key ### Parameters #### Request Body - **email** (string) - Required - The email address of the user. ### Request Example ```json { "email": "user@example.com" } ``` ### Response #### Success Response (200) - **account_key** (string) - The generated API key. #### Response Example ```json { "account_key": "key-abc123def456..." } ``` ``` -------------------------------- ### POST /wiki/update Source: https://context7.com/timurkhakhalev/erc3/llms.txt Creates or updates a wiki article with new content. ```APIDOC ## POST /wiki/update ### Description Creates or updates a wiki article with new content. ### Method POST ### Endpoint /wiki/update ### Parameters #### Request Body - **tool** (string) - Required - Specifies the tool to use, should be "/wiki/update". - **file** (string) - Required - The path to the wiki file to update or create. - **content** (string) - Required - The new content for the wiki article. - **changed_by** (string) - Optional - Identifier for the user making the change. ### Request Example ```json { "tool": "/wiki/update", "file": "/engineering/docker-best-practices.md", "content": "# Docker Best Practices\n\n## Multi-stage Builds\nAlways use multi-stage builds to minimize image size...\n\n## Security\nRun containers as non-root users...", "changed_by": "emp-alice-wong-002" } ``` ### Response #### Success Response (200) An empty JSON object indicates success. #### Response Example ```json {} ``` ``` -------------------------------- ### Employee Management API Source: https://github.com/timurkhakhalev/erc3/blob/docs/docs/api/erc3-dev/overview.md Endpoints for managing employee data, including listing, searching, getting, and updating employees. ```APIDOC ## Employee Management Endpoints ### Description Provides functionality to manage employee records within the ERC3 system. ### Methods and Endpoints - **GET /employees/list**: Lists all employees. - **GET /employees/search**: Searches for employees based on criteria. - **GET /employees/get**: Retrieves details for a specific employee. - **POST /employees/update**: Updates an existing employee's information. ### Parameters *(Detailed parameter descriptions would be in employee-management.md)* ### Request Example (Update Employee) ```json { "employee_id": "emp-001", "name": "Jane Doe", "position": "Developer" } ``` ### Response Example (Get Employee) ```json { "employee_id": "emp-001", "name": "Jane Doe", "position": "Developer", "hire_date": "2023-01-15" } ``` ``` -------------------------------- ### Submit Agent Response Source: https://github.com/timurkhakhalev/erc3/blob/docs/docs/api/erc3-dev/examples.md Submit a response from an agent, including a message, outcome, and associated links. ```APIDOC ## POST /erc3-dev/task-789/respond ### Description Submits an agent's response, including a message, outcome, and relevant links. ### Method POST ### Endpoint /erc3-dev/task-789/respond ### Parameters #### Request Body - **tool** (string) - Required - Specifies the tool to be used, should be "/respond". - **message** (string) - Required - The message content of the agent's response. - **outcome** (string) - Required - The outcome of the agent's action (e.g., "ok_answer", "error"). - **links** (array) - Optional - A list of links related to the response. Each link object should have: - **kind** (string) - Required - The type of the linked item (e.g., "employee", "project"). - **id** (string) - Required - The unique identifier of the linked item. ### Request Example ```json { "tool": "/respond", "message": "Found 5 matching employees", "outcome": "ok_answer", "links": [ { "kind": "employee", "id": "emp-001" } ] } ``` ### Response #### Success Response (200) - **status** (string) - Indicates the success of the operation (e.g., "success"). #### Response Example ```json { "status": "success" } ``` ``` -------------------------------- ### POST /wiki/load Source: https://context7.com/timurkhakhalev/erc3/llms.txt Retrieves the complete content of a specific wiki article. ```APIDOC ## POST /wiki/load ### Description Retrieves the complete content of a specific wiki article. ### Method POST ### Endpoint /wiki/load ### Parameters #### Request Body - **tool** (string) - Required - Specifies the tool to use, should be "/wiki/load". - **file** (string) - Required - The path to the wiki file to load. ### Request Example ```json { "tool": "/wiki/load", "file": "/engineering/deployment-guide.md" } ``` ### Response #### Success Response (200) - **file** (string) - The path of the loaded wiki file. - **content** (string) - The content of the wiki article. #### Response Example ```json { "file": "/engineering/deployment-guide.md", "content": "# Deployment Guide\n\n## Overview\nOur deployment process uses Kubernetes and ArgoCD...\n\n## Prerequisites\n- kubectl access\n- ArgoCD credentials\n..." } ``` ``` -------------------------------- ### Check Current User Identity Source: https://github.com/timurkhakhalev/erc3/blob/docs/docs/api/erc3-dev/examples.md This endpoint allows you to check the current user's identity within the ERC3 system. ```APIDOC ## POST /erc3-dev/task-789/whoami ### Description Checks the current user's identity. ### Method POST ### Endpoint /erc3-dev/task-789/whoami ### Parameters #### Request Body - **tool** (string) - Required - Specifies the tool to be used, should be "/whoami". ### Request Example ```json { "tool": "/whoami" } ``` ### Response #### Success Response (200) - **user** (string) - The identity of the current user. #### Response Example ```json { "user": "current_user_id" } ``` ``` -------------------------------- ### Authentication Errors Source: https://github.com/timurkhakhalev/erc3/blob/docs/docs/api/errors.md Examples of error responses related to API key validation, including format and existence checks. ```APIDOC ## Authentication Errors API key validation errors: ```json { "status": 401, "error": "Invalid API key format. Key must start with 'key-'", "code": "INVALID_KEY_FORMAT" } ``` ```json { "status": 401, "error": "API key not found or expired", "code": "KEY_NOT_FOUND" } ``` ``` -------------------------------- ### POST /time/log Source: https://context7.com/timurkhakhalev/erc3/llms.txt Creates a new time tracking entry for project work. ```APIDOC ## POST /time/log ### Description Creates a new time tracking entry for project work. ### Method POST ### Endpoint /time/log ### Parameters #### Request Body - **tool** (string) - Required - Specifies the tool to use, should be "/time/log". - **employee** (string) - Required - The employee ID logging the time. - **customer** (string) - Required - The customer ID associated with the work. - **project** (string) - Required - The project ID for which time is logged. - **date** (string) - Required - The date of the time entry (YYYY-MM-DD). - **hours** (number) - Required - The number of hours logged. - **work_category** (string) - Required - The category of work performed. - **notes** (string) - Optional - Additional notes about the work. - **billable** (boolean) - Required - Whether the time entry is billable. - **status** (string) - Required - The status of the time entry (e.g., "submitted"). - **logged_by** (string) - Required - The employee ID who logged the entry. ### Request Example ```json { "tool": "/time/log", "employee": "emp-alice-wong-002", "customer": "cust-techcorp-001", "project": "proj-api-migration-001", "date": "2024-01-15", "hours": 8.0, "work_category": "implementation", "notes": "Implemented GraphQL schema for user management endpoints", "billable": true, "status": "submitted", "logged_by": "emp-alice-wong-002" } ``` ### Response #### Success Response (200) - **id** (string) - The unique ID of the logged time entry. - **employee** (string) - The employee ID. - **customer** (string) - The customer ID. - **project** (string) - The project ID. - **date** (string) - The date of the time entry. - **hours** (number) - The number of hours logged. - **work_category** (string) - The category of work performed. - **notes** (string) - Additional notes about the work. - **billable** (boolean) - Whether the time entry is billable. - **status** (string) - The status of the time entry. #### Response Example ```json { "id": "time-20240115-001", "employee": "emp-alice-wong-002", "customer": "cust-techcorp-001", "project": "proj-api-migration-001", "date": "2024-01-15", "hours": 8.0, "work_category": "implementation", "notes": "Implemented GraphQL schema for user management endpoints", "billable": true, "status": "submitted" } ``` ```