Spaces:
Running
Running
| { | |
| "openapi": "3.1.0", | |
| "info": { | |
| "title": "v2 OpenAI-compatible Server (Amazon Q Backend)", | |
| "version": "0.1.0" | |
| }, | |
| "paths": { | |
| "/v1/chat/completions": { | |
| "post": { | |
| "summary": "Chat Completions", | |
| "description": "OpenAI-compatible chat endpoint.\n - stream default False\n - messages will be converted into \"{role}:\n{content}\" and injected into template\n - account is chosen randomly among enabled accounts (API key is for authorization only)", | |
| "operationId": "chat_completions_v1_chat_completions_post", | |
| "parameters": [ | |
| { | |
| "name": "authorization", | |
| "in": "header", | |
| "required": false, | |
| "schema": { | |
| "anyOf": [ | |
| { | |
| "type": "string" | |
| }, | |
| { | |
| "type": "null" | |
| } | |
| ], | |
| "title": "Authorization" | |
| } | |
| } | |
| ], | |
| "requestBody": { | |
| "required": true, | |
| "content": { | |
| "application/json": { | |
| "schema": { | |
| "$ref": "#/components/schemas/ChatCompletionRequest" | |
| } | |
| } | |
| } | |
| }, | |
| "responses": { | |
| "200": { | |
| "description": "Successful Response", | |
| "content": { | |
| "application/json": { | |
| "schema": {} | |
| } | |
| } | |
| }, | |
| "422": { | |
| "description": "Validation Error", | |
| "content": { | |
| "application/json": { | |
| "schema": { | |
| "$ref": "#/components/schemas/HTTPValidationError" | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "/v2/auth/start": { | |
| "post": { | |
| "summary": "Auth Start", | |
| "description": "Start device authorization and return verification URL for user login.\nSession lifetime capped at 5 minutes on claim.", | |
| "operationId": "auth_start_v2_auth_start_post", | |
| "requestBody": { | |
| "content": { | |
| "application/json": { | |
| "schema": { | |
| "$ref": "#/components/schemas/AuthStartBody" | |
| } | |
| } | |
| }, | |
| "required": true | |
| }, | |
| "responses": { | |
| "200": { | |
| "description": "Successful Response", | |
| "content": { | |
| "application/json": { | |
| "schema": {} | |
| } | |
| } | |
| }, | |
| "422": { | |
| "description": "Validation Error", | |
| "content": { | |
| "application/json": { | |
| "schema": { | |
| "$ref": "#/components/schemas/HTTPValidationError" | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "/v2/auth/status/{auth_id}": { | |
| "get": { | |
| "summary": "Auth Status", | |
| "operationId": "auth_status_v2_auth_status__auth_id__get", | |
| "parameters": [ | |
| { | |
| "name": "auth_id", | |
| "in": "path", | |
| "required": true, | |
| "schema": { | |
| "type": "string", | |
| "title": "Auth Id" | |
| } | |
| } | |
| ], | |
| "responses": { | |
| "200": { | |
| "description": "Successful Response", | |
| "content": { | |
| "application/json": { | |
| "schema": {} | |
| } | |
| } | |
| }, | |
| "422": { | |
| "description": "Validation Error", | |
| "content": { | |
| "application/json": { | |
| "schema": { | |
| "$ref": "#/components/schemas/HTTPValidationError" | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "/v2/auth/claim/{auth_id}": { | |
| "post": { | |
| "summary": "Auth Claim", | |
| "description": "Block up to 5 minutes to exchange the device code for tokens after user completed login.\nOn success, creates an enabled account and returns it.", | |
| "operationId": "auth_claim_v2_auth_claim__auth_id__post", | |
| "parameters": [ | |
| { | |
| "name": "auth_id", | |
| "in": "path", | |
| "required": true, | |
| "schema": { | |
| "type": "string", | |
| "title": "Auth Id" | |
| } | |
| } | |
| ], | |
| "responses": { | |
| "200": { | |
| "description": "Successful Response", | |
| "content": { | |
| "application/json": { | |
| "schema": {} | |
| } | |
| } | |
| }, | |
| "422": { | |
| "description": "Validation Error", | |
| "content": { | |
| "application/json": { | |
| "schema": { | |
| "$ref": "#/components/schemas/HTTPValidationError" | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "/v2/accounts": { | |
| "get": { | |
| "summary": "List Accounts", | |
| "operationId": "list_accounts_v2_accounts_get", | |
| "responses": { | |
| "200": { | |
| "description": "Successful Response", | |
| "content": { | |
| "application/json": { | |
| "schema": {} | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "post": { | |
| "summary": "Create Account", | |
| "operationId": "create_account_v2_accounts_post", | |
| "requestBody": { | |
| "content": { | |
| "application/json": { | |
| "schema": { | |
| "$ref": "#/components/schemas/AccountCreate" | |
| } | |
| } | |
| }, | |
| "required": true | |
| }, | |
| "responses": { | |
| "200": { | |
| "description": "Successful Response", | |
| "content": { | |
| "application/json": { | |
| "schema": {} | |
| } | |
| } | |
| }, | |
| "422": { | |
| "description": "Validation Error", | |
| "content": { | |
| "application/json": { | |
| "schema": { | |
| "$ref": "#/components/schemas/HTTPValidationError" | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "/v2/accounts/{account_id}": { | |
| "get": { | |
| "summary": "Get Account Detail", | |
| "operationId": "get_account_detail_v2_accounts__account_id__get", | |
| "parameters": [ | |
| { | |
| "name": "account_id", | |
| "in": "path", | |
| "required": true, | |
| "schema": { | |
| "type": "string", | |
| "title": "Account Id" | |
| } | |
| } | |
| ], | |
| "responses": { | |
| "200": { | |
| "description": "Successful Response", | |
| "content": { | |
| "application/json": { | |
| "schema": {} | |
| } | |
| } | |
| }, | |
| "422": { | |
| "description": "Validation Error", | |
| "content": { | |
| "application/json": { | |
| "schema": { | |
| "$ref": "#/components/schemas/HTTPValidationError" | |
| } | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "delete": { | |
| "summary": "Delete Account", | |
| "operationId": "delete_account_v2_accounts__account_id__delete", | |
| "parameters": [ | |
| { | |
| "name": "account_id", | |
| "in": "path", | |
| "required": true, | |
| "schema": { | |
| "type": "string", | |
| "title": "Account Id" | |
| } | |
| } | |
| ], | |
| "responses": { | |
| "200": { | |
| "description": "Successful Response", | |
| "content": { | |
| "application/json": { | |
| "schema": {} | |
| } | |
| } | |
| }, | |
| "422": { | |
| "description": "Validation Error", | |
| "content": { | |
| "application/json": { | |
| "schema": { | |
| "$ref": "#/components/schemas/HTTPValidationError" | |
| } | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "patch": { | |
| "summary": "Update Account", | |
| "operationId": "update_account_v2_accounts__account_id__patch", | |
| "parameters": [ | |
| { | |
| "name": "account_id", | |
| "in": "path", | |
| "required": true, | |
| "schema": { | |
| "type": "string", | |
| "title": "Account Id" | |
| } | |
| } | |
| ], | |
| "requestBody": { | |
| "required": true, | |
| "content": { | |
| "application/json": { | |
| "schema": { | |
| "$ref": "#/components/schemas/AccountUpdate" | |
| } | |
| } | |
| } | |
| }, | |
| "responses": { | |
| "200": { | |
| "description": "Successful Response", | |
| "content": { | |
| "application/json": { | |
| "schema": {} | |
| } | |
| } | |
| }, | |
| "422": { | |
| "description": "Validation Error", | |
| "content": { | |
| "application/json": { | |
| "schema": { | |
| "$ref": "#/components/schemas/HTTPValidationError" | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "/v2/accounts/{account_id}/refresh": { | |
| "post": { | |
| "summary": "Manual Refresh", | |
| "operationId": "manual_refresh_v2_accounts__account_id__refresh_post", | |
| "parameters": [ | |
| { | |
| "name": "account_id", | |
| "in": "path", | |
| "required": true, | |
| "schema": { | |
| "type": "string", | |
| "title": "Account Id" | |
| } | |
| } | |
| ], | |
| "responses": { | |
| "200": { | |
| "description": "Successful Response", | |
| "content": { | |
| "application/json": { | |
| "schema": {} | |
| } | |
| } | |
| }, | |
| "422": { | |
| "description": "Validation Error", | |
| "content": { | |
| "application/json": { | |
| "schema": { | |
| "$ref": "#/components/schemas/HTTPValidationError" | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "/": { | |
| "get": { | |
| "summary": "Index", | |
| "operationId": "index__get", | |
| "responses": { | |
| "200": { | |
| "description": "Successful Response" | |
| } | |
| } | |
| } | |
| }, | |
| "/healthz": { | |
| "get": { | |
| "summary": "Health", | |
| "operationId": "health_healthz_get", | |
| "responses": { | |
| "200": { | |
| "description": "Successful Response", | |
| "content": { | |
| "application/json": { | |
| "schema": {} | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "components": { | |
| "schemas": { | |
| "AccountCreate": { | |
| "properties": { | |
| "label": { | |
| "anyOf": [ | |
| { | |
| "type": "string" | |
| }, | |
| { | |
| "type": "null" | |
| } | |
| ], | |
| "title": "Label" | |
| }, | |
| "clientId": { | |
| "type": "string", | |
| "title": "Clientid" | |
| }, | |
| "clientSecret": { | |
| "type": "string", | |
| "title": "Clientsecret" | |
| }, | |
| "refreshToken": { | |
| "anyOf": [ | |
| { | |
| "type": "string" | |
| }, | |
| { | |
| "type": "null" | |
| } | |
| ], | |
| "title": "Refreshtoken" | |
| }, | |
| "accessToken": { | |
| "anyOf": [ | |
| { | |
| "type": "string" | |
| }, | |
| { | |
| "type": "null" | |
| } | |
| ], | |
| "title": "Accesstoken" | |
| }, | |
| "other": { | |
| "anyOf": [ | |
| { | |
| "type": "object" | |
| }, | |
| { | |
| "type": "null" | |
| } | |
| ], | |
| "title": "Other" | |
| }, | |
| "enabled": { | |
| "anyOf": [ | |
| { | |
| "type": "boolean" | |
| }, | |
| { | |
| "type": "null" | |
| } | |
| ], | |
| "title": "Enabled", | |
| "default": true | |
| } | |
| }, | |
| "type": "object", | |
| "required": [ | |
| "clientId", | |
| "clientSecret" | |
| ], | |
| "title": "AccountCreate" | |
| }, | |
| "AccountUpdate": { | |
| "properties": { | |
| "label": { | |
| "anyOf": [ | |
| { | |
| "type": "string" | |
| }, | |
| { | |
| "type": "null" | |
| } | |
| ], | |
| "title": "Label" | |
| }, | |
| "clientId": { | |
| "anyOf": [ | |
| { | |
| "type": "string" | |
| }, | |
| { | |
| "type": "null" | |
| } | |
| ], | |
| "title": "Clientid" | |
| }, | |
| "clientSecret": { | |
| "anyOf": [ | |
| { | |
| "type": "string" | |
| }, | |
| { | |
| "type": "null" | |
| } | |
| ], | |
| "title": "Clientsecret" | |
| }, | |
| "refreshToken": { | |
| "anyOf": [ | |
| { | |
| "type": "string" | |
| }, | |
| { | |
| "type": "null" | |
| } | |
| ], | |
| "title": "Refreshtoken" | |
| }, | |
| "accessToken": { | |
| "anyOf": [ | |
| { | |
| "type": "string" | |
| }, | |
| { | |
| "type": "null" | |
| } | |
| ], | |
| "title": "Accesstoken" | |
| }, | |
| "other": { | |
| "anyOf": [ | |
| { | |
| "type": "object" | |
| }, | |
| { | |
| "type": "null" | |
| } | |
| ], | |
| "title": "Other" | |
| }, | |
| "enabled": { | |
| "anyOf": [ | |
| { | |
| "type": "boolean" | |
| }, | |
| { | |
| "type": "null" | |
| } | |
| ], | |
| "title": "Enabled" | |
| } | |
| }, | |
| "type": "object", | |
| "title": "AccountUpdate" | |
| }, | |
| "AuthStartBody": { | |
| "properties": { | |
| "label": { | |
| "anyOf": [ | |
| { | |
| "type": "string" | |
| }, | |
| { | |
| "type": "null" | |
| } | |
| ], | |
| "title": "Label" | |
| }, | |
| "enabled": { | |
| "anyOf": [ | |
| { | |
| "type": "boolean" | |
| }, | |
| { | |
| "type": "null" | |
| } | |
| ], | |
| "title": "Enabled", | |
| "default": true | |
| } | |
| }, | |
| "type": "object", | |
| "title": "AuthStartBody" | |
| }, | |
| "ChatCompletionRequest": { | |
| "properties": { | |
| "model": { | |
| "anyOf": [ | |
| { | |
| "type": "string" | |
| }, | |
| { | |
| "type": "null" | |
| } | |
| ], | |
| "title": "Model" | |
| }, | |
| "messages": { | |
| "items": { | |
| "$ref": "#/components/schemas/ChatMessage" | |
| }, | |
| "type": "array", | |
| "title": "Messages" | |
| }, | |
| "stream": { | |
| "anyOf": [ | |
| { | |
| "type": "boolean" | |
| }, | |
| { | |
| "type": "null" | |
| } | |
| ], | |
| "title": "Stream", | |
| "default": false | |
| } | |
| }, | |
| "type": "object", | |
| "required": [ | |
| "messages" | |
| ], | |
| "title": "ChatCompletionRequest" | |
| }, | |
| "ChatMessage": { | |
| "properties": { | |
| "role": { | |
| "type": "string", | |
| "title": "Role" | |
| }, | |
| "content": { | |
| "title": "Content" | |
| } | |
| }, | |
| "type": "object", | |
| "required": [ | |
| "role", | |
| "content" | |
| ], | |
| "title": "ChatMessage" | |
| }, | |
| "HTTPValidationError": { | |
| "properties": { | |
| "detail": { | |
| "items": { | |
| "$ref": "#/components/schemas/ValidationError" | |
| }, | |
| "type": "array", | |
| "title": "Detail" | |
| } | |
| }, | |
| "type": "object", | |
| "title": "HTTPValidationError" | |
| }, | |
| "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" | |
| } | |
| } | |
| } | |
| } |