openapi: 3.0.0 info: title: Models API version: 1.0.0 description: API for retrieving information about available LLM models, including base models and fine-tuned models paths: /v1/models/base: get: summary: List all available base LLM models tags: - Base Models security: - ApiKeyAuth: [] parameters: - $ref: '#/components/parameters/PageParam' - $ref: '#/components/parameters/ItemsPerPageParam' responses: '200': description: Successful response content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/BaseModelResponse' pagination: $ref: '#/components/schemas/Pagination' '401': $ref: '#/components/responses/Unauthorized' /v1/models/base/{model_name}: get: summary: Get detailed information about a specific base model tags: - Base Models security: - ApiKeyAuth: [] parameters: - name: model_name in: path required: true schema: type: string responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/BaseModelResponse' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /v1/models/fine-tuned: get: summary: List all fine-tuned models for the current user tags: - Fine-tuned Models security: - ApiKeyAuth: [] parameters: - $ref: '#/components/parameters/PageParam' - $ref: '#/components/parameters/ItemsPerPageParam' responses: '200': description: Successful response content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/FineTunedModelResponse' pagination: $ref: '#/components/schemas/Pagination' '401': $ref: '#/components/responses/Unauthorized' /v1/models/fine-tuned/{model_name}: get: summary: Get detailed information about a specific fine-tuned model tags: - Fine-tuned Models security: - ApiKeyAuth: [] parameters: - name: model_name in: path required: true schema: type: string responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/FineTunedModelResponse' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' components: schemas: BaseModelResponse: type: object properties: id: type: string format: uuid description: type: string hf_url: type: string status: type: string enum: [ACTIVE, INACTIVE, DEPRECATED] name: type: string meta: type: object additionalProperties: true FineTunedModelResponse: type: object properties: id: type: string format: uuid created_at: type: string format: date-time fine_tuning_job_name: type: string name: type: string artifacts: type: object additionalProperties: true Pagination: type: object properties: total_pages: type: integer current_page: type: integer items_per_page: type: integer ErrorResponse: type: object properties: status: type: integer message: type: string responses: BadRequest: description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' Unauthorized: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' NotFound: description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' Forbidden: description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' parameters: PageParam: in: query name: page schema: type: integer default: 1 minimum: 1 description: Page number to retrieve ItemsPerPageParam: in: query name: items_per_page schema: type: integer default: 20 minimum: 1 description: Number of items to return per page securitySchemes: ApiKeyAuth: type: apiKey in: header name: x-api-key