basePath: /
definitions:
  service.AllQuotaUsageResponse:
    properties:
      tenants:
        items:
          $ref: '#/definitions/service.QuotaUsageResponse'
        type: array
    type: object
  service.EmbeddingRequest:
    properties:
      model:
        type: string
      texts:
        items:
          type: string
        type: array
    required:
    - model
    - texts
    type: object
  service.EmbeddingResponse:
    properties:
      embeddings:
        description: The actual embeddings are returned as base64 strings for each
          text
        items:
          type: string
        type: array
      usage:
        $ref: '#/definitions/service.EmbeddingUsageInfo'
    type: object
  service.EmbeddingUsageInfo:
    properties:
      prompt_tokens:
        type: integer
      total_tokens:
        type: integer
    type: object
  service.ErrorResponse:
    properties:
      error:
        type: string
    type: object
  service.QuotaUsageResponse:
    properties:
      current_usage:
        type: number
      quota_limit:
        type: number
      reset_date:
        type: string
      tenant_id:
        type: string
    type: object
host: localhost:8080
info:
  contact: {}
  description: A simple embedding service that wraps AWS Bedrock and provides OpenAI-compatible
    API endpoints.
  title: Inference Service API
  version: "1.0"
paths:
  /api/v1/inference/embeddings/{tenantId}:
    post:
      consumes:
      - application/json
      description: Generate embeddings for the given texts using the specified model
      parameters:
      - description: Tenant ID
        in: path
        name: tenantId
        required: true
        type: string
      - description: Embedding request
        in: body
        name: request
        required: true
        schema:
          $ref: '#/definitions/service.EmbeddingRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/service.EmbeddingResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/service.ErrorResponse'
        "429":
          description: Too Many Requests
          schema:
            $ref: '#/definitions/service.ErrorResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/service.ErrorResponse'
      summary: Create embeddings
      tags:
      - embeddings
  /api/v1/inference/quota_usage:
    get:
      description: Get quota usage information for all tenants
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/service.AllQuotaUsageResponse'
      summary: Get all quota usage
      tags:
      - quota
  /api/v1/inference/quota_usage/{tenantId}:
    get:
      description: Get quota usage information for a specific tenant
      parameters:
      - description: Tenant ID
        in: path
        name: tenantId
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/service.QuotaUsageResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/service.ErrorResponse'
      summary: Get tenant quota usage
      tags:
      - quota
swagger: "2.0"
