{"openapi": "3.1.0", "info": {"title": "ALCF Inference Service", "version": "1.0.0", "description": ""}, "paths": {"/resource_server/{cluster_name}/{framework}/v1/messages": {"post": {"operationId": "resource_server_async_views_anthropic_create_message", "summary": "Create Message", "parameters": [{"in": "path", "name": "cluster_name", "schema": {"title": "Cluster Name", "type": "string"}, "required": true}, {"in": "path", "name": "framework", "schema": {"title": "Framework", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK"}}, "tags": ["anthropic"], "requestBody": {"content": {"application/json": {"schema": {"additionalProperties": true, "title": "Payload", "type": "object"}}}, "required": true}, "security": [{"GlobalAuth": []}]}}, "/resource_server/{cluster_name}/{framework}/v1/batches": {"post": {"operationId": "resource_server_async_views_batch_post_batch_inference", "summary": "Post Batch Inference", "parameters": [{"in": "path", "name": "cluster_name", "schema": {"title": "Cluster Name", "type": "string"}, "required": true}, {"in": "path", "name": "framework", "schema": {"title": "Framework", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SubmitBatchResult"}}}}}, "description": "POST request to send a batch to Globus Compute endpoints.", "tags": ["batch"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/BatchSubmit"}}}, "required": true}, "security": [{"GlobalAuth": []}]}}, "/resource_server/v1/batches": {"get": {"operationId": "resource_server_async_views_batch_get_batch_list", "summary": "Get Batch List", "parameters": [{"in": "query", "name": "status", "schema": {"anyOf": [{"$ref": "#/components/schemas/BatchStatus"}, {"type": "null"}]}, "required": false}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/BatchLogSummary"}, "title": "Response", "type": "array"}}}}}, "description": "GET request to list all batches linked to the authenticated user.", "tags": ["batch"], "security": [{"GlobalAuth": []}]}}, "/resource_server/v1/batches/{batch_id}": {"get": {"operationId": "resource_server_async_views_batch_get_batch_status", "summary": "Get Batch Status", "parameters": [{"in": "path", "name": "batch_id", "schema": {"title": "Batch Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"title": "Response", "type": "string"}}}}}, "description": "GET request to query status of an existing batch job.", "tags": ["batch"], "security": [{"GlobalAuth": []}]}}, "/resource_server/v1/batches/{batch_id}/result": {"get": {"operationId": "resource_server_async_views_batch_get_batch_result", "summary": "Get Batch Result", "parameters": [{"in": "path", "name": "batch_id", "schema": {"title": "Batch Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"title": "Response", "type": "string"}}}}}, "description": "GET request to recover result from an existing batch job.", "tags": ["batch"], "security": [{"GlobalAuth": []}]}}, "/resource_server/health": {"get": {"operationId": "resource_server_async_views_core_health_check", "summary": "Health Check", "parameters": [], "responses": {"200": {"description": "OK"}}, "description": "Lightweight health check endpoint - returns OK if API is responding.", "tags": ["core"]}}, "/resource_server/status": {"get": {"operationId": "resource_server_async_views_core_status_check", "summary": "Status Check", "parameters": [], "responses": {"200": {"description": "OK"}}, "description": "Status check of publicly-available clusters - True if up, False if down.", "tags": ["core"]}}, "/resource_server/whoami": {"get": {"operationId": "resource_server_async_views_core_whoami", "summary": "Whoami", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserPydantic"}}}}}, "description": "GET basic user information from access token, or error message otherwise.", "tags": ["core"], "security": [{"GlobalAuth": []}]}}, "/resource_server/list-endpoints": {"get": {"operationId": "resource_server_async_views_core_get_list_endpoints", "summary": "Get List Endpoints", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ListEndpointsResponse"}}}}}, "description": "GET request to list the available frameworks and models.", "tags": ["core"], "security": [{"GlobalAuth": []}]}}, "/resource_server/{cluster_name}/jobs": {"get": {"operationId": "resource_server_async_views_core_get_jobs", "summary": "Get Jobs", "parameters": [{"in": "path", "name": "cluster_name", "schema": {"title": "Cluster Name", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/JobsByStatus"}}}}}, "description": "GET request to list the available frameworks and models.", "tags": ["core"], "security": [{"GlobalAuth": []}]}}, "/resource_server/{cluster_name}/models": {"get": {"operationId": "resource_server_async_views_core_get_models", "summary": "Get Models", "parameters": [{"in": "path", "name": "cluster_name", "schema": {"title": "Cluster Name", "type": "string"}, "required": true}, {"in": "query", "name": "model_id", "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Model Id"}, "required": false}], "responses": {"200": {"description": "OK"}}, "description": "Return configuration details of all models of a given cluster (if authorized).", "tags": ["core"], "security": [{"GlobalAuth": []}]}}, "/resource_server/sophia/triton/amsc-d3/rpc/{rpc}": {"post": {"operationId": "resource_server_async_views_d3_triton_d3_triton_rpc", "summary": "D3 Triton Rpc", "parameters": [{"in": "path", "name": "rpc", "schema": {"title": "Rpc", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SubmitTaskAsyncResponse"}}}}}, "description": "Relay one Triton unary gRPC call.  The body is the serialized ``{rpc}Request`` protobuf.", "tags": ["d3-triton"], "security": [{"GlobalAuth": []}], "requestBody": {"required": true, "content": {"application/x-protobuf": {"schema": {"type": "string", "format": "binary"}}}}}}, "/resource_server/sophia/triton/amsc-d3/rpc/result/{task_id}": {"get": {"operationId": "resource_server_async_views_d3_triton_d3_triton_rpc_result", "summary": "D3 Triton Rpc Result", "parameters": [{"in": "path", "name": "task_id", "schema": {"title": "Task Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK"}}, "description": "Fetch a relayed RPC result as raw protobuf bytes.", "tags": ["d3-triton"], "security": [{"GlobalAuth": []}]}}, "/resource_server/data/staging": {"put": {"operationId": "resource_server_async_views_data_ensure_staging_area", "summary": "Ensure Staging Area", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GlobusStagingAreaPrepared"}}}}}, "description": "Idempotent user request to create a staging area for the inference service.\n\nA temporary directory named with the user's principal ID is created and\nread/write ACLs are granted to the user to initiate data transfers.", "tags": ["data"], "security": [{"GlobalAuth": []}]}}, "/resource_server/sophia/dinoserver/process": {"post": {"operationId": "resource_server_async_views_dinov3_dinov3_infer", "summary": "Dinov3 Infer", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SubmitTaskAsyncResponse"}}}}}, "description": "Submit a DINOv3 image segmentation request to the Globus Compute endpoint.", "tags": ["dinov3"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/DINOv3Request"}}}, "required": true}, "security": [{"GlobalAuth": []}]}}, "/resource_server/sophia/dinoserver/tasks/{task_id}": {"get": {"operationId": "resource_server_async_views_dinov3_dinov3_get_task_result", "summary": "Dinov3 Get Task Result", "parameters": [{"in": "path", "name": "task_id", "schema": {"title": "Task Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SubmitTaskResult"}}}}}, "tags": ["dinov3"], "security": [{"GlobalAuth": []}]}}, "/resource_server/{cluster_name}/{framework}/v1/chat/completions": {"post": {"operationId": "resource_server_async_views_openai_create_chat_completion", "summary": "Create Chat Completion", "parameters": [{"in": "path", "name": "cluster_name", "schema": {"title": "Cluster Name", "type": "string"}, "required": true}, {"in": "path", "name": "framework", "schema": {"title": "Framework", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK"}}, "tags": ["openai"], "requestBody": {"content": {"application/json": {"schema": {"additionalProperties": true, "title": "Payload", "type": "object"}}}, "required": true}, "security": [{"GlobalAuth": []}]}}, "/resource_server/{cluster_name}/{framework}/v1/completions": {"post": {"operationId": "resource_server_async_views_openai_create_completion", "summary": "Create Completion", "parameters": [{"in": "path", "name": "cluster_name", "schema": {"title": "Cluster Name", "type": "string"}, "required": true}, {"in": "path", "name": "framework", "schema": {"title": "Framework", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK"}}, "tags": ["openai"], "requestBody": {"content": {"application/json": {"schema": {"additionalProperties": true, "title": "Payload", "type": "object"}}}, "required": true}, "security": [{"GlobalAuth": []}]}}, "/resource_server/{cluster_name}/{framework}/v1/embeddings": {"post": {"operationId": "resource_server_async_views_openai_create_embedding", "summary": "Create Embedding", "parameters": [{"in": "path", "name": "cluster_name", "schema": {"title": "Cluster Name", "type": "string"}, "required": true}, {"in": "path", "name": "framework", "schema": {"title": "Framework", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK"}}, "tags": ["openai"], "requestBody": {"content": {"application/json": {"schema": {"additionalProperties": true, "title": "Payload", "type": "object"}}}, "required": true}, "security": [{"GlobalAuth": []}]}}, "/resource_server/{cluster_name}/{framework}/v1/responses": {"post": {"operationId": "resource_server_async_views_openai_create_response", "summary": "Create Response", "parameters": [{"in": "path", "name": "cluster_name", "schema": {"title": "Cluster Name", "type": "string"}, "required": true}, {"in": "path", "name": "framework", "schema": {"title": "Framework", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK"}}, "tags": ["openai"], "requestBody": {"content": {"application/json": {"schema": {"additionalProperties": true, "title": "Payload", "type": "object"}}}, "required": true}, "security": [{"GlobalAuth": []}]}}, "/resource_server/sophia/sam3service/process": {"post": {"operationId": "resource_server_async_views_sam3_sam3_infer", "summary": "Sam3 Infer", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SubmitTaskAsyncResponse"}}}}}, "description": "Submit single-image inference request to SAM3 Globus Compute endpoint.", "tags": ["sam3"], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/Sam3Request"}}}, "required": true}, "security": [{"GlobalAuth": []}]}}, "/resource_server/sophia/sam3service/tasks/{task_id}": {"get": {"operationId": "resource_server_async_views_sam3_sam3_get_task_result", "summary": "Sam3 Get Task Result", "parameters": [{"in": "path", "name": "task_id", "schema": {"title": "Task Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SubmitTaskResult"}}}}}, "tags": ["sam3"], "security": [{"GlobalAuth": []}]}}}, "components": {"schemas": {"BatchStatus": {"enum": ["pending", "running", "failed", "completed"], "title": "BatchStatus", "type": "string"}, "SubmitBatchResult": {"properties": {"batch_id": {"title": "Batch Id", "type": "string"}, "input_file": {"title": "Input File", "type": "string"}, "output_folder_path": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Output Folder Path"}, "task_ids": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Task Ids"}, "status": {"allOf": [{"$ref": "#/components/schemas/BatchStatus"}], "default": "failed"}}, "required": ["input_file"], "title": "SubmitBatchResult", "type": "object"}, "BatchSubmit": {"additionalProperties": false, "properties": {"input_file": {"minLength": 1, "title": "Input File", "type": "string"}, "model": {"minLength": 1, "title": "Model", "type": "string"}, "output_folder_path": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Output Folder Path"}}, "required": ["input_file", "model"], "title": "BatchSubmit", "type": "object"}, "BatchListFilter": {"properties": {"status": {"anyOf": [{"$ref": "#/components/schemas/BatchStatus"}, {"type": "null"}]}}, "title": "BatchListFilter", "type": "object"}, "BatchLogSummary": {"properties": {"id": {"title": "Id", "type": "string"}, "cluster": {"title": "Cluster", "type": "string"}, "framework": {"title": "Framework", "type": "string"}, "input_file": {"title": "Input File", "type": "string"}, "in_progress_at": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "In Progress At"}, "completed_at": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Completed At"}, "failed_at": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Failed At"}, "status": {"$ref": "#/components/schemas/BatchStatus"}}, "required": ["id", "cluster", "framework", "input_file", "in_progress_at", "completed_at", "failed_at", "status"], "title": "BatchLogSummary", "type": "object"}, "UserPydantic": {"properties": {"id": {"title": "Id", "type": "string"}, "name": {"title": "Name", "type": "string"}, "username": {"title": "Username", "type": "string"}, "user_group_uuids": {"items": {"type": "string"}, "title": "User Group Uuids", "type": "array"}, "idp_id": {"title": "Idp Id", "type": "string"}, "idp_name": {"title": "Idp Name", "type": "string"}, "auth_service": {"title": "Auth Service", "type": "string"}}, "required": ["id", "name", "username", "user_group_uuids", "idp_id", "idp_name", "auth_service"], "title": "UserPydantic", "type": "object"}, "ClusterSummary": {"properties": {"base_url": {"title": "Base Url", "type": "string"}, "frameworks": {"additionalProperties": {"$ref": "#/components/schemas/FrameworkSummary"}, "title": "Frameworks", "type": "object"}}, "required": ["base_url", "frameworks"], "title": "ClusterSummary", "type": "object"}, "FrameworkSummary": {"properties": {"models": {"items": {"type": "string"}, "title": "Models", "type": "array"}, "endpoints": {"items": {"type": "string"}, "title": "Endpoints", "type": "array"}}, "required": ["models", "endpoints"], "title": "FrameworkSummary", "type": "object"}, "ListEndpointsResponse": {"properties": {"clusters": {"additionalProperties": {"$ref": "#/components/schemas/ClusterSummary"}, "title": "Clusters", "type": "object"}}, "required": ["clusters"], "title": "ListEndpointsResponse", "type": "object"}, "JobInfo": {"additionalProperties": true, "properties": {"Models": {"title": "Models", "type": "string"}, "Framework": {"title": "Framework", "type": "string"}, "Cluster": {"title": "Cluster", "type": "string"}}, "required": ["Models", "Framework", "Cluster"], "title": "JobInfo", "type": "object"}, "JobsByStatus": {"properties": {"running": {"default": [], "items": {"$ref": "#/components/schemas/JobInfo"}, "title": "Running", "type": "array"}, "queued": {"default": [], "items": {"$ref": "#/components/schemas/JobInfo"}, "title": "Queued", "type": "array"}, "stopped": {"default": [], "items": {"$ref": "#/components/schemas/JobInfo"}, "title": "Stopped", "type": "array"}, "others": {"default": [], "items": {"$ref": "#/components/schemas/JobInfo"}, "title": "Others", "type": "array"}, "private_batch_running": {"default": [], "items": {"$ref": "#/components/schemas/JobInfo"}, "title": "Private Batch Running", "type": "array"}, "private_batch_queued": {"default": [], "items": {"$ref": "#/components/schemas/JobInfo"}, "title": "Private Batch Queued", "type": "array"}, "cluster_status": {"additionalProperties": true, "default": {}, "title": "Cluster Status", "type": "object"}}, "title": "JobsByStatus", "type": "object"}, "SubmitTaskAsyncResponse": {"properties": {"task_id": {"title": "Task Id", "type": "string"}}, "required": ["task_id"], "title": "SubmitTaskAsyncResponse", "type": "object"}, "GlobusStagingAreaPrepared": {"properties": {"collection_id": {"title": "Collection Id", "type": "string"}, "path": {"title": "Path", "type": "string"}, "acl_rule_id": {"title": "Acl Rule Id", "type": "string"}, "principal": {"title": "Principal", "type": "string"}}, "required": ["collection_id", "path", "acl_rule_id", "principal"], "title": "GlobusStagingAreaPrepared", "type": "object"}, "DINOv3Request": {"description": "Mirrors the DINOv3 Globus Compute ``Payload`` TypedDict, minus ``output_dir``.", "properties": {"input_dir": {"title": "Input Dir", "type": "string"}, "project": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Project"}, "checkpoint": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Checkpoint"}, "save_overlay": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "title": "Save Overlay"}, "batch_size": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Batch Size"}, "num_workers": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Num Workers"}}, "required": ["input_dir"], "title": "DINOv3Request", "type": "object"}, "SubmitTaskResult": {"properties": {"result": {"title": "Result"}, "task_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Task Id"}}, "required": ["result", "task_id"], "title": "SubmitTaskResult", "type": "object"}, "Sam3Request": {"properties": {"inference_type": {"enum": ["single-image", "batch"], "title": "Inference Type", "type": "string"}, "data_uri": {"title": "Data Uri", "type": "string"}, "single_image_prompt": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Single Image Prompt"}, "weights_dir_override": {"anyOf": [{"format": "path", "type": "string"}, {"type": "null"}], "title": "Weights Dir Override"}}, "required": ["inference_type", "data_uri", "single_image_prompt"], "title": "Sam3Request", "type": "object"}}, "securitySchemes": {"GlobalAuth": {"type": "http", "scheme": "bearer"}}}, "servers": []}