diff --git a/fern/apis/fai/openapi.json b/fern/apis/fai/openapi.json index eea90114c..1dfd2cb3f 100644 --- a/fern/apis/fai/openapi.json +++ b/fern/apis/fai/openapi.json @@ -431,17 +431,18 @@ ] } }, - "/document/{domain}/create": { - "post": { + "/settings/ask-ai": { + "get": { "tags": [ - "Document" + "Settings" ], - "summary": "Create Document", - "operationId": "create_document", + "summary": "Get Settings", + "description": "Get settings for a domain and organization.", + "operationId": "get_settings", "parameters": [ { "name": "domain", - "in": "path", + "in": "query", "required": true, "schema": { "type": "string", @@ -449,27 +450,13 @@ } } ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateDocumentRequest" - } - } - } - }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CreateDocumentResponse" - }, - "title": "Response Create Document Document Domain Create Post" + "$ref": "#/components/schemas/GetSettingsResponse" } } } @@ -486,58 +473,45 @@ } }, "x-fern-audiences": [ - "customers" - ], - "security": [ - { - "bearerAuth": [] - } + "internal" ] } }, - "/document/{domain}/batch-create": { + "/settings/ask-ai/toggle": { "post": { "tags": [ - "Document" + "Settings" ], - "summary": "Batch Create Document", - "operationId": "batch_create_document", + "summary": "Toggle Ask Ai", + "description": "Toggle Ask AI setting and return job_id for tracking.", + "operationId": "toggle_ask_ai", "parameters": [ { "name": "domain", - "in": "path", + "in": "query", "required": true, "schema": { "type": "string", "title": "Domain" } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CreateDocumentRequest" - }, - "title": "Body" - } + }, + { + "name": "org_name", + "in": "query", + "required": true, + "schema": { + "type": "string", + "title": "Org Name" } } - }, + ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CreateDocumentResponse" - }, - "title": "Response Batch Create Document Document Domain Batch Create Post" + "$ref": "#/components/schemas/ToggleAskAiResponse" } } } @@ -554,7 +528,7 @@ } }, "x-fern-audiences": [ - "customers" + "internal" ], "security": [ { @@ -563,17 +537,18 @@ ] } }, - "/document/{domain}/{document_id}": { - "patch": { + "/settings/ask-ai/reindex": { + "post": { "tags": [ - "Document" + "Settings" ], - "summary": "Update Document", - "operationId": "update_document", + "summary": "Reindex Ask Ai", + "description": "Manually trigger reindex for an already enabled Ask AI setup.", + "operationId": "reindex_ask_ai", "parameters": [ { "name": "domain", - "in": "path", + "in": "query", "required": true, "schema": { "type": "string", @@ -581,32 +556,22 @@ } }, { - "name": "document_id", - "in": "path", + "name": "org_name", + "in": "query", "required": true, "schema": { "type": "string", - "title": "Document Id" + "title": "Org Name" } } ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateDocumentRequest" - } - } - } - }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/UpdateDocumentResponse" + "$ref": "#/components/schemas/ToggleAskAiResponse" } } } @@ -623,37 +588,81 @@ } }, "x-fern-audiences": [ - "customers" + "internal" ], "security": [ { "bearerAuth": [] } ] - }, + } + }, + "/settings/ask-ai/toggle/status": { "get": { "tags": [ - "Document" + "Settings" ], - "summary": "Get Document By Id", - "operationId": "get_document_by_id", + "summary": "Get Toggle Status", + "description": "Get the status of Ask AI toggle operation.", + "operationId": "get_toggle_status", "parameters": [ { "name": "domain", - "in": "path", + "in": "query", "required": true, "schema": { "type": "string", "title": "Domain" } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ToggleStatusResponse" + } + } + } }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + }, + "x-fern-audiences": [ + "internal" + ], + "security": [ { - "name": "document_id", - "in": "path", + "bearerAuth": [] + } + ] + } + }, + "/discord/install": { + "post": { + "tags": [ + "Discord" + ], + "summary": "Create Discord Integration", + "operationId": "create_discord_integration", + "parameters": [ + { + "name": "domain", + "in": "query", "required": true, "schema": { "type": "string", - "title": "Document Id" + "title": "Domain" } } ], @@ -663,7 +672,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/GetDocumentResponse" + "$ref": "#/components/schemas/DiscordIntegrationResponse" } } } @@ -689,13 +698,35 @@ ] } }, - "/document/{domain}/delete": { - "delete": { + "/discord/install/callback": { + "get": { + "tags": [ + "Discord" + ], + "summary": "Handle Discord Install Callback", + "operationId": "handle_discord_install_callback", + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + } + }, + "x-fern-audiences": [ + "internal" + ] + } + }, + "/document/{domain}/create": { + "post": { "tags": [ "Document" ], - "summary": "Delete Document By Id", - "operationId": "delete_document_by_id", + "summary": "Create Document", + "operationId": "create_document", "parameters": [ { "name": "domain", @@ -712,7 +743,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/DeleteDocumentRequest" + "$ref": "#/components/schemas/CreateDocumentRequest" } } } @@ -723,7 +754,11 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/DeleteDocumentResponse" + "type": "array", + "items": { + "$ref": "#/components/schemas/CreateDocumentResponse" + }, + "title": "Response Create Document Document Domain Create Post" } } } @@ -749,13 +784,13 @@ ] } }, - "/document/{domain}/batch-delete": { - "delete": { + "/document/{domain}/batch-create": { + "post": { "tags": [ "Document" ], - "summary": "Batch Delete Document", - "operationId": "batch_delete_document", + "summary": "Batch Create Document", + "operationId": "batch_create_document", "parameters": [ { "name": "domain", @@ -774,7 +809,7 @@ "schema": { "type": "array", "items": { - "$ref": "#/components/schemas/DeleteDocumentRequest" + "$ref": "#/components/schemas/CreateDocumentRequest" }, "title": "Body" } @@ -787,7 +822,11 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/DeleteDocumentResponse" + "type": "array", + "items": { + "$ref": "#/components/schemas/CreateDocumentResponse" + }, + "title": "Response Batch Create Document Document Domain Batch Create Post" } } } @@ -813,13 +852,13 @@ ] } }, - "/document/{domain}": { - "get": { + "/document/{domain}/{document_id}": { + "patch": { "tags": [ "Document" ], - "summary": "Get Documents", - "operationId": "get_documents", + "summary": "Update Document", + "operationId": "update_document", "parameters": [ { "name": "domain", @@ -831,49 +870,32 @@ } }, { - "name": "page", - "in": "query", - "required": false, - "schema": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "The page number for pagination", - "title": "Page" - }, - "description": "The page number for pagination" - }, - { - "name": "limit", - "in": "query", - "required": false, + "name": "document_id", + "in": "path", + "required": true, "schema": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "The number of documents per page", - "title": "Limit" - }, - "description": "The number of documents per page" + "type": "string", + "title": "Document Id" + } } ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateDocumentRequest" + } + } + } + }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/GetDocumentsResponse" + "$ref": "#/components/schemas/UpdateDocumentResponse" } } } @@ -897,15 +919,13 @@ "bearerAuth": [] } ] - } - }, - "/document/{domain}/delete-all": { - "delete": { + }, + "get": { "tags": [ "Document" ], - "summary": "Delete All Documents", - "operationId": "delete_all_documents", + "summary": "Get Document By Id", + "operationId": "get_document_by_id", "parameters": [ { "name": "domain", @@ -915,6 +935,15 @@ "type": "string", "title": "Domain" } + }, + { + "name": "document_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Document Id" + } } ], "responses": { @@ -923,7 +952,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/DeleteDocumentResponse" + "$ref": "#/components/schemas/GetDocumentResponse" } } } @@ -949,13 +978,13 @@ ] } }, - "/feedback/{domain}": { - "post": { + "/document/{domain}/delete": { + "delete": { "tags": [ - "Feedback" + "Document" ], - "summary": "Create Feedback", - "operationId": "create_feedback", + "summary": "Delete Document By Id", + "operationId": "delete_document_by_id", "parameters": [ { "name": "domain", @@ -972,7 +1001,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CreateFeedbackRequest" + "$ref": "#/components/schemas/DeleteDocumentRequest" } } } @@ -983,7 +1012,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CreateFeedbackResponse" + "$ref": "#/components/schemas/DeleteDocumentResponse" } } } @@ -1000,17 +1029,22 @@ } }, "x-fern-audiences": [ - "internal" + "customers" + ], + "security": [ + { + "bearerAuth": [] + } ] } }, - "/feedback/{domain}/{conversation_id}": { - "get": { + "/document/{domain}/batch-delete": { + "delete": { "tags": [ - "Feedback" + "Document" ], - "summary": "Get Feedback By Id", - "operationId": "get_feedback_by_id", + "summary": "Batch Delete Document", + "operationId": "batch_delete_document", "parameters": [ { "name": "domain", @@ -1020,24 +1054,29 @@ "type": "string", "title": "Domain" } - }, - { - "name": "conversation_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "title": "Conversation Id" - } } ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DeleteDocumentRequest" + }, + "title": "Body" + } + } + } + }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/GetFeedbackResponse" + "$ref": "#/components/schemas/DeleteDocumentResponse" } } } @@ -1054,7 +1093,7 @@ } }, "x-fern-audiences": [ - "internal" + "customers" ], "security": [ { @@ -1063,14 +1102,13 @@ ] } }, - "/github/{domain}/reference-md/index": { - "post": { + "/document/{domain}": { + "get": { "tags": [ - "Github" + "Document" ], - "summary": "Index Reference Md", - "description": "Index an SDK repository's reference.md file.", - "operationId": "index_reference_md", + "summary": "Get Documents", + "operationId": "get_documents", "parameters": [ { "name": "domain", @@ -1080,25 +1118,51 @@ "type": "string", "title": "Domain" } + }, + { + "name": "page", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "The page number for pagination", + "title": "Page" + }, + "description": "The page number for pagination" + }, + { + "name": "limit", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "The number of documents per page", + "title": "Limit" + }, + "description": "The number of documents per page" } ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GitHubFileInfoRequest" - } - } - } - }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/IndexResponse" + "$ref": "#/components/schemas/GetDocumentsResponse" } } } @@ -1115,7 +1179,7 @@ } }, "x-fern-audiences": [ - "internal" + "customers" ], "security": [ { @@ -1124,14 +1188,13 @@ ] } }, - "/github/{domain}/indexed": { - "get": { + "/document/{domain}/delete-all": { + "delete": { "tags": [ - "Github" + "Document" ], - "summary": "Check Code Index Status", - "description": "Check if the domain has a non-empty code index in both database and turbopuffer.", - "operationId": "check_code_index_status", + "summary": "Delete All Documents", + "operationId": "delete_all_documents", "parameters": [ { "name": "domain", @@ -1149,7 +1212,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CodeIndexStatusResponse" + "$ref": "#/components/schemas/DeleteDocumentResponse" } } } @@ -1166,7 +1229,7 @@ } }, "x-fern-audiences": [ - "internal" + "customers" ], "security": [ { @@ -1175,13 +1238,13 @@ ] } }, - "/guidance/{domain}/create": { + "/feedback/{domain}": { "post": { "tags": [ - "Guidance" + "Feedback" ], - "summary": "Create Guidance", - "operationId": "create_guidance", + "summary": "Create Feedback", + "operationId": "create_feedback", "parameters": [ { "name": "domain", @@ -1198,7 +1261,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CreateGuidanceRequest" + "$ref": "#/components/schemas/CreateFeedbackRequest" } } } @@ -1209,7 +1272,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CreateGuidanceResponse" + "$ref": "#/components/schemas/CreateFeedbackResponse" } } } @@ -1226,22 +1289,17 @@ } }, "x-fern-audiences": [ - "customers" - ], - "security": [ - { - "bearerAuth": [] - } + "internal" ] } }, - "/guidance/{domain}/{guidance_id}": { - "patch": { + "/feedback/{domain}/{conversation_id}": { + "get": { "tags": [ - "Guidance" + "Feedback" ], - "summary": "Update", - "operationId": "update", + "summary": "Get Feedback By Id", + "operationId": "get_feedback_by_id", "parameters": [ { "name": "domain", @@ -1253,32 +1311,22 @@ } }, { - "name": "guidance_id", + "name": "conversation_id", "in": "path", "required": true, "schema": { "type": "string", - "title": "Guidance Id" + "title": "Conversation Id" } } ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateGuidanceRequest" - } - } - } - }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/UpdateGuidanceResponse" + "$ref": "#/components/schemas/GetFeedbackResponse" } } } @@ -1295,20 +1343,23 @@ } }, "x-fern-audiences": [ - "customers" + "internal" ], "security": [ { "bearerAuth": [] } ] - }, - "delete": { + } + }, + "/github/{domain}/reference-md/index": { + "post": { "tags": [ - "Guidance" + "Github" ], - "summary": "Delete Guidance By Id", - "operationId": "delete_guidance_by_id", + "summary": "Index Reference Md", + "description": "Index an SDK repository's reference.md file.", + "operationId": "index_reference_md", "parameters": [ { "name": "domain", @@ -1318,24 +1369,25 @@ "type": "string", "title": "Domain" } - }, - { - "name": "guidance_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "title": "Guidance Id" - } } ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GitHubFileInfoRequest" + } + } + } + }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/DeleteGuidanceResponse" + "$ref": "#/components/schemas/IndexResponse" } } } @@ -1352,20 +1404,23 @@ } }, "x-fern-audiences": [ - "customers" + "internal" ], "security": [ { "bearerAuth": [] } ] - }, + } + }, + "/github/{domain}/indexed": { "get": { "tags": [ - "Guidance" + "Github" ], - "summary": "Get Guidance By Id", - "operationId": "get_guidance_by_id", + "summary": "Check Code Index Status", + "description": "Check if the domain has a non-empty code index in both database and turbopuffer.", + "operationId": "check_code_index_status", "parameters": [ { "name": "domain", @@ -1375,15 +1430,6 @@ "type": "string", "title": "Domain" } - }, - { - "name": "guidance_id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "title": "Guidance Id" - } } ], "responses": { @@ -1392,7 +1438,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/GetGuidanceResponse" + "$ref": "#/components/schemas/CodeIndexStatusResponse" } } } @@ -1409,7 +1455,7 @@ } }, "x-fern-audiences": [ - "customers" + "internal" ], "security": [ { @@ -1418,13 +1464,13 @@ ] } }, - "/guidance/{domain}": { - "get": { + "/guidance/{domain}/create": { + "post": { "tags": [ "Guidance" ], - "summary": "Get Guidances", - "operationId": "get_guidances", + "summary": "Create Guidance", + "operationId": "create_guidance", "parameters": [ { "name": "domain", @@ -1434,51 +1480,25 @@ "type": "string", "title": "Domain" } - }, - { - "name": "page", - "in": "query", - "required": false, - "schema": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "The page number for pagination", - "title": "Page" - }, - "description": "The page number for pagination" - }, - { - "name": "limit", - "in": "query", - "required": false, - "schema": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "The number of documents per page", - "title": "Limit" - }, - "description": "The number of documents per page" } ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateGuidanceRequest" + } + } + } + }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/GetGuidancesResponse" + "$ref": "#/components/schemas/CreateGuidanceResponse" } } } @@ -1504,36 +1524,13 @@ ] } }, - "/health": { - "get": { - "tags": [ - "Health" - ], - "summary": "Health Check", - "description": "Health check endpoint that returns the application status.", - "operationId": "health_check", - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": {} - } - } - } - }, - "x-fern-audiences": [ - "internal" - ] - } - }, - "/index/{domain}/reconstruct": { - "post": { + "/guidance/{domain}/{guidance_id}": { + "patch": { "tags": [ - "Index" + "Guidance" ], - "summary": "Reconstruct Query Index", - "operationId": "reconstruct_query_index", + "summary": "Update", + "operationId": "update", "parameters": [ { "name": "domain", @@ -1543,15 +1540,34 @@ "type": "string", "title": "Domain" } + }, + { + "name": "guidance_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Guidance Id" + } } ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateGuidanceRequest" + } + } + } + }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ReconstructIndexResponse" + "$ref": "#/components/schemas/UpdateGuidanceResponse" } } } @@ -1568,22 +1584,20 @@ } }, "x-fern-audiences": [ - "internal" + "customers" ], "security": [ { "bearerAuth": [] } ] - } - }, - "/index/{domain}/sync": { - "post": { + }, + "delete": { "tags": [ - "Index" + "Guidance" ], - "summary": "Sync Index To Query Index", - "operationId": "sync_index_to_query_index", + "summary": "Delete Guidance By Id", + "operationId": "delete_guidance_by_id", "parameters": [ { "name": "domain", @@ -1593,25 +1607,24 @@ "type": "string", "title": "Domain" } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SyncIndexRequest" - } + }, + { + "name": "guidance_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Guidance Id" } } - }, + ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SyncIndexResponse" + "$ref": "#/components/schemas/DeleteGuidanceResponse" } } } @@ -1628,30 +1641,37 @@ } }, "x-fern-audiences": [ - "internal" + "customers" ], "security": [ { "bearerAuth": [] } ] - } - }, - "/jobs/{job_id}/status": { + }, "get": { "tags": [ - "Index" + "Guidance" ], - "summary": "Get Job Status", - "operationId": "get_job_status", + "summary": "Get Guidance By Id", + "operationId": "get_guidance_by_id", "parameters": [ { - "name": "job_id", + "name": "domain", "in": "path", "required": true, "schema": { "type": "string", - "title": "Job Id" + "title": "Domain" + } + }, + { + "name": "guidance_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Guidance Id" } } ], @@ -1661,7 +1681,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/JobStatusResponse" + "$ref": "#/components/schemas/GetGuidanceResponse" } } } @@ -1678,17 +1698,22 @@ } }, "x-fern-audiences": [ - "internal" + "customers" + ], + "security": [ + { + "bearerAuth": [] + } ] } }, - "/mcp/semantic/{domain}": { - "post": { + "/guidance/{domain}": { + "get": { "tags": [ - "Mcp" + "Guidance" ], - "summary": "Get Mcp Semantic Query", - "operationId": "get_mcp_semantic_query", + "summary": "Get Guidances", + "operationId": "get_guidances", "parameters": [ { "name": "domain", @@ -1698,25 +1723,51 @@ "type": "string", "title": "Domain" } + }, + { + "name": "page", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "The page number for pagination", + "title": "Page" + }, + "description": "The page number for pagination" + }, + { + "name": "limit", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "The number of documents per page", + "title": "Limit" + }, + "description": "The number of documents per page" } ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GetMcpSemanticQueryRequest" - } - } - } - }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/GetMcpSemanticQueryResponse" + "$ref": "#/components/schemas/GetGuidancesResponse" } } } @@ -1733,7 +1784,7 @@ } }, "x-fern-audiences": [ - "internal" + "customers" ], "security": [ { @@ -1742,13 +1793,36 @@ ] } }, - "/mcp/bmf/{domain}": { + "/health": { + "get": { + "tags": [ + "Health" + ], + "summary": "Health Check", + "description": "Health check endpoint that returns the application status.", + "operationId": "health_check", + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + } + }, + "x-fern-audiences": [ + "internal" + ] + } + }, + "/index/{domain}/reconstruct": { "post": { "tags": [ - "Mcp" + "Index" ], - "summary": "Get Mcp Bmf Query", - "operationId": "get_mcp_bmf_query", + "summary": "Reconstruct Query Index", + "operationId": "reconstruct_query_index", "parameters": [ { "name": "domain", @@ -1760,23 +1834,13 @@ } } ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GetMcpBmfQueryRequest" - } - } - } - }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/GetMcpBmfQueryResponse" + "$ref": "#/components/schemas/ReconstructIndexResponse" } } } @@ -1802,17 +1866,17 @@ ] } }, - "/queries": { + "/index/{domain}/sync": { "post": { "tags": [ - "Query" + "Index" ], - "summary": "Create Query", - "operationId": "create_query", + "summary": "Sync Index To Query Index", + "operationId": "sync_index_to_query_index", "parameters": [ { "name": "domain", - "in": "query", + "in": "path", "required": true, "schema": { "type": "string", @@ -1825,7 +1889,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Query" + "$ref": "#/components/schemas/SyncIndexRequest" } } } @@ -1836,7 +1900,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CreateQueryResponse" + "$ref": "#/components/schemas/SyncIndexResponse" } } } @@ -1862,133 +1926,22 @@ ] } }, - "/queries/{domain}": { + "/jobs/{job_id}/status": { "get": { "tags": [ - "Query" + "Index" ], - "summary": "Get Recent Queries", - "operationId": "get_recent_queries", + "summary": "Get Job Status", + "operationId": "get_job_status", "parameters": [ { - "name": "domain", + "name": "job_id", "in": "path", "required": true, "schema": { "type": "string", - "title": "Domain" + "title": "Job Id" } - }, - { - "name": "page", - "in": "query", - "required": false, - "schema": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "The page number for pagination", - "title": "Page" - }, - "description": "The page number for pagination" - }, - { - "name": "limit", - "in": "query", - "required": false, - "schema": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "The number of queries per page", - "title": "Limit" - }, - "description": "The number of queries per page" - }, - { - "name": "cutoff_time", - "in": "query", - "required": false, - "schema": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "null" - } - ], - "description": "Only return queries after this time", - "title": "Cutoff Time" - }, - "description": "Only return queries after this time" - }, - { - "name": "include_assistant", - "in": "query", - "required": false, - "schema": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "description": "Whether to include assistant responses in the results", - "title": "Include Assistant" - }, - "description": "Whether to include assistant responses in the results" - }, - { - "name": "start_date", - "in": "query", - "required": false, - "schema": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "null" - } - ], - "description": "The start date of the period to retrieve analytics for", - "title": "Start Date" - }, - "description": "The start date of the period to retrieve analytics for" - }, - { - "name": "end_date", - "in": "query", - "required": false, - "schema": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "null" - } - ], - "description": "The end date of the period to retrieve analytics for", - "title": "End Date" - }, - "description": "The end date of the period to retrieve analytics for" } ], "responses": { @@ -1997,7 +1950,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/GetQueriesResponse" + "$ref": "#/components/schemas/JobStatusResponse" } } } @@ -2015,26 +1968,20 @@ }, "x-fern-audiences": [ "internal" - ], - "security": [ - { - "bearerAuth": [] - } ] } }, - "/settings/ask-ai": { - "get": { + "/mcp/semantic/{domain}": { + "post": { "tags": [ - "Settings" + "Mcp" ], - "summary": "Get Settings", - "description": "Get settings for a domain and organization.", - "operationId": "get_settings", + "summary": "Get Mcp Semantic Query", + "operationId": "get_mcp_semantic_query", "parameters": [ { "name": "domain", - "in": "query", + "in": "path", "required": true, "schema": { "type": "string", @@ -2042,13 +1989,23 @@ } } ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetMcpSemanticQueryRequest" + } + } + } + }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/GetSettingsResponse" + "$ref": "#/components/schemas/GetMcpSemanticQueryResponse" } } } @@ -2066,44 +2023,49 @@ }, "x-fern-audiences": [ "internal" + ], + "security": [ + { + "bearerAuth": [] + } ] } }, - "/settings/ask-ai/toggle": { + "/mcp/bmf/{domain}": { "post": { "tags": [ - "Settings" + "Mcp" ], - "summary": "Toggle Ask Ai", - "description": "Toggle Ask AI setting and return job_id for tracking.", - "operationId": "toggle_ask_ai", + "summary": "Get Mcp Bmf Query", + "operationId": "get_mcp_bmf_query", "parameters": [ { - "name": "domain", - "in": "query", - "required": true, - "schema": { - "type": "string", - "title": "Domain" - } - }, - { - "name": "org_name", - "in": "query", + "name": "domain", + "in": "path", "required": true, "schema": { "type": "string", - "title": "Org Name" + "title": "Domain" } } ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetMcpBmfQueryRequest" + } + } + } + }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ToggleAskAiResponse" + "$ref": "#/components/schemas/GetMcpBmfQueryResponse" } } } @@ -2129,14 +2091,13 @@ ] } }, - "/settings/ask-ai/reindex": { + "/queries": { "post": { "tags": [ - "Settings" + "Query" ], - "summary": "Reindex Ask Ai", - "description": "Manually trigger reindex for an already enabled Ask AI setup.", - "operationId": "reindex_ask_ai", + "summary": "Create Query", + "operationId": "create_query", "parameters": [ { "name": "domain", @@ -2146,24 +2107,25 @@ "type": "string", "title": "Domain" } - }, - { - "name": "org_name", - "in": "query", - "required": true, - "schema": { - "type": "string", - "title": "Org Name" - } } ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Query" + } + } + } + }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ToggleAskAiResponse" + "$ref": "#/components/schemas/CreateQueryResponse" } } } @@ -2189,23 +2151,133 @@ ] } }, - "/settings/ask-ai/toggle/status": { + "/queries/{domain}": { "get": { "tags": [ - "Settings" + "Query" ], - "summary": "Get Toggle Status", - "description": "Get the status of Ask AI toggle operation.", - "operationId": "get_toggle_status", + "summary": "Get Recent Queries", + "operationId": "get_recent_queries", "parameters": [ { "name": "domain", - "in": "query", + "in": "path", "required": true, "schema": { "type": "string", "title": "Domain" } + }, + { + "name": "page", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "The page number for pagination", + "title": "Page" + }, + "description": "The page number for pagination" + }, + { + "name": "limit", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "The number of queries per page", + "title": "Limit" + }, + "description": "The number of queries per page" + }, + { + "name": "cutoff_time", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } + ], + "description": "Only return queries after this time", + "title": "Cutoff Time" + }, + "description": "Only return queries after this time" + }, + { + "name": "include_assistant", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "description": "Whether to include assistant responses in the results", + "title": "Include Assistant" + }, + "description": "Whether to include assistant responses in the results" + }, + { + "name": "start_date", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } + ], + "description": "The start date of the period to retrieve analytics for", + "title": "Start Date" + }, + "description": "The start date of the period to retrieve analytics for" + }, + { + "name": "end_date", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } + ], + "description": "The end date of the period to retrieve analytics for", + "title": "End Date" + }, + "description": "The end date of the period to retrieve analytics for" } ], "responses": { @@ -2214,7 +2286,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ToggleStatusResponse" + "$ref": "#/components/schemas/GetQueriesResponse" } } } @@ -2451,6 +2523,92 @@ "internal" ] } + }, + "/slack/integrations/{domain}": { + "get": { + "tags": [ + "Slack" + ], + "summary": "List Slack Integrations", + "operationId": "list_slack_integrations", + "parameters": [ + { + "name": "domain", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Domain" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + }, + "x-fern-audiences": [ + "internal" + ] + } + }, + "/slack/get-install/{integration_id}": { + "get": { + "tags": [ + "Slack" + ], + "summary": "Get Slack Install Link By Id", + "operationId": "get_slack_install_link_by_id", + "parameters": [ + { + "name": "integration_id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "title": "Integration Id" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + }, + "x-fern-audiences": [ + "internal" + ] + } } }, "components": { @@ -2869,6 +3027,19 @@ ], "title": "DeleteGuidanceResponse" }, + "DiscordIntegrationResponse": { + "properties": { + "integration_url": { + "type": "string", + "title": "Integration Url" + } + }, + "type": "object", + "required": [ + "integration_url" + ], + "title": "DiscordIntegrationResponse" + }, "Document": { "properties": { "document_id": {