From d95954ca53983ba8c52df782c3ca16b11130942b Mon Sep 17 00:00:00 2001 From: Rushil Patel Date: Wed, 21 May 2025 11:05:41 -0700 Subject: [PATCH 1/4] update api openapi spec --- docs/api-reference/openapi3.json | 1450 ++++++++++++++++++------------ 1 file changed, 853 insertions(+), 597 deletions(-) diff --git a/docs/api-reference/openapi3.json b/docs/api-reference/openapi3.json index 35d885826..dfb87fe12 100644 --- a/docs/api-reference/openapi3.json +++ b/docs/api-reference/openapi3.json @@ -1,628 +1,884 @@ { "openapi": "3.1.0", "info": { - "title": "Developer API", - "description": "API for application developers", - "version": "1.0.0" + "title": "Developer API", + "description": "API for application developers", + "version": "1.0.0" }, "servers": [ - { - "url": "https://api.codegen.com", - "description": "Codegen API" - } + { + "url": "https://api.codegen.com", + "description": "Codegen API" + } ], "paths": { - "/v1/organizations/{org_id}/users": { - "get": { - "tags": ["users", "users", "users"], - "summary": "Get Users", - "description": "Get paginated list of users for a specific organization.\n\nReturns a paginated list of all users associated with the specified organization.\nThe requesting user must be a member of the organization to access this endpoint.\n\nRate limit: 60 requests per 30 seconds.", - "operationId": "get_users_v1_organizations__org_id__users_get", - "parameters": [ - { - "name": "org_id", - "in": "path", - "required": true, - "schema": { "type": "string", "title": "Org Id" } - }, - { - "name": "skip", - "in": "query", - "required": false, - "schema": { - "type": "integer", - "minimum": 0, - "default": 0, - "title": "Skip" - } - }, - { - "name": "limit", - "in": "query", - "required": false, - "schema": { - "type": "integer", - "maximum": 100, - "minimum": 1, - "default": 100, - "title": "Limit" - } - }, - { - "name": "authorization", - "in": "header", - "required": false, - "schema": { "title": "Authorization" } - } - ], - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/Page_UserResponse_" } - } - } - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/APIRateLimitErrorResponse" - } - } - }, - "description": "Too Many Requests" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PermissionsErrorResponse" - } - } - }, - "description": "Forbidden" - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/HTTPValidationError" } - } - } - } + "/v1/organizations/{org_id}/users": { + "get": { + "tags": [ + "users", + "users", + "users" + ], + "summary": "Get Users", + "description": "Get paginated list of users for a specific organization.\n\nReturns a paginated list of all users associated with the specified organization.\nThe requesting user must be a member of the organization to access this endpoint.\n\nRate limit: 60 requests per 30 seconds.", + "operationId": "get_users_v1_organizations__org_id__users_get", + "parameters": [ + { + "name": "org_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Org Id" + } + }, + { + "name": "skip", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "minimum": 0, + "default": 0, + "title": "Skip" + } + }, + { + "name": "limit", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "maximum": 100, + "minimum": 1, + "default": 100, + "title": "Limit" + } + }, + { + "name": "authorization", + "in": "header", + "required": false, + "schema": { + "title": "Authorization" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Page_UserResponse_" + } + } + } + }, + "429": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/APIRateLimitErrorResponse" + } + } + }, + "description": "Too Many Requests" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PermissionsErrorResponse" + } } + }, + "description": "Forbidden" + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } - }, - "/v1/organizations/{org_id}/users/{user_id}": { - "get": { - "tags": ["users", "users", "users"], - "summary": "Get User", - "description": "Get details for a specific user in an organization.\n\nReturns detailed information about a user within the specified organization.\nThe requesting user must be a member of the organization to access this endpoint.\n\nRate limit: 60 requests per 30 seconds.", - "operationId": "get_user_v1_organizations__org_id__users__user_id__get", - "parameters": [ - { - "name": "org_id", - "in": "path", - "required": true, - "schema": { "type": "string", "title": "Org Id" } - }, - { - "name": "user_id", - "in": "path", - "required": true, - "schema": { "type": "string", "title": "User Id" } - }, - { - "name": "authorization", - "in": "header", - "required": false, - "schema": { "title": "Authorization" } - } - ], - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/UserResponse" } - } - } - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/APIRateLimitErrorResponse" - } - } - }, - "description": "Too Many Requests" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PermissionsErrorResponse" - } - } - }, - "description": "Forbidden" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UserNotFoundErrorResponse" - } - } - }, - "description": "Not Found" - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/HTTPValidationError" } - } - } - } + } + } + }, + "/v1/organizations/{org_id}/users/{user_id}": { + "get": { + "tags": [ + "users", + "users", + "users" + ], + "summary": "Get User", + "description": "Get details for a specific user in an organization.\n\nReturns detailed information about a user within the specified organization.\nThe requesting user must be a member of the organization to access this endpoint.\n\nRate limit: 60 requests per 30 seconds.", + "operationId": "get_user_v1_organizations__org_id__users__user_id__get", + "parameters": [ + { + "name": "org_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Org Id" + } + }, + { + "name": "user_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "User Id" + } + }, + { + "name": "authorization", + "in": "header", + "required": false, + "schema": { + "title": "Authorization" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserResponse" + } + } + } + }, + "429": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/APIRateLimitErrorResponse" + } + } + }, + "description": "Too Many Requests" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PermissionsErrorResponse" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserNotFoundErrorResponse" + } } + }, + "description": "Not Found" + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } - }, - "/v1/organizations/{org_id}/agent/run": { - "post": { - "tags": ["agents", "agents", "agents"], - "summary": "Create Agent Run", - "description": "Create a new agent run.\n\nCreates and initiates a long-running agent process based on the provided prompt.\nThe process will complete asynchronously, and the response contains the agent run ID\nwhich can be used to check the status later. The requesting user must be a member\nof the specified organization.\n\nRate limit: 10 requests per minute.", - "operationId": "create_agent_run_v1_organizations__org_id__agent_run_post", - "parameters": [ - { - "name": "org_id", - "in": "path", - "required": true, - "schema": { "type": "integer", "title": "Org Id" } - }, - { - "name": "authorization", - "in": "header", - "required": false, - "schema": { "title": "Authorization" } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/CreateAgentRunInput" } - } - } - }, - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/AgentRunResponse" } - } - } - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/APIRateLimitErrorResponse" - } - } - }, - "description": "Too Many Requests" - }, - "402": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AgentRunLimitReachedErrorResponse" - } - } - }, - "description": "Payment Required" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PermissionsErrorResponse" - } - } - }, - "description": "Forbidden" - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/HTTPValidationError" } - } - } - } + } + } + }, + "/v1/organizations/{org_id}/agent/run": { + "post": { + "tags": [ + "agents", + "agents", + "agents" + ], + "summary": "Create Agent Run", + "description": "Create a new agent run.\n\nCreates and initiates a long-running agent process based on the provided prompt.\nThe process will complete asynchronously, and the response contains the agent run ID\nwhich can be used to check the status later. The requesting user must be a member\nof the specified organization.\n\nThis endpoint accepts both a text prompt and an optional image file upload.\n\nRate limit: 10 requests per minute.", + "operationId": "create_agent_run_v1_organizations__org_id__agent_run_post", + "parameters": [ + { + "name": "org_id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "title": "Org Id" + } + }, + { + "name": "authorization", + "in": "header", + "required": false, + "schema": { + "title": "Authorization" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateAgentRunInput" } + } } - }, - "/v1/organizations/{org_id}/agent/run/{agent_run_id}": { - "get": { - "tags": ["agents", "agents", "agents"], - "summary": "Get Agent Run", - "description": "Retrieve the status and result of an agent run.\n\nReturns the current status, progress, and any available results for the specified agent run.\nThe agent run must belong to the specified organization. If the agent run is still in progress,\nthis endpoint can be polled to check for completion.\n\nRate limit: 60 requests per 30 seconds.", - "operationId": "get_agent_run_v1_organizations__org_id__agent_run__agent_run_id__get", - "parameters": [ - { - "name": "agent_run_id", - "in": "path", - "required": true, - "schema": { "type": "integer", "title": "Agent Run Id" } - }, - { - "name": "org_id", - "in": "path", - "required": true, - "schema": { "type": "integer", "title": "Org Id" } - }, - { - "name": "authorization", - "in": "header", - "required": false, - "schema": { "title": "Authorization" } - } - ], - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/AgentRunResponse" } - } - } - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/APIRateLimitErrorResponse" - } - } - }, - "description": "Too Many Requests" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PermissionsErrorResponse" - } - } - }, - "description": "Forbidden" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AgentRunNotFoundErrorResponse" - } - } - }, - "description": "Not Found" - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/HTTPValidationError" } - } - } - } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AgentRunResponse" + } + } + } + }, + "429": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/APIRateLimitErrorResponse" + } + } + }, + "description": "Too Many Requests" + }, + "402": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AgentRunLimitReachedErrorResponse" + } } + }, + "description": "Payment Required" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PermissionsErrorResponse" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NoReposFoundInOrgErrorResponse" + } + } + }, + "description": "Not Found" + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } - }, - "/v1/organizations": { - "get": { - "tags": ["organizations", "organizations", "organizations"], - "summary": "Get Organizations", - "description": "Get organizations for the authenticated user.\n\nReturns a paginated list of all organizations that the authenticated user is a member of.\nResults include basic organization details such as name, ID, and membership information.\nUse pagination parameters to control the number of results returned.\n\nRate limit: 60 requests per 30 seconds.", - "operationId": "get_organizations_v1_organizations_get", - "parameters": [ - { - "name": "skip", - "in": "query", - "required": false, - "schema": { - "type": "integer", - "minimum": 0, - "default": 0, - "title": "Skip" - } - }, - { - "name": "limit", - "in": "query", - "required": false, - "schema": { - "type": "integer", - "maximum": 100, - "minimum": 1, - "default": 100, - "title": "Limit" - } - }, - { - "name": "authorization", - "in": "header", - "required": false, - "schema": { "title": "Authorization" } - } - ], - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Page_OrganizationResponse_" - } - } - } - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/APIRateLimitErrorResponse" - } - } - }, - "description": "Too Many Requests" - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/HTTPValidationError" } - } - } - } + } + } + }, + "/v1/organizations/{org_id}/agent/run/{agent_run_id}": { + "get": { + "tags": [ + "agents", + "agents", + "agents" + ], + "summary": "Get Agent Run", + "description": "Retrieve the status and result of an agent run.\n\nReturns the current status, progress, and any available results for the specified agent run.\nThe agent run must belong to the specified organization. If the agent run is still in progress,\nthis endpoint can be polled to check for completion.\n\nRate limit: 60 requests per 30 seconds.", + "operationId": "get_agent_run_v1_organizations__org_id__agent_run__agent_run_id__get", + "parameters": [ + { + "name": "agent_run_id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "title": "Agent Run Id" + } + }, + { + "name": "org_id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "title": "Org Id" + } + }, + { + "name": "authorization", + "in": "header", + "required": false, + "schema": { + "title": "Authorization" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AgentRunResponse" + } + } + } + }, + "429": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/APIRateLimitErrorResponse" + } + } + }, + "description": "Too Many Requests" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PermissionsErrorResponse" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AgentRunNotFoundErrorResponse" + } } + }, + "description": "Not Found" + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/v1/organizations": { + "get": { + "tags": [ + "organizations", + "organizations", + "organizations" + ], + "summary": "Get Organizations", + "description": "Get organizations for the authenticated user.\n\nReturns a paginated list of all organizations that the authenticated user is a member of.\nResults include basic organization details such as name, ID, and membership information.\nUse pagination parameters to control the number of results returned.\n\nRate limit: 60 requests per 30 seconds.", + "operationId": "get_organizations_v1_organizations_get", + "parameters": [ + { + "name": "skip", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "minimum": 0, + "default": 0, + "title": "Skip" + } + }, + { + "name": "limit", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "maximum": 100, + "minimum": 1, + "default": 100, + "title": "Limit" + } + }, + { + "name": "authorization", + "in": "header", + "required": false, + "schema": { + "title": "Authorization" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Page_OrganizationResponse_" + } + } + } + }, + "429": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/APIRateLimitErrorResponse" + } + } + }, + "description": "Too Many Requests" + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } } + } } + } }, "components": { - "schemas": { - "APIRateLimitErrorResponse": { - "properties": { - "message": { - "type": "string", - "title": "Message", - "default": "Rate limit exceeded. Please try again later." - }, - "status_code": { - "type": "integer", - "title": "Status Code", - "default": 429 - } - }, - "type": "object", - "title": "APIRateLimitErrorResponse" - }, - "AgentRunLimitReachedErrorResponse": { - "properties": { - "message": { - "type": "string", - "title": "Message", - "default": "Alloted agent runs for the current billing plan have been reached. Please upgrade your plan to continue." - }, - "status_code": { - "type": "integer", - "title": "Status Code", - "default": 402 - } - }, - "type": "object", - "title": "AgentRunLimitReachedErrorResponse" - }, - "AgentRunNotFoundErrorResponse": { - "properties": { - "message": { - "type": "string", - "title": "Message", - "default": "Agent run not found." - }, - "status_code": { - "type": "integer", - "title": "Status Code", - "default": 404 - } - }, - "type": "object", - "title": "AgentRunNotFoundErrorResponse" - }, - "AgentRunResponse": { - "properties": { - "id": { "type": "integer", "title": "Id" }, - "organization_id": { "type": "integer", "title": "Organization Id" }, - "status": { - "anyOf": [{ "type": "string" }, { "type": "null" }], - "title": "Status" - }, - "created_at": { - "anyOf": [{ "type": "string" }, { "type": "null" }], - "title": "Created At" - }, - "web_url": { - "anyOf": [{ "type": "string" }, { "type": "null" }], - "title": "Web Url" - }, - "result": { - "anyOf": [{ "type": "string" }, { "type": "null" }], - "title": "Result" - } - }, - "type": "object", - "required": ["id", "organization_id"], - "title": "AgentRunResponse", - "description": "Represents an agent run in API responses" - }, - "CreateAgentRunInput": { - "properties": { "prompt": { "type": "string", "title": "Prompt" } }, - "type": "object", - "required": ["prompt"], - "title": "CreateAgentRunInput" - }, - "HTTPValidationError": { - "properties": { - "detail": { - "items": { "$ref": "#/components/schemas/ValidationError" }, - "type": "array", - "title": "Detail" - } - }, - "type": "object", - "title": "HTTPValidationError" - }, - "OrganizationResponse": { - "properties": { - "id": { "type": "integer", "title": "Id" }, - "name": { "type": "string", "title": "Name" }, - "settings": { "$ref": "#/components/schemas/OrganizationSettings" } + "schemas": { + "APIRateLimitErrorResponse": { + "properties": { + "message": { + "type": "string", + "title": "Message", + "default": "Rate limit exceeded. Please try again later." + }, + "status_code": { + "type": "integer", + "title": "Status Code", + "default": 429 + } + }, + "type": "object", + "title": "APIRateLimitErrorResponse" + }, + "AgentRunLimitReachedErrorResponse": { + "properties": { + "message": { + "type": "string", + "title": "Message", + "default": "Alloted agent runs for the current billing plan have been reached. Please upgrade your plan to continue." + }, + "status_code": { + "type": "integer", + "title": "Status Code", + "default": 402 + } + }, + "type": "object", + "title": "AgentRunLimitReachedErrorResponse" + }, + "AgentRunNotFoundErrorResponse": { + "properties": { + "message": { + "type": "string", + "title": "Message", + "default": "Agent run not found." + }, + "status_code": { + "type": "integer", + "title": "Status Code", + "default": 404 + } + }, + "type": "object", + "title": "AgentRunNotFoundErrorResponse" + }, + "AgentRunResponse": { + "properties": { + "id": { + "type": "integer", + "title": "Id" + }, + "organization_id": { + "type": "integer", + "title": "Organization Id" + }, + "status": { + "anyOf": [ + { + "type": "string" }, - "type": "object", - "required": ["id", "name", "settings"], - "title": "OrganizationResponse", - "description": "Represents an organization in API responses" - }, - "OrganizationSettings": { - "properties": { - "enable_pr_creation": { - "type": "boolean", - "title": "Enable Pr Creation", - "default": true - }, - "enable_rules_detection": { - "type": "boolean", - "title": "Enable Rules Detection", - "default": true - } + { + "type": "null" + } + ], + "title": "Status" + }, + "created_at": { + "anyOf": [ + { + "type": "string" }, - "type": "object", - "title": "OrganizationSettings" - }, - "Page_OrganizationResponse_": { - "properties": { - "items": { - "items": { "$ref": "#/components/schemas/OrganizationResponse" }, - "type": "array", - "title": "Items" - }, - "total": { "type": "integer", "title": "Total" }, - "page": { "type": "integer", "title": "Page" }, - "size": { "type": "integer", "title": "Size" }, - "pages": { "type": "integer", "title": "Pages" } + { + "type": "null" + } + ], + "title": "Created At" + }, + "web_url": { + "anyOf": [ + { + "type": "string" }, - "type": "object", - "required": ["items", "total", "page", "size", "pages"], - "title": "Page[OrganizationResponse]" - }, - "Page_UserResponse_": { - "properties": { - "items": { - "items": { "$ref": "#/components/schemas/UserResponse" }, - "type": "array", - "title": "Items" - }, - "total": { "type": "integer", "title": "Total" }, - "page": { "type": "integer", "title": "Page" }, - "size": { "type": "integer", "title": "Size" }, - "pages": { "type": "integer", "title": "Pages" } + { + "type": "null" + } + ], + "title": "Web Url" + }, + "result": { + "anyOf": [ + { + "type": "string" }, - "type": "object", - "required": ["items", "total", "page", "size", "pages"], - "title": "Page[UserResponse]" - }, - "PermissionsErrorResponse": { - "properties": { - "message": { - "type": "string", - "title": "Message", - "default": "You do not have access to this organization." - }, - "status_code": { - "type": "integer", - "title": "Status Code", - "default": 403 - } + { + "type": "null" + } + ], + "title": "Result" + } + }, + "type": "object", + "required": [ + "id", + "organization_id" + ], + "title": "AgentRunResponse", + "description": "Represents an agent run in API responses" + }, + "CreateAgentRunInput": { + "properties": { + "prompt": { + "type": "string", + "title": "Prompt" + }, + "images": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" }, - "type": "object", - "title": "PermissionsErrorResponse" - }, - "UserNotFoundErrorResponse": { - "properties": { - "message": { - "type": "string", - "title": "Message", - "default": "User not found." - }, - "status_code": { - "type": "integer", - "title": "Status Code", - "default": 404 - } + { + "type": "null" + } + ], + "title": "Images", + "description": "List of base64 encoded data URIs representing images to be processed by the agent" + } + }, + "type": "object", + "required": [ + "prompt" + ], + "title": "CreateAgentRunInput" + }, + "HTTPValidationError": { + "properties": { + "detail": { + "items": { + "$ref": "#/components/schemas/ValidationError" + }, + "type": "array", + "title": "Detail" + } + }, + "type": "object", + "title": "HTTPValidationError" + }, + "NoReposFoundInOrgErrorResponse": { + "properties": { + "message": { + "type": "string", + "title": "Message", + "default": "No repos found in the organization. Please add some repos and try again." + }, + "status_code": { + "type": "integer", + "title": "Status Code", + "default": 404 + } + }, + "type": "object", + "title": "NoReposFoundInOrgErrorResponse" + }, + "OrganizationResponse": { + "properties": { + "id": { + "type": "integer", + "title": "Id" + }, + "name": { + "type": "string", + "title": "Name" + }, + "settings": { + "$ref": "#/components/schemas/OrganizationSettings" + } + }, + "type": "object", + "required": [ + "id", + "name", + "settings" + ], + "title": "OrganizationResponse", + "description": "Represents an organization in API responses" + }, + "OrganizationSettings": { + "properties": { + "enable_pr_creation": { + "type": "boolean", + "title": "Enable Pr Creation", + "default": true + }, + "enable_rules_detection": { + "type": "boolean", + "title": "Enable Rules Detection", + "default": true + } + }, + "type": "object", + "title": "OrganizationSettings" + }, + "Page_OrganizationResponse_": { + "properties": { + "items": { + "items": { + "$ref": "#/components/schemas/OrganizationResponse" + }, + "type": "array", + "title": "Items" + }, + "total": { + "type": "integer", + "title": "Total" + }, + "page": { + "type": "integer", + "title": "Page" + }, + "size": { + "type": "integer", + "title": "Size" + }, + "pages": { + "type": "integer", + "title": "Pages" + } + }, + "type": "object", + "required": [ + "items", + "total", + "page", + "size", + "pages" + ], + "title": "Page[OrganizationResponse]" + }, + "Page_UserResponse_": { + "properties": { + "items": { + "items": { + "$ref": "#/components/schemas/UserResponse" + }, + "type": "array", + "title": "Items" + }, + "total": { + "type": "integer", + "title": "Total" + }, + "page": { + "type": "integer", + "title": "Page" + }, + "size": { + "type": "integer", + "title": "Size" + }, + "pages": { + "type": "integer", + "title": "Pages" + } + }, + "type": "object", + "required": [ + "items", + "total", + "page", + "size", + "pages" + ], + "title": "Page[UserResponse]" + }, + "PermissionsErrorResponse": { + "properties": { + "message": { + "type": "string", + "title": "Message", + "default": "You do not have access to this organization." + }, + "status_code": { + "type": "integer", + "title": "Status Code", + "default": 403 + } + }, + "type": "object", + "title": "PermissionsErrorResponse" + }, + "UserNotFoundErrorResponse": { + "properties": { + "message": { + "type": "string", + "title": "Message", + "default": "User not found." + }, + "status_code": { + "type": "integer", + "title": "Status Code", + "default": 404 + } + }, + "type": "object", + "title": "UserNotFoundErrorResponse" + }, + "UserResponse": { + "properties": { + "id": { + "type": "integer", + "title": "Id" + }, + "email": { + "anyOf": [ + { + "type": "string" }, - "type": "object", - "title": "UserNotFoundErrorResponse" - }, - "UserResponse": { - "properties": { - "id": { "type": "integer", "title": "Id" }, - "email": { - "anyOf": [{ "type": "string" }, { "type": "null" }], - "title": "Email" - }, - "github_user_id": { "type": "string", "title": "Github User Id" }, - "github_username": { "type": "string", "title": "Github Username" }, - "avatar_url": { - "anyOf": [{ "type": "string" }, { "type": "null" }], - "title": "Avatar Url" - }, - "full_name": { - "anyOf": [{ "type": "string" }, { "type": "null" }], - "title": "Full Name" - } + { + "type": "null" + } + ], + "title": "Email" + }, + "github_user_id": { + "type": "string", + "title": "Github User Id" + }, + "github_username": { + "type": "string", + "title": "Github Username" + }, + "avatar_url": { + "anyOf": [ + { + "type": "string" }, - "type": "object", - "required": [ - "id", - "email", - "github_user_id", - "github_username", - "avatar_url", - "full_name" - ], - "title": "UserResponse", - "description": "Represents a user in API responses" - }, - "ValidationError": { - "properties": { - "loc": { - "items": { "anyOf": [{ "type": "string" }, { "type": "integer" }] }, - "type": "array", - "title": "Location" - }, - "msg": { "type": "string", "title": "Message" }, - "type": { "type": "string", "title": "Error Type" } + { + "type": "null" + } + ], + "title": "Avatar Url" + }, + "full_name": { + "anyOf": [ + { + "type": "string" }, - "type": "object", - "required": ["loc", "msg", "type"], - "title": "ValidationError" + { + "type": "null" + } + ], + "title": "Full Name" + } + }, + "type": "object", + "required": [ + "id", + "email", + "github_user_id", + "github_username", + "avatar_url", + "full_name" + ], + "title": "UserResponse", + "description": "Represents a user in API responses" + }, + "ValidationError": { + "properties": { + "loc": { + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "integer" + } + ] + }, + "type": "array", + "title": "Location" + }, + "msg": { + "type": "string", + "title": "Message" + }, + "type": { + "type": "string", + "title": "Error Type" } + }, + "type": "object", + "required": [ + "loc", + "msg", + "type" + ], + "title": "ValidationError" } + } } -} + } \ No newline at end of file From 77290fb239685934db87e9310eb058d7e49ec156 Mon Sep 17 00:00:00 2001 From: Rushil Patel Date: Fri, 13 Jun 2025 11:20:25 -0700 Subject: [PATCH 2/4] fix: update api docs --- docs/api-reference/openapi3.json | 2245 +++++++++++++++++++----------- 1 file changed, 1414 insertions(+), 831 deletions(-) diff --git a/docs/api-reference/openapi3.json b/docs/api-reference/openapi3.json index dfb87fe12..ef4fd1026 100644 --- a/docs/api-reference/openapi3.json +++ b/docs/api-reference/openapi3.json @@ -1,884 +1,1467 @@ { "openapi": "3.1.0", "info": { - "title": "Developer API", - "description": "API for application developers", - "version": "1.0.0" + "title": "Developer API", + "description": "API for application developers", + "version": "1.0.0" }, "servers": [ - { - "url": "https://api.codegen.com", - "description": "Codegen API" - } + { + "url": "https://api.codegen.com", + "description": "Codegen API" + } ], "paths": { - "/v1/organizations/{org_id}/users": { - "get": { - "tags": [ - "users", - "users", - "users" - ], - "summary": "Get Users", - "description": "Get paginated list of users for a specific organization.\n\nReturns a paginated list of all users associated with the specified organization.\nThe requesting user must be a member of the organization to access this endpoint.\n\nRate limit: 60 requests per 30 seconds.", - "operationId": "get_users_v1_organizations__org_id__users_get", - "parameters": [ - { - "name": "org_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "title": "Org Id" - } - }, - { - "name": "skip", - "in": "query", - "required": false, - "schema": { - "type": "integer", - "minimum": 0, - "default": 0, - "title": "Skip" - } - }, - { - "name": "limit", - "in": "query", - "required": false, - "schema": { - "type": "integer", - "maximum": 100, - "minimum": 1, - "default": 100, - "title": "Limit" - } - }, - { - "name": "authorization", - "in": "header", - "required": false, - "schema": { - "title": "Authorization" - } - } - ], - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Page_UserResponse_" - } - } - } - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/APIRateLimitErrorResponse" - } + "/v1/organizations/{org_id}/users": { + "get": { + "tags": [ + "users", + "users", + "users" + ], + "summary": "Get Users", + "description": "Get paginated list of users for a specific organization.\n\nReturns a paginated list of all users associated with the specified organization.\nThe requesting user must be a member of the organization to access this endpoint.\n\nRate limit: 60 requests per 30 seconds.", + "operationId": "get_users_v1_organizations__org_id__users_get", + "parameters": [ + { + "name": "org_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Org Id" + } + }, + { + "name": "skip", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "minimum": 0, + "default": 0, + "title": "Skip" + } + }, + { + "name": "limit", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "maximum": 100, + "minimum": 1, + "default": 100, + "title": "Limit" + } + }, + { + "name": "authorization", + "in": "header", + "required": false, + "schema": { + "title": "Authorization" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Page_UserResponse_" + } + } + } + }, + "429": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/APIRateLimitErrorResponse" + } + } + }, + "description": "Too Many Requests" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PermissionsErrorResponse" + } + } + }, + "description": "Forbidden" + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } } - }, - "description": "Too Many Requests" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PermissionsErrorResponse" - } - } - }, - "description": "Forbidden" - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - } - } - } - } - }, - "/v1/organizations/{org_id}/users/{user_id}": { - "get": { - "tags": [ - "users", - "users", - "users" - ], - "summary": "Get User", - "description": "Get details for a specific user in an organization.\n\nReturns detailed information about a user within the specified organization.\nThe requesting user must be a member of the organization to access this endpoint.\n\nRate limit: 60 requests per 30 seconds.", - "operationId": "get_user_v1_organizations__org_id__users__user_id__get", - "parameters": [ - { - "name": "org_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "title": "Org Id" - } - }, - { - "name": "user_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "title": "User Id" - } - }, - { - "name": "authorization", - "in": "header", - "required": false, - "schema": { - "title": "Authorization" - } } - ], - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UserResponse" - } - } - } - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/APIRateLimitErrorResponse" - } - } - }, - "description": "Too Many Requests" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PermissionsErrorResponse" - } - } - }, - "description": "Forbidden" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UserNotFoundErrorResponse" - } - } - }, - "description": "Not Found" - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } + }, + "/v1/organizations/{org_id}/users/{user_id}": { + "get": { + "tags": [ + "users", + "users", + "users" + ], + "summary": "Get User", + "description": "Get details for a specific user in an organization.\n\nReturns detailed information about a user within the specified organization.\nThe requesting user must be a member of the organization to access this endpoint.\n\nRate limit: 60 requests per 30 seconds.", + "operationId": "get_user_v1_organizations__org_id__users__user_id__get", + "parameters": [ + { + "name": "org_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Org Id" + } + }, + { + "name": "user_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "User Id" + } + }, + { + "name": "authorization", + "in": "header", + "required": false, + "schema": { + "title": "Authorization" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserResponse" + } + } + } + }, + "429": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/APIRateLimitErrorResponse" + } + } + }, + "description": "Too Many Requests" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PermissionsErrorResponse" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserNotFoundErrorResponse" + } + } + }, + "description": "Not Found" + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } } - } - } - } - } - }, - "/v1/organizations/{org_id}/agent/run": { - "post": { - "tags": [ - "agents", - "agents", - "agents" - ], - "summary": "Create Agent Run", - "description": "Create a new agent run.\n\nCreates and initiates a long-running agent process based on the provided prompt.\nThe process will complete asynchronously, and the response contains the agent run ID\nwhich can be used to check the status later. The requesting user must be a member\nof the specified organization.\n\nThis endpoint accepts both a text prompt and an optional image file upload.\n\nRate limit: 10 requests per minute.", - "operationId": "create_agent_run_v1_organizations__org_id__agent_run_post", - "parameters": [ - { - "name": "org_id", - "in": "path", - "required": true, - "schema": { - "type": "integer", - "title": "Org Id" - } - }, - { - "name": "authorization", - "in": "header", - "required": false, - "schema": { - "title": "Authorization" - } } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateAgentRunInput" + }, + "/v1/users/me": { + "get": { + "tags": [ + "users", + "users", + "users" + ], + "summary": "Get Current User Info", + "description": "Get current user information from API token.\n\nReturns detailed information about the user associated with the provided API token.\nThis is useful for applications that need to identify the current user from their API token.\n\nRate limit: 60 requests per 30 seconds.", + "operationId": "get_current_user_info_v1_users_me_get", + "parameters": [ + { + "name": "authorization", + "in": "header", + "required": false, + "schema": { + "title": "Authorization" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserResponse" + } + } + } + }, + "429": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/APIRateLimitErrorResponse" + } + } + }, + "description": "Too Many Requests" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PermissionsErrorResponse" + } + } + }, + "description": "Forbidden" + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } } - } } - }, - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AgentRunResponse" - } - } - } - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/APIRateLimitErrorResponse" - } - } - }, - "description": "Too Many Requests" - }, - "402": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AgentRunLimitReachedErrorResponse" - } - } - }, - "description": "Payment Required" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PermissionsErrorResponse" - } - } - }, - "description": "Forbidden" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/NoReposFoundInOrgErrorResponse" - } - } - }, - "description": "Not Found" - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } + }, + "/v1/organizations/{org_id}/agent/run": { + "post": { + "tags": [ + "agents", + "agents", + "agents" + ], + "summary": "Create Agent Run", + "description": "Create a new agent run.\n\nCreates and initiates a long-running agent process based on the provided prompt.\nThe process will complete asynchronously, and the response contains the agent run ID\nwhich can be used to check the status later. The requesting user must be a member\nof the specified organization.\n\nThis endpoint accepts both a text prompt and an optional image file upload.\n\nRate limit: 10 requests per minute.", + "operationId": "create_agent_run_v1_organizations__org_id__agent_run_post", + "parameters": [ + { + "name": "org_id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "title": "Org Id" + } + }, + { + "name": "authorization", + "in": "header", + "required": false, + "schema": { + "title": "Authorization" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateAgentRunInput" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AgentRunResponse" + } + } + } + }, + "429": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/APIRateLimitErrorResponse" + } + } + }, + "description": "Too Many Requests" + }, + "402": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AgentRunLimitReachedErrorResponse" + } + } + }, + "description": "Payment Required" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PermissionsErrorResponse" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NoReposFoundInOrgErrorResponse" + } + } + }, + "description": "Not Found" + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } } - } - } - } - } - }, - "/v1/organizations/{org_id}/agent/run/{agent_run_id}": { - "get": { - "tags": [ - "agents", - "agents", - "agents" - ], - "summary": "Get Agent Run", - "description": "Retrieve the status and result of an agent run.\n\nReturns the current status, progress, and any available results for the specified agent run.\nThe agent run must belong to the specified organization. If the agent run is still in progress,\nthis endpoint can be polled to check for completion.\n\nRate limit: 60 requests per 30 seconds.", - "operationId": "get_agent_run_v1_organizations__org_id__agent_run__agent_run_id__get", - "parameters": [ - { - "name": "agent_run_id", - "in": "path", - "required": true, - "schema": { - "type": "integer", - "title": "Agent Run Id" - } - }, - { - "name": "org_id", - "in": "path", - "required": true, - "schema": { - "type": "integer", - "title": "Org Id" - } - }, - { - "name": "authorization", - "in": "header", - "required": false, - "schema": { - "title": "Authorization" - } } - ], - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AgentRunResponse" - } - } - } - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/APIRateLimitErrorResponse" - } - } - }, - "description": "Too Many Requests" - }, - "403": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PermissionsErrorResponse" - } - } - }, - "description": "Forbidden" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AgentRunNotFoundErrorResponse" - } - } - }, - "description": "Not Found" - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } + }, + "/v1/organizations/{org_id}/agent/run/{agent_run_id}": { + "get": { + "tags": [ + "agents", + "agents", + "agents" + ], + "summary": "Get Agent Run", + "description": "Retrieve the status and result of an agent run.\n\nReturns the current status, progress, and any available results for the specified agent run.\nThe agent run must belong to the specified organization. If the agent run is still in progress,\nthis endpoint can be polled to check for completion.\n\nRate limit: 60 requests per 30 seconds.", + "operationId": "get_agent_run_v1_organizations__org_id__agent_run__agent_run_id__get", + "parameters": [ + { + "name": "agent_run_id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "title": "Agent Run Id" + } + }, + { + "name": "org_id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "title": "Org Id" + } + }, + { + "name": "authorization", + "in": "header", + "required": false, + "schema": { + "title": "Authorization" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AgentRunResponse" + } + } + } + }, + "429": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/APIRateLimitErrorResponse" + } + } + }, + "description": "Too Many Requests" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PermissionsErrorResponse" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AgentRunNotFoundErrorResponse" + } + } + }, + "description": "Not Found" + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } } - } } - } - } - }, - "/v1/organizations": { - "get": { - "tags": [ - "organizations", - "organizations", - "organizations" - ], - "summary": "Get Organizations", - "description": "Get organizations for the authenticated user.\n\nReturns a paginated list of all organizations that the authenticated user is a member of.\nResults include basic organization details such as name, ID, and membership information.\nUse pagination parameters to control the number of results returned.\n\nRate limit: 60 requests per 30 seconds.", - "operationId": "get_organizations_v1_organizations_get", - "parameters": [ - { - "name": "skip", - "in": "query", - "required": false, - "schema": { - "type": "integer", - "minimum": 0, - "default": 0, - "title": "Skip" - } - }, - { - "name": "limit", - "in": "query", - "required": false, - "schema": { - "type": "integer", - "maximum": 100, - "minimum": 1, - "default": 100, - "title": "Limit" - } - }, - { - "name": "authorization", - "in": "header", - "required": false, - "schema": { - "title": "Authorization" - } - } - ], - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Page_OrganizationResponse_" - } + }, + "/v1/organizations/{org_id}/agent/runs": { + "get": { + "tags": [ + "agents", + "agents", + "agents" + ], + "summary": "List Agent Runs", + "description": "List agent runs for an organization with optional user filtering.\n\nReturns a paginated list of agent runs for the specified organization.\nOptionally filter by user_id to get only agent runs initiated by a specific user.\nResults are ordered by creation date (newest first).\n\nRate limit: 60 requests per 30 seconds.", + "operationId": "list_agent_runs_v1_organizations__org_id__agent_runs_get", + "parameters": [ + { + "name": "org_id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "title": "Org Id" + } + }, + { + "name": "user_id", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Filter by user ID who initiated the agent runs", + "title": "User Id" + }, + "description": "Filter by user ID who initiated the agent runs" + }, + { + "name": "source_type", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "$ref": "#/components/schemas/ApiAgentRunSourceType" + }, + { + "type": "null" + } + ], + "description": "Filter by source type of the agent runs", + "title": "Source Type" + }, + "description": "Filter by source type of the agent runs" + }, + { + "name": "skip", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "minimum": 0, + "default": 0, + "title": "Skip" + } + }, + { + "name": "limit", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "maximum": 100, + "minimum": 1, + "default": 100, + "title": "Limit" + } + }, + { + "name": "authorization", + "in": "header", + "required": false, + "schema": { + "title": "Authorization" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Page_AgentRunResponse_" + } + } + } + }, + "429": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/APIRateLimitErrorResponse" + } + } + }, + "description": "Too Many Requests" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PermissionsErrorResponse" + } + } + }, + "description": "Forbidden" + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } } - } - }, - "429": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/APIRateLimitErrorResponse" - } + } + }, + "/v1/organizations": { + "get": { + "tags": [ + "organizations", + "organizations", + "organizations" + ], + "summary": "Get Organizations", + "description": "Get organizations for the authenticated user.\n\nReturns a paginated list of all organizations that the authenticated user is a member of.\nResults include basic organization details such as name, ID, and membership information.\nUse pagination parameters to control the number of results returned.\n\nRate limit: 60 requests per 30 seconds.", + "operationId": "get_organizations_v1_organizations_get", + "parameters": [ + { + "name": "skip", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "minimum": 0, + "default": 0, + "title": "Skip" + } + }, + { + "name": "limit", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "maximum": 100, + "minimum": 1, + "default": 100, + "title": "Limit" + } + }, + { + "name": "authorization", + "in": "header", + "required": false, + "schema": { + "title": "Authorization" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Page_OrganizationResponse_" + } + } + } + }, + "429": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/APIRateLimitErrorResponse" + } + } + }, + "description": "Too Many Requests" + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } } - }, - "description": "Too Many Requests" - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } + } + }, + "/v1/alpha/organizations/{org_id}/agent/run/{agent_run_id}/logs": { + "get": { + "tags": [ + "agents-alpha", + "agents-alpha", + "agents-beta" + ], + "summary": "Get Agent Run Logs", + "description": "Retrieve an agent run with its logs using pagination. This endpoint is currently in ALPHA and IS subject to change.\n\nReturns the agent run details along with a paginated list of logs for the specified agent run.\nThe agent run must belong to the specified organization. Logs are returned in chronological order.\nUses standard pagination parameters (skip and limit) and includes pagination metadata in the response.\n\nRate limit: 60 requests per 60 seconds.", + "operationId": "get_agent_run_logs_v1_alpha_organizations__org_id__agent_run__agent_run_id__logs_get", + "parameters": [ + { + "name": "agent_run_id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "title": "Agent Run Id" + } + }, + { + "name": "org_id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "title": "Org Id" + } + }, + { + "name": "skip", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "minimum": 0, + "default": 0, + "title": "Skip" + } + }, + { + "name": "limit", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "maximum": 100, + "minimum": 1, + "default": 100, + "title": "Limit" + } + }, + { + "name": "authorization", + "in": "header", + "required": false, + "schema": { + "title": "Authorization" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AgentRunWithLogsResponse" + } + } + } + }, + "429": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/APIRateLimitErrorResponse" + } + } + }, + "description": "Too Many Requests" + }, + "403": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PermissionsErrorResponse" + } + } + }, + "description": "Forbidden" + }, + "404": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AgentRunNotFoundErrorResponse" + } + } + }, + "description": "Not Found" + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } } - } } - } } - } }, "components": { - "schemas": { - "APIRateLimitErrorResponse": { - "properties": { - "message": { - "type": "string", - "title": "Message", - "default": "Rate limit exceeded. Please try again later." - }, - "status_code": { - "type": "integer", - "title": "Status Code", - "default": 429 - } - }, - "type": "object", - "title": "APIRateLimitErrorResponse" - }, - "AgentRunLimitReachedErrorResponse": { - "properties": { - "message": { - "type": "string", - "title": "Message", - "default": "Alloted agent runs for the current billing plan have been reached. Please upgrade your plan to continue." - }, - "status_code": { - "type": "integer", - "title": "Status Code", - "default": 402 - } - }, - "type": "object", - "title": "AgentRunLimitReachedErrorResponse" - }, - "AgentRunNotFoundErrorResponse": { - "properties": { - "message": { - "type": "string", - "title": "Message", - "default": "Agent run not found." - }, - "status_code": { - "type": "integer", - "title": "Status Code", - "default": 404 - } - }, - "type": "object", - "title": "AgentRunNotFoundErrorResponse" - }, - "AgentRunResponse": { - "properties": { - "id": { - "type": "integer", - "title": "Id" - }, - "organization_id": { - "type": "integer", - "title": "Organization Id" - }, - "status": { - "anyOf": [ - { - "type": "string" + "schemas": { + "APIRateLimitErrorResponse": { + "properties": { + "message": { + "type": "string", + "title": "Message", + "default": "Rate limit exceeded. Please try again later." + }, + "status_code": { + "type": "integer", + "title": "Status Code", + "default": 429 + } }, - { - "type": "null" - } - ], - "title": "Status" + "type": "object", + "title": "APIRateLimitErrorResponse" }, - "created_at": { - "anyOf": [ - { - "type": "string" + "AgentRunLimitReachedErrorResponse": { + "properties": { + "message": { + "type": "string", + "title": "Message", + "default": "Alloted agent runs for the current billing plan have been reached. Please upgrade your plan to continue." + }, + "status_code": { + "type": "integer", + "title": "Status Code", + "default": 402 + } }, - { - "type": "null" - } - ], - "title": "Created At" + "type": "object", + "title": "AgentRunLimitReachedErrorResponse" }, - "web_url": { - "anyOf": [ - { - "type": "string" + "AgentRunLogResponse": { + "properties": { + "agent_run_id": { + "type": "integer", + "title": "Agent Run Id" + }, + "created_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Created At" + }, + "tool_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Tool Name" + }, + "message_type": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Message Type" + }, + "thought": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Thought" + }, + "observation": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Observation" + }, + "tool_input": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Tool Input" + }, + "tool_output": { + "anyOf": [ + { + "additionalProperties": true, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Tool Output" + } }, - { - "type": "null" - } - ], - "title": "Web Url" + "type": "object", + "required": [ + "agent_run_id" + ], + "title": "AgentRunLogResponse", + "description": "Represents an agent run log in API responses" }, - "result": { - "anyOf": [ - { - "type": "string" + "AgentRunNotFoundErrorResponse": { + "properties": { + "message": { + "type": "string", + "title": "Message", + "default": "Agent run not found." + }, + "status_code": { + "type": "integer", + "title": "Status Code", + "default": 404 + } }, - { - "type": "null" - } - ], - "title": "Result" - } - }, - "type": "object", - "required": [ - "id", - "organization_id" - ], - "title": "AgentRunResponse", - "description": "Represents an agent run in API responses" - }, - "CreateAgentRunInput": { - "properties": { - "prompt": { - "type": "string", - "title": "Prompt" + "type": "object", + "title": "AgentRunNotFoundErrorResponse" }, - "images": { - "anyOf": [ - { - "items": { - "type": "string" - }, - "type": "array" + "AgentRunResponse": { + "properties": { + "id": { + "type": "integer", + "title": "Id" + }, + "organization_id": { + "type": "integer", + "title": "Organization Id" + }, + "status": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Status" + }, + "created_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Created At" + }, + "web_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Web Url" + }, + "result": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Result" + }, + "source_type": { + "anyOf": [ + { + "$ref": "#/components/schemas/ApiAgentRunSourceType" + }, + { + "type": "null" + } + ] + } }, - { - "type": "null" - } - ], - "title": "Images", - "description": "List of base64 encoded data URIs representing images to be processed by the agent" - } - }, - "type": "object", - "required": [ - "prompt" - ], - "title": "CreateAgentRunInput" - }, - "HTTPValidationError": { - "properties": { - "detail": { - "items": { - "$ref": "#/components/schemas/ValidationError" - }, - "type": "array", - "title": "Detail" - } - }, - "type": "object", - "title": "HTTPValidationError" - }, - "NoReposFoundInOrgErrorResponse": { - "properties": { - "message": { - "type": "string", - "title": "Message", - "default": "No repos found in the organization. Please add some repos and try again." - }, - "status_code": { - "type": "integer", - "title": "Status Code", - "default": 404 - } - }, - "type": "object", - "title": "NoReposFoundInOrgErrorResponse" - }, - "OrganizationResponse": { - "properties": { - "id": { - "type": "integer", - "title": "Id" - }, - "name": { - "type": "string", - "title": "Name" + "type": "object", + "required": [ + "id", + "organization_id" + ], + "title": "AgentRunResponse", + "description": "Represents an agent run in API responses" }, - "settings": { - "$ref": "#/components/schemas/OrganizationSettings" - } - }, - "type": "object", - "required": [ - "id", - "name", - "settings" - ], - "title": "OrganizationResponse", - "description": "Represents an organization in API responses" - }, - "OrganizationSettings": { - "properties": { - "enable_pr_creation": { - "type": "boolean", - "title": "Enable Pr Creation", - "default": true - }, - "enable_rules_detection": { - "type": "boolean", - "title": "Enable Rules Detection", - "default": true - } - }, - "type": "object", - "title": "OrganizationSettings" - }, - "Page_OrganizationResponse_": { - "properties": { - "items": { - "items": { - "$ref": "#/components/schemas/OrganizationResponse" - }, - "type": "array", - "title": "Items" - }, - "total": { - "type": "integer", - "title": "Total" - }, - "page": { - "type": "integer", - "title": "Page" - }, - "size": { - "type": "integer", - "title": "Size" - }, - "pages": { - "type": "integer", - "title": "Pages" - } - }, - "type": "object", - "required": [ - "items", - "total", - "page", - "size", - "pages" - ], - "title": "Page[OrganizationResponse]" - }, - "Page_UserResponse_": { - "properties": { - "items": { - "items": { - "$ref": "#/components/schemas/UserResponse" - }, - "type": "array", - "title": "Items" + "AgentRunWithLogsResponse": { + "properties": { + "id": { + "type": "integer", + "title": "Id" + }, + "organization_id": { + "type": "integer", + "title": "Organization Id" + }, + "status": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Status" + }, + "created_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Created At" + }, + "web_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Web Url" + }, + "result": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Result" + }, + "logs": { + "items": { + "$ref": "#/components/schemas/AgentRunLogResponse" + }, + "type": "array", + "title": "Logs" + }, + "total_logs": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Total Logs" + }, + "page": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Page" + }, + "size": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Size" + }, + "pages": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Pages" + } + }, + "type": "object", + "required": [ + "id", + "organization_id", + "logs" + ], + "title": "AgentRunWithLogsResponse", + "description": "Represents an agent run in API responses" }, - "total": { - "type": "integer", - "title": "Total" + "ApiAgentRunSourceType": { + "type": "string", + "enum": [ + "LOCAL", + "SLACK", + "GITHUB", + "GITHUB_CHECK_SUITE", + "LINEAR", + "API", + "CHAT", + "JIRA" + ], + "title": "ApiAgentRunSourceType" }, - "page": { - "type": "integer", - "title": "Page" + "CreateAgentRunInput": { + "properties": { + "prompt": { + "type": "string", + "title": "Prompt" + }, + "images": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Images", + "description": "List of base64 encoded data URIs representing images to be processed by the agent" + } + }, + "type": "object", + "required": [ + "prompt" + ], + "title": "CreateAgentRunInput" }, - "size": { - "type": "integer", - "title": "Size" + "HTTPValidationError": { + "properties": { + "detail": { + "items": { + "$ref": "#/components/schemas/ValidationError" + }, + "type": "array", + "title": "Detail" + } + }, + "type": "object", + "title": "HTTPValidationError" }, - "pages": { - "type": "integer", - "title": "Pages" - } - }, - "type": "object", - "required": [ - "items", - "total", - "page", - "size", - "pages" - ], - "title": "Page[UserResponse]" - }, - "PermissionsErrorResponse": { - "properties": { - "message": { - "type": "string", - "title": "Message", - "default": "You do not have access to this organization." + "NoReposFoundInOrgErrorResponse": { + "properties": { + "message": { + "type": "string", + "title": "Message", + "default": "No repos found in the organization. Please add some repos and try again." + }, + "status_code": { + "type": "integer", + "title": "Status Code", + "default": 404 + } + }, + "type": "object", + "title": "NoReposFoundInOrgErrorResponse" }, - "status_code": { - "type": "integer", - "title": "Status Code", - "default": 403 - } - }, - "type": "object", - "title": "PermissionsErrorResponse" - }, - "UserNotFoundErrorResponse": { - "properties": { - "message": { - "type": "string", - "title": "Message", - "default": "User not found." + "OrganizationResponse": { + "properties": { + "id": { + "type": "integer", + "title": "Id" + }, + "name": { + "type": "string", + "title": "Name" + }, + "settings": { + "$ref": "#/components/schemas/OrganizationSettings" + } + }, + "type": "object", + "required": [ + "id", + "name", + "settings" + ], + "title": "OrganizationResponse", + "description": "Represents an organization in API responses" }, - "status_code": { - "type": "integer", - "title": "Status Code", - "default": 404 - } - }, - "type": "object", - "title": "UserNotFoundErrorResponse" - }, - "UserResponse": { - "properties": { - "id": { - "type": "integer", - "title": "Id" + "OrganizationSettings": { + "properties": { + "enable_pr_creation": { + "type": "boolean", + "title": "Enable Pr Creation", + "default": true + }, + "enable_rules_detection": { + "type": "boolean", + "title": "Enable Rules Detection", + "default": true + } + }, + "type": "object", + "title": "OrganizationSettings" }, - "email": { - "anyOf": [ - { - "type": "string" + "Page_AgentRunResponse_": { + "properties": { + "items": { + "items": { + "$ref": "#/components/schemas/AgentRunResponse" + }, + "type": "array", + "title": "Items" + }, + "total": { + "type": "integer", + "title": "Total" + }, + "page": { + "type": "integer", + "title": "Page" + }, + "size": { + "type": "integer", + "title": "Size" + }, + "pages": { + "type": "integer", + "title": "Pages" + } }, - { - "type": "null" - } - ], - "title": "Email" + "type": "object", + "required": [ + "items", + "total", + "page", + "size", + "pages" + ], + "title": "Page[AgentRunResponse]" }, - "github_user_id": { - "type": "string", - "title": "Github User Id" + "Page_OrganizationResponse_": { + "properties": { + "items": { + "items": { + "$ref": "#/components/schemas/OrganizationResponse" + }, + "type": "array", + "title": "Items" + }, + "total": { + "type": "integer", + "title": "Total" + }, + "page": { + "type": "integer", + "title": "Page" + }, + "size": { + "type": "integer", + "title": "Size" + }, + "pages": { + "type": "integer", + "title": "Pages" + } + }, + "type": "object", + "required": [ + "items", + "total", + "page", + "size", + "pages" + ], + "title": "Page[OrganizationResponse]" }, - "github_username": { - "type": "string", - "title": "Github Username" + "Page_UserResponse_": { + "properties": { + "items": { + "items": { + "$ref": "#/components/schemas/UserResponse" + }, + "type": "array", + "title": "Items" + }, + "total": { + "type": "integer", + "title": "Total" + }, + "page": { + "type": "integer", + "title": "Page" + }, + "size": { + "type": "integer", + "title": "Size" + }, + "pages": { + "type": "integer", + "title": "Pages" + } + }, + "type": "object", + "required": [ + "items", + "total", + "page", + "size", + "pages" + ], + "title": "Page[UserResponse]" }, - "avatar_url": { - "anyOf": [ - { - "type": "string" + "PermissionsErrorResponse": { + "properties": { + "message": { + "type": "string", + "title": "Message", + "default": "You do not have access to this organization." + }, + "status_code": { + "type": "integer", + "title": "Status Code", + "default": 403 + } }, - { - "type": "null" - } - ], - "title": "Avatar Url" + "type": "object", + "title": "PermissionsErrorResponse" }, - "full_name": { - "anyOf": [ - { - "type": "string" + "UserNotFoundErrorResponse": { + "properties": { + "message": { + "type": "string", + "title": "Message", + "default": "User not found." + }, + "status_code": { + "type": "integer", + "title": "Status Code", + "default": 404 + } }, - { - "type": "null" - } - ], - "title": "Full Name" - } - }, - "type": "object", - "required": [ - "id", - "email", - "github_user_id", - "github_username", - "avatar_url", - "full_name" - ], - "title": "UserResponse", - "description": "Represents a user in API responses" - }, - "ValidationError": { - "properties": { - "loc": { - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "integer" - } - ] - }, - "type": "array", - "title": "Location" + "type": "object", + "title": "UserNotFoundErrorResponse" }, - "msg": { - "type": "string", - "title": "Message" + "UserResponse": { + "properties": { + "id": { + "type": "integer", + "title": "Id" + }, + "email": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Email" + }, + "github_user_id": { + "type": "string", + "title": "Github User Id" + }, + "github_username": { + "type": "string", + "title": "Github Username" + }, + "avatar_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Avatar Url" + }, + "full_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Full Name" + } + }, + "type": "object", + "required": [ + "id", + "email", + "github_user_id", + "github_username", + "avatar_url", + "full_name" + ], + "title": "UserResponse", + "description": "Represents a user in API responses" }, - "type": { - "type": "string", - "title": "Error Type" + "ValidationError": { + "properties": { + "loc": { + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "integer" + } + ] + }, + "type": "array", + "title": "Location" + }, + "msg": { + "type": "string", + "title": "Message" + }, + "type": { + "type": "string", + "title": "Error Type" + } + }, + "type": "object", + "required": [ + "loc", + "msg", + "type" + ], + "title": "ValidationError" } - }, - "type": "object", - "required": [ - "loc", - "msg", - "type" - ], - "title": "ValidationError" } - } } - } \ No newline at end of file +} \ No newline at end of file From 471897a3863d37cfa80aaa4c06294212403b5b6e Mon Sep 17 00:00:00 2001 From: Rushil Patel Date: Fri, 13 Jun 2025 12:14:20 -0700 Subject: [PATCH 3/4] fix update docs --- docs/docs.json | 1 + docs/images/jira.png | Bin 0 -> 176659 bytes docs/integrations/jira.mdx | 58 +++++++++++++++++++++++++++++++++++ docs/integrations/linear.mdx | 2 +- docs/integrations/slack.mdx | 2 +- 5 files changed, 61 insertions(+), 2 deletions(-) create mode 100644 docs/images/jira.png create mode 100644 docs/integrations/jira.mdx diff --git a/docs/docs.json b/docs/docs.json index 1b1f62939..e02db4c2c 100644 --- a/docs/docs.json +++ b/docs/docs.json @@ -30,6 +30,7 @@ "pages": [ "integrations/slack", "integrations/linear", + "integrations/jira", "integrations/github", "integrations/web-search", "integrations/postgres" diff --git a/docs/images/jira.png b/docs/images/jira.png new file mode 100644 index 0000000000000000000000000000000000000000..2110114d6f8bb90033dc8ce6cc0324430127d1f6 GIT binary patch literal 176659 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�z=Y}EM&ZPZYmFJv!4^)0P;`c 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

j@&2j+iD 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%0A^=+ZO7I|d^1a&F zC0xPmn+_qNLrb*BiV=s4e{}MklaIBxqqQY4UKKu-?=i=5Qh8`4d#7LU!@b?fkptu9 zJD7RX*0u(p;opB|DZ9h;2)_Yd_sxGQL0b8NZ?`bJsQKfet7o}*SO4`38AN{359jT+ z6+AtTmW_7r zj;IM+YCG^j%lzL2KPePo4JI zcYE}%0*{#aoHmA)nTELrj_rHtl;EfL&)c&*w0`I`JV)MgxqJ}8sDl)~cgC;Wt6~T% zJ9se)Gn13v*gtFC4^#dHjLX~mQ#?oia5+!`6QKjw)W|Yy`^>#`I5h%&@~N6hy+?o1 zUtW^Nsv{j;rziwS`p(;<8l1n6GtL(6rM{}C0mhP3xYgt2FR_!~1h1GTJh5POBajXG zlMpAJ%#<=YlOKGCohzOlOrunnlU(c=*MFo#EpNkP&-YwgElb#!?AZiJgzFE|jx)1z zJ$-GV!J0Pg`i`r%qEIojl~;~G;Hz$GjJCFq4)bflsq~*bWj=Mc{hk>gw^kUu%>=LU z9qyXAs39;ef($*kCw3jo2h2eNpO5nU=K+CQho27Sl8*6iy?bVlne*d4KiHm4y}6*l zQd2ora>mtRi*z{m-B9M8t#^>g`{1pQN4K>n#75B|B*W_+$ijvpr|tzkWi2)mR;S`G28B za#Rbz62f40r}vK4e_dZ2b3h|cTIARsNAO<*)CoAp=|fKs?b){f{qq;l_07n+9IzHT@Gd~~%9v + + + The Jira integration is currently in beta. Please reach out in the community to have it enabled for your Codegen account. + + +## Step-by-Step Setup Guide + +Follow these steps to successfully connect Codegen to your Jira workspace: + +### 1. Create a Dedicated Jira User for Codegen +- In your Jira workspace, create a new user account specifically for Codegen. +- **Email:** Use an address with `codegen` in it, like `yourname+codegen@company_domain.com` or `codegen@company_domain.com`. +- **Name:** Set the user's name to **Codegen**. This makes it easy to identify actions performed by Codegen in Jira. + +### 2. Authorize Codegen with the New Jira User +- Log in to Jira as the new Codegen user. +- Go to [Codegen's Jira Integration page](https://codegen.com/integrations/jira). +- Click **Connect Jira Workspace** and complete the OAuth flow **using the Codegen Jira user** you just created. + + + Make sure you are logged in as the Codegen Jira user when authorizing access. This is to ensure Codegen acts on behalf of the new user and not your personal account. + + +### 3. Switch Back to Your Own Jira Account +- After connecting, log out of the Codegen Jira user in Jira. +- Log back in with your personal Jira account. + +### 4. Use Codegen in Your Workflow +- On any Jira ticket, `@mention` the Codegen user (e.g., `@Codegen`) to assign or notify Codegen about the issue. +- Codegen will interact with the ticket, update statuses, add comments, and link PRs as needed. + +## Capabilities + +The Jira integration provides read and write access, enabling agents to manage tasks effectively: + +- **Read Access:** Fetch issue details, read comments, view project status, list team members. +- **Write Access:** Update issue status (e.g., to "In Progress", "Done"), add comments, link GitHub PRs to issues, create new issues, assign tasks. + +## How Agents Use Jira + +Agents use the Jira integration to streamline project management: + +- **Track Work:** Automatically update the status of issues they are working on. +- **Link Code:** Connect implemented changes (GitHub PRs) directly to the relevant Jira issue. +- **Provide Updates:** Post comments on issues with progress reports, results, or questions. +- **Create Tasks:** Generate new issues for follow-up work, bugs discovered, or sub-tasks. + diff --git a/docs/integrations/linear.mdx b/docs/integrations/linear.mdx index 772c08211..44db944ab 100644 --- a/docs/integrations/linear.mdx +++ b/docs/integrations/linear.mdx @@ -6,7 +6,7 @@ icon: "book" Integrate Codegen with your Linear workspace to allow agents to interact with issues, manage projects, and keep your team updated. - + ## Installation diff --git a/docs/integrations/slack.mdx b/docs/integrations/slack.mdx index 2fae18620..f455311bb 100644 --- a/docs/integrations/slack.mdx +++ b/docs/integrations/slack.mdx @@ -6,7 +6,7 @@ icon: "slack" Connect Codegen to your Slack workspace to enable seamless communication between agents and your team. - + ## Installation From f04e2d72b5aef696c75cbd6f87d2384445668593 Mon Sep 17 00:00:00 2001 From: rushilpatel0 <171610820+rushilpatel0@users.noreply.github.com> Date: Fri, 13 Jun 2025 20:10:27 +0000 Subject: [PATCH 4/4] Automated pre-commit update --- docs/api-reference/openapi3.json | 69 ++++++-------------------------- 1 file changed, 12 insertions(+), 57 deletions(-) diff --git a/docs/api-reference/openapi3.json b/docs/api-reference/openapi3.json index 42b77cf63..11a58fa26 100644 --- a/docs/api-reference/openapi3.json +++ b/docs/api-reference/openapi3.json @@ -14,11 +14,7 @@ "paths": { "/v1/organizations/{org_id}/users": { "get": { - "tags": [ - "users", - "users", - "users" - ], + "tags": ["users", "users", "users"], "summary": "Get Users", "description": "Get paginated list of users for a specific organization.\n\nReturns a paginated list of all users associated with the specified organization.\nThe requesting user must be a member of the organization to access this endpoint.\n\nRate limit: 60 requests per 30 seconds.", "operationId": "get_users_v1_organizations__org_id__users_get", @@ -110,11 +106,7 @@ }, "/v1/organizations/{org_id}/users/{user_id}": { "get": { - "tags": [ - "users", - "users", - "users" - ], + "tags": ["users", "users", "users"], "summary": "Get User", "description": "Get details for a specific user in an organization.\n\nReturns detailed information about a user within the specified organization.\nThe requesting user must be a member of the organization to access this endpoint.\n\nRate limit: 60 requests per 30 seconds.", "operationId": "get_user_v1_organizations__org_id__users__user_id__get", @@ -262,11 +254,7 @@ }, "/v1/organizations/{org_id}/agent/run": { "post": { - "tags": [ - "agents", - "agents", - "agents" - ], + "tags": ["agents", "agents", "agents"], "summary": "Create Agent Run", "description": "Create a new agent run.\n\nCreates and initiates a long-running agent process based on the provided prompt.\nThe process will complete asynchronously, and the response contains the agent run ID\nwhich can be used to check the status later. The requesting user must be a member\nof the specified organization.\n\nThis endpoint accepts both a text prompt and an optional image file upload.\n\nRate limit: 10 requests per minute.", "operationId": "create_agent_run_v1_organizations__org_id__agent_run_post", @@ -365,11 +353,7 @@ }, "/v1/organizations/{org_id}/agent/run/{agent_run_id}": { "get": { - "tags": [ - "agents", - "agents", - "agents" - ], + "tags": ["agents", "agents", "agents"], "summary": "Get Agent Run", "description": "Retrieve the status and result of an agent run.\n\nReturns the current status, progress, and any available results for the specified agent run.\nThe agent run must belong to the specified organization. If the agent run is still in progress,\nthis endpoint can be polled to check for completion.\n\nRate limit: 60 requests per 30 seconds.", "operationId": "get_agent_run_v1_organizations__org_id__agent_run__agent_run_id__get", @@ -585,11 +569,7 @@ }, "/v1/organizations": { "get": { - "tags": [ - "organizations", - "organizations", - "organizations" - ], + "tags": ["organizations", "organizations", "organizations"], "summary": "Get Organizations", "description": "Get organizations for the authenticated user.\n\nReturns a paginated list of all organizations that the authenticated user is a member of.\nResults include basic organization details such as name, ID, and membership information.\nUse pagination parameters to control the number of results returned.\n\nRate limit: 60 requests per 30 seconds.", "operationId": "get_organizations_v1_organizations_get", @@ -983,10 +963,7 @@ } }, "type": "object", - "required": [ - "id", - "organization_id" - ], + "required": ["id", "organization_id"], "title": "AgentRunResponse", "description": "Represents an agent run in API responses" }, @@ -1138,9 +1115,7 @@ } }, "type": "object", - "required": [ - "prompt" - ], + "required": ["prompt"], "title": "CreateAgentRunInput" }, "HTTPValidationError": { @@ -1187,11 +1162,7 @@ } }, "type": "object", - "required": [ - "id", - "name", - "settings" - ], + "required": ["id", "name", "settings"], "title": "OrganizationResponse", "description": "Represents an organization in API responses" }, @@ -1268,13 +1239,7 @@ } }, "type": "object", - "required": [ - "items", - "total", - "page", - "size", - "pages" - ], + "required": ["items", "total", "page", "size", "pages"], "title": "Page[OrganizationResponse]" }, "Page_UserResponse_": { @@ -1304,13 +1269,7 @@ } }, "type": "object", - "required": [ - "items", - "total", - "page", - "size", - "pages" - ], + "required": ["items", "total", "page", "size", "pages"], "title": "Page[UserResponse]" }, "PermissionsErrorResponse": { @@ -1431,13 +1390,9 @@ } }, "type": "object", - "required": [ - "loc", - "msg", - "type" - ], + "required": ["loc", "msg", "type"], "title": "ValidationError" } } } -} \ No newline at end of file +}