Openai integration

Create text completion (OpenAI format)

POST/openai/v1/completions

Creates a text completion using OpenAI-compatible format. This is the legacy completions API.

Note: This endpoint also works without the /v1 prefix (e.g., /openai/completions).

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

curl -X POST "http://localhost:8080/openai/v1/completions" \  -H "Content-Type: application/json" \  -d '{    "model": "gpt-3.5-turbo-instruct",    "prompt": "string"  }'
{
  "id": "string",
  "choices": [
    {
      "index": 0,
      "finish_reason": "string",
      "log_probs": {
        "content": [
          {
            "bytes": [
              0
            ],
            "logprob": 0,
            "token": "string",
            "top_logprobs": [
              {
                "bytes": [
                  0
                ],
                "logprob": 0,
                "token": "string"
              }
            ]
          }
        ],
        "refusal": [
          {
            "bytes": [
              0
            ],
            "logprob": 0,
            "token": "string"
          }
        ],
        "text_offset": [
          0
        ],
        "token_logprobs": [
          0
        ],
        "tokens": [
          "string"
        ],
        "top_logprobs": [
          {
            "property1": 0,
            "property2": 0
          }
        ]
      },
      "text": "string",
      "message": {
        "role": "assistant",
        "name": "string",
        "content": "string",
        "tool_call_id": "string",
        "refusal": "string",
        "audio": {
          "id": "string",
          "data": "string",
          "expires_at": 0,
          "transcript": "string"
        },
        "reasoning": "string",
        "reasoning_details": [
          {
            "id": "string",
            "index": 0,
            "type": "reasoning.summary",
            "summary": "string",
            "text": "string",
            "signature": "string",
            "data": "string"
          }
        ],
        "annotations": [
          {
            "type": "string",
            "url_citation": {
              "start_index": 0,
              "end_index": 0,
              "title": "string",
              "url": "string",
              "sources": {},
              "type": "string"
            }
          }
        ],
        "tool_calls": [
          {
            "index": 0,
            "type": "string",
            "id": "string",
            "function": {
              "name": "string",
              "arguments": "string"
            }
          }
        ]
      },
      "delta": {
        "role": "string",
        "content": "string",
        "refusal": "string",
        "audio": {
          "id": "string",
          "data": "string",
          "expires_at": 0,
          "transcript": "string"
        },
        "reasoning": "string",
        "reasoning_details": [
          {
            "id": "string",
            "index": 0,
            "type": "reasoning.summary",
            "summary": "string",
            "text": "string",
            "signature": "string",
            "data": "string"
          }
        ],
        "tool_calls": [
          {
            "index": 0,
            "type": "string",
            "id": "string",
            "function": {
              "name": "string",
              "arguments": "string"
            }
          }
        ]
      }
    }
  ],
  "model": "string",
  "object": "string",
  "system_fingerprint": "string",
  "usage": {
    "prompt_tokens": 0,
    "prompt_tokens_details": {
      "text_tokens": 0,
      "audio_tokens": 0,
      "image_tokens": 0,
      "cached_read_tokens": 0,
      "cached_write_tokens": 0
    },
    "completion_tokens": 0,
    "completion_tokens_details": {
      "text_tokens": 0,
      "accepted_prediction_tokens": 0,
      "audio_tokens": 0,
      "citation_tokens": 0,
      "num_search_queries": 0,
      "reasoning_tokens": 0,
      "image_tokens": 0,
      "rejected_prediction_tokens": 0
    },
    "total_tokens": 0,
    "cost": {
      "input_tokens_cost": 0,
      "output_tokens_cost": 0,
      "reasoning_tokens_cost": 0,
      "citation_tokens_cost": 0,
      "search_queries_cost": 0,
      "request_cost": 0,
      "total_cost": 0
    }
  },
  "extra_fields": {
    "request_type": "string",
    "provider": "openai",
    "model_requested": "string",
    "model_deployment": "string",
    "latency": 0,
    "chunk_index": 0,
    "raw_request": {},
    "raw_response": {},
    "cache_debug": {
      "cache_hit": true,
      "cache_id": "string",
      "hit_type": "string",
      "requested_provider": "string",
      "requested_model": "string",
      "provider_used": "string",
      "model_used": "string",
      "input_tokens": 0,
      "threshold": 0,
      "similarity": 0
    }
  }
}
{
  "event_id": "string",
  "type": "string",
  "is_bifrost_error": true,
  "status_code": 0,
  "error": {
    "type": "string",
    "code": "string",
    "message": "string",
    "param": "string",
    "event_id": "string"
  },
  "extra_fields": {
    "provider": "openai",
    "model_requested": "string",
    "request_type": "string"
  }
}
{
  "event_id": "string",
  "type": "string",
  "is_bifrost_error": true,
  "status_code": 0,
  "error": {
    "type": "string",
    "code": "string",
    "message": "string",
    "param": "string",
    "event_id": "string"
  },
  "extra_fields": {
    "provider": "openai",
    "model_requested": "string",
    "request_type": "string"
  }
}