Skip to content

Commit 0df0b10

Browse files
authored
feat: add public tag for api reference docs (#7227)
1 parent ed0d124 commit 0df0b10

File tree

21 files changed

+494
-148
lines changed

21 files changed

+494
-148
lines changed

backend/ee/onyx/server/analytics/api.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,9 @@
2121
from onyx.auth.users import current_user
2222
from onyx.db.engine.sql_engine import get_session
2323
from onyx.db.models import User
24+
from onyx.server.utils import PUBLIC_API_TAGS
2425

25-
router = APIRouter(prefix="/analytics")
26+
router = APIRouter(prefix="/analytics", tags=PUBLIC_API_TAGS)
2627

2728

2829
_DEFAULT_LOOKBACK_DAYS = 30

backend/ee/onyx/server/query_history/api.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@
4848
from onyx.server.documents.models import PaginatedReturn
4949
from onyx.server.query_and_chat.models import ChatSessionDetails
5050
from onyx.server.query_and_chat.models import ChatSessionsResponse
51+
from onyx.server.utils import PUBLIC_API_TAGS
5152
from onyx.utils.threadpool_concurrency import parallel_yield
5253
from shared_configs.contextvars import get_current_tenant_id
5354

@@ -294,7 +295,7 @@ def list_all_query_history_exports(
294295
)
295296

296297

297-
@router.post("/admin/query-history/start-export")
298+
@router.post("/admin/query-history/start-export", tags=PUBLIC_API_TAGS)
298299
def start_query_history_export(
299300
_: User | None = Depends(current_admin_user),
300301
db_session: Session = Depends(get_session),
@@ -340,7 +341,7 @@ def start_query_history_export(
340341
return {"request_id": task_id}
341342

342343

343-
@router.get("/admin/query-history/export-status")
344+
@router.get("/admin/query-history/export-status", tags=PUBLIC_API_TAGS)
344345
def get_query_history_export_status(
345346
request_id: str,
346347
_: User | None = Depends(current_admin_user),
@@ -374,7 +375,7 @@ def get_query_history_export_status(
374375
return {"status": TaskStatus.SUCCESS}
375376

376377

377-
@router.get("/admin/query-history/download")
378+
@router.get("/admin/query-history/download", tags=PUBLIC_API_TAGS)
378379
def download_query_history_csv(
379380
request_id: str,
380381
_: User | None = Depends(current_admin_user),

backend/ee/onyx/server/token_rate_limits/api.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,9 @@
1616
from onyx.server.query_and_chat.token_limit import any_rate_limit_exists
1717
from onyx.server.token_rate_limits.models import TokenRateLimitArgs
1818
from onyx.server.token_rate_limits.models import TokenRateLimitDisplay
19+
from onyx.server.utils import PUBLIC_API_TAGS
1920

20-
router = APIRouter(prefix="/admin/token-rate-limits")
21+
router = APIRouter(prefix="/admin/token-rate-limits", tags=PUBLIC_API_TAGS)
2122

2223

2324
"""

backend/ee/onyx/server/user_group/api.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,12 @@
2121
from onyx.db.engine.sql_engine import get_session
2222
from onyx.db.models import User
2323
from onyx.db.models import UserRole
24+
from onyx.server.utils import PUBLIC_API_TAGS
2425
from onyx.utils.logger import setup_logger
2526

2627
logger = setup_logger()
2728

28-
router = APIRouter(prefix="/manage")
29+
router = APIRouter(prefix="/manage", tags=PUBLIC_API_TAGS)
2930

3031

3132
@router.get("/admin/user-group")

backend/onyx/server/documents/cc_pair.py

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@
6565
from onyx.server.documents.models import PaginatedReturn
6666
from onyx.server.documents.models import PermissionSyncAttemptSnapshot
6767
from onyx.server.models import StatusResponse
68+
from onyx.server.utils import PUBLIC_API_TAGS
6869
from onyx.utils.logger import setup_logger
6970
from onyx.utils.variable_functionality import fetch_ee_implementation_or_noop
7071
from shared_configs.contextvars import get_current_tenant_id
@@ -73,7 +74,7 @@
7374
router = APIRouter(prefix="/manage")
7475

7576

76-
@router.get("/admin/cc-pair/{cc_pair_id}/index-attempts")
77+
@router.get("/admin/cc-pair/{cc_pair_id}/index-attempts", tags=PUBLIC_API_TAGS)
7778
def get_cc_pair_index_attempts(
7879
cc_pair_id: int,
7980
page_num: int = Query(0, ge=0),
@@ -147,7 +148,7 @@ def get_cc_pair_permission_sync_attempts(
147148
)
148149

149150

150-
@router.get("/admin/cc-pair/{cc_pair_id}")
151+
@router.get("/admin/cc-pair/{cc_pair_id}", tags=PUBLIC_API_TAGS)
151152
def get_cc_pair_full_info(
152153
cc_pair_id: int,
153154
user: User | None = Depends(current_curator_or_admin_user),
@@ -240,7 +241,7 @@ def get_cc_pair_full_info(
240241
)
241242

242243

243-
@router.put("/admin/cc-pair/{cc_pair_id}/status")
244+
@router.put("/admin/cc-pair/{cc_pair_id}/status", tags=PUBLIC_API_TAGS)
244245
def update_cc_pair_status(
245246
cc_pair_id: int,
246247
status_update_request: CCStatusUpdateRequest,
@@ -414,7 +415,7 @@ def get_cc_pair_last_pruned(
414415
return cc_pair.last_pruned
415416

416417

417-
@router.post("/admin/cc-pair/{cc_pair_id}/prune")
418+
@router.post("/admin/cc-pair/{cc_pair_id}/prune", tags=PUBLIC_API_TAGS)
418419
def prune_cc_pair(
419420
cc_pair_id: int,
420421
user: User = Depends(current_curator_or_admin_user),
@@ -480,7 +481,7 @@ def get_docs_sync_status(
480481
return [DocumentSyncStatus.from_model(doc) for doc in all_docs_for_cc_pair]
481482

482483

483-
@router.get("/admin/cc-pair/{cc_pair_id}/errors")
484+
@router.get("/admin/cc-pair/{cc_pair_id}/errors", tags=PUBLIC_API_TAGS)
484485
def get_cc_pair_indexing_errors(
485486
cc_pair_id: int,
486487
include_resolved: bool = Query(False),
@@ -521,7 +522,9 @@ def get_cc_pair_indexing_errors(
521522
)
522523

523524

524-
@router.put("/connector/{connector_id}/credential/{credential_id}")
525+
@router.put(
526+
"/connector/{connector_id}/credential/{credential_id}", tags=PUBLIC_API_TAGS
527+
)
525528
def associate_credential_to_connector(
526529
connector_id: int,
527530
credential_id: int,
@@ -600,7 +603,9 @@ def associate_credential_to_connector(
600603
raise HTTPException(status_code=500, detail="Unexpected error")
601604

602605

603-
@router.delete("/connector/{connector_id}/credential/{credential_id}")
606+
@router.delete(
607+
"/connector/{connector_id}/credential/{credential_id}", tags=PUBLIC_API_TAGS
608+
)
604609
def dissociate_credential_from_connector(
605610
connector_id: int,
606611
credential_id: int,

backend/onyx/server/documents/connector.py

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,7 @@
144144
from onyx.server.documents.models import SourceSummary
145145
from onyx.server.federated.models import FederatedConnectorStatus
146146
from onyx.server.models import StatusResponse
147+
from onyx.server.utils import PUBLIC_API_TAGS
147148
from onyx.utils.logger import setup_logger
148149
from onyx.utils.telemetry import mt_cloud_telemetry
149150
from onyx.utils.threadpool_concurrency import CallableProtocol
@@ -553,15 +554,15 @@ def _normalize_file_names_for_backwards_compatibility(
553554
return file_names + file_locations[len(file_names) :]
554555

555556

556-
@router.post("/admin/connector/file/upload")
557+
@router.post("/admin/connector/file/upload", tags=PUBLIC_API_TAGS)
557558
def upload_files_api(
558559
files: list[UploadFile],
559560
_: User = Depends(current_curator_or_admin_user),
560561
) -> FileUploadResponse:
561562
return upload_files(files, FileOrigin.OTHER)
562563

563564

564-
@router.get("/admin/connector/{connector_id}/files")
565+
@router.get("/admin/connector/{connector_id}/files", tags=PUBLIC_API_TAGS)
565566
def list_connector_files(
566567
connector_id: int,
567568
user: User = Depends(current_curator_or_admin_user),
@@ -621,7 +622,7 @@ def list_connector_files(
621622
return ConnectorFilesResponse(files=files)
622623

623624

624-
@router.post("/admin/connector/{connector_id}/files/update")
625+
@router.post("/admin/connector/{connector_id}/files/update", tags=PUBLIC_API_TAGS)
625626
def update_connector_files(
626627
connector_id: int,
627628
files: list[UploadFile] | None = File(None),
@@ -784,7 +785,7 @@ def update_connector_files(
784785
)
785786

786787

787-
@router.get("/admin/connector")
788+
@router.get("/admin/connector", tags=PUBLIC_API_TAGS)
788789
def get_connectors_by_credential(
789790
_: User = Depends(current_curator_or_admin_user),
790791
db_session: Session = Depends(get_session),
@@ -817,7 +818,7 @@ def get_connectors_by_credential(
817818

818819

819820
# Retrieves most recent failure cases for connectors that are currently failing
820-
@router.get("/admin/connector/failed-indexing-status")
821+
@router.get("/admin/connector/failed-indexing-status", tags=PUBLIC_API_TAGS)
821822
def get_currently_failed_indexing_status(
822823
secondary_index: bool = False,
823824
user: User = Depends(current_curator_or_admin_user),
@@ -905,7 +906,7 @@ def get_currently_failed_indexing_status(
905906
return indexing_statuses
906907

907908

908-
@router.get("/admin/connector/status")
909+
@router.get("/admin/connector/status", tags=PUBLIC_API_TAGS)
909910
def get_connector_status(
910911
user: User = Depends(current_curator_or_admin_user),
911912
db_session: Session = Depends(get_session),
@@ -944,7 +945,7 @@ def get_connector_status(
944945
]
945946

946947

947-
@router.post("/admin/connector/indexing-status")
948+
@router.post("/admin/connector/indexing-status", tags=PUBLIC_API_TAGS)
948949
def get_connector_indexing_status(
949950
request: IndexingStatusRequest,
950951
user: User = Depends(current_curator_or_admin_user),
@@ -1361,7 +1362,7 @@ def _validate_connector_allowed(source: DocumentSource) -> None:
13611362
)
13621363

13631364

1364-
@router.post("/admin/connector")
1365+
@router.post("/admin/connector", tags=PUBLIC_API_TAGS)
13651366
def create_connector_from_model(
13661367
connector_data: ConnectorUpdateRequest,
13671368
user: User = Depends(current_curator_or_admin_user),
@@ -1482,7 +1483,7 @@ def create_connector_with_mock_credential(
14821483
raise HTTPException(status_code=400, detail=str(e))
14831484

14841485

1485-
@router.patch("/admin/connector/{connector_id}")
1486+
@router.patch("/admin/connector/{connector_id}", tags=PUBLIC_API_TAGS)
14861487
def update_connector_from_model(
14871488
connector_id: int,
14881489
connector_data: ConnectorUpdateRequest,
@@ -1529,7 +1530,11 @@ def update_connector_from_model(
15291530
)
15301531

15311532

1532-
@router.delete("/admin/connector/{connector_id}", response_model=StatusResponse[int])
1533+
@router.delete(
1534+
"/admin/connector/{connector_id}",
1535+
response_model=StatusResponse[int],
1536+
tags=PUBLIC_API_TAGS,
1537+
)
15331538
def delete_connector_by_id(
15341539
connector_id: int,
15351540
_: User = Depends(current_curator_or_admin_user),
@@ -1545,7 +1550,7 @@ def delete_connector_by_id(
15451550
raise HTTPException(status_code=400, detail="Connector is not deletable")
15461551

15471552

1548-
@router.post("/admin/connector/run-once")
1553+
@router.post("/admin/connector/run-once", tags=PUBLIC_API_TAGS)
15491554
def connector_run_once(
15501555
run_info: RunConnectorRequest,
15511556
_: User = Depends(current_curator_or_admin_user),
@@ -1699,7 +1704,7 @@ def google_drive_callback(
16991704
return StatusResponse(success=True, message="Updated Google Drive access tokens")
17001705

17011706

1702-
@router.get("/connector")
1707+
@router.get("/connector", tags=PUBLIC_API_TAGS)
17031708
def get_connectors(
17041709
_: User = Depends(current_user),
17051710
db_session: Session = Depends(get_session),
@@ -1714,7 +1719,7 @@ def get_connectors(
17141719
]
17151720

17161721

1717-
@router.get("/indexed-sources")
1722+
@router.get("/indexed-sources", tags=PUBLIC_API_TAGS)
17181723
def get_indexed_sources(
17191724
_: User | None = Depends(current_user),
17201725
db_session: Session = Depends(get_session),
@@ -1725,7 +1730,7 @@ def get_indexed_sources(
17251730
return IndexedSourcesResponse(sources=sources)
17261731

17271732

1728-
@router.get("/connector/{connector_id}")
1733+
@router.get("/connector/{connector_id}", tags=PUBLIC_API_TAGS)
17291734
def get_connector_by_id(
17301735
connector_id: int,
17311736
_: User = Depends(current_user),
@@ -1759,7 +1764,7 @@ class BasicCCPairInfo(BaseModel):
17591764
source: DocumentSource
17601765

17611766

1762-
@router.get("/connector-status")
1767+
@router.get("/connector-status", tags=PUBLIC_API_TAGS)
17631768
def get_basic_connector_indexing_status(
17641769
user: User = Depends(current_chat_accessible_user),
17651770
db_session: Session = Depends(get_session),

backend/onyx/server/documents/credential.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,14 @@
3636
from onyx.server.documents.private_key_types import PrivateKeyFileTypes
3737
from onyx.server.documents.private_key_types import ProcessPrivateKeyFileProtocol
3838
from onyx.server.models import StatusResponse
39+
from onyx.server.utils import PUBLIC_API_TAGS
3940
from onyx.utils.logger import setup_logger
4041
from onyx.utils.variable_functionality import fetch_ee_implementation_or_noop
4142

4243
logger = setup_logger()
4344

4445

45-
router = APIRouter(prefix="/manage")
46+
router = APIRouter(prefix="/manage", tags=PUBLIC_API_TAGS)
4647

4748

4849
def _ignore_credential_permissions(source: DocumentSource) -> bool:

backend/onyx/server/features/persona/api.py

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@
5858
from onyx.server.manage.llm.api import get_valid_model_names_for_persona
5959
from onyx.server.models import DisplayPriorityRequest
6060
from onyx.server.settings.store import load_settings
61+
from onyx.server.utils import PUBLIC_API_TAGS
6162
from onyx.utils.logger import setup_logger
6263
from onyx.utils.telemetry import mt_cloud_telemetry
6364
from shared_configs.contextvars import get_current_tenant_id
@@ -173,7 +174,7 @@ def patch_agents_display_priorities(
173174
raise HTTPException(status_code=403, detail=str(e))
174175

175176

176-
@admin_router.get("")
177+
@admin_router.get("", tags=PUBLIC_API_TAGS)
177178
def list_personas_admin(
178179
user: User | None = Depends(current_curator_or_admin_user),
179180
db_session: Session = Depends(get_session),
@@ -188,7 +189,7 @@ def list_personas_admin(
188189
)
189190

190191

191-
@admin_agents_router.get("")
192+
@admin_agents_router.get("", tags=PUBLIC_API_TAGS)
192193
def get_agents_admin_paginated(
193194
page_num: int = Query(0, ge=0, description="Page number (0-indexed)."),
194195
page_size: int = Query(10, ge=1, le=1000, description="Items per page."),
@@ -233,7 +234,7 @@ def get_agents_admin_paginated(
233234
)
234235

235236

236-
@admin_router.patch("/{persona_id}/undelete")
237+
@admin_router.patch("/{persona_id}/undelete", tags=PUBLIC_API_TAGS)
237238
def undelete_persona(
238239
persona_id: int,
239240
user: User | None = Depends(current_admin_user),
@@ -266,7 +267,7 @@ def upload_file(
266267
"""Endpoints for all"""
267268

268269

269-
@basic_router.post("")
270+
@basic_router.post("", tags=PUBLIC_API_TAGS)
270271
def create_persona(
271272
persona_upsert_request: PersonaUpsertRequest,
272273
user: User | None = Depends(current_user),
@@ -294,7 +295,7 @@ def create_persona(
294295
# NOTE: This endpoint cannot update persona configuration options that
295296
# are core to the persona, such as its display priority and
296297
# whether or not the assistant is a built-in / default assistant
297-
@basic_router.patch("/{persona_id}")
298+
@basic_router.patch("/{persona_id}", tags=PUBLIC_API_TAGS)
298299
def update_persona(
299300
persona_id: int,
300301
persona_upsert_request: PersonaUpsertRequest,
@@ -399,7 +400,7 @@ def share_persona(
399400
)
400401

401402

402-
@basic_router.delete("/{persona_id}")
403+
@basic_router.delete("/{persona_id}", tags=PUBLIC_API_TAGS)
403404
def delete_persona(
404405
persona_id: int,
405406
user: User | None = Depends(current_user),
@@ -432,7 +433,7 @@ def list_personas(
432433
return personas
433434

434435

435-
@agents_router.get("")
436+
@agents_router.get("", tags=PUBLIC_API_TAGS)
436437
def get_agents_paginated(
437438
page_num: int = Query(0, ge=0, description="Page number (0-indexed)."),
438439
page_size: int = Query(10, ge=1, le=1000, description="Items per page."),
@@ -480,7 +481,7 @@ def get_agents_paginated(
480481
)
481482

482483

483-
@basic_router.get("/{persona_id}")
484+
@basic_router.get("/{persona_id}", tags=PUBLIC_API_TAGS)
484485
def get_persona(
485486
persona_id: int,
486487
user: User | None = Depends(current_limited_user),

0 commit comments

Comments
 (0)