Skip to main content
POST
/
log-request
Log Request
curl --request POST \
  --url https://api.promptlayer.com/log-request \
  --header 'Content-Type: application/json' \
  --header 'X-API-KEY: <x-api-key>' \
  --data '{
  "provider": "<string>",
  "model": "<string>",
  "input": {
    "content": [
      {
        "type": "text",
        "text": "<string>"
      }
    ],
    "input_variables": [],
    "template_format": "f-string",
    "type": "completion"
  },
  "output": {
    "content": [
      {
        "type": "text",
        "text": "<string>"
      }
    ],
    "input_variables": [
      "<string>"
    ],
    "template_format": "f-string",
    "type": "completion"
  },
  "request_start_time": "2023-11-07T05:31:56Z",
  "request_end_time": "2023-11-07T05:31:56Z",
  "parameters": {},
  "tags": [],
  "metadata": {},
  "prompt_name": "<string>",
  "prompt_id": 123,
  "prompt_version_number": 1,
  "prompt_input_variables": {},
  "input_tokens": 0,
  "output_tokens": 0,
  "price": 0,
  "function_name": "",
  "score": 0
}'
{
  "id": 123,
  "prompt_version": {
    "prompt_template": {
      "content": [
        {
          "type": "text",
          "text": "<string>"
        }
      ],
      "input_variables": [],
      "template_format": "f-string",
      "type": "completion"
    },
    "commit_message": "<string>",
    "metadata": {
      "model": {
        "provider": "<string>",
        "name": "<string>",
        "parameters": {}
      },
      "customField": "<string>"
    }
  }
}
Log a request to the system. This is useful for logging requests from custom LLM providers.

Using Structured Outputs

When logging requests that use structured outputs (JSON schemas), include the schema configuration in the parameters field using the response_format.json_schema structure. Example:
{
  "provider": "openai",
  "model": "gpt-4",
  "parameters": {
    "temperature": 0.7,
    "response_format": {
      "type": "json_schema",
      "json_schema": {
        "name": "YourSchemaName",
        "schema": {
          "type": "object",
          "properties": {
            "field1": {"type": "string"}
          },
          "required": ["field1"]
        }
      }
    }
  }
}
For complete examples with OpenAI, Anthropic, Google Gemini, and detailed implementation guidance, see: Logging Structured Outputs Guide →

Headers

X-API-KEY
string
required

API key to authorize the operation.

Body

application/json
provider
string
required
model
string
required
input
object
required
  • Completion Template
  • Chat Template
output
object
required
  • Completion Template
  • Chat Template
request_start_time
string<date-time>
required
request_end_time
string<date-time>
required
parameters
object

Model parameters including temperature, max_tokens, etc. Can also include structured output configuration via response_format.json_schema. See documentation for structured output examples.

tags
string[]
metadata
object

Custom key-value pairs for tracking additional request information. Keys are limited to 1024 characters.

prompt_name
string | null
prompt_id
integer | null

The ID of the prompt template used for this request. This is useful for tracking which prompt was used in the request.

prompt_version_number
integer | null
Required range: x > 0
prompt_input_variables
object
input_tokens
integer
default:0
Required range: x >= 0
output_tokens
integer
default:0
Required range: x >= 0
price
number
default:0
Required range: x >= 0
function_name
string
default:""
score
integer
default:0
Required range: 0 <= x <= 100

Response

Successful Response

id
integer
required
prompt_version
object
required