Add VCR and some initial tests

This commit is contained in:
Jorge Manrubia
2025-05-16 12:54:00 +02:00
parent 4c7b99e39d
commit b8f94c4ecb
18 changed files with 6838 additions and 115 deletions
+3 -1
View File
@@ -34,7 +34,7 @@ gem "sentry-rails"
gem "rails_structured_logging", bc: "rails-structured-logging"
gem "ruby_llm", git: "https://github.com/crmne/ruby_llm.git"
gem 'sqlite-vec', '0.1.7.alpha.2'
gem "sqlite-vec", "0.1.7.alpha.2"
group :development, :test do
gem "debug"
@@ -46,4 +46,6 @@ end
group :test do
gem "capybara"
gem "selenium-webdriver"
gem "webmock"
gem "vcr"
end
+12
View File
@@ -159,6 +159,9 @@ GEM
chunky_png (1.4.0)
concurrent-ruby (1.3.5)
connection_pool (2.5.3)
crack (1.0.0)
bigdecimal
rexml
crass (1.0.6)
date (3.4.1)
debug (1.10.0)
@@ -189,6 +192,7 @@ GEM
addressable (>= 2.5.0)
globalid (1.2.1)
activesupport (>= 6.1)
hashdiff (1.1.2)
i18n (1.14.7)
concurrent-ruby (~> 1.0)
importmap-rails (2.1.0)
@@ -407,6 +411,12 @@ GEM
unicode-emoji (4.0.4)
uri (1.0.3)
useragent (0.16.11)
vcr (6.3.1)
base64
webmock (3.25.1)
addressable (>= 2.8.0)
crack (>= 0.3.2)
hashdiff (>= 0.4.0, < 2.0.0)
websocket (1.2.11)
websocket-driver (0.7.7)
base64
@@ -455,6 +465,8 @@ DEPENDENCIES
stimulus-rails
thruster
turbo-rails
vcr
webmock
BUNDLED WITH
2.5.21
+1 -1
View File
@@ -4,7 +4,7 @@ class Command < ApplicationRecord
belongs_to :user
belongs_to :parent, class_name: "Command", optional: true
scope :root, ->{ where(parent_id: nil) }
scope :root, -> { where(parent_id: nil) }
attribute :context
+90 -90
View File
@@ -10,7 +10,7 @@ class Command::Ai::Translator
def translate(query)
response = translate_query_with_llm(query)
Rails.logger.info "*** Commands: #{response}"
compact JSON.parse(response)
normalize JSON.parse(response)
end
private
@@ -30,117 +30,112 @@ class Command::Ai::Translator
def prompt
<<~PROMPT
You are Fizzys command translator. Given a request by the user you should:
You are Fizzys command translator. Your task is to:
1. Read the users request
2. Consult the current view
3. Determine if you need a new context to resolve the query or if the current view is enough.
4. Create as many commands as you need to satisfy the request.
5. Output a JSON object that contains:
* The new context properties, when a new context is needed.
* A **single JSON array** of command objects to execute
1. Read the user's request.
2. Consult the current context (provided below for informational purposes only).
3. Determine if the current context suffices or if a new context is required.
4. Generate only the necessary commands to fulfill the request.
5. Output a JSON object containing ONLY:
Fizzy data includes cards and comments contained in those. A card can represent an issue, a feature,
a bug, a task, a problem, etc. Cards are contained in collections.
* A "context" object (only if a new filtering context is required, strictly following defined properties below).
* A "commands" array (only if commands are explicitly requested or clearly implied).
## Determine context
Do NOT add any other properties to your JSON output.
If the query seems to refer to filtering certain cards, try to satisfy the filter with the supported options:
The description of the current view ("inside a card", "viewing a list of cards", or "not seeing cards") is informational only. Do NOT reflect this description explicitly or implicitly in your output JSON. NEVER generate properties like "view" or add "terms" based on "card" or "list" context.
* terms: a list of terms to search for. Use this option to refine searches based on further keyword*based
queries. Pass an array even when it's only one term. Always send individual terms separated by spaces.
E.g: ["some", "term"] instead of ["some term"].
* indexed_by: can be "newest", "oldest", "latest", "stalled", "closed"
* assignee_ids: the name of the person or persons assigned to the card.
* assignment_status: only used to filter unassigned cards with "unassigned".
* engagement_status: can be "considering" or "doing". This refers to whether the team is working on something.
* card_ids: a list of card ids
* creator_id: the name of a person
* collection_ids: a list of collection names. Cards are contained in collections. Don't use unless mentioning
specific collections.
* tag_ids: a list of tag names.
## Fizzy Data Structure
What to use to filter:
* **Cards**: Represent issues, features, bugs, tasks, or problems.
* Cards have **comments** and are contained within **collections**.
- To filter cards assigned to people, use "assignee_ids" and pass the name of the person or persons.
- To filter cards created by someone, use "creator_id".
- To filter cards with certain tags, use "tag_ids" and pass the name of the tag or tags.
- To filter unassigned cards, use "assignment_status" and pass "unassigned".
- To filter someone's card, filter the cards where that person is the assignee.
- To filter cards by certain subject, use "terms" to pass relevant keywords. Avoid generic keywords,
extract the relevant ones.
- The user may refer to "my" or "I" to refer to the cards assigned to him/her.
- To search cards completed by someone filter by cards assigned to that person that are completed.
- My cards are cards assigned to me. Someone's cards are cards assigned to that person.
- My recent cards are cards assigned to me with indexed_by:newest.
- To filter cards or problems reported by someone use "creator_id" and pass the name of the person.
## Context Properties for Filtering (use explicitly):
If a new context is needed, the output json will contain a "context"" property with the required properties:
* **terms**: Array of keywords (split individually, e.g., \["some", "term"]). Avoid redundancy.
* **indexed\_by**: "newest", "oldest", "latest", "stalled", "closed".
Example: { context: { terms: ["design", "title"] }, assignee_ids: ["jz"], tag_ids: ["design"], commands: [.....] }
* "closed": completed cards.
* "newest": by creation date, "latest": by update date.
* **assignee\_ids**: Array of assignee names.
* **assignment\_status**: "unassigned".
* **engagement\_status**: "considering" or "doing".
* **card\_ids**: Array of card IDs.
* **creator\_id**: Creator's name.
* **collection\_ids**: Array of explicitly mentioned collections.
* **tag\_ids**: Array of tag names (use for "#tag" or "tagged with").
When the user is in a view "not seeing cards", then always create a context to satisfy the request.
## Explicit Filtering Rules:
If the query does not refer to filtering certain cards, the output won't contain any context key. Notice there is already a
context in the current view, and, unless the request indicate otherwise, that's the context you should assume.
* "Assigned to X": use `assignee_ids`.
* "Created by X": use `creator_id`.
* "Tagged with X", "#X cards": use `tag_ids` (never "terms").
- For example: "#design cards" or "cards tagged with #design" should always result in `tag_ids: ["design"]`.
* "Unassigned cards": use `assignment_status: "unassigned"`.
* "My cards": Cards assigned to the requester.
* "Recent cards": use `indexed_by: "newest"`.
* "Cards with recent activity": use `indexed_by: "latest"`.
* "Completed/closed cards": use `indexed_by: "closed"`.
* Unknown terms: default to `terms`.
If you can't infer clear commands or filtering conditions, just create a context that searches using "terms" derived from
the query.
## Command Interpretation Rules:
## Supported commands:
* "tag with #design": always `/tag #design`. Do NOT create `tag_ids` context.
* "#design cards" or "cards tagged with #design": use `tag_ids`.
* "Assign cards tagged with #design to jz": filter by `tag_ids`, command `/assign jz`. Do NOT generate `/tag` command.
A command is represented with simple string that contains the command preffixed with / and may contain additional params
separated by spaces. The supported commands are:
## ⚠️ Crucial Rules to Avoid Confusion:
- Assign users to cards: Syntax: /assign [user]. The user can be prefixed with @. Example: "/assign kevin" or "/assign @kevin"
- Close cards: Syntax: /close [optional reason]. Example: "/close" or "/close not now"
- Tag cards with certain one or multiple tags: Syntax: /tag [tag-name]. The tag can be prefixed with #. Example: "/tag performance" or "/tag #peformance"
- Clear filters: Syntax: /clear
- Get AI insight about cards: Syntax: /insight [query]. Example: "/insight summarize". Notice that this can be combined with
creating a new context to get insight from. Always use /insight when the user asks a question.
* **Context filters** always represent **existing conditions** that cards **already satisfy**.
* **Commands** (`/assign`, `/tag`, `/close`) represent **new actions** to apply.
* **NEVER** use names or tags mentioned in **commands** as filtering criteria.
Notice that commands can be combined with filtering to specify the context. For example: "close cards assigned to jorge" should
generate a context to search cards assigned to jorge and a /close command to act on those.
* E.g.: "Assign andy" means a **new assignment** to `andy`. Do NOT filter by `assignee_ids: ["andy"]`.
* E.g.: "Tag with #v2" means applying a **new tag**. Do NOT filter by `tag_ids: ["v2"]`.
Some queries simply require creating a new context and not running any command. For example "cards assigned to jorge",
"issues about headlines tagged with #design" are mere filtering requests that are satisfied by creating a new context. Don't
' add a "commands" property with an empty array, just avoid the property in these cases.
### Examples (strictly follow these):
When you do need to create new commands, append them to the JSON under the "commands" property:
User query:
`"assign andy to the current #design cards assigned to jz and tag them with #v2"`
Example: { commands: [ "/assign jorge", "/insight summarize performance issues" ] }
Correct Output:
Notice that commands and context can be combined if needed:
{
"context": { "assignee_ids": ["jz"], "tag_ids": ["design"] },
"commands": ["/assign andy", "/tag #v2"]
}
Example: { context: { terms: ["design", "title"] }, commands: [ "/assign jorge" ] }
Incorrect (DO NOT generate):
Make sure you create as many commands as you need to satisfy the request.
{
"context": { "assignee_ids": ["andy"], "tag_ids": ["v2"] },
"commands": ["/assign andy", "/tag #v2"]
}
## JSON format
## Commands (prefix '/'):
Each command will be a JSON object containing two properties: "commands" and "context". Notice that both are optional
but at least ONE must be present. All these examples are valid:
* Assign user: `/assign [user]` (e.g., `/assign kevin`).
* Close cards: `/close [optional reason]` (e.g., `/close`, `/close not now`).
* Tag cards: `/tag #[tag-name]` (e.g., `/tag #design`).
* Clear filters: `/clear`.
* Insights (mandatory if question asked or explicitly requested): `/insight [query]`.
- Always use `/insight` for queries like "steps to reproduce", "summarize", or similar queries that clearly request insight about cards,
especially when "inside a card". Pass the original query as the argument.
{ "context": [ "terms": [ "performance" ] ], "commands": ["/assign jorge", "/close"] }
{ "context": [ "terms": [ "performance" ] ] }
{ "commands": [ "/assign jorge", "/close"] }
## JSON Output Examples (strictly follow these patterns):
Make sure you generate valid JSON with both keys and values within quotes.
{ "context": { "assignee_ids": ["jorge"] }, "commands": ["/close"] }
{ "context": { "tag_ids": ["design"] } }
{ "commands": ["/assign jorge", "/tag #design"] }
# Other
Omit empty arrays or unnecessary properties. At least one property (`context` or `commands`) must exist.
* Avoid empty preambles like "Based on the provided cards". Be friendly, favor an active voice.
* Be concise and direct.
* When emitting search commands, if searching for terms, remove generic ones.
* Don't use a "terms" filter for expressions added as other context properties or commands. E.g: if filtering cards assigned to
"jorge"", don't filter by terms "jorge" too. If tagging with "design", don't filter by the term "design" too.
for those terms too. If assigning a tag, don't search that tag too.
* An unassigned card is a card without assignees.
* Never create a /search or /insight without additional params.
* An unassigned card can be closed or not. "unassigned" and "closed" are different unrelated concepts.
* An unassigned card can be "considering" or "doing". "unassigned" and "engagement_status" are different unrelated concepts.
* Only use assignment_status asking for unassigned cards. Never use in other circumstances.
* If the question ends with question mark ALWAYS use an /insight command passing a question extracted from the query.
## Other Strict Instructions:
* NEVER add properties based on view descriptions ("card", "list", etc.).
* Avoid redundant terms.
* Don't duplicate terms across properties.
* Favor clarity, precision, and conciseness.
PROMPT
end
@@ -164,12 +159,17 @@ class Command::Ai::Translator
end
end
def compact(json)
context = json["context"]
context&.each do |key, value|
context[key] = value.presence
def normalize(json)
if context = json["context"]
context.each do |key, value|
context[key] = value.presence
end
context.symbolize_keys!
context.compact!
end
context&.compact!
json.compact
json.delete("context") if json["context"].blank?
json.delete("commands") if json["commands"].blank?
json.symbolize_keys.compact
end
end
+1 -1
View File
@@ -34,7 +34,7 @@ class Command::GetInsight < Command
## How to provide insight:
You are a helpful assistant that is able to provide answers and insights about cards. Be concise and
You are a helpful assistant that is able to provide answers and insights about cards. Be concise and#{' '}
accurate.
- Address the question as much directly as possible.
+1 -1
View File
@@ -1,4 +1,4 @@
RubyLLM.configure do |config|
config.openai_api_key = Rails.application.credentials.openai_api_key
config.openai_api_key = Rails.application.credentials.openai_api_key || ENV["OPEN_AI_API_KEY"]
config.default_model = "gpt-4.1-nano"
end
+80 -21
View File
@@ -1,34 +1,93 @@
require "test_helper"
class Command::Ai::TranslatorTest < ActionDispatch::IntegrationTest
test "sandbox list of cards" do
@url = cards_url
include VcrTestHelper
test_command "tag cards assigned to jz with design"
# test_command "summarize cards about performance"
# test_command "tag with #performance"
# test_command "cards assigned to jorge"
# test_command "performance cards assigned to jorge"
# test_command "close performance cards assigned to jorge and tag them with #performance"
setup do
@user= users(:david)
end
test "sandbox single card" do
@url = card_url(cards(:logo))
test "filter by assignments" do
# List context
assert_command({ context: { assignee_ids: [ "jz" ] } }, "cards assigned to jz")
assert_command({ context: { assignee_ids: [ "jz" ] } }, "assigned to jz")
assert_command({ context: { assignment_status: "unassigned" } }, "unassigned cards")
assert_command({ context: { assignment_status: "unassigned" } }, "not assigned")
assert_command({ context: { assignee_ids: [ "jorge" ], terms: [ "performance" ] } }, "cards about performance assigned to jorge")
test_command "summarize cards about performance"
test_command "tag with performance and close"
test_command "summarize this card"
test_command "tag with #performance"
test_command "cards assigned to jorge"
test_command "performance cards assigned to jorge"
test_command "close performance cards assigned to jorge and tag them with #performance"
# Card context
assert_command({ context: { assignee_ids: [ "jz" ] } }, "cards assigned to jz", context: :card)
end
test "filter by tag" do
# List context
assert_command({ context: { tag_ids: [ "design" ] } }, "cards tagged with design")
assert_command({ context: { tag_ids: [ "design" ] } }, "cards tagged with #design")
assert_command({ context: { tag_ids: [ "design" ] } }, "#design cards")
# Card context
assert_command({ context: { tag_ids: [ "design" ] } }, "cards tagged with design")
end
test "filter by indexed_by" do
# List context
assert_command({ context: { indexed_by: "closed" } }, "closed cards")
assert_command({ context: { indexed_by: "closed" } }, "completed cards")
assert_command({ context: { indexed_by: "closed" } }, "completed")
assert_command({ context: { indexed_by: "newest" } }, "recent cards")
assert_command({ context: { indexed_by: "latest" } }, "cards with recent activity")
end
test "getting insight on cards" do
# Card context
assert_command({ commands: [ "/insight summarize" ] }, "summarize", context: :card)
assert_command({ commands: [ "/insight steps to reproduce" ] }, "steps to reproduce", context: :card)
assert_command({ commands: [ "/insight create a table with the main participants and takeaways" ] }, "create a table with the main participants and takeaways", context: :card)
assert_command({ commands: [ "/insight what's the issue here?" ] }, "what's the issue here?", context: :card)
end
test "filter by collection" do
assert_command({ context: { collection_ids: [ "writebook" ] } }, "writebook collection")
end
test "close cards" do
# List context
assert_command({ commands: [ "/close" ] }, "close")
assert_command({ commands: [ "/close not now" ] }, "close as not now")
assert_command({ context: { assignee_ids: [ "jz" ] }, commands: [ "/close" ] }, "close cards assigned to jz")
# Card context
assert_command({ commands: [ "/close" ] }, "close", context: :card)
end
test "assign cards" do
# List context
assert_command({ commands: [ "/assign jz" ] }, "assign to jz")
assert_command({ context: { tag_ids: [ "design" ] }, commands: [ "/assign jz" ] }, "assign cards tagged with #design to jz", context: :card)
end
test "tag cards" do
# List context
assert_command({ commands: [ "/tag #design" ] }, "tag with #design")
end
test "combine commands and filters" do
assert_command({ context: { assignee_ids: [ "jz" ], tag_ids: [ "design" ] }, commands: [ "/assign andy", "/tag #v2" ] }, "assign andy to the current #design cards assigned to jz and tag them with #v2")
assert_command({ context: { assignee_ids: [ "andy" ] }, commands: [ "/close", "/assign kevin" ] }, "close cards assigned to andy and assign them to kevin")
assert_command({ context: { tag_ids: [ "design" ], assignee_ids: [ "jz" ] }, commands: [ "/assign andy", "/tag #v2" ] }, "assign cards tagged with #design assigned to jz to andy and tag them with #v2")
end
private
def test_command(query)
user = users(:david)
context = Command::Parser::Context.new(user, url: @url)
def assert_command(expected, query, context: :list)
assert_equal expected, translate(query, context:)
end
def translate(query, user: @user, context: :list)
raise "Context must be :card or _list" unless context.in?(%i[ card list ])
url = context == :card ? card_url(cards(:logo)) : cards_url
context = Command::Parser::Context.new(user, url: url)
translator = Command::Ai::Translator.new(context)
puts translator.translate(query)
translator.translate(query)
end
end
+15
View File
@@ -1,6 +1,17 @@
ENV["RAILS_ENV"] ||= "test"
require_relative "../config/environment"
require "rails/test_help"
require "webmock/minitest"
require "vcr"
WebMock.allow_net_connect!
VCR.configure do |config|
config.allow_http_connections_when_no_cassette = true
config.cassette_library_dir = "test/vcr_cassettes"
config.hook_into :webmock
config.filter_sensitive_data("<OPEN_API_KEY>") { Rails.application.credentials.openai_api_key || ENV["OPEN_AI_API_KEY"] }
end
module ActiveSupport
class TestCase
@@ -14,3 +25,7 @@ module ActiveSupport
include CardTestHelper, ChangeTestHelper, SessionTestHelper
end
end
RubyLLM.configure do |config|
config.openai_api_key ||= "DUMMY-TEST-KEY" # Run tests with VCR without having to configure OpenAI API key locally.
end
+35
View File
@@ -0,0 +1,35 @@
# To include in those tests that use VCR. It will automatically insert a VCR cassette named after the test. By default,
# it will run the test in "replay" mode. To switch to record mode, you can either:
#
# * Set the environment variable +VCR_RECORD+.
# * Use +.vcr_record!+ in your test class.
module VcrTestHelper
extend ActiveSupport::Concern
included do
class_attribute :vcr_record
setup do
VCR.insert_cassette "#{self.class.name.tableize.singularize}-#{name}",
record: recording? ? :all : :none,
preserve_exact_body_bytes: true
end
teardown do
VCR.eject_cassette
end
def recording?
vcr_record || ENV["VCR_RECORD"]
end
end
class_methods do
# Use to force record mode at development time: always perform real http interactions and record fixtures
def vcr_record!
raise "#vcr_record! is meant for dev time. You are not supposed to run it in CI." if ENV["CI"]
self.vcr_record = true
end
end
end
@@ -0,0 +1,426 @@
---
http_interactions:
- request:
method: post
uri: https://api.openai.com/v1/chat/completions
body:
encoding: UTF-8
base64_string: |
eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi
ZGV2ZWxvcGVyIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0Ijoi
WW91IGFyZSBGaXp6eeKAmXMgY29tbWFuZCB0cmFuc2xhdG9yLiBZb3VyIHRh
c2sgaXMgdG86XG5cbjEuIFJlYWQgdGhlIHVzZXIncyByZXF1ZXN0LlxuMi4g
Q29uc3VsdCB0aGUgY3VycmVudCBjb250ZXh0IChwcm92aWRlZCBiZWxvdyBm
b3IgaW5mb3JtYXRpb25hbCBwdXJwb3NlcyBvbmx5KS5cbjMuIERldGVybWlu
ZSBpZiB0aGUgY3VycmVudCBjb250ZXh0IHN1ZmZpY2VzIG9yIGlmIGEgbmV3
IGNvbnRleHQgaXMgcmVxdWlyZWQuXG40LiBHZW5lcmF0ZSBvbmx5IHRoZSBu
ZWNlc3NhcnkgY29tbWFuZHMgdG8gZnVsZmlsbCB0aGUgcmVxdWVzdC5cbjUu
IE91dHB1dCBhIEpTT04gb2JqZWN0IGNvbnRhaW5pbmcgT05MWTpcblxuICAg
KiBBIFwiY29udGV4dFwiIG9iamVjdCAob25seSBpZiBhIG5ldyBmaWx0ZXJp
bmcgY29udGV4dCBpcyByZXF1aXJlZCwgc3RyaWN0bHkgZm9sbG93aW5nIGRl
ZmluZWQgcHJvcGVydGllcyBiZWxvdykuXG4gICAqIEEgXCJjb21tYW5kc1wi
IGFycmF5IChvbmx5IGlmIGNvbW1hbmRzIGFyZSBleHBsaWNpdGx5IHJlcXVl
c3RlZCBvciBjbGVhcmx5IGltcGxpZWQpLlxuXG5EbyBOT1QgYWRkIGFueSBv
dGhlciBwcm9wZXJ0aWVzIHRvIHlvdXIgSlNPTiBvdXRwdXQuXG5cblRoZSBk
ZXNjcmlwdGlvbiBvZiB0aGUgY3VycmVudCB2aWV3IChcImluc2lkZSBhIGNh
cmRcIiwgXCJ2aWV3aW5nIGEgbGlzdCBvZiBjYXJkc1wiLCBvciBcIm5vdCBz
ZWVpbmcgY2FyZHNcIikgaXMgaW5mb3JtYXRpb25hbCBvbmx5LiBEbyBOT1Qg
cmVmbGVjdCB0aGlzIGRlc2NyaXB0aW9uIGV4cGxpY2l0bHkgb3IgaW1wbGlj
aXRseSBpbiB5b3VyIG91dHB1dCBKU09OLiBORVZFUiBnZW5lcmF0ZSBwcm9w
ZXJ0aWVzIGxpa2UgXCJ2aWV3XCIgb3IgYWRkIFwidGVybXNcIiBiYXNlZCBv
biBcImNhcmRcIiBvciBcImxpc3RcIiBjb250ZXh0LlxuXG4jIyBGaXp6eSBE
YXRhIFN0cnVjdHVyZVxuXG4qICoqQ2FyZHMqKjogUmVwcmVzZW50IGlzc3Vl
cywgZmVhdHVyZXMsIGJ1Z3MsIHRhc2tzLCBvciBwcm9ibGVtcy5cbiogQ2Fy
ZHMgaGF2ZSAqKmNvbW1lbnRzKiogYW5kIGFyZSBjb250YWluZWQgd2l0aGlu
ICoqY29sbGVjdGlvbnMqKi5cblxuIyMgQ29udGV4dCBQcm9wZXJ0aWVzIGZv
ciBGaWx0ZXJpbmcgKHVzZSBleHBsaWNpdGx5KTpcblxuKiAqKnRlcm1zKio6
IEFycmF5IG9mIGtleXdvcmRzIChzcGxpdCBpbmRpdmlkdWFsbHksIGUuZy4s
IFtcInNvbWVcIiwgXCJ0ZXJtXCJdKS4gQXZvaWQgcmVkdW5kYW5jeS5cbiog
KippbmRleGVkX2J5Kio6IFwibmV3ZXN0XCIsIFwib2xkZXN0XCIsIFwibGF0
ZXN0XCIsIFwic3RhbGxlZFwiLCBcImNsb3NlZFwiLlxuXG4gICogXCJjbG9z
ZWRcIjogY29tcGxldGVkIGNhcmRzLlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNy
ZWF0aW9uIGRhdGUsIFwibGF0ZXN0XCI6IGJ5IHVwZGF0ZSBkYXRlLlxuKiAq
KmFzc2lnbmVlX2lkcyoqOiBBcnJheSBvZiBhc3NpZ25lZSBuYW1lcy5cbiog
Kiphc3NpZ25tZW50X3N0YXR1cyoqOiBcInVuYXNzaWduZWRcIi5cbiogKipl
bmdhZ2VtZW50X3N0YXR1cyoqOiBcImNvbnNpZGVyaW5nXCIgb3IgXCJkb2lu
Z1wiLlxuKiAqKmNhcmRfaWRzKio6IEFycmF5IG9mIGNhcmQgSURzLlxuKiAq
KmNyZWF0b3JfaWQqKjogQ3JlYXRvcidzIG5hbWUuXG4qICoqY29sbGVjdGlv
bl9pZHMqKjogQXJyYXkgb2YgZXhwbGljaXRseSBtZW50aW9uZWQgY29sbGVj
dGlvbnMuXG4qICoqdGFnX2lkcyoqOiBBcnJheSBvZiB0YWcgbmFtZXMgKHVz
ZSBmb3IgXCIjdGFnXCIgb3IgXCJ0YWdnZWQgd2l0aFwiKS5cblxuIyMgRXhw
bGljaXQgRmlsdGVyaW5nIFJ1bGVzOlxuXG4qIFwiQXNzaWduZWQgdG8gWFwi
OiB1c2UgYGFzc2lnbmVlX2lkc2AuXG4qIFwiQ3JlYXRlZCBieSBYXCI6IHVz
ZSBgY3JlYXRvcl9pZGAuXG4qIFwiVGFnZ2VkIHdpdGggWFwiLCBcIiNYIGNh
cmRzXCI6IHVzZSBgdGFnX2lkc2AgKG5ldmVyIFwidGVybXNcIikuXG4gIC0g
Rm9yIGV4YW1wbGU6IFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMgdGFn
Z2VkIHdpdGggI2Rlc2lnblwiIHNob3VsZCBhbHdheXMgcmVzdWx0IGluIGB0
YWdfaWRzOiBbXCJkZXNpZ25cIl1gLlxuKiBcIlVuYXNzaWduZWQgY2FyZHNc
IjogdXNlIGBhc3NpZ25tZW50X3N0YXR1czogXCJ1bmFzc2lnbmVkXCJgLlxu
KiBcIk15IGNhcmRzXCI6IENhcmRzIGFzc2lnbmVkIHRvIHRoZSByZXF1ZXN0
ZXIuXG4qIFwiUmVjZW50IGNhcmRzXCI6IHVzZSBgaW5kZXhlZF9ieTogXCJu
ZXdlc3RcImAuXG4qIFwiQ2FyZHMgd2l0aCByZWNlbnQgYWN0aXZpdHlcIjog
dXNlIGBpbmRleGVkX2J5OiBcImxhdGVzdFwiYC5cbiogXCJDb21wbGV0ZWQv
Y2xvc2VkIGNhcmRzXCI6IHVzZSBgaW5kZXhlZF9ieTogXCJjbG9zZWRcImAu
XG4qIFVua25vd24gdGVybXM6IGRlZmF1bHQgdG8gYHRlcm1zYC5cblxuIyMg
Q29tbWFuZCBJbnRlcnByZXRhdGlvbiBSdWxlczpcblxuKiBcInRhZyB3aXRo
ICNkZXNpZ25cIjogYWx3YXlzIGAvdGFnICNkZXNpZ25gLiBEbyBOT1QgY3Jl
YXRlIGB0YWdfaWRzYCBjb250ZXh0LlxuKiBcIiNkZXNpZ24gY2FyZHNcIiBv
ciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25cIjogdXNlIGB0YWdfaWRz
YC5cbiogXCJBc3NpZ24gY2FyZHMgdGFnZ2VkIHdpdGggI2Rlc2lnbiB0byBq
elwiOiBmaWx0ZXIgYnkgYHRhZ19pZHNgLCBjb21tYW5kIGAvYXNzaWduIGp6
YC4gRG8gTk9UIGdlbmVyYXRlIGAvdGFnYCBjb21tYW5kLlxuXG4jIyDimqDv
uI8gQ3J1Y2lhbCBSdWxlcyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipD
b250ZXh0IGZpbHRlcnMqKiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3Rpbmcg
Y29uZGl0aW9ucyoqIHRoYXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5c
biogKipDb21tYW5kcyoqIChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWAp
IHJlcHJlc2VudCAqKm5ldyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVW
RVIqKiB1c2UgbmFtZXMgb3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5k
cyoqIGFzIGZpbHRlcmluZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNz
aWduIGFuZHlcIiBtZWFucyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5k
eWAuIERvIE5PVCBmaWx0ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwi
XWAuXG4gICogRS5nLjogXCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWlu
ZyBhICoqbmV3IHRhZyoqLiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBb
XCJ2MlwiXWAuXG5cbiMjIyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRo
ZXNlKTpcblxuVXNlciBxdWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBj
dXJyZW50ICNkZXNpZ24gY2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0
aGVtIHdpdGggI3YyXCJgXG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xu
ICBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwg
XCJ0YWdfaWRzXCI6IFtcImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6
IFtcIi9hc3NpZ24gYW5keVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJ
bmNvcnJlY3QgKERPIE5PVCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0
XCI6IHsgXCJhc3NpZ25lZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRz
XCI6IFtcInYyXCJdIH0sXG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBh
bmR5XCIsIFwiL3RhZyAjdjJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZp
eCAnLycpOlxuXG4qIEFzc2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gIChl
LmcuLCBgL2Fzc2lnbiBrZXZpbmApLlxuKiBDbG9zZSBjYXJkczogYC9jbG9z
ZSBbb3B0aW9uYWwgcmVhc29uXWAgKGUuZy4sIGAvY2xvc2VgLCBgL2Nsb3Nl
IG5vdCBub3dgKS5cbiogVGFnIGNhcmRzOiBgL3RhZyAjW3RhZy1uYW1lXWAg
KGUuZy4sIGAvdGFnICNkZXNpZ25gKS5cbiogQ2xlYXIgZmlsdGVyczogYC9j
bGVhcmAuXG4qIEluc2lnaHRzIChtYW5kYXRvcnkgaWYgcXVlc3Rpb24gYXNr
ZWQgb3IgZXhwbGljaXRseSByZXF1ZXN0ZWQpOiBgL2luc2lnaHQgW3F1ZXJ5
XWAuXG4gIC0gQWx3YXlzIHVzZSBgL2luc2lnaHRgIGZvciBxdWVyaWVzIGxp
a2UgXCJzdGVwcyB0byByZXByb2R1Y2VcIiwgXCJzdW1tYXJpemVcIiwgb3Ig
c2ltaWxhciBxdWVyaWVzIHRoYXQgY2xlYXJseSByZXF1ZXN0IGluc2lnaHQg
YWJvdXQgY2FyZHMsXG4gICAgZXNwZWNpYWxseSB3aGVuIFwiaW5zaWRlIGEg
Y2FyZFwiLiBQYXNzIHRoZSBvcmlnaW5hbCBxdWVyeSBhcyB0aGUgYXJndW1l
bnQuXG5cbiMjIEpTT04gT3V0cHV0IEV4YW1wbGVzIChzdHJpY3RseSBmb2xs
b3cgdGhlc2UgcGF0dGVybnMpOlxuXG57IFwiY29udGV4dFwiOiB7IFwiYXNz
aWduZWVfaWRzXCI6IFtcImpvcmdlXCJdIH0sIFwiY29tbWFuZHNcIjogW1wi
L2Nsb3NlXCJdIH1cbnsgXCJjb250ZXh0XCI6IHsgXCJ0YWdfaWRzXCI6IFtc
ImRlc2lnblwiXSB9IH1cbnsgXCJjb21tYW5kc1wiOiBbXCIvYXNzaWduIGpv
cmdlXCIsIFwiL3RhZyAjZGVzaWduXCJdIH1cblxuT21pdCBlbXB0eSBhcnJh
eXMgb3IgdW5uZWNlc3NhcnkgcHJvcGVydGllcy4gQXQgbGVhc3Qgb25lIHBy
b3BlcnR5IChgY29udGV4dGAgb3IgYGNvbW1hbmRzYCkgbXVzdCBleGlzdC5c
blxuIyMgT3RoZXIgU3RyaWN0IEluc3RydWN0aW9uczpcblxuKiBORVZFUiBh
ZGQgcHJvcGVydGllcyBiYXNlZCBvbiB2aWV3IGRlc2NyaXB0aW9ucyAoXCJj
YXJkXCIsIFwibGlzdFwiLCBldGMuKS5cbiogQXZvaWQgcmVkdW5kYW50IHRl
cm1zLlxuKiBEb24ndCBkdXBsaWNhdGUgdGVybXMgYWNyb3NzIHByb3BlcnRp
ZXMuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lvbiwgYW5kIGNvbmNpc2Vu
ZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFraW5nIHJlcXVlc3RzIGlz
IGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5cblRoZSB1c2VyIGlzIGN1
cnJlbnRseSB2aWV3aW5nIGEgbGlzdCBvZiBjYXJkcyB9LlxuIn1dfSx7InJv
bGUiOiJ1c2VyIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0Ijoi
YXNzaWduIHRvIGp6In1dfV0sInRlbXBlcmF0dXJlIjowLjcsInN0cmVhbSI6
ZmFsc2V9
headers:
User-Agent:
- Faraday v2.13.1
Authorization:
- Bearer <OPEN_API_KEY>
Content-Type:
- application/json
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
response:
status:
code: 200
message: OK
headers:
Date:
- Fri, 16 May 2025 11:12:55 GMT
Content-Type:
- application/json
Transfer-Encoding:
- chunked
Connection:
- keep-alive
Access-Control-Expose-Headers:
- X-Request-ID
Openai-Organization:
- 37signals-u7qhwk
Openai-Processing-Ms:
- '346'
Openai-Version:
- '2020-10-01'
X-Envoy-Upstream-Service-Time:
- '350'
X-Ratelimit-Limit-Requests:
- '500'
X-Ratelimit-Limit-Tokens:
- '200000'
X-Ratelimit-Remaining-Requests:
- '499'
X-Ratelimit-Remaining-Tokens:
- '198816'
X-Ratelimit-Reset-Requests:
- 120ms
X-Ratelimit-Reset-Tokens:
- 355ms
X-Request-Id:
- req_4dbe302530c29d399e4dae5a7fb1a976
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Cf-Cache-Status:
- DYNAMIC
Set-Cookie:
- __cf_bm=_7ab.klbB8ypb81LKJdvNtqviOqaXNSrWUeOVW02wOA-1747393975-1.0.1.1-PKEj2lFmaBreCjQe7PH3WxUrJiXDC8S7GJWMcOGVP2d63iRp8Wl9NayBo2h2cLl09aGBI7ffhTnUaO5LM6GIR5JD0W1SutKYtQfvA1v7WS4;
path=/; expires=Fri, 16-May-25 11:42:55 GMT; domain=.api.openai.com; HttpOnly;
Secure; SameSite=None
- _cfuvid=egdPV0Lq.W3r48q3HemBzmvmr1TB9OmVb0xlqq6iVs4-1747393975886-0.0.1.1-604800000;
path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None
X-Content-Type-Options:
- nosniff
Server:
- cloudflare
Cf-Ray:
- 940a71597fbd034d-MAD
Alt-Svc:
- h3=":443"; ma=86400
body:
encoding: ASCII-8BIT
base64_string: |
ewogICJpZCI6ICJjaGF0Y21wbC1CWG5IakV6TUhRZHJGcFRIS3VlaXVxN25K
QkRBRiIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh
dGVkIjogMTc0NzM5Mzk3NSwKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw
MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi
OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np
c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb21tYW5kc1wi
OiBbXCIvYXNzaWduIGp6XCJdXG59IiwKICAgICAgICAicmVmdXNhbCI6IG51
bGwsCiAgICAgICAgImFubm90YXRpb25zIjogW10KICAgICAgfSwKICAgICAg
ImxvZ3Byb2JzIjogbnVsbCwKICAgICAgImZpbmlzaF9yZWFzb24iOiAic3Rv
cCIKICAgIH0KICBdLAogICJ1c2FnZSI6IHsKICAgICJwcm9tcHRfdG9rZW5z
IjogMTIxMywKICAgICJjb21wbGV0aW9uX3Rva2VucyI6IDEzLAogICAgInRv
dGFsX3Rva2VucyI6IDEyMjYsCiAgICAicHJvbXB0X3Rva2Vuc19kZXRhaWxz
IjogewogICAgICAiY2FjaGVkX3Rva2VucyI6IDExNTIsCiAgICAgICJhdWRp
b190b2tlbnMiOiAwCiAgICB9LAogICAgImNvbXBsZXRpb25fdG9rZW5zX2Rl
dGFpbHMiOiB7CiAgICAgICJyZWFzb25pbmdfdG9rZW5zIjogMCwKICAgICAg
ImF1ZGlvX3Rva2VucyI6IDAsCiAgICAgICJhY2NlcHRlZF9wcmVkaWN0aW9u
X3Rva2VucyI6IDAsCiAgICAgICJyZWplY3RlZF9wcmVkaWN0aW9uX3Rva2Vu
cyI6IDAKICAgIH0KICB9LAogICJzZXJ2aWNlX3RpZXIiOiAiZGVmYXVsdCIs
CiAgInN5c3RlbV9maW5nZXJwcmludCI6ICJmcF84ZmQ0MzcxOGIzIgp9Cg==
recorded_at: Fri, 16 May 2025 11:12:55 GMT
- request:
method: post
uri: https://api.openai.com/v1/chat/completions
body:
encoding: UTF-8
base64_string: |
eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi
ZGV2ZWxvcGVyIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0Ijoi
WW91IGFyZSBGaXp6eeKAmXMgY29tbWFuZCB0cmFuc2xhdG9yLiBZb3VyIHRh
c2sgaXMgdG86XG5cbjEuIFJlYWQgdGhlIHVzZXIncyByZXF1ZXN0LlxuMi4g
Q29uc3VsdCB0aGUgY3VycmVudCBjb250ZXh0IChwcm92aWRlZCBiZWxvdyBm
b3IgaW5mb3JtYXRpb25hbCBwdXJwb3NlcyBvbmx5KS5cbjMuIERldGVybWlu
ZSBpZiB0aGUgY3VycmVudCBjb250ZXh0IHN1ZmZpY2VzIG9yIGlmIGEgbmV3
IGNvbnRleHQgaXMgcmVxdWlyZWQuXG40LiBHZW5lcmF0ZSBvbmx5IHRoZSBu
ZWNlc3NhcnkgY29tbWFuZHMgdG8gZnVsZmlsbCB0aGUgcmVxdWVzdC5cbjUu
IE91dHB1dCBhIEpTT04gb2JqZWN0IGNvbnRhaW5pbmcgT05MWTpcblxuICAg
KiBBIFwiY29udGV4dFwiIG9iamVjdCAob25seSBpZiBhIG5ldyBmaWx0ZXJp
bmcgY29udGV4dCBpcyByZXF1aXJlZCwgc3RyaWN0bHkgZm9sbG93aW5nIGRl
ZmluZWQgcHJvcGVydGllcyBiZWxvdykuXG4gICAqIEEgXCJjb21tYW5kc1wi
IGFycmF5IChvbmx5IGlmIGNvbW1hbmRzIGFyZSBleHBsaWNpdGx5IHJlcXVl
c3RlZCBvciBjbGVhcmx5IGltcGxpZWQpLlxuXG5EbyBOT1QgYWRkIGFueSBv
dGhlciBwcm9wZXJ0aWVzIHRvIHlvdXIgSlNPTiBvdXRwdXQuXG5cblRoZSBk
ZXNjcmlwdGlvbiBvZiB0aGUgY3VycmVudCB2aWV3IChcImluc2lkZSBhIGNh
cmRcIiwgXCJ2aWV3aW5nIGEgbGlzdCBvZiBjYXJkc1wiLCBvciBcIm5vdCBz
ZWVpbmcgY2FyZHNcIikgaXMgaW5mb3JtYXRpb25hbCBvbmx5LiBEbyBOT1Qg
cmVmbGVjdCB0aGlzIGRlc2NyaXB0aW9uIGV4cGxpY2l0bHkgb3IgaW1wbGlj
aXRseSBpbiB5b3VyIG91dHB1dCBKU09OLiBORVZFUiBnZW5lcmF0ZSBwcm9w
ZXJ0aWVzIGxpa2UgXCJ2aWV3XCIgb3IgYWRkIFwidGVybXNcIiBiYXNlZCBv
biBcImNhcmRcIiBvciBcImxpc3RcIiBjb250ZXh0LlxuXG4jIyBGaXp6eSBE
YXRhIFN0cnVjdHVyZVxuXG4qICoqQ2FyZHMqKjogUmVwcmVzZW50IGlzc3Vl
cywgZmVhdHVyZXMsIGJ1Z3MsIHRhc2tzLCBvciBwcm9ibGVtcy5cbiogQ2Fy
ZHMgaGF2ZSAqKmNvbW1lbnRzKiogYW5kIGFyZSBjb250YWluZWQgd2l0aGlu
ICoqY29sbGVjdGlvbnMqKi5cblxuIyMgQ29udGV4dCBQcm9wZXJ0aWVzIGZv
ciBGaWx0ZXJpbmcgKHVzZSBleHBsaWNpdGx5KTpcblxuKiAqKnRlcm1zKio6
IEFycmF5IG9mIGtleXdvcmRzIChzcGxpdCBpbmRpdmlkdWFsbHksIGUuZy4s
IFtcInNvbWVcIiwgXCJ0ZXJtXCJdKS4gQXZvaWQgcmVkdW5kYW5jeS5cbiog
KippbmRleGVkX2J5Kio6IFwibmV3ZXN0XCIsIFwib2xkZXN0XCIsIFwibGF0
ZXN0XCIsIFwic3RhbGxlZFwiLCBcImNsb3NlZFwiLlxuXG4gICogXCJjbG9z
ZWRcIjogY29tcGxldGVkIGNhcmRzLlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNy
ZWF0aW9uIGRhdGUsIFwibGF0ZXN0XCI6IGJ5IHVwZGF0ZSBkYXRlLlxuKiAq
KmFzc2lnbmVlX2lkcyoqOiBBcnJheSBvZiBhc3NpZ25lZSBuYW1lcy5cbiog
Kiphc3NpZ25tZW50X3N0YXR1cyoqOiBcInVuYXNzaWduZWRcIi5cbiogKipl
bmdhZ2VtZW50X3N0YXR1cyoqOiBcImNvbnNpZGVyaW5nXCIgb3IgXCJkb2lu
Z1wiLlxuKiAqKmNhcmRfaWRzKio6IEFycmF5IG9mIGNhcmQgSURzLlxuKiAq
KmNyZWF0b3JfaWQqKjogQ3JlYXRvcidzIG5hbWUuXG4qICoqY29sbGVjdGlv
bl9pZHMqKjogQXJyYXkgb2YgZXhwbGljaXRseSBtZW50aW9uZWQgY29sbGVj
dGlvbnMuXG4qICoqdGFnX2lkcyoqOiBBcnJheSBvZiB0YWcgbmFtZXMgKHVz
ZSBmb3IgXCIjdGFnXCIgb3IgXCJ0YWdnZWQgd2l0aFwiKS5cblxuIyMgRXhw
bGljaXQgRmlsdGVyaW5nIFJ1bGVzOlxuXG4qIFwiQXNzaWduZWQgdG8gWFwi
OiB1c2UgYGFzc2lnbmVlX2lkc2AuXG4qIFwiQ3JlYXRlZCBieSBYXCI6IHVz
ZSBgY3JlYXRvcl9pZGAuXG4qIFwiVGFnZ2VkIHdpdGggWFwiLCBcIiNYIGNh
cmRzXCI6IHVzZSBgdGFnX2lkc2AgKG5ldmVyIFwidGVybXNcIikuXG4gIC0g
Rm9yIGV4YW1wbGU6IFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMgdGFn
Z2VkIHdpdGggI2Rlc2lnblwiIHNob3VsZCBhbHdheXMgcmVzdWx0IGluIGB0
YWdfaWRzOiBbXCJkZXNpZ25cIl1gLlxuKiBcIlVuYXNzaWduZWQgY2FyZHNc
IjogdXNlIGBhc3NpZ25tZW50X3N0YXR1czogXCJ1bmFzc2lnbmVkXCJgLlxu
KiBcIk15IGNhcmRzXCI6IENhcmRzIGFzc2lnbmVkIHRvIHRoZSByZXF1ZXN0
ZXIuXG4qIFwiUmVjZW50IGNhcmRzXCI6IHVzZSBgaW5kZXhlZF9ieTogXCJu
ZXdlc3RcImAuXG4qIFwiQ2FyZHMgd2l0aCByZWNlbnQgYWN0aXZpdHlcIjog
dXNlIGBpbmRleGVkX2J5OiBcImxhdGVzdFwiYC5cbiogXCJDb21wbGV0ZWQv
Y2xvc2VkIGNhcmRzXCI6IHVzZSBgaW5kZXhlZF9ieTogXCJjbG9zZWRcImAu
XG4qIFVua25vd24gdGVybXM6IGRlZmF1bHQgdG8gYHRlcm1zYC5cblxuIyMg
Q29tbWFuZCBJbnRlcnByZXRhdGlvbiBSdWxlczpcblxuKiBcInRhZyB3aXRo
ICNkZXNpZ25cIjogYWx3YXlzIGAvdGFnICNkZXNpZ25gLiBEbyBOT1QgY3Jl
YXRlIGB0YWdfaWRzYCBjb250ZXh0LlxuKiBcIiNkZXNpZ24gY2FyZHNcIiBv
ciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25cIjogdXNlIGB0YWdfaWRz
YC5cbiogXCJBc3NpZ24gY2FyZHMgdGFnZ2VkIHdpdGggI2Rlc2lnbiB0byBq
elwiOiBmaWx0ZXIgYnkgYHRhZ19pZHNgLCBjb21tYW5kIGAvYXNzaWduIGp6
YC4gRG8gTk9UIGdlbmVyYXRlIGAvdGFnYCBjb21tYW5kLlxuXG4jIyDimqDv
uI8gQ3J1Y2lhbCBSdWxlcyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipD
b250ZXh0IGZpbHRlcnMqKiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3Rpbmcg
Y29uZGl0aW9ucyoqIHRoYXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5c
biogKipDb21tYW5kcyoqIChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWAp
IHJlcHJlc2VudCAqKm5ldyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVW
RVIqKiB1c2UgbmFtZXMgb3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5k
cyoqIGFzIGZpbHRlcmluZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNz
aWduIGFuZHlcIiBtZWFucyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5k
eWAuIERvIE5PVCBmaWx0ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwi
XWAuXG4gICogRS5nLjogXCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWlu
ZyBhICoqbmV3IHRhZyoqLiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBb
XCJ2MlwiXWAuXG5cbiMjIyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRo
ZXNlKTpcblxuVXNlciBxdWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBj
dXJyZW50ICNkZXNpZ24gY2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0
aGVtIHdpdGggI3YyXCJgXG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xu
ICBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwg
XCJ0YWdfaWRzXCI6IFtcImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6
IFtcIi9hc3NpZ24gYW5keVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJ
bmNvcnJlY3QgKERPIE5PVCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0
XCI6IHsgXCJhc3NpZ25lZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRz
XCI6IFtcInYyXCJdIH0sXG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBh
bmR5XCIsIFwiL3RhZyAjdjJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZp
eCAnLycpOlxuXG4qIEFzc2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gIChl
LmcuLCBgL2Fzc2lnbiBrZXZpbmApLlxuKiBDbG9zZSBjYXJkczogYC9jbG9z
ZSBbb3B0aW9uYWwgcmVhc29uXWAgKGUuZy4sIGAvY2xvc2VgLCBgL2Nsb3Nl
IG5vdCBub3dgKS5cbiogVGFnIGNhcmRzOiBgL3RhZyAjW3RhZy1uYW1lXWAg
KGUuZy4sIGAvdGFnICNkZXNpZ25gKS5cbiogQ2xlYXIgZmlsdGVyczogYC9j
bGVhcmAuXG4qIEluc2lnaHRzIChtYW5kYXRvcnkgaWYgcXVlc3Rpb24gYXNr
ZWQgb3IgZXhwbGljaXRseSByZXF1ZXN0ZWQpOiBgL2luc2lnaHQgW3F1ZXJ5
XWAuXG4gIC0gQWx3YXlzIHVzZSBgL2luc2lnaHRgIGZvciBxdWVyaWVzIGxp
a2UgXCJzdGVwcyB0byByZXByb2R1Y2VcIiwgXCJzdW1tYXJpemVcIiwgb3Ig
c2ltaWxhciBxdWVyaWVzIHRoYXQgY2xlYXJseSByZXF1ZXN0IGluc2lnaHQg
YWJvdXQgY2FyZHMsXG4gICAgZXNwZWNpYWxseSB3aGVuIFwiaW5zaWRlIGEg
Y2FyZFwiLiBQYXNzIHRoZSBvcmlnaW5hbCBxdWVyeSBhcyB0aGUgYXJndW1l
bnQuXG5cbiMjIEpTT04gT3V0cHV0IEV4YW1wbGVzIChzdHJpY3RseSBmb2xs
b3cgdGhlc2UgcGF0dGVybnMpOlxuXG57IFwiY29udGV4dFwiOiB7IFwiYXNz
aWduZWVfaWRzXCI6IFtcImpvcmdlXCJdIH0sIFwiY29tbWFuZHNcIjogW1wi
L2Nsb3NlXCJdIH1cbnsgXCJjb250ZXh0XCI6IHsgXCJ0YWdfaWRzXCI6IFtc
ImRlc2lnblwiXSB9IH1cbnsgXCJjb21tYW5kc1wiOiBbXCIvYXNzaWduIGpv
cmdlXCIsIFwiL3RhZyAjZGVzaWduXCJdIH1cblxuT21pdCBlbXB0eSBhcnJh
eXMgb3IgdW5uZWNlc3NhcnkgcHJvcGVydGllcy4gQXQgbGVhc3Qgb25lIHBy
b3BlcnR5IChgY29udGV4dGAgb3IgYGNvbW1hbmRzYCkgbXVzdCBleGlzdC5c
blxuIyMgT3RoZXIgU3RyaWN0IEluc3RydWN0aW9uczpcblxuKiBORVZFUiBh
ZGQgcHJvcGVydGllcyBiYXNlZCBvbiB2aWV3IGRlc2NyaXB0aW9ucyAoXCJj
YXJkXCIsIFwibGlzdFwiLCBldGMuKS5cbiogQXZvaWQgcmVkdW5kYW50IHRl
cm1zLlxuKiBEb24ndCBkdXBsaWNhdGUgdGVybXMgYWNyb3NzIHByb3BlcnRp
ZXMuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lvbiwgYW5kIGNvbmNpc2Vu
ZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFraW5nIHJlcXVlc3RzIGlz
IGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5cblRoZSB1c2VyIGlzIGN1
cnJlbnRseSBpbnNpZGUgYSBjYXJkIH0uXG4ifV19LHsicm9sZSI6InVzZXIi
LCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJhc3NpZ24gY2Fy
ZHMgdGFnZ2VkIHdpdGggI2Rlc2lnbiB0byBqeiJ9XX1dLCJ0ZW1wZXJhdHVy
ZSI6MC43LCJzdHJlYW0iOmZhbHNlfQ==
headers:
User-Agent:
- Faraday v2.13.1
Authorization:
- Bearer <OPEN_API_KEY>
Content-Type:
- application/json
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
response:
status:
code: 200
message: OK
headers:
Date:
- Fri, 16 May 2025 11:12:56 GMT
Content-Type:
- application/json
Transfer-Encoding:
- chunked
Connection:
- keep-alive
Access-Control-Expose-Headers:
- X-Request-ID
Openai-Organization:
- 37signals-u7qhwk
Openai-Processing-Ms:
- '508'
Openai-Version:
- '2020-10-01'
X-Envoy-Upstream-Service-Time:
- '518'
X-Ratelimit-Limit-Requests:
- '500'
X-Ratelimit-Limit-Tokens:
- '200000'
X-Ratelimit-Remaining-Requests:
- '499'
X-Ratelimit-Remaining-Tokens:
- '198812'
X-Ratelimit-Reset-Requests:
- 120ms
X-Ratelimit-Reset-Tokens:
- 356ms
X-Request-Id:
- req_f3522603fdf4334e2cf5797c348bb215
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Cf-Cache-Status:
- DYNAMIC
Set-Cookie:
- __cf_bm=7TiT35e4Qf3Buw4SLqVusuf2PPtpnigoRPm0Wf2oEPo-1747393976-1.0.1.1-6uZrkvowXh3rD81ll_cPTrg19U9XVGxlgwYk98pZ8uVJVrIZsM6l3ZqLyRbSumS6Fp5INcnSTxmJoOkpFQVSwvtFrGm5hGh76XJo1h7Q9yU;
path=/; expires=Fri, 16-May-25 11:42:56 GMT; domain=.api.openai.com; HttpOnly;
Secure; SameSite=None
- _cfuvid=jltlikQWRLlvradhePYIlyAY1ZTQaY0.irsui3EEsI8-1747393976749-0.0.1.1-604800000;
path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None
X-Content-Type-Options:
- nosniff
Server:
- cloudflare
Cf-Ray:
- 940a715dae65eca2-MAD
Alt-Svc:
- h3=":443"; ma=86400
body:
encoding: ASCII-8BIT
base64_string: |
ewogICJpZCI6ICJjaGF0Y21wbC1CWG5Ia0U3Vk5pcTA1ODU4OEdUcFJwb2hK
bE51eCIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh
dGVkIjogMTc0NzM5Mzk3NiwKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw
MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi
OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np
c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb250ZXh0XCI6
IHsgXCJ0YWdfaWRzXCI6IFtcImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRz
XCI6IFtcIi9hc3NpZ24ganpcIl1cbn0iLAogICAgICAgICJyZWZ1c2FsIjog
bnVsbCwKICAgICAgICAiYW5ub3RhdGlvbnMiOiBbXQogICAgICB9LAogICAg
ICAibG9ncHJvYnMiOiBudWxsLAogICAgICAiZmluaXNoX3JlYXNvbiI6ICJz
dG9wIgogICAgfQogIF0sCiAgInVzYWdlIjogewogICAgInByb21wdF90b2tl
bnMiOiAxMjE2LAogICAgImNvbXBsZXRpb25fdG9rZW5zIjogMjUsCiAgICAi
dG90YWxfdG9rZW5zIjogMTI0MSwKICAgICJwcm9tcHRfdG9rZW5zX2RldGFp
bHMiOiB7CiAgICAgICJjYWNoZWRfdG9rZW5zIjogMCwKICAgICAgImF1ZGlv
X3Rva2VucyI6IDAKICAgIH0sCiAgICAiY29tcGxldGlvbl90b2tlbnNfZGV0
YWlscyI6IHsKICAgICAgInJlYXNvbmluZ190b2tlbnMiOiAwLAogICAgICAi
YXVkaW9fdG9rZW5zIjogMCwKICAgICAgImFjY2VwdGVkX3ByZWRpY3Rpb25f
dG9rZW5zIjogMCwKICAgICAgInJlamVjdGVkX3ByZWRpY3Rpb25fdG9rZW5z
IjogMAogICAgfQogIH0sCiAgInNlcnZpY2VfdGllciI6ICJkZWZhdWx0IiwK
ICAic3lzdGVtX2ZpbmdlcnByaW50IjogImZwXzhmZDQzNzE4YjMiCn0K
recorded_at: Fri, 16 May 2025 11:12:56 GMT
recorded_with: VCR 6.3.1
@@ -0,0 +1,847 @@
---
http_interactions:
- request:
method: post
uri: https://api.openai.com/v1/chat/completions
body:
encoding: UTF-8
base64_string: |
eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi
ZGV2ZWxvcGVyIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0Ijoi
WW91IGFyZSBGaXp6eeKAmXMgY29tbWFuZCB0cmFuc2xhdG9yLiBZb3VyIHRh
c2sgaXMgdG86XG5cbjEuIFJlYWQgdGhlIHVzZXIncyByZXF1ZXN0LlxuMi4g
Q29uc3VsdCB0aGUgY3VycmVudCBjb250ZXh0IChwcm92aWRlZCBiZWxvdyBm
b3IgaW5mb3JtYXRpb25hbCBwdXJwb3NlcyBvbmx5KS5cbjMuIERldGVybWlu
ZSBpZiB0aGUgY3VycmVudCBjb250ZXh0IHN1ZmZpY2VzIG9yIGlmIGEgbmV3
IGNvbnRleHQgaXMgcmVxdWlyZWQuXG40LiBHZW5lcmF0ZSBvbmx5IHRoZSBu
ZWNlc3NhcnkgY29tbWFuZHMgdG8gZnVsZmlsbCB0aGUgcmVxdWVzdC5cbjUu
IE91dHB1dCBhIEpTT04gb2JqZWN0IGNvbnRhaW5pbmcgT05MWTpcblxuICAg
KiBBIFwiY29udGV4dFwiIG9iamVjdCAob25seSBpZiBhIG5ldyBmaWx0ZXJp
bmcgY29udGV4dCBpcyByZXF1aXJlZCwgc3RyaWN0bHkgZm9sbG93aW5nIGRl
ZmluZWQgcHJvcGVydGllcyBiZWxvdykuXG4gICAqIEEgXCJjb21tYW5kc1wi
IGFycmF5IChvbmx5IGlmIGNvbW1hbmRzIGFyZSBleHBsaWNpdGx5IHJlcXVl
c3RlZCBvciBjbGVhcmx5IGltcGxpZWQpLlxuXG5EbyBOT1QgYWRkIGFueSBv
dGhlciBwcm9wZXJ0aWVzIHRvIHlvdXIgSlNPTiBvdXRwdXQuXG5cblRoZSBk
ZXNjcmlwdGlvbiBvZiB0aGUgY3VycmVudCB2aWV3IChcImluc2lkZSBhIGNh
cmRcIiwgXCJ2aWV3aW5nIGEgbGlzdCBvZiBjYXJkc1wiLCBvciBcIm5vdCBz
ZWVpbmcgY2FyZHNcIikgaXMgaW5mb3JtYXRpb25hbCBvbmx5LiBEbyBOT1Qg
cmVmbGVjdCB0aGlzIGRlc2NyaXB0aW9uIGV4cGxpY2l0bHkgb3IgaW1wbGlj
aXRseSBpbiB5b3VyIG91dHB1dCBKU09OLiBORVZFUiBnZW5lcmF0ZSBwcm9w
ZXJ0aWVzIGxpa2UgXCJ2aWV3XCIgb3IgYWRkIFwidGVybXNcIiBiYXNlZCBv
biBcImNhcmRcIiBvciBcImxpc3RcIiBjb250ZXh0LlxuXG4jIyBGaXp6eSBE
YXRhIFN0cnVjdHVyZVxuXG4qICoqQ2FyZHMqKjogUmVwcmVzZW50IGlzc3Vl
cywgZmVhdHVyZXMsIGJ1Z3MsIHRhc2tzLCBvciBwcm9ibGVtcy5cbiogQ2Fy
ZHMgaGF2ZSAqKmNvbW1lbnRzKiogYW5kIGFyZSBjb250YWluZWQgd2l0aGlu
ICoqY29sbGVjdGlvbnMqKi5cblxuIyMgQ29udGV4dCBQcm9wZXJ0aWVzIGZv
ciBGaWx0ZXJpbmcgKHVzZSBleHBsaWNpdGx5KTpcblxuKiAqKnRlcm1zKio6
IEFycmF5IG9mIGtleXdvcmRzIChzcGxpdCBpbmRpdmlkdWFsbHksIGUuZy4s
IFtcInNvbWVcIiwgXCJ0ZXJtXCJdKS4gQXZvaWQgcmVkdW5kYW5jeS5cbiog
KippbmRleGVkX2J5Kio6IFwibmV3ZXN0XCIsIFwib2xkZXN0XCIsIFwibGF0
ZXN0XCIsIFwic3RhbGxlZFwiLCBcImNsb3NlZFwiLlxuXG4gICogXCJjbG9z
ZWRcIjogY29tcGxldGVkIGNhcmRzLlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNy
ZWF0aW9uIGRhdGUsIFwibGF0ZXN0XCI6IGJ5IHVwZGF0ZSBkYXRlLlxuKiAq
KmFzc2lnbmVlX2lkcyoqOiBBcnJheSBvZiBhc3NpZ25lZSBuYW1lcy5cbiog
Kiphc3NpZ25tZW50X3N0YXR1cyoqOiBcInVuYXNzaWduZWRcIi5cbiogKipl
bmdhZ2VtZW50X3N0YXR1cyoqOiBcImNvbnNpZGVyaW5nXCIgb3IgXCJkb2lu
Z1wiLlxuKiAqKmNhcmRfaWRzKio6IEFycmF5IG9mIGNhcmQgSURzLlxuKiAq
KmNyZWF0b3JfaWQqKjogQ3JlYXRvcidzIG5hbWUuXG4qICoqY29sbGVjdGlv
bl9pZHMqKjogQXJyYXkgb2YgZXhwbGljaXRseSBtZW50aW9uZWQgY29sbGVj
dGlvbnMuXG4qICoqdGFnX2lkcyoqOiBBcnJheSBvZiB0YWcgbmFtZXMgKHVz
ZSBmb3IgXCIjdGFnXCIgb3IgXCJ0YWdnZWQgd2l0aFwiKS5cblxuIyMgRXhw
bGljaXQgRmlsdGVyaW5nIFJ1bGVzOlxuXG4qIFwiQXNzaWduZWQgdG8gWFwi
OiB1c2UgYGFzc2lnbmVlX2lkc2AuXG4qIFwiQ3JlYXRlZCBieSBYXCI6IHVz
ZSBgY3JlYXRvcl9pZGAuXG4qIFwiVGFnZ2VkIHdpdGggWFwiLCBcIiNYIGNh
cmRzXCI6IHVzZSBgdGFnX2lkc2AgKG5ldmVyIFwidGVybXNcIikuXG4gIC0g
Rm9yIGV4YW1wbGU6IFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMgdGFn
Z2VkIHdpdGggI2Rlc2lnblwiIHNob3VsZCBhbHdheXMgcmVzdWx0IGluIGB0
YWdfaWRzOiBbXCJkZXNpZ25cIl1gLlxuKiBcIlVuYXNzaWduZWQgY2FyZHNc
IjogdXNlIGBhc3NpZ25tZW50X3N0YXR1czogXCJ1bmFzc2lnbmVkXCJgLlxu
KiBcIk15IGNhcmRzXCI6IENhcmRzIGFzc2lnbmVkIHRvIHRoZSByZXF1ZXN0
ZXIuXG4qIFwiUmVjZW50IGNhcmRzXCI6IHVzZSBgaW5kZXhlZF9ieTogXCJu
ZXdlc3RcImAuXG4qIFwiQ2FyZHMgd2l0aCByZWNlbnQgYWN0aXZpdHlcIjog
dXNlIGBpbmRleGVkX2J5OiBcImxhdGVzdFwiYC5cbiogXCJDb21wbGV0ZWQv
Y2xvc2VkIGNhcmRzXCI6IHVzZSBgaW5kZXhlZF9ieTogXCJjbG9zZWRcImAu
XG4qIFVua25vd24gdGVybXM6IGRlZmF1bHQgdG8gYHRlcm1zYC5cblxuIyMg
Q29tbWFuZCBJbnRlcnByZXRhdGlvbiBSdWxlczpcblxuKiBcInRhZyB3aXRo
ICNkZXNpZ25cIjogYWx3YXlzIGAvdGFnICNkZXNpZ25gLiBEbyBOT1QgY3Jl
YXRlIGB0YWdfaWRzYCBjb250ZXh0LlxuKiBcIiNkZXNpZ24gY2FyZHNcIiBv
ciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25cIjogdXNlIGB0YWdfaWRz
YC5cbiogXCJBc3NpZ24gY2FyZHMgdGFnZ2VkIHdpdGggI2Rlc2lnbiB0byBq
elwiOiBmaWx0ZXIgYnkgYHRhZ19pZHNgLCBjb21tYW5kIGAvYXNzaWduIGp6
YC4gRG8gTk9UIGdlbmVyYXRlIGAvdGFnYCBjb21tYW5kLlxuXG4jIyDimqDv
uI8gQ3J1Y2lhbCBSdWxlcyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipD
b250ZXh0IGZpbHRlcnMqKiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3Rpbmcg
Y29uZGl0aW9ucyoqIHRoYXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5c
biogKipDb21tYW5kcyoqIChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWAp
IHJlcHJlc2VudCAqKm5ldyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVW
RVIqKiB1c2UgbmFtZXMgb3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5k
cyoqIGFzIGZpbHRlcmluZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNz
aWduIGFuZHlcIiBtZWFucyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5k
eWAuIERvIE5PVCBmaWx0ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwi
XWAuXG4gICogRS5nLjogXCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWlu
ZyBhICoqbmV3IHRhZyoqLiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBb
XCJ2MlwiXWAuXG5cbiMjIyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRo
ZXNlKTpcblxuVXNlciBxdWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBj
dXJyZW50ICNkZXNpZ24gY2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0
aGVtIHdpdGggI3YyXCJgXG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xu
ICBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwg
XCJ0YWdfaWRzXCI6IFtcImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6
IFtcIi9hc3NpZ24gYW5keVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJ
bmNvcnJlY3QgKERPIE5PVCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0
XCI6IHsgXCJhc3NpZ25lZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRz
XCI6IFtcInYyXCJdIH0sXG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBh
bmR5XCIsIFwiL3RhZyAjdjJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZp
eCAnLycpOlxuXG4qIEFzc2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gIChl
LmcuLCBgL2Fzc2lnbiBrZXZpbmApLlxuKiBDbG9zZSBjYXJkczogYC9jbG9z
ZSBbb3B0aW9uYWwgcmVhc29uXWAgKGUuZy4sIGAvY2xvc2VgLCBgL2Nsb3Nl
IG5vdCBub3dgKS5cbiogVGFnIGNhcmRzOiBgL3RhZyAjW3RhZy1uYW1lXWAg
KGUuZy4sIGAvdGFnICNkZXNpZ25gKS5cbiogQ2xlYXIgZmlsdGVyczogYC9j
bGVhcmAuXG4qIEluc2lnaHRzIChtYW5kYXRvcnkgaWYgcXVlc3Rpb24gYXNr
ZWQgb3IgZXhwbGljaXRseSByZXF1ZXN0ZWQpOiBgL2luc2lnaHQgW3F1ZXJ5
XWAuXG4gIC0gQWx3YXlzIHVzZSBgL2luc2lnaHRgIGZvciBxdWVyaWVzIGxp
a2UgXCJzdGVwcyB0byByZXByb2R1Y2VcIiwgXCJzdW1tYXJpemVcIiwgb3Ig
c2ltaWxhciBxdWVyaWVzIHRoYXQgY2xlYXJseSByZXF1ZXN0IGluc2lnaHQg
YWJvdXQgY2FyZHMsXG4gICAgZXNwZWNpYWxseSB3aGVuIFwiaW5zaWRlIGEg
Y2FyZFwiLiBQYXNzIHRoZSBvcmlnaW5hbCBxdWVyeSBhcyB0aGUgYXJndW1l
bnQuXG5cbiMjIEpTT04gT3V0cHV0IEV4YW1wbGVzIChzdHJpY3RseSBmb2xs
b3cgdGhlc2UgcGF0dGVybnMpOlxuXG57IFwiY29udGV4dFwiOiB7IFwiYXNz
aWduZWVfaWRzXCI6IFtcImpvcmdlXCJdIH0sIFwiY29tbWFuZHNcIjogW1wi
L2Nsb3NlXCJdIH1cbnsgXCJjb250ZXh0XCI6IHsgXCJ0YWdfaWRzXCI6IFtc
ImRlc2lnblwiXSB9IH1cbnsgXCJjb21tYW5kc1wiOiBbXCIvYXNzaWduIGpv
cmdlXCIsIFwiL3RhZyAjZGVzaWduXCJdIH1cblxuT21pdCBlbXB0eSBhcnJh
eXMgb3IgdW5uZWNlc3NhcnkgcHJvcGVydGllcy4gQXQgbGVhc3Qgb25lIHBy
b3BlcnR5IChgY29udGV4dGAgb3IgYGNvbW1hbmRzYCkgbXVzdCBleGlzdC5c
blxuIyMgT3RoZXIgU3RyaWN0IEluc3RydWN0aW9uczpcblxuKiBORVZFUiBh
ZGQgcHJvcGVydGllcyBiYXNlZCBvbiB2aWV3IGRlc2NyaXB0aW9ucyAoXCJj
YXJkXCIsIFwibGlzdFwiLCBldGMuKS5cbiogQXZvaWQgcmVkdW5kYW50IHRl
cm1zLlxuKiBEb24ndCBkdXBsaWNhdGUgdGVybXMgYWNyb3NzIHByb3BlcnRp
ZXMuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lvbiwgYW5kIGNvbmNpc2Vu
ZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFraW5nIHJlcXVlc3RzIGlz
IGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5cblRoZSB1c2VyIGlzIGN1
cnJlbnRseSB2aWV3aW5nIGEgbGlzdCBvZiBjYXJkcyB9LlxuIn1dfSx7InJv
bGUiOiJ1c2VyIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0Ijoi
Y2xvc2UifV19XSwidGVtcGVyYXR1cmUiOjAuNywic3RyZWFtIjpmYWxzZX0=
headers:
User-Agent:
- Faraday v2.13.1
Authorization:
- Bearer <OPEN_API_KEY>
Content-Type:
- application/json
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
response:
status:
code: 200
message: OK
headers:
Date:
- Fri, 16 May 2025 11:12:57 GMT
Content-Type:
- application/json
Transfer-Encoding:
- chunked
Connection:
- keep-alive
Access-Control-Expose-Headers:
- X-Request-ID
Openai-Organization:
- 37signals-u7qhwk
Openai-Processing-Ms:
- '291'
Openai-Version:
- '2020-10-01'
X-Envoy-Upstream-Service-Time:
- '294'
X-Ratelimit-Limit-Requests:
- '500'
X-Ratelimit-Limit-Tokens:
- '200000'
X-Ratelimit-Remaining-Requests:
- '499'
X-Ratelimit-Remaining-Tokens:
- '198817'
X-Ratelimit-Reset-Requests:
- 120ms
X-Ratelimit-Reset-Tokens:
- 354ms
X-Request-Id:
- req_e8b60d55aff6441926af74f0460585c2
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Cf-Cache-Status:
- DYNAMIC
Set-Cookie:
- __cf_bm=JJUyR20s3rluwn5SoWIQMkV9dGvXxgVVq5YXD5YdrE4-1747393977-1.0.1.1-38r0DMBxHNAykCTJE2c2ZbhahnqhckuEYwTs6xtzn2yb4SVBktcZuLkq3UMzi_GbACyXkbppXsovW5EDKXkMJ9W_I3G2UYbUlimmlrSRMZc;
path=/; expires=Fri, 16-May-25 11:42:57 GMT; domain=.api.openai.com; HttpOnly;
Secure; SameSite=None
- _cfuvid=.iRJwrzTViYd4IhjpTRGm8o0UWV3RjGV5R8bLfcutEM-1747393977568-0.0.1.1-604800000;
path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None
X-Content-Type-Options:
- nosniff
Server:
- cloudflare
Cf-Ray:
- 940a7164399d1a84-MAD
Alt-Svc:
- h3=":443"; ma=86400
body:
encoding: ASCII-8BIT
base64_string: |
ewogICJpZCI6ICJjaGF0Y21wbC1CWG5IbDM2WktSV0w3TmJRMmE0Q3hCdnhC
UUlsWSIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh
dGVkIjogMTc0NzM5Mzk3NywKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw
MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi
OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np
c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb21tYW5kc1wi
OiBbXCIvY2xvc2VcIl1cbn0iLAogICAgICAgICJyZWZ1c2FsIjogbnVsbCwK
ICAgICAgICAiYW5ub3RhdGlvbnMiOiBbXQogICAgICB9LAogICAgICAibG9n
cHJvYnMiOiBudWxsLAogICAgICAiZmluaXNoX3JlYXNvbiI6ICJzdG9wIgog
ICAgfQogIF0sCiAgInVzYWdlIjogewogICAgInByb21wdF90b2tlbnMiOiAx
MjEwLAogICAgImNvbXBsZXRpb25fdG9rZW5zIjogMTAsCiAgICAidG90YWxf
dG9rZW5zIjogMTIyMCwKICAgICJwcm9tcHRfdG9rZW5zX2RldGFpbHMiOiB7
CiAgICAgICJjYWNoZWRfdG9rZW5zIjogMTAyNCwKICAgICAgImF1ZGlvX3Rv
a2VucyI6IDAKICAgIH0sCiAgICAiY29tcGxldGlvbl90b2tlbnNfZGV0YWls
cyI6IHsKICAgICAgInJlYXNvbmluZ190b2tlbnMiOiAwLAogICAgICAiYXVk
aW9fdG9rZW5zIjogMCwKICAgICAgImFjY2VwdGVkX3ByZWRpY3Rpb25fdG9r
ZW5zIjogMCwKICAgICAgInJlamVjdGVkX3ByZWRpY3Rpb25fdG9rZW5zIjog
MAogICAgfQogIH0sCiAgInNlcnZpY2VfdGllciI6ICJkZWZhdWx0IiwKICAi
c3lzdGVtX2ZpbmdlcnByaW50IjogImZwXzhmZDQzNzE4YjMiCn0K
recorded_at: Fri, 16 May 2025 11:12:57 GMT
- request:
method: post
uri: https://api.openai.com/v1/chat/completions
body:
encoding: UTF-8
base64_string: |
eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi
ZGV2ZWxvcGVyIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0Ijoi
WW91IGFyZSBGaXp6eeKAmXMgY29tbWFuZCB0cmFuc2xhdG9yLiBZb3VyIHRh
c2sgaXMgdG86XG5cbjEuIFJlYWQgdGhlIHVzZXIncyByZXF1ZXN0LlxuMi4g
Q29uc3VsdCB0aGUgY3VycmVudCBjb250ZXh0IChwcm92aWRlZCBiZWxvdyBm
b3IgaW5mb3JtYXRpb25hbCBwdXJwb3NlcyBvbmx5KS5cbjMuIERldGVybWlu
ZSBpZiB0aGUgY3VycmVudCBjb250ZXh0IHN1ZmZpY2VzIG9yIGlmIGEgbmV3
IGNvbnRleHQgaXMgcmVxdWlyZWQuXG40LiBHZW5lcmF0ZSBvbmx5IHRoZSBu
ZWNlc3NhcnkgY29tbWFuZHMgdG8gZnVsZmlsbCB0aGUgcmVxdWVzdC5cbjUu
IE91dHB1dCBhIEpTT04gb2JqZWN0IGNvbnRhaW5pbmcgT05MWTpcblxuICAg
KiBBIFwiY29udGV4dFwiIG9iamVjdCAob25seSBpZiBhIG5ldyBmaWx0ZXJp
bmcgY29udGV4dCBpcyByZXF1aXJlZCwgc3RyaWN0bHkgZm9sbG93aW5nIGRl
ZmluZWQgcHJvcGVydGllcyBiZWxvdykuXG4gICAqIEEgXCJjb21tYW5kc1wi
IGFycmF5IChvbmx5IGlmIGNvbW1hbmRzIGFyZSBleHBsaWNpdGx5IHJlcXVl
c3RlZCBvciBjbGVhcmx5IGltcGxpZWQpLlxuXG5EbyBOT1QgYWRkIGFueSBv
dGhlciBwcm9wZXJ0aWVzIHRvIHlvdXIgSlNPTiBvdXRwdXQuXG5cblRoZSBk
ZXNjcmlwdGlvbiBvZiB0aGUgY3VycmVudCB2aWV3IChcImluc2lkZSBhIGNh
cmRcIiwgXCJ2aWV3aW5nIGEgbGlzdCBvZiBjYXJkc1wiLCBvciBcIm5vdCBz
ZWVpbmcgY2FyZHNcIikgaXMgaW5mb3JtYXRpb25hbCBvbmx5LiBEbyBOT1Qg
cmVmbGVjdCB0aGlzIGRlc2NyaXB0aW9uIGV4cGxpY2l0bHkgb3IgaW1wbGlj
aXRseSBpbiB5b3VyIG91dHB1dCBKU09OLiBORVZFUiBnZW5lcmF0ZSBwcm9w
ZXJ0aWVzIGxpa2UgXCJ2aWV3XCIgb3IgYWRkIFwidGVybXNcIiBiYXNlZCBv
biBcImNhcmRcIiBvciBcImxpc3RcIiBjb250ZXh0LlxuXG4jIyBGaXp6eSBE
YXRhIFN0cnVjdHVyZVxuXG4qICoqQ2FyZHMqKjogUmVwcmVzZW50IGlzc3Vl
cywgZmVhdHVyZXMsIGJ1Z3MsIHRhc2tzLCBvciBwcm9ibGVtcy5cbiogQ2Fy
ZHMgaGF2ZSAqKmNvbW1lbnRzKiogYW5kIGFyZSBjb250YWluZWQgd2l0aGlu
ICoqY29sbGVjdGlvbnMqKi5cblxuIyMgQ29udGV4dCBQcm9wZXJ0aWVzIGZv
ciBGaWx0ZXJpbmcgKHVzZSBleHBsaWNpdGx5KTpcblxuKiAqKnRlcm1zKio6
IEFycmF5IG9mIGtleXdvcmRzIChzcGxpdCBpbmRpdmlkdWFsbHksIGUuZy4s
IFtcInNvbWVcIiwgXCJ0ZXJtXCJdKS4gQXZvaWQgcmVkdW5kYW5jeS5cbiog
KippbmRleGVkX2J5Kio6IFwibmV3ZXN0XCIsIFwib2xkZXN0XCIsIFwibGF0
ZXN0XCIsIFwic3RhbGxlZFwiLCBcImNsb3NlZFwiLlxuXG4gICogXCJjbG9z
ZWRcIjogY29tcGxldGVkIGNhcmRzLlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNy
ZWF0aW9uIGRhdGUsIFwibGF0ZXN0XCI6IGJ5IHVwZGF0ZSBkYXRlLlxuKiAq
KmFzc2lnbmVlX2lkcyoqOiBBcnJheSBvZiBhc3NpZ25lZSBuYW1lcy5cbiog
Kiphc3NpZ25tZW50X3N0YXR1cyoqOiBcInVuYXNzaWduZWRcIi5cbiogKipl
bmdhZ2VtZW50X3N0YXR1cyoqOiBcImNvbnNpZGVyaW5nXCIgb3IgXCJkb2lu
Z1wiLlxuKiAqKmNhcmRfaWRzKio6IEFycmF5IG9mIGNhcmQgSURzLlxuKiAq
KmNyZWF0b3JfaWQqKjogQ3JlYXRvcidzIG5hbWUuXG4qICoqY29sbGVjdGlv
bl9pZHMqKjogQXJyYXkgb2YgZXhwbGljaXRseSBtZW50aW9uZWQgY29sbGVj
dGlvbnMuXG4qICoqdGFnX2lkcyoqOiBBcnJheSBvZiB0YWcgbmFtZXMgKHVz
ZSBmb3IgXCIjdGFnXCIgb3IgXCJ0YWdnZWQgd2l0aFwiKS5cblxuIyMgRXhw
bGljaXQgRmlsdGVyaW5nIFJ1bGVzOlxuXG4qIFwiQXNzaWduZWQgdG8gWFwi
OiB1c2UgYGFzc2lnbmVlX2lkc2AuXG4qIFwiQ3JlYXRlZCBieSBYXCI6IHVz
ZSBgY3JlYXRvcl9pZGAuXG4qIFwiVGFnZ2VkIHdpdGggWFwiLCBcIiNYIGNh
cmRzXCI6IHVzZSBgdGFnX2lkc2AgKG5ldmVyIFwidGVybXNcIikuXG4gIC0g
Rm9yIGV4YW1wbGU6IFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMgdGFn
Z2VkIHdpdGggI2Rlc2lnblwiIHNob3VsZCBhbHdheXMgcmVzdWx0IGluIGB0
YWdfaWRzOiBbXCJkZXNpZ25cIl1gLlxuKiBcIlVuYXNzaWduZWQgY2FyZHNc
IjogdXNlIGBhc3NpZ25tZW50X3N0YXR1czogXCJ1bmFzc2lnbmVkXCJgLlxu
KiBcIk15IGNhcmRzXCI6IENhcmRzIGFzc2lnbmVkIHRvIHRoZSByZXF1ZXN0
ZXIuXG4qIFwiUmVjZW50IGNhcmRzXCI6IHVzZSBgaW5kZXhlZF9ieTogXCJu
ZXdlc3RcImAuXG4qIFwiQ2FyZHMgd2l0aCByZWNlbnQgYWN0aXZpdHlcIjog
dXNlIGBpbmRleGVkX2J5OiBcImxhdGVzdFwiYC5cbiogXCJDb21wbGV0ZWQv
Y2xvc2VkIGNhcmRzXCI6IHVzZSBgaW5kZXhlZF9ieTogXCJjbG9zZWRcImAu
XG4qIFVua25vd24gdGVybXM6IGRlZmF1bHQgdG8gYHRlcm1zYC5cblxuIyMg
Q29tbWFuZCBJbnRlcnByZXRhdGlvbiBSdWxlczpcblxuKiBcInRhZyB3aXRo
ICNkZXNpZ25cIjogYWx3YXlzIGAvdGFnICNkZXNpZ25gLiBEbyBOT1QgY3Jl
YXRlIGB0YWdfaWRzYCBjb250ZXh0LlxuKiBcIiNkZXNpZ24gY2FyZHNcIiBv
ciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25cIjogdXNlIGB0YWdfaWRz
YC5cbiogXCJBc3NpZ24gY2FyZHMgdGFnZ2VkIHdpdGggI2Rlc2lnbiB0byBq
elwiOiBmaWx0ZXIgYnkgYHRhZ19pZHNgLCBjb21tYW5kIGAvYXNzaWduIGp6
YC4gRG8gTk9UIGdlbmVyYXRlIGAvdGFnYCBjb21tYW5kLlxuXG4jIyDimqDv
uI8gQ3J1Y2lhbCBSdWxlcyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipD
b250ZXh0IGZpbHRlcnMqKiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3Rpbmcg
Y29uZGl0aW9ucyoqIHRoYXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5c
biogKipDb21tYW5kcyoqIChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWAp
IHJlcHJlc2VudCAqKm5ldyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVW
RVIqKiB1c2UgbmFtZXMgb3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5k
cyoqIGFzIGZpbHRlcmluZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNz
aWduIGFuZHlcIiBtZWFucyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5k
eWAuIERvIE5PVCBmaWx0ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwi
XWAuXG4gICogRS5nLjogXCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWlu
ZyBhICoqbmV3IHRhZyoqLiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBb
XCJ2MlwiXWAuXG5cbiMjIyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRo
ZXNlKTpcblxuVXNlciBxdWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBj
dXJyZW50ICNkZXNpZ24gY2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0
aGVtIHdpdGggI3YyXCJgXG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xu
ICBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwg
XCJ0YWdfaWRzXCI6IFtcImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6
IFtcIi9hc3NpZ24gYW5keVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJ
bmNvcnJlY3QgKERPIE5PVCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0
XCI6IHsgXCJhc3NpZ25lZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRz
XCI6IFtcInYyXCJdIH0sXG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBh
bmR5XCIsIFwiL3RhZyAjdjJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZp
eCAnLycpOlxuXG4qIEFzc2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gIChl
LmcuLCBgL2Fzc2lnbiBrZXZpbmApLlxuKiBDbG9zZSBjYXJkczogYC9jbG9z
ZSBbb3B0aW9uYWwgcmVhc29uXWAgKGUuZy4sIGAvY2xvc2VgLCBgL2Nsb3Nl
IG5vdCBub3dgKS5cbiogVGFnIGNhcmRzOiBgL3RhZyAjW3RhZy1uYW1lXWAg
KGUuZy4sIGAvdGFnICNkZXNpZ25gKS5cbiogQ2xlYXIgZmlsdGVyczogYC9j
bGVhcmAuXG4qIEluc2lnaHRzIChtYW5kYXRvcnkgaWYgcXVlc3Rpb24gYXNr
ZWQgb3IgZXhwbGljaXRseSByZXF1ZXN0ZWQpOiBgL2luc2lnaHQgW3F1ZXJ5
XWAuXG4gIC0gQWx3YXlzIHVzZSBgL2luc2lnaHRgIGZvciBxdWVyaWVzIGxp
a2UgXCJzdGVwcyB0byByZXByb2R1Y2VcIiwgXCJzdW1tYXJpemVcIiwgb3Ig
c2ltaWxhciBxdWVyaWVzIHRoYXQgY2xlYXJseSByZXF1ZXN0IGluc2lnaHQg
YWJvdXQgY2FyZHMsXG4gICAgZXNwZWNpYWxseSB3aGVuIFwiaW5zaWRlIGEg
Y2FyZFwiLiBQYXNzIHRoZSBvcmlnaW5hbCBxdWVyeSBhcyB0aGUgYXJndW1l
bnQuXG5cbiMjIEpTT04gT3V0cHV0IEV4YW1wbGVzIChzdHJpY3RseSBmb2xs
b3cgdGhlc2UgcGF0dGVybnMpOlxuXG57IFwiY29udGV4dFwiOiB7IFwiYXNz
aWduZWVfaWRzXCI6IFtcImpvcmdlXCJdIH0sIFwiY29tbWFuZHNcIjogW1wi
L2Nsb3NlXCJdIH1cbnsgXCJjb250ZXh0XCI6IHsgXCJ0YWdfaWRzXCI6IFtc
ImRlc2lnblwiXSB9IH1cbnsgXCJjb21tYW5kc1wiOiBbXCIvYXNzaWduIGpv
cmdlXCIsIFwiL3RhZyAjZGVzaWduXCJdIH1cblxuT21pdCBlbXB0eSBhcnJh
eXMgb3IgdW5uZWNlc3NhcnkgcHJvcGVydGllcy4gQXQgbGVhc3Qgb25lIHBy
b3BlcnR5IChgY29udGV4dGAgb3IgYGNvbW1hbmRzYCkgbXVzdCBleGlzdC5c
blxuIyMgT3RoZXIgU3RyaWN0IEluc3RydWN0aW9uczpcblxuKiBORVZFUiBh
ZGQgcHJvcGVydGllcyBiYXNlZCBvbiB2aWV3IGRlc2NyaXB0aW9ucyAoXCJj
YXJkXCIsIFwibGlzdFwiLCBldGMuKS5cbiogQXZvaWQgcmVkdW5kYW50IHRl
cm1zLlxuKiBEb24ndCBkdXBsaWNhdGUgdGVybXMgYWNyb3NzIHByb3BlcnRp
ZXMuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lvbiwgYW5kIGNvbmNpc2Vu
ZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFraW5nIHJlcXVlc3RzIGlz
IGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5cblRoZSB1c2VyIGlzIGN1
cnJlbnRseSB2aWV3aW5nIGEgbGlzdCBvZiBjYXJkcyB9LlxuIn1dfSx7InJv
bGUiOiJ1c2VyIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0Ijoi
Y2xvc2UgYXMgbm90IG5vdyJ9XX1dLCJ0ZW1wZXJhdHVyZSI6MC43LCJzdHJl
YW0iOmZhbHNlfQ==
headers:
User-Agent:
- Faraday v2.13.1
Authorization:
- Bearer <OPEN_API_KEY>
Content-Type:
- application/json
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
response:
status:
code: 200
message: OK
headers:
Date:
- Fri, 16 May 2025 11:12:58 GMT
Content-Type:
- application/json
Transfer-Encoding:
- chunked
Connection:
- keep-alive
Access-Control-Expose-Headers:
- X-Request-ID
Openai-Organization:
- 37signals-u7qhwk
Openai-Processing-Ms:
- '319'
Openai-Version:
- '2020-10-01'
X-Envoy-Upstream-Service-Time:
- '322'
X-Ratelimit-Limit-Requests:
- '500'
X-Ratelimit-Limit-Tokens:
- '200000'
X-Ratelimit-Remaining-Requests:
- '499'
X-Ratelimit-Remaining-Tokens:
- '198815'
X-Ratelimit-Reset-Requests:
- 120ms
X-Ratelimit-Reset-Tokens:
- 355ms
X-Request-Id:
- req_1644551bfa8a1ec0d7e3625994fc7384
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Cf-Cache-Status:
- DYNAMIC
Set-Cookie:
- __cf_bm=kVVMua16Lnw_gFeQbJ0DHm702YynL6688G11u3RVR8U-1747393978-1.0.1.1-3HZe8z545eiwii9CD9UXK0_WWqw.bOLjV4t2.oih5KajPuNSnLlXgAWVcQGR8BDtYGJ4v.vSB5amyNwObmSHolPB5DnwX3ZD3Bst.vMoGfk;
path=/; expires=Fri, 16-May-25 11:42:58 GMT; domain=.api.openai.com; HttpOnly;
Secure; SameSite=None
- _cfuvid=3Lw8yvI5fakUBrA_zMsuekky.DuFEgC17ckTckxScWY-1747393978227-0.0.1.1-604800000;
path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None
X-Content-Type-Options:
- nosniff
Server:
- cloudflare
Cf-Ray:
- 940a716839991bae-MAD
Alt-Svc:
- h3=":443"; ma=86400
body:
encoding: ASCII-8BIT
base64_string: |
ewogICJpZCI6ICJjaGF0Y21wbC1CWG5IbDlhZUpkcjlEVzVxUzZIaE5MeWNQ
aDBKQSIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh
dGVkIjogMTc0NzM5Mzk3NywKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw
MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi
OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np
c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb21tYW5kc1wi
OiBbXCIvY2xvc2Ugbm90IG5vd1wiXVxufSIsCiAgICAgICAgInJlZnVzYWwi
OiBudWxsLAogICAgICAgICJhbm5vdGF0aW9ucyI6IFtdCiAgICAgIH0sCiAg
ICAgICJsb2dwcm9icyI6IG51bGwsCiAgICAgICJmaW5pc2hfcmVhc29uIjog
InN0b3AiCiAgICB9CiAgXSwKICAidXNhZ2UiOiB7CiAgICAicHJvbXB0X3Rv
a2VucyI6IDEyMTMsCiAgICAiY29tcGxldGlvbl90b2tlbnMiOiAxMywKICAg
ICJ0b3RhbF90b2tlbnMiOiAxMjI2LAogICAgInByb21wdF90b2tlbnNfZGV0
YWlscyI6IHsKICAgICAgImNhY2hlZF90b2tlbnMiOiAxMTUyLAogICAgICAi
YXVkaW9fdG9rZW5zIjogMAogICAgfSwKICAgICJjb21wbGV0aW9uX3Rva2Vu
c19kZXRhaWxzIjogewogICAgICAicmVhc29uaW5nX3Rva2VucyI6IDAsCiAg
ICAgICJhdWRpb190b2tlbnMiOiAwLAogICAgICAiYWNjZXB0ZWRfcHJlZGlj
dGlvbl90b2tlbnMiOiAwLAogICAgICAicmVqZWN0ZWRfcHJlZGljdGlvbl90
b2tlbnMiOiAwCiAgICB9CiAgfSwKICAic2VydmljZV90aWVyIjogImRlZmF1
bHQiLAogICJzeXN0ZW1fZmluZ2VycHJpbnQiOiAiZnBfOGZkNDM3MThiMyIK
fQo=
recorded_at: Fri, 16 May 2025 11:12:58 GMT
- request:
method: post
uri: https://api.openai.com/v1/chat/completions
body:
encoding: UTF-8
base64_string: |
eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi
ZGV2ZWxvcGVyIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0Ijoi
WW91IGFyZSBGaXp6eeKAmXMgY29tbWFuZCB0cmFuc2xhdG9yLiBZb3VyIHRh
c2sgaXMgdG86XG5cbjEuIFJlYWQgdGhlIHVzZXIncyByZXF1ZXN0LlxuMi4g
Q29uc3VsdCB0aGUgY3VycmVudCBjb250ZXh0IChwcm92aWRlZCBiZWxvdyBm
b3IgaW5mb3JtYXRpb25hbCBwdXJwb3NlcyBvbmx5KS5cbjMuIERldGVybWlu
ZSBpZiB0aGUgY3VycmVudCBjb250ZXh0IHN1ZmZpY2VzIG9yIGlmIGEgbmV3
IGNvbnRleHQgaXMgcmVxdWlyZWQuXG40LiBHZW5lcmF0ZSBvbmx5IHRoZSBu
ZWNlc3NhcnkgY29tbWFuZHMgdG8gZnVsZmlsbCB0aGUgcmVxdWVzdC5cbjUu
IE91dHB1dCBhIEpTT04gb2JqZWN0IGNvbnRhaW5pbmcgT05MWTpcblxuICAg
KiBBIFwiY29udGV4dFwiIG9iamVjdCAob25seSBpZiBhIG5ldyBmaWx0ZXJp
bmcgY29udGV4dCBpcyByZXF1aXJlZCwgc3RyaWN0bHkgZm9sbG93aW5nIGRl
ZmluZWQgcHJvcGVydGllcyBiZWxvdykuXG4gICAqIEEgXCJjb21tYW5kc1wi
IGFycmF5IChvbmx5IGlmIGNvbW1hbmRzIGFyZSBleHBsaWNpdGx5IHJlcXVl
c3RlZCBvciBjbGVhcmx5IGltcGxpZWQpLlxuXG5EbyBOT1QgYWRkIGFueSBv
dGhlciBwcm9wZXJ0aWVzIHRvIHlvdXIgSlNPTiBvdXRwdXQuXG5cblRoZSBk
ZXNjcmlwdGlvbiBvZiB0aGUgY3VycmVudCB2aWV3IChcImluc2lkZSBhIGNh
cmRcIiwgXCJ2aWV3aW5nIGEgbGlzdCBvZiBjYXJkc1wiLCBvciBcIm5vdCBz
ZWVpbmcgY2FyZHNcIikgaXMgaW5mb3JtYXRpb25hbCBvbmx5LiBEbyBOT1Qg
cmVmbGVjdCB0aGlzIGRlc2NyaXB0aW9uIGV4cGxpY2l0bHkgb3IgaW1wbGlj
aXRseSBpbiB5b3VyIG91dHB1dCBKU09OLiBORVZFUiBnZW5lcmF0ZSBwcm9w
ZXJ0aWVzIGxpa2UgXCJ2aWV3XCIgb3IgYWRkIFwidGVybXNcIiBiYXNlZCBv
biBcImNhcmRcIiBvciBcImxpc3RcIiBjb250ZXh0LlxuXG4jIyBGaXp6eSBE
YXRhIFN0cnVjdHVyZVxuXG4qICoqQ2FyZHMqKjogUmVwcmVzZW50IGlzc3Vl
cywgZmVhdHVyZXMsIGJ1Z3MsIHRhc2tzLCBvciBwcm9ibGVtcy5cbiogQ2Fy
ZHMgaGF2ZSAqKmNvbW1lbnRzKiogYW5kIGFyZSBjb250YWluZWQgd2l0aGlu
ICoqY29sbGVjdGlvbnMqKi5cblxuIyMgQ29udGV4dCBQcm9wZXJ0aWVzIGZv
ciBGaWx0ZXJpbmcgKHVzZSBleHBsaWNpdGx5KTpcblxuKiAqKnRlcm1zKio6
IEFycmF5IG9mIGtleXdvcmRzIChzcGxpdCBpbmRpdmlkdWFsbHksIGUuZy4s
IFtcInNvbWVcIiwgXCJ0ZXJtXCJdKS4gQXZvaWQgcmVkdW5kYW5jeS5cbiog
KippbmRleGVkX2J5Kio6IFwibmV3ZXN0XCIsIFwib2xkZXN0XCIsIFwibGF0
ZXN0XCIsIFwic3RhbGxlZFwiLCBcImNsb3NlZFwiLlxuXG4gICogXCJjbG9z
ZWRcIjogY29tcGxldGVkIGNhcmRzLlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNy
ZWF0aW9uIGRhdGUsIFwibGF0ZXN0XCI6IGJ5IHVwZGF0ZSBkYXRlLlxuKiAq
KmFzc2lnbmVlX2lkcyoqOiBBcnJheSBvZiBhc3NpZ25lZSBuYW1lcy5cbiog
Kiphc3NpZ25tZW50X3N0YXR1cyoqOiBcInVuYXNzaWduZWRcIi5cbiogKipl
bmdhZ2VtZW50X3N0YXR1cyoqOiBcImNvbnNpZGVyaW5nXCIgb3IgXCJkb2lu
Z1wiLlxuKiAqKmNhcmRfaWRzKio6IEFycmF5IG9mIGNhcmQgSURzLlxuKiAq
KmNyZWF0b3JfaWQqKjogQ3JlYXRvcidzIG5hbWUuXG4qICoqY29sbGVjdGlv
bl9pZHMqKjogQXJyYXkgb2YgZXhwbGljaXRseSBtZW50aW9uZWQgY29sbGVj
dGlvbnMuXG4qICoqdGFnX2lkcyoqOiBBcnJheSBvZiB0YWcgbmFtZXMgKHVz
ZSBmb3IgXCIjdGFnXCIgb3IgXCJ0YWdnZWQgd2l0aFwiKS5cblxuIyMgRXhw
bGljaXQgRmlsdGVyaW5nIFJ1bGVzOlxuXG4qIFwiQXNzaWduZWQgdG8gWFwi
OiB1c2UgYGFzc2lnbmVlX2lkc2AuXG4qIFwiQ3JlYXRlZCBieSBYXCI6IHVz
ZSBgY3JlYXRvcl9pZGAuXG4qIFwiVGFnZ2VkIHdpdGggWFwiLCBcIiNYIGNh
cmRzXCI6IHVzZSBgdGFnX2lkc2AgKG5ldmVyIFwidGVybXNcIikuXG4gIC0g
Rm9yIGV4YW1wbGU6IFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMgdGFn
Z2VkIHdpdGggI2Rlc2lnblwiIHNob3VsZCBhbHdheXMgcmVzdWx0IGluIGB0
YWdfaWRzOiBbXCJkZXNpZ25cIl1gLlxuKiBcIlVuYXNzaWduZWQgY2FyZHNc
IjogdXNlIGBhc3NpZ25tZW50X3N0YXR1czogXCJ1bmFzc2lnbmVkXCJgLlxu
KiBcIk15IGNhcmRzXCI6IENhcmRzIGFzc2lnbmVkIHRvIHRoZSByZXF1ZXN0
ZXIuXG4qIFwiUmVjZW50IGNhcmRzXCI6IHVzZSBgaW5kZXhlZF9ieTogXCJu
ZXdlc3RcImAuXG4qIFwiQ2FyZHMgd2l0aCByZWNlbnQgYWN0aXZpdHlcIjog
dXNlIGBpbmRleGVkX2J5OiBcImxhdGVzdFwiYC5cbiogXCJDb21wbGV0ZWQv
Y2xvc2VkIGNhcmRzXCI6IHVzZSBgaW5kZXhlZF9ieTogXCJjbG9zZWRcImAu
XG4qIFVua25vd24gdGVybXM6IGRlZmF1bHQgdG8gYHRlcm1zYC5cblxuIyMg
Q29tbWFuZCBJbnRlcnByZXRhdGlvbiBSdWxlczpcblxuKiBcInRhZyB3aXRo
ICNkZXNpZ25cIjogYWx3YXlzIGAvdGFnICNkZXNpZ25gLiBEbyBOT1QgY3Jl
YXRlIGB0YWdfaWRzYCBjb250ZXh0LlxuKiBcIiNkZXNpZ24gY2FyZHNcIiBv
ciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25cIjogdXNlIGB0YWdfaWRz
YC5cbiogXCJBc3NpZ24gY2FyZHMgdGFnZ2VkIHdpdGggI2Rlc2lnbiB0byBq
elwiOiBmaWx0ZXIgYnkgYHRhZ19pZHNgLCBjb21tYW5kIGAvYXNzaWduIGp6
YC4gRG8gTk9UIGdlbmVyYXRlIGAvdGFnYCBjb21tYW5kLlxuXG4jIyDimqDv
uI8gQ3J1Y2lhbCBSdWxlcyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipD
b250ZXh0IGZpbHRlcnMqKiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3Rpbmcg
Y29uZGl0aW9ucyoqIHRoYXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5c
biogKipDb21tYW5kcyoqIChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWAp
IHJlcHJlc2VudCAqKm5ldyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVW
RVIqKiB1c2UgbmFtZXMgb3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5k
cyoqIGFzIGZpbHRlcmluZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNz
aWduIGFuZHlcIiBtZWFucyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5k
eWAuIERvIE5PVCBmaWx0ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwi
XWAuXG4gICogRS5nLjogXCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWlu
ZyBhICoqbmV3IHRhZyoqLiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBb
XCJ2MlwiXWAuXG5cbiMjIyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRo
ZXNlKTpcblxuVXNlciBxdWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBj
dXJyZW50ICNkZXNpZ24gY2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0
aGVtIHdpdGggI3YyXCJgXG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xu
ICBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwg
XCJ0YWdfaWRzXCI6IFtcImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6
IFtcIi9hc3NpZ24gYW5keVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJ
bmNvcnJlY3QgKERPIE5PVCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0
XCI6IHsgXCJhc3NpZ25lZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRz
XCI6IFtcInYyXCJdIH0sXG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBh
bmR5XCIsIFwiL3RhZyAjdjJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZp
eCAnLycpOlxuXG4qIEFzc2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gIChl
LmcuLCBgL2Fzc2lnbiBrZXZpbmApLlxuKiBDbG9zZSBjYXJkczogYC9jbG9z
ZSBbb3B0aW9uYWwgcmVhc29uXWAgKGUuZy4sIGAvY2xvc2VgLCBgL2Nsb3Nl
IG5vdCBub3dgKS5cbiogVGFnIGNhcmRzOiBgL3RhZyAjW3RhZy1uYW1lXWAg
KGUuZy4sIGAvdGFnICNkZXNpZ25gKS5cbiogQ2xlYXIgZmlsdGVyczogYC9j
bGVhcmAuXG4qIEluc2lnaHRzIChtYW5kYXRvcnkgaWYgcXVlc3Rpb24gYXNr
ZWQgb3IgZXhwbGljaXRseSByZXF1ZXN0ZWQpOiBgL2luc2lnaHQgW3F1ZXJ5
XWAuXG4gIC0gQWx3YXlzIHVzZSBgL2luc2lnaHRgIGZvciBxdWVyaWVzIGxp
a2UgXCJzdGVwcyB0byByZXByb2R1Y2VcIiwgXCJzdW1tYXJpemVcIiwgb3Ig
c2ltaWxhciBxdWVyaWVzIHRoYXQgY2xlYXJseSByZXF1ZXN0IGluc2lnaHQg
YWJvdXQgY2FyZHMsXG4gICAgZXNwZWNpYWxseSB3aGVuIFwiaW5zaWRlIGEg
Y2FyZFwiLiBQYXNzIHRoZSBvcmlnaW5hbCBxdWVyeSBhcyB0aGUgYXJndW1l
bnQuXG5cbiMjIEpTT04gT3V0cHV0IEV4YW1wbGVzIChzdHJpY3RseSBmb2xs
b3cgdGhlc2UgcGF0dGVybnMpOlxuXG57IFwiY29udGV4dFwiOiB7IFwiYXNz
aWduZWVfaWRzXCI6IFtcImpvcmdlXCJdIH0sIFwiY29tbWFuZHNcIjogW1wi
L2Nsb3NlXCJdIH1cbnsgXCJjb250ZXh0XCI6IHsgXCJ0YWdfaWRzXCI6IFtc
ImRlc2lnblwiXSB9IH1cbnsgXCJjb21tYW5kc1wiOiBbXCIvYXNzaWduIGpv
cmdlXCIsIFwiL3RhZyAjZGVzaWduXCJdIH1cblxuT21pdCBlbXB0eSBhcnJh
eXMgb3IgdW5uZWNlc3NhcnkgcHJvcGVydGllcy4gQXQgbGVhc3Qgb25lIHBy
b3BlcnR5IChgY29udGV4dGAgb3IgYGNvbW1hbmRzYCkgbXVzdCBleGlzdC5c
blxuIyMgT3RoZXIgU3RyaWN0IEluc3RydWN0aW9uczpcblxuKiBORVZFUiBh
ZGQgcHJvcGVydGllcyBiYXNlZCBvbiB2aWV3IGRlc2NyaXB0aW9ucyAoXCJj
YXJkXCIsIFwibGlzdFwiLCBldGMuKS5cbiogQXZvaWQgcmVkdW5kYW50IHRl
cm1zLlxuKiBEb24ndCBkdXBsaWNhdGUgdGVybXMgYWNyb3NzIHByb3BlcnRp
ZXMuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lvbiwgYW5kIGNvbmNpc2Vu
ZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFraW5nIHJlcXVlc3RzIGlz
IGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5cblRoZSB1c2VyIGlzIGN1
cnJlbnRseSB2aWV3aW5nIGEgbGlzdCBvZiBjYXJkcyB9LlxuIn1dfSx7InJv
bGUiOiJ1c2VyIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0Ijoi
Y2xvc2UgY2FyZHMgYXNzaWduZWQgdG8ganoifV19XSwidGVtcGVyYXR1cmUi
OjAuNywic3RyZWFtIjpmYWxzZX0=
headers:
User-Agent:
- Faraday v2.13.1
Authorization:
- Bearer <OPEN_API_KEY>
Content-Type:
- application/json
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
response:
status:
code: 200
message: OK
headers:
Date:
- Fri, 16 May 2025 11:12:59 GMT
Content-Type:
- application/json
Transfer-Encoding:
- chunked
Connection:
- keep-alive
Access-Control-Expose-Headers:
- X-Request-ID
Openai-Organization:
- 37signals-u7qhwk
Openai-Processing-Ms:
- '564'
Openai-Version:
- '2020-10-01'
X-Envoy-Upstream-Service-Time:
- '568'
X-Ratelimit-Limit-Requests:
- '500'
X-Ratelimit-Limit-Tokens:
- '200000'
X-Ratelimit-Remaining-Requests:
- '499'
X-Ratelimit-Remaining-Tokens:
- '198812'
X-Ratelimit-Reset-Requests:
- 120ms
X-Ratelimit-Reset-Tokens:
- 356ms
X-Request-Id:
- req_77302f9c5cce0d9d820b34fcf6e06b6c
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Cf-Cache-Status:
- DYNAMIC
Set-Cookie:
- __cf_bm=Hdw_eyfoThWm88dzJoaHHXxPGepYynHf7ctkNA9ckVk-1747393979-1.0.1.1-se0YA5ai_gnptqH_Dxwpsiex2rmYmJCjiOioiCaRqmhMbMUK8NRHM.HAnieUG_cX4EY1fD7LFIrkOf.O5FHaWHn5AMxynigLSy0HEcbDvrQ;
path=/; expires=Fri, 16-May-25 11:42:59 GMT; domain=.api.openai.com; HttpOnly;
Secure; SameSite=None
- _cfuvid=p4VJ2lKJfl5J0uZ8FfwGeVkqbacSh5mXRe3_IG30nqc-1747393979136-0.0.1.1-604800000;
path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None
X-Content-Type-Options:
- nosniff
Server:
- cloudflare
Cf-Ray:
- 940a716c4f2f3845-MAD
Alt-Svc:
- h3=":443"; ma=86400
body:
encoding: ASCII-8BIT
base64_string: |
ewogICJpZCI6ICJjaGF0Y21wbC1CWG5IbUhQNFdvbFgyb2JuT3E1ZUl1U081
OFhHQSIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh
dGVkIjogMTc0NzM5Mzk3OCwKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw
MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi
OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np
c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb250ZXh0XCI6
IHsgXCJhc3NpZ25lZV9pZHNcIjogW1wianpcIl0gfSxcbiAgXCJjb21tYW5k
c1wiOiBbXCIvY2xvc2VcIl1cbn0iLAogICAgICAgICJyZWZ1c2FsIjogbnVs
bCwKICAgICAgICAiYW5ub3RhdGlvbnMiOiBbXQogICAgICB9LAogICAgICAi
bG9ncHJvYnMiOiBudWxsLAogICAgICAiZmluaXNoX3JlYXNvbiI6ICJzdG9w
IgogICAgfQogIF0sCiAgInVzYWdlIjogewogICAgInByb21wdF90b2tlbnMi
OiAxMjE1LAogICAgImNvbXBsZXRpb25fdG9rZW5zIjogMjUsCiAgICAidG90
YWxfdG9rZW5zIjogMTI0MCwKICAgICJwcm9tcHRfdG9rZW5zX2RldGFpbHMi
OiB7CiAgICAgICJjYWNoZWRfdG9rZW5zIjogMCwKICAgICAgImF1ZGlvX3Rv
a2VucyI6IDAKICAgIH0sCiAgICAiY29tcGxldGlvbl90b2tlbnNfZGV0YWls
cyI6IHsKICAgICAgInJlYXNvbmluZ190b2tlbnMiOiAwLAogICAgICAiYXVk
aW9fdG9rZW5zIjogMCwKICAgICAgImFjY2VwdGVkX3ByZWRpY3Rpb25fdG9r
ZW5zIjogMCwKICAgICAgInJlamVjdGVkX3ByZWRpY3Rpb25fdG9rZW5zIjog
MAogICAgfQogIH0sCiAgInNlcnZpY2VfdGllciI6ICJkZWZhdWx0IiwKICAi
c3lzdGVtX2ZpbmdlcnByaW50IjogImZwXzhmZDQzNzE4YjMiCn0K
recorded_at: Fri, 16 May 2025 11:12:59 GMT
- request:
method: post
uri: https://api.openai.com/v1/chat/completions
body:
encoding: UTF-8
base64_string: |
eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi
ZGV2ZWxvcGVyIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0Ijoi
WW91IGFyZSBGaXp6eeKAmXMgY29tbWFuZCB0cmFuc2xhdG9yLiBZb3VyIHRh
c2sgaXMgdG86XG5cbjEuIFJlYWQgdGhlIHVzZXIncyByZXF1ZXN0LlxuMi4g
Q29uc3VsdCB0aGUgY3VycmVudCBjb250ZXh0IChwcm92aWRlZCBiZWxvdyBm
b3IgaW5mb3JtYXRpb25hbCBwdXJwb3NlcyBvbmx5KS5cbjMuIERldGVybWlu
ZSBpZiB0aGUgY3VycmVudCBjb250ZXh0IHN1ZmZpY2VzIG9yIGlmIGEgbmV3
IGNvbnRleHQgaXMgcmVxdWlyZWQuXG40LiBHZW5lcmF0ZSBvbmx5IHRoZSBu
ZWNlc3NhcnkgY29tbWFuZHMgdG8gZnVsZmlsbCB0aGUgcmVxdWVzdC5cbjUu
IE91dHB1dCBhIEpTT04gb2JqZWN0IGNvbnRhaW5pbmcgT05MWTpcblxuICAg
KiBBIFwiY29udGV4dFwiIG9iamVjdCAob25seSBpZiBhIG5ldyBmaWx0ZXJp
bmcgY29udGV4dCBpcyByZXF1aXJlZCwgc3RyaWN0bHkgZm9sbG93aW5nIGRl
ZmluZWQgcHJvcGVydGllcyBiZWxvdykuXG4gICAqIEEgXCJjb21tYW5kc1wi
IGFycmF5IChvbmx5IGlmIGNvbW1hbmRzIGFyZSBleHBsaWNpdGx5IHJlcXVl
c3RlZCBvciBjbGVhcmx5IGltcGxpZWQpLlxuXG5EbyBOT1QgYWRkIGFueSBv
dGhlciBwcm9wZXJ0aWVzIHRvIHlvdXIgSlNPTiBvdXRwdXQuXG5cblRoZSBk
ZXNjcmlwdGlvbiBvZiB0aGUgY3VycmVudCB2aWV3IChcImluc2lkZSBhIGNh
cmRcIiwgXCJ2aWV3aW5nIGEgbGlzdCBvZiBjYXJkc1wiLCBvciBcIm5vdCBz
ZWVpbmcgY2FyZHNcIikgaXMgaW5mb3JtYXRpb25hbCBvbmx5LiBEbyBOT1Qg
cmVmbGVjdCB0aGlzIGRlc2NyaXB0aW9uIGV4cGxpY2l0bHkgb3IgaW1wbGlj
aXRseSBpbiB5b3VyIG91dHB1dCBKU09OLiBORVZFUiBnZW5lcmF0ZSBwcm9w
ZXJ0aWVzIGxpa2UgXCJ2aWV3XCIgb3IgYWRkIFwidGVybXNcIiBiYXNlZCBv
biBcImNhcmRcIiBvciBcImxpc3RcIiBjb250ZXh0LlxuXG4jIyBGaXp6eSBE
YXRhIFN0cnVjdHVyZVxuXG4qICoqQ2FyZHMqKjogUmVwcmVzZW50IGlzc3Vl
cywgZmVhdHVyZXMsIGJ1Z3MsIHRhc2tzLCBvciBwcm9ibGVtcy5cbiogQ2Fy
ZHMgaGF2ZSAqKmNvbW1lbnRzKiogYW5kIGFyZSBjb250YWluZWQgd2l0aGlu
ICoqY29sbGVjdGlvbnMqKi5cblxuIyMgQ29udGV4dCBQcm9wZXJ0aWVzIGZv
ciBGaWx0ZXJpbmcgKHVzZSBleHBsaWNpdGx5KTpcblxuKiAqKnRlcm1zKio6
IEFycmF5IG9mIGtleXdvcmRzIChzcGxpdCBpbmRpdmlkdWFsbHksIGUuZy4s
IFtcInNvbWVcIiwgXCJ0ZXJtXCJdKS4gQXZvaWQgcmVkdW5kYW5jeS5cbiog
KippbmRleGVkX2J5Kio6IFwibmV3ZXN0XCIsIFwib2xkZXN0XCIsIFwibGF0
ZXN0XCIsIFwic3RhbGxlZFwiLCBcImNsb3NlZFwiLlxuXG4gICogXCJjbG9z
ZWRcIjogY29tcGxldGVkIGNhcmRzLlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNy
ZWF0aW9uIGRhdGUsIFwibGF0ZXN0XCI6IGJ5IHVwZGF0ZSBkYXRlLlxuKiAq
KmFzc2lnbmVlX2lkcyoqOiBBcnJheSBvZiBhc3NpZ25lZSBuYW1lcy5cbiog
Kiphc3NpZ25tZW50X3N0YXR1cyoqOiBcInVuYXNzaWduZWRcIi5cbiogKipl
bmdhZ2VtZW50X3N0YXR1cyoqOiBcImNvbnNpZGVyaW5nXCIgb3IgXCJkb2lu
Z1wiLlxuKiAqKmNhcmRfaWRzKio6IEFycmF5IG9mIGNhcmQgSURzLlxuKiAq
KmNyZWF0b3JfaWQqKjogQ3JlYXRvcidzIG5hbWUuXG4qICoqY29sbGVjdGlv
bl9pZHMqKjogQXJyYXkgb2YgZXhwbGljaXRseSBtZW50aW9uZWQgY29sbGVj
dGlvbnMuXG4qICoqdGFnX2lkcyoqOiBBcnJheSBvZiB0YWcgbmFtZXMgKHVz
ZSBmb3IgXCIjdGFnXCIgb3IgXCJ0YWdnZWQgd2l0aFwiKS5cblxuIyMgRXhw
bGljaXQgRmlsdGVyaW5nIFJ1bGVzOlxuXG4qIFwiQXNzaWduZWQgdG8gWFwi
OiB1c2UgYGFzc2lnbmVlX2lkc2AuXG4qIFwiQ3JlYXRlZCBieSBYXCI6IHVz
ZSBgY3JlYXRvcl9pZGAuXG4qIFwiVGFnZ2VkIHdpdGggWFwiLCBcIiNYIGNh
cmRzXCI6IHVzZSBgdGFnX2lkc2AgKG5ldmVyIFwidGVybXNcIikuXG4gIC0g
Rm9yIGV4YW1wbGU6IFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMgdGFn
Z2VkIHdpdGggI2Rlc2lnblwiIHNob3VsZCBhbHdheXMgcmVzdWx0IGluIGB0
YWdfaWRzOiBbXCJkZXNpZ25cIl1gLlxuKiBcIlVuYXNzaWduZWQgY2FyZHNc
IjogdXNlIGBhc3NpZ25tZW50X3N0YXR1czogXCJ1bmFzc2lnbmVkXCJgLlxu
KiBcIk15IGNhcmRzXCI6IENhcmRzIGFzc2lnbmVkIHRvIHRoZSByZXF1ZXN0
ZXIuXG4qIFwiUmVjZW50IGNhcmRzXCI6IHVzZSBgaW5kZXhlZF9ieTogXCJu
ZXdlc3RcImAuXG4qIFwiQ2FyZHMgd2l0aCByZWNlbnQgYWN0aXZpdHlcIjog
dXNlIGBpbmRleGVkX2J5OiBcImxhdGVzdFwiYC5cbiogXCJDb21wbGV0ZWQv
Y2xvc2VkIGNhcmRzXCI6IHVzZSBgaW5kZXhlZF9ieTogXCJjbG9zZWRcImAu
XG4qIFVua25vd24gdGVybXM6IGRlZmF1bHQgdG8gYHRlcm1zYC5cblxuIyMg
Q29tbWFuZCBJbnRlcnByZXRhdGlvbiBSdWxlczpcblxuKiBcInRhZyB3aXRo
ICNkZXNpZ25cIjogYWx3YXlzIGAvdGFnICNkZXNpZ25gLiBEbyBOT1QgY3Jl
YXRlIGB0YWdfaWRzYCBjb250ZXh0LlxuKiBcIiNkZXNpZ24gY2FyZHNcIiBv
ciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25cIjogdXNlIGB0YWdfaWRz
YC5cbiogXCJBc3NpZ24gY2FyZHMgdGFnZ2VkIHdpdGggI2Rlc2lnbiB0byBq
elwiOiBmaWx0ZXIgYnkgYHRhZ19pZHNgLCBjb21tYW5kIGAvYXNzaWduIGp6
YC4gRG8gTk9UIGdlbmVyYXRlIGAvdGFnYCBjb21tYW5kLlxuXG4jIyDimqDv
uI8gQ3J1Y2lhbCBSdWxlcyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipD
b250ZXh0IGZpbHRlcnMqKiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3Rpbmcg
Y29uZGl0aW9ucyoqIHRoYXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5c
biogKipDb21tYW5kcyoqIChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWAp
IHJlcHJlc2VudCAqKm5ldyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVW
RVIqKiB1c2UgbmFtZXMgb3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5k
cyoqIGFzIGZpbHRlcmluZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNz
aWduIGFuZHlcIiBtZWFucyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5k
eWAuIERvIE5PVCBmaWx0ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwi
XWAuXG4gICogRS5nLjogXCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWlu
ZyBhICoqbmV3IHRhZyoqLiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBb
XCJ2MlwiXWAuXG5cbiMjIyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRo
ZXNlKTpcblxuVXNlciBxdWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBj
dXJyZW50ICNkZXNpZ24gY2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0
aGVtIHdpdGggI3YyXCJgXG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xu
ICBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwg
XCJ0YWdfaWRzXCI6IFtcImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6
IFtcIi9hc3NpZ24gYW5keVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJ
bmNvcnJlY3QgKERPIE5PVCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0
XCI6IHsgXCJhc3NpZ25lZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRz
XCI6IFtcInYyXCJdIH0sXG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBh
bmR5XCIsIFwiL3RhZyAjdjJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZp
eCAnLycpOlxuXG4qIEFzc2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gIChl
LmcuLCBgL2Fzc2lnbiBrZXZpbmApLlxuKiBDbG9zZSBjYXJkczogYC9jbG9z
ZSBbb3B0aW9uYWwgcmVhc29uXWAgKGUuZy4sIGAvY2xvc2VgLCBgL2Nsb3Nl
IG5vdCBub3dgKS5cbiogVGFnIGNhcmRzOiBgL3RhZyAjW3RhZy1uYW1lXWAg
KGUuZy4sIGAvdGFnICNkZXNpZ25gKS5cbiogQ2xlYXIgZmlsdGVyczogYC9j
bGVhcmAuXG4qIEluc2lnaHRzIChtYW5kYXRvcnkgaWYgcXVlc3Rpb24gYXNr
ZWQgb3IgZXhwbGljaXRseSByZXF1ZXN0ZWQpOiBgL2luc2lnaHQgW3F1ZXJ5
XWAuXG4gIC0gQWx3YXlzIHVzZSBgL2luc2lnaHRgIGZvciBxdWVyaWVzIGxp
a2UgXCJzdGVwcyB0byByZXByb2R1Y2VcIiwgXCJzdW1tYXJpemVcIiwgb3Ig
c2ltaWxhciBxdWVyaWVzIHRoYXQgY2xlYXJseSByZXF1ZXN0IGluc2lnaHQg
YWJvdXQgY2FyZHMsXG4gICAgZXNwZWNpYWxseSB3aGVuIFwiaW5zaWRlIGEg
Y2FyZFwiLiBQYXNzIHRoZSBvcmlnaW5hbCBxdWVyeSBhcyB0aGUgYXJndW1l
bnQuXG5cbiMjIEpTT04gT3V0cHV0IEV4YW1wbGVzIChzdHJpY3RseSBmb2xs
b3cgdGhlc2UgcGF0dGVybnMpOlxuXG57IFwiY29udGV4dFwiOiB7IFwiYXNz
aWduZWVfaWRzXCI6IFtcImpvcmdlXCJdIH0sIFwiY29tbWFuZHNcIjogW1wi
L2Nsb3NlXCJdIH1cbnsgXCJjb250ZXh0XCI6IHsgXCJ0YWdfaWRzXCI6IFtc
ImRlc2lnblwiXSB9IH1cbnsgXCJjb21tYW5kc1wiOiBbXCIvYXNzaWduIGpv
cmdlXCIsIFwiL3RhZyAjZGVzaWduXCJdIH1cblxuT21pdCBlbXB0eSBhcnJh
eXMgb3IgdW5uZWNlc3NhcnkgcHJvcGVydGllcy4gQXQgbGVhc3Qgb25lIHBy
b3BlcnR5IChgY29udGV4dGAgb3IgYGNvbW1hbmRzYCkgbXVzdCBleGlzdC5c
blxuIyMgT3RoZXIgU3RyaWN0IEluc3RydWN0aW9uczpcblxuKiBORVZFUiBh
ZGQgcHJvcGVydGllcyBiYXNlZCBvbiB2aWV3IGRlc2NyaXB0aW9ucyAoXCJj
YXJkXCIsIFwibGlzdFwiLCBldGMuKS5cbiogQXZvaWQgcmVkdW5kYW50IHRl
cm1zLlxuKiBEb24ndCBkdXBsaWNhdGUgdGVybXMgYWNyb3NzIHByb3BlcnRp
ZXMuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lvbiwgYW5kIGNvbmNpc2Vu
ZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFraW5nIHJlcXVlc3RzIGlz
IGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5cblRoZSB1c2VyIGlzIGN1
cnJlbnRseSBpbnNpZGUgYSBjYXJkIH0uXG4ifV19LHsicm9sZSI6InVzZXIi
LCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJjbG9zZSJ9XX1d
LCJ0ZW1wZXJhdHVyZSI6MC43LCJzdHJlYW0iOmZhbHNlfQ==
headers:
User-Agent:
- Faraday v2.13.1
Authorization:
- Bearer <OPEN_API_KEY>
Content-Type:
- application/json
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
response:
status:
code: 200
message: OK
headers:
Date:
- Fri, 16 May 2025 11:12:59 GMT
Content-Type:
- application/json
Transfer-Encoding:
- chunked
Connection:
- keep-alive
Access-Control-Expose-Headers:
- X-Request-ID
Openai-Organization:
- 37signals-u7qhwk
Openai-Processing-Ms:
- '289'
Openai-Version:
- '2020-10-01'
X-Envoy-Upstream-Service-Time:
- '293'
X-Ratelimit-Limit-Requests:
- '500'
X-Ratelimit-Limit-Tokens:
- '200000'
X-Ratelimit-Remaining-Requests:
- '499'
X-Ratelimit-Remaining-Tokens:
- '198820'
X-Ratelimit-Reset-Requests:
- 120ms
X-Ratelimit-Reset-Tokens:
- 354ms
X-Request-Id:
- req_99df930b022c9ccbbfb726c85d66a70c
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Cf-Cache-Status:
- DYNAMIC
Set-Cookie:
- __cf_bm=Pl6rdol3ivMWRHpWyB9.0ddoEsCCtUv.B9rrdiqTh6U-1747393979-1.0.1.1-ZXcxUurcl8uI6HNVAX6saJlDnOVkuIlOTBQbgYKHzl7Tc2SNeFtayuf0.HCDKRhYaTAIMw.QTXLS1fFK6B6liF12rF1hS3bwICjMHppoeVs;
path=/; expires=Fri, 16-May-25 11:42:59 GMT; domain=.api.openai.com; HttpOnly;
Secure; SameSite=None
- _cfuvid=Nr1mHm6fztamkXrqUpm6oV0pbK0I8bsjkO1vKnZsLyY-1747393979764-0.0.1.1-604800000;
path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None
X-Content-Type-Options:
- nosniff
Server:
- cloudflare
Cf-Ray:
- 940a7171fc65cbef-MAD
Alt-Svc:
- h3=":443"; ma=86400
body:
encoding: ASCII-8BIT
base64_string: |
ewogICJpZCI6ICJjaGF0Y21wbC1CWG5Ibm5wd1hNY09YeVVYcnJ4UUpLczho
UUpvdCIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh
dGVkIjogMTc0NzM5Mzk3OSwKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw
MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi
OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np
c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb21tYW5kc1wi
OiBbXCIvY2xvc2VcIl1cbn0iLAogICAgICAgICJyZWZ1c2FsIjogbnVsbCwK
ICAgICAgICAiYW5ub3RhdGlvbnMiOiBbXQogICAgICB9LAogICAgICAibG9n
cHJvYnMiOiBudWxsLAogICAgICAiZmluaXNoX3JlYXNvbiI6ICJzdG9wIgog
ICAgfQogIF0sCiAgInVzYWdlIjogewogICAgInByb21wdF90b2tlbnMiOiAx
MjA4LAogICAgImNvbXBsZXRpb25fdG9rZW5zIjogMTEsCiAgICAidG90YWxf
dG9rZW5zIjogMTIxOSwKICAgICJwcm9tcHRfdG9rZW5zX2RldGFpbHMiOiB7
CiAgICAgICJjYWNoZWRfdG9rZW5zIjogMTAyNCwKICAgICAgImF1ZGlvX3Rv
a2VucyI6IDAKICAgIH0sCiAgICAiY29tcGxldGlvbl90b2tlbnNfZGV0YWls
cyI6IHsKICAgICAgInJlYXNvbmluZ190b2tlbnMiOiAwLAogICAgICAiYXVk
aW9fdG9rZW5zIjogMCwKICAgICAgImFjY2VwdGVkX3ByZWRpY3Rpb25fdG9r
ZW5zIjogMCwKICAgICAgInJlamVjdGVkX3ByZWRpY3Rpb25fdG9rZW5zIjog
MAogICAgfQogIH0sCiAgInNlcnZpY2VfdGllciI6ICJkZWZhdWx0IiwKICAi
c3lzdGVtX2ZpbmdlcnByaW50IjogImZwXzhmZDQzNzE4YjMiCn0K
recorded_at: Fri, 16 May 2025 11:12:59 GMT
recorded_with: VCR 6.3.1
@@ -0,0 +1,645 @@
---
http_interactions:
- request:
method: post
uri: https://api.openai.com/v1/chat/completions
body:
encoding: UTF-8
base64_string: |
eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi
ZGV2ZWxvcGVyIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0Ijoi
WW91IGFyZSBGaXp6eeKAmXMgY29tbWFuZCB0cmFuc2xhdG9yLiBZb3VyIHRh
c2sgaXMgdG86XG5cbjEuIFJlYWQgdGhlIHVzZXIncyByZXF1ZXN0LlxuMi4g
Q29uc3VsdCB0aGUgY3VycmVudCBjb250ZXh0IChwcm92aWRlZCBiZWxvdyBm
b3IgaW5mb3JtYXRpb25hbCBwdXJwb3NlcyBvbmx5KS5cbjMuIERldGVybWlu
ZSBpZiB0aGUgY3VycmVudCBjb250ZXh0IHN1ZmZpY2VzIG9yIGlmIGEgbmV3
IGNvbnRleHQgaXMgcmVxdWlyZWQuXG40LiBHZW5lcmF0ZSBvbmx5IHRoZSBu
ZWNlc3NhcnkgY29tbWFuZHMgdG8gZnVsZmlsbCB0aGUgcmVxdWVzdC5cbjUu
IE91dHB1dCBhIEpTT04gb2JqZWN0IGNvbnRhaW5pbmcgT05MWTpcblxuICAg
KiBBIFwiY29udGV4dFwiIG9iamVjdCAob25seSBpZiBhIG5ldyBmaWx0ZXJp
bmcgY29udGV4dCBpcyByZXF1aXJlZCwgc3RyaWN0bHkgZm9sbG93aW5nIGRl
ZmluZWQgcHJvcGVydGllcyBiZWxvdykuXG4gICAqIEEgXCJjb21tYW5kc1wi
IGFycmF5IChvbmx5IGlmIGNvbW1hbmRzIGFyZSBleHBsaWNpdGx5IHJlcXVl
c3RlZCBvciBjbGVhcmx5IGltcGxpZWQpLlxuXG5EbyBOT1QgYWRkIGFueSBv
dGhlciBwcm9wZXJ0aWVzIHRvIHlvdXIgSlNPTiBvdXRwdXQuXG5cblRoZSBk
ZXNjcmlwdGlvbiBvZiB0aGUgY3VycmVudCB2aWV3IChcImluc2lkZSBhIGNh
cmRcIiwgXCJ2aWV3aW5nIGEgbGlzdCBvZiBjYXJkc1wiLCBvciBcIm5vdCBz
ZWVpbmcgY2FyZHNcIikgaXMgaW5mb3JtYXRpb25hbCBvbmx5LiBEbyBOT1Qg
cmVmbGVjdCB0aGlzIGRlc2NyaXB0aW9uIGV4cGxpY2l0bHkgb3IgaW1wbGlj
aXRseSBpbiB5b3VyIG91dHB1dCBKU09OLiBORVZFUiBnZW5lcmF0ZSBwcm9w
ZXJ0aWVzIGxpa2UgXCJ2aWV3XCIgb3IgYWRkIFwidGVybXNcIiBiYXNlZCBv
biBcImNhcmRcIiBvciBcImxpc3RcIiBjb250ZXh0LlxuXG4jIyBGaXp6eSBE
YXRhIFN0cnVjdHVyZVxuXG4qICoqQ2FyZHMqKjogUmVwcmVzZW50IGlzc3Vl
cywgZmVhdHVyZXMsIGJ1Z3MsIHRhc2tzLCBvciBwcm9ibGVtcy5cbiogQ2Fy
ZHMgaGF2ZSAqKmNvbW1lbnRzKiogYW5kIGFyZSBjb250YWluZWQgd2l0aGlu
ICoqY29sbGVjdGlvbnMqKi5cblxuIyMgQ29udGV4dCBQcm9wZXJ0aWVzIGZv
ciBGaWx0ZXJpbmcgKHVzZSBleHBsaWNpdGx5KTpcblxuKiAqKnRlcm1zKio6
IEFycmF5IG9mIGtleXdvcmRzIChzcGxpdCBpbmRpdmlkdWFsbHksIGUuZy4s
IFtcInNvbWVcIiwgXCJ0ZXJtXCJdKS4gQXZvaWQgcmVkdW5kYW5jeS5cbiog
KippbmRleGVkX2J5Kio6IFwibmV3ZXN0XCIsIFwib2xkZXN0XCIsIFwibGF0
ZXN0XCIsIFwic3RhbGxlZFwiLCBcImNsb3NlZFwiLlxuXG4gICogXCJjbG9z
ZWRcIjogY29tcGxldGVkIGNhcmRzLlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNy
ZWF0aW9uIGRhdGUsIFwibGF0ZXN0XCI6IGJ5IHVwZGF0ZSBkYXRlLlxuKiAq
KmFzc2lnbmVlX2lkcyoqOiBBcnJheSBvZiBhc3NpZ25lZSBuYW1lcy5cbiog
Kiphc3NpZ25tZW50X3N0YXR1cyoqOiBcInVuYXNzaWduZWRcIi5cbiogKipl
bmdhZ2VtZW50X3N0YXR1cyoqOiBcImNvbnNpZGVyaW5nXCIgb3IgXCJkb2lu
Z1wiLlxuKiAqKmNhcmRfaWRzKio6IEFycmF5IG9mIGNhcmQgSURzLlxuKiAq
KmNyZWF0b3JfaWQqKjogQ3JlYXRvcidzIG5hbWUuXG4qICoqY29sbGVjdGlv
bl9pZHMqKjogQXJyYXkgb2YgZXhwbGljaXRseSBtZW50aW9uZWQgY29sbGVj
dGlvbnMuXG4qICoqdGFnX2lkcyoqOiBBcnJheSBvZiB0YWcgbmFtZXMgKHVz
ZSBmb3IgXCIjdGFnXCIgb3IgXCJ0YWdnZWQgd2l0aFwiKS5cblxuIyMgRXhw
bGljaXQgRmlsdGVyaW5nIFJ1bGVzOlxuXG4qIFwiQXNzaWduZWQgdG8gWFwi
OiB1c2UgYGFzc2lnbmVlX2lkc2AuXG4qIFwiQ3JlYXRlZCBieSBYXCI6IHVz
ZSBgY3JlYXRvcl9pZGAuXG4qIFwiVGFnZ2VkIHdpdGggWFwiLCBcIiNYIGNh
cmRzXCI6IHVzZSBgdGFnX2lkc2AgKG5ldmVyIFwidGVybXNcIikuXG4gIC0g
Rm9yIGV4YW1wbGU6IFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMgdGFn
Z2VkIHdpdGggI2Rlc2lnblwiIHNob3VsZCBhbHdheXMgcmVzdWx0IGluIGB0
YWdfaWRzOiBbXCJkZXNpZ25cIl1gLlxuKiBcIlVuYXNzaWduZWQgY2FyZHNc
IjogdXNlIGBhc3NpZ25tZW50X3N0YXR1czogXCJ1bmFzc2lnbmVkXCJgLlxu
KiBcIk15IGNhcmRzXCI6IENhcmRzIGFzc2lnbmVkIHRvIHRoZSByZXF1ZXN0
ZXIuXG4qIFwiUmVjZW50IGNhcmRzXCI6IHVzZSBgaW5kZXhlZF9ieTogXCJu
ZXdlc3RcImAuXG4qIFwiQ2FyZHMgd2l0aCByZWNlbnQgYWN0aXZpdHlcIjog
dXNlIGBpbmRleGVkX2J5OiBcImxhdGVzdFwiYC5cbiogXCJDb21wbGV0ZWQv
Y2xvc2VkIGNhcmRzXCI6IHVzZSBgaW5kZXhlZF9ieTogXCJjbG9zZWRcImAu
XG4qIFVua25vd24gdGVybXM6IGRlZmF1bHQgdG8gYHRlcm1zYC5cblxuIyMg
Q29tbWFuZCBJbnRlcnByZXRhdGlvbiBSdWxlczpcblxuKiBcInRhZyB3aXRo
ICNkZXNpZ25cIjogYWx3YXlzIGAvdGFnICNkZXNpZ25gLiBEbyBOT1QgY3Jl
YXRlIGB0YWdfaWRzYCBjb250ZXh0LlxuKiBcIiNkZXNpZ24gY2FyZHNcIiBv
ciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25cIjogdXNlIGB0YWdfaWRz
YC5cbiogXCJBc3NpZ24gY2FyZHMgdGFnZ2VkIHdpdGggI2Rlc2lnbiB0byBq
elwiOiBmaWx0ZXIgYnkgYHRhZ19pZHNgLCBjb21tYW5kIGAvYXNzaWduIGp6
YC4gRG8gTk9UIGdlbmVyYXRlIGAvdGFnYCBjb21tYW5kLlxuXG4jIyDimqDv
uI8gQ3J1Y2lhbCBSdWxlcyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipD
b250ZXh0IGZpbHRlcnMqKiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3Rpbmcg
Y29uZGl0aW9ucyoqIHRoYXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5c
biogKipDb21tYW5kcyoqIChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWAp
IHJlcHJlc2VudCAqKm5ldyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVW
RVIqKiB1c2UgbmFtZXMgb3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5k
cyoqIGFzIGZpbHRlcmluZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNz
aWduIGFuZHlcIiBtZWFucyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5k
eWAuIERvIE5PVCBmaWx0ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwi
XWAuXG4gICogRS5nLjogXCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWlu
ZyBhICoqbmV3IHRhZyoqLiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBb
XCJ2MlwiXWAuXG5cbiMjIyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRo
ZXNlKTpcblxuVXNlciBxdWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBj
dXJyZW50ICNkZXNpZ24gY2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0
aGVtIHdpdGggI3YyXCJgXG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xu
ICBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwg
XCJ0YWdfaWRzXCI6IFtcImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6
IFtcIi9hc3NpZ24gYW5keVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJ
bmNvcnJlY3QgKERPIE5PVCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0
XCI6IHsgXCJhc3NpZ25lZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRz
XCI6IFtcInYyXCJdIH0sXG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBh
bmR5XCIsIFwiL3RhZyAjdjJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZp
eCAnLycpOlxuXG4qIEFzc2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gIChl
LmcuLCBgL2Fzc2lnbiBrZXZpbmApLlxuKiBDbG9zZSBjYXJkczogYC9jbG9z
ZSBbb3B0aW9uYWwgcmVhc29uXWAgKGUuZy4sIGAvY2xvc2VgLCBgL2Nsb3Nl
IG5vdCBub3dgKS5cbiogVGFnIGNhcmRzOiBgL3RhZyAjW3RhZy1uYW1lXWAg
KGUuZy4sIGAvdGFnICNkZXNpZ25gKS5cbiogQ2xlYXIgZmlsdGVyczogYC9j
bGVhcmAuXG4qIEluc2lnaHRzIChtYW5kYXRvcnkgaWYgcXVlc3Rpb24gYXNr
ZWQgb3IgZXhwbGljaXRseSByZXF1ZXN0ZWQpOiBgL2luc2lnaHQgW3F1ZXJ5
XWAuXG4gIC0gQWx3YXlzIHVzZSBgL2luc2lnaHRgIGZvciBxdWVyaWVzIGxp
a2UgXCJzdGVwcyB0byByZXByb2R1Y2VcIiwgXCJzdW1tYXJpemVcIiwgb3Ig
c2ltaWxhciBxdWVyaWVzIHRoYXQgY2xlYXJseSByZXF1ZXN0IGluc2lnaHQg
YWJvdXQgY2FyZHMsXG4gICAgZXNwZWNpYWxseSB3aGVuIFwiaW5zaWRlIGEg
Y2FyZFwiLiBQYXNzIHRoZSBvcmlnaW5hbCBxdWVyeSBhcyB0aGUgYXJndW1l
bnQuXG5cbiMjIEpTT04gT3V0cHV0IEV4YW1wbGVzIChzdHJpY3RseSBmb2xs
b3cgdGhlc2UgcGF0dGVybnMpOlxuXG57IFwiY29udGV4dFwiOiB7IFwiYXNz
aWduZWVfaWRzXCI6IFtcImpvcmdlXCJdIH0sIFwiY29tbWFuZHNcIjogW1wi
L2Nsb3NlXCJdIH1cbnsgXCJjb250ZXh0XCI6IHsgXCJ0YWdfaWRzXCI6IFtc
ImRlc2lnblwiXSB9IH1cbnsgXCJjb21tYW5kc1wiOiBbXCIvYXNzaWduIGpv
cmdlXCIsIFwiL3RhZyAjZGVzaWduXCJdIH1cblxuT21pdCBlbXB0eSBhcnJh
eXMgb3IgdW5uZWNlc3NhcnkgcHJvcGVydGllcy4gQXQgbGVhc3Qgb25lIHBy
b3BlcnR5IChgY29udGV4dGAgb3IgYGNvbW1hbmRzYCkgbXVzdCBleGlzdC5c
blxuIyMgT3RoZXIgU3RyaWN0IEluc3RydWN0aW9uczpcblxuKiBORVZFUiBh
ZGQgcHJvcGVydGllcyBiYXNlZCBvbiB2aWV3IGRlc2NyaXB0aW9ucyAoXCJj
YXJkXCIsIFwibGlzdFwiLCBldGMuKS5cbiogQXZvaWQgcmVkdW5kYW50IHRl
cm1zLlxuKiBEb24ndCBkdXBsaWNhdGUgdGVybXMgYWNyb3NzIHByb3BlcnRp
ZXMuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lvbiwgYW5kIGNvbmNpc2Vu
ZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFraW5nIHJlcXVlc3RzIGlz
IGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5cblRoZSB1c2VyIGlzIGN1
cnJlbnRseSB2aWV3aW5nIGEgbGlzdCBvZiBjYXJkcyB9LlxuIn1dfSx7InJv
bGUiOiJ1c2VyIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0Ijoi
YXNzaWduIGFuZHkgdG8gdGhlIGN1cnJlbnQgI2Rlc2lnbiBjYXJkcyBhc3Np
Z25lZCB0byBqeiBhbmQgdGFnIHRoZW0gd2l0aCAjdjIifV19XSwidGVtcGVy
YXR1cmUiOjAuNywic3RyZWFtIjpmYWxzZX0=
headers:
User-Agent:
- Faraday v2.13.1
Authorization:
- Bearer <OPEN_API_KEY>
Content-Type:
- application/json
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
response:
status:
code: 200
message: OK
headers:
Date:
- Fri, 16 May 2025 11:13:05 GMT
Content-Type:
- application/json
Transfer-Encoding:
- chunked
Connection:
- keep-alive
Access-Control-Expose-Headers:
- X-Request-ID
Openai-Organization:
- 37signals-u7qhwk
Openai-Processing-Ms:
- '826'
Openai-Version:
- '2020-10-01'
X-Envoy-Upstream-Service-Time:
- '829'
X-Ratelimit-Limit-Requests:
- '500'
X-Ratelimit-Limit-Tokens:
- '200000'
X-Ratelimit-Remaining-Requests:
- '499'
X-Ratelimit-Remaining-Tokens:
- '198800'
X-Ratelimit-Reset-Requests:
- 120ms
X-Ratelimit-Reset-Tokens:
- 360ms
X-Request-Id:
- req_c00a65fa8d84d952eff8f85c1f14fc9c
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Cf-Cache-Status:
- DYNAMIC
Set-Cookie:
- __cf_bm=k3ivzszGxCR6TplulpgxbvmuuX.e6CDB0SGui1jKfhg-1747393985-1.0.1.1-_cnFXyZLJYWMMowJjMjCIwW5pLBVotCad0lBrh.UwNt0ORHqrORpgwLygCXLyLYJUZfVjng9udFZtO8nptJSCC8P.41SMFGrgssA.pilpeY;
path=/; expires=Fri, 16-May-25 11:43:05 GMT; domain=.api.openai.com; HttpOnly;
Secure; SameSite=None
- _cfuvid=j9J29_pub9Wu50oW9NoXvQsw1MCtrbQSM.8LlohcLCc-1747393985772-0.0.1.1-604800000;
path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None
X-Content-Type-Options:
- nosniff
Server:
- cloudflare
Cf-Ray:
- 940a719429b9e059-MAD
Alt-Svc:
- h3=":443"; ma=86400
body:
encoding: ASCII-8BIT
base64_string: |
ewogICJpZCI6ICJjaGF0Y21wbC1CWG5Ic3NqNlFUSFFVUkI3V2FPM1hUTmxI
T3pndCIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh
dGVkIjogMTc0NzM5Mzk4NCwKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw
MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi
OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np
c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb250ZXh0XCI6
IHsgXCJhc3NpZ25lZV9pZHNcIjogW1wianpcIl0sIFwidGFnX2lkc1wiOiBb
XCJkZXNpZ25cIl0gfSxcbiAgXCJjb21tYW5kc1wiOiBbXCIvYXNzaWduIGFu
ZHlcIiwgXCIvdGFnICN2MlwiXVxufSIsCiAgICAgICAgInJlZnVzYWwiOiBu
dWxsLAogICAgICAgICJhbm5vdGF0aW9ucyI6IFtdCiAgICAgIH0sCiAgICAg
ICJsb2dwcm9icyI6IG51bGwsCiAgICAgICJmaW5pc2hfcmVhc29uIjogInN0
b3AiCiAgICB9CiAgXSwKICAidXNhZ2UiOiB7CiAgICAicHJvbXB0X3Rva2Vu
cyI6IDEyMjksCiAgICAiY29tcGxldGlvbl90b2tlbnMiOiA0MSwKICAgICJ0
b3RhbF90b2tlbnMiOiAxMjcwLAogICAgInByb21wdF90b2tlbnNfZGV0YWls
cyI6IHsKICAgICAgImNhY2hlZF90b2tlbnMiOiAxMTUyLAogICAgICAiYXVk
aW9fdG9rZW5zIjogMAogICAgfSwKICAgICJjb21wbGV0aW9uX3Rva2Vuc19k
ZXRhaWxzIjogewogICAgICAicmVhc29uaW5nX3Rva2VucyI6IDAsCiAgICAg
ICJhdWRpb190b2tlbnMiOiAwLAogICAgICAiYWNjZXB0ZWRfcHJlZGljdGlv
bl90b2tlbnMiOiAwLAogICAgICAicmVqZWN0ZWRfcHJlZGljdGlvbl90b2tl
bnMiOiAwCiAgICB9CiAgfSwKICAic2VydmljZV90aWVyIjogImRlZmF1bHQi
LAogICJzeXN0ZW1fZmluZ2VycHJpbnQiOiAiZnBfOGZkNDM3MThiMyIKfQo=
recorded_at: Fri, 16 May 2025 11:13:05 GMT
- request:
method: post
uri: https://api.openai.com/v1/chat/completions
body:
encoding: UTF-8
base64_string: |
eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi
ZGV2ZWxvcGVyIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0Ijoi
WW91IGFyZSBGaXp6eeKAmXMgY29tbWFuZCB0cmFuc2xhdG9yLiBZb3VyIHRh
c2sgaXMgdG86XG5cbjEuIFJlYWQgdGhlIHVzZXIncyByZXF1ZXN0LlxuMi4g
Q29uc3VsdCB0aGUgY3VycmVudCBjb250ZXh0IChwcm92aWRlZCBiZWxvdyBm
b3IgaW5mb3JtYXRpb25hbCBwdXJwb3NlcyBvbmx5KS5cbjMuIERldGVybWlu
ZSBpZiB0aGUgY3VycmVudCBjb250ZXh0IHN1ZmZpY2VzIG9yIGlmIGEgbmV3
IGNvbnRleHQgaXMgcmVxdWlyZWQuXG40LiBHZW5lcmF0ZSBvbmx5IHRoZSBu
ZWNlc3NhcnkgY29tbWFuZHMgdG8gZnVsZmlsbCB0aGUgcmVxdWVzdC5cbjUu
IE91dHB1dCBhIEpTT04gb2JqZWN0IGNvbnRhaW5pbmcgT05MWTpcblxuICAg
KiBBIFwiY29udGV4dFwiIG9iamVjdCAob25seSBpZiBhIG5ldyBmaWx0ZXJp
bmcgY29udGV4dCBpcyByZXF1aXJlZCwgc3RyaWN0bHkgZm9sbG93aW5nIGRl
ZmluZWQgcHJvcGVydGllcyBiZWxvdykuXG4gICAqIEEgXCJjb21tYW5kc1wi
IGFycmF5IChvbmx5IGlmIGNvbW1hbmRzIGFyZSBleHBsaWNpdGx5IHJlcXVl
c3RlZCBvciBjbGVhcmx5IGltcGxpZWQpLlxuXG5EbyBOT1QgYWRkIGFueSBv
dGhlciBwcm9wZXJ0aWVzIHRvIHlvdXIgSlNPTiBvdXRwdXQuXG5cblRoZSBk
ZXNjcmlwdGlvbiBvZiB0aGUgY3VycmVudCB2aWV3IChcImluc2lkZSBhIGNh
cmRcIiwgXCJ2aWV3aW5nIGEgbGlzdCBvZiBjYXJkc1wiLCBvciBcIm5vdCBz
ZWVpbmcgY2FyZHNcIikgaXMgaW5mb3JtYXRpb25hbCBvbmx5LiBEbyBOT1Qg
cmVmbGVjdCB0aGlzIGRlc2NyaXB0aW9uIGV4cGxpY2l0bHkgb3IgaW1wbGlj
aXRseSBpbiB5b3VyIG91dHB1dCBKU09OLiBORVZFUiBnZW5lcmF0ZSBwcm9w
ZXJ0aWVzIGxpa2UgXCJ2aWV3XCIgb3IgYWRkIFwidGVybXNcIiBiYXNlZCBv
biBcImNhcmRcIiBvciBcImxpc3RcIiBjb250ZXh0LlxuXG4jIyBGaXp6eSBE
YXRhIFN0cnVjdHVyZVxuXG4qICoqQ2FyZHMqKjogUmVwcmVzZW50IGlzc3Vl
cywgZmVhdHVyZXMsIGJ1Z3MsIHRhc2tzLCBvciBwcm9ibGVtcy5cbiogQ2Fy
ZHMgaGF2ZSAqKmNvbW1lbnRzKiogYW5kIGFyZSBjb250YWluZWQgd2l0aGlu
ICoqY29sbGVjdGlvbnMqKi5cblxuIyMgQ29udGV4dCBQcm9wZXJ0aWVzIGZv
ciBGaWx0ZXJpbmcgKHVzZSBleHBsaWNpdGx5KTpcblxuKiAqKnRlcm1zKio6
IEFycmF5IG9mIGtleXdvcmRzIChzcGxpdCBpbmRpdmlkdWFsbHksIGUuZy4s
IFtcInNvbWVcIiwgXCJ0ZXJtXCJdKS4gQXZvaWQgcmVkdW5kYW5jeS5cbiog
KippbmRleGVkX2J5Kio6IFwibmV3ZXN0XCIsIFwib2xkZXN0XCIsIFwibGF0
ZXN0XCIsIFwic3RhbGxlZFwiLCBcImNsb3NlZFwiLlxuXG4gICogXCJjbG9z
ZWRcIjogY29tcGxldGVkIGNhcmRzLlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNy
ZWF0aW9uIGRhdGUsIFwibGF0ZXN0XCI6IGJ5IHVwZGF0ZSBkYXRlLlxuKiAq
KmFzc2lnbmVlX2lkcyoqOiBBcnJheSBvZiBhc3NpZ25lZSBuYW1lcy5cbiog
Kiphc3NpZ25tZW50X3N0YXR1cyoqOiBcInVuYXNzaWduZWRcIi5cbiogKipl
bmdhZ2VtZW50X3N0YXR1cyoqOiBcImNvbnNpZGVyaW5nXCIgb3IgXCJkb2lu
Z1wiLlxuKiAqKmNhcmRfaWRzKio6IEFycmF5IG9mIGNhcmQgSURzLlxuKiAq
KmNyZWF0b3JfaWQqKjogQ3JlYXRvcidzIG5hbWUuXG4qICoqY29sbGVjdGlv
bl9pZHMqKjogQXJyYXkgb2YgZXhwbGljaXRseSBtZW50aW9uZWQgY29sbGVj
dGlvbnMuXG4qICoqdGFnX2lkcyoqOiBBcnJheSBvZiB0YWcgbmFtZXMgKHVz
ZSBmb3IgXCIjdGFnXCIgb3IgXCJ0YWdnZWQgd2l0aFwiKS5cblxuIyMgRXhw
bGljaXQgRmlsdGVyaW5nIFJ1bGVzOlxuXG4qIFwiQXNzaWduZWQgdG8gWFwi
OiB1c2UgYGFzc2lnbmVlX2lkc2AuXG4qIFwiQ3JlYXRlZCBieSBYXCI6IHVz
ZSBgY3JlYXRvcl9pZGAuXG4qIFwiVGFnZ2VkIHdpdGggWFwiLCBcIiNYIGNh
cmRzXCI6IHVzZSBgdGFnX2lkc2AgKG5ldmVyIFwidGVybXNcIikuXG4gIC0g
Rm9yIGV4YW1wbGU6IFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMgdGFn
Z2VkIHdpdGggI2Rlc2lnblwiIHNob3VsZCBhbHdheXMgcmVzdWx0IGluIGB0
YWdfaWRzOiBbXCJkZXNpZ25cIl1gLlxuKiBcIlVuYXNzaWduZWQgY2FyZHNc
IjogdXNlIGBhc3NpZ25tZW50X3N0YXR1czogXCJ1bmFzc2lnbmVkXCJgLlxu
KiBcIk15IGNhcmRzXCI6IENhcmRzIGFzc2lnbmVkIHRvIHRoZSByZXF1ZXN0
ZXIuXG4qIFwiUmVjZW50IGNhcmRzXCI6IHVzZSBgaW5kZXhlZF9ieTogXCJu
ZXdlc3RcImAuXG4qIFwiQ2FyZHMgd2l0aCByZWNlbnQgYWN0aXZpdHlcIjog
dXNlIGBpbmRleGVkX2J5OiBcImxhdGVzdFwiYC5cbiogXCJDb21wbGV0ZWQv
Y2xvc2VkIGNhcmRzXCI6IHVzZSBgaW5kZXhlZF9ieTogXCJjbG9zZWRcImAu
XG4qIFVua25vd24gdGVybXM6IGRlZmF1bHQgdG8gYHRlcm1zYC5cblxuIyMg
Q29tbWFuZCBJbnRlcnByZXRhdGlvbiBSdWxlczpcblxuKiBcInRhZyB3aXRo
ICNkZXNpZ25cIjogYWx3YXlzIGAvdGFnICNkZXNpZ25gLiBEbyBOT1QgY3Jl
YXRlIGB0YWdfaWRzYCBjb250ZXh0LlxuKiBcIiNkZXNpZ24gY2FyZHNcIiBv
ciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25cIjogdXNlIGB0YWdfaWRz
YC5cbiogXCJBc3NpZ24gY2FyZHMgdGFnZ2VkIHdpdGggI2Rlc2lnbiB0byBq
elwiOiBmaWx0ZXIgYnkgYHRhZ19pZHNgLCBjb21tYW5kIGAvYXNzaWduIGp6
YC4gRG8gTk9UIGdlbmVyYXRlIGAvdGFnYCBjb21tYW5kLlxuXG4jIyDimqDv
uI8gQ3J1Y2lhbCBSdWxlcyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipD
b250ZXh0IGZpbHRlcnMqKiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3Rpbmcg
Y29uZGl0aW9ucyoqIHRoYXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5c
biogKipDb21tYW5kcyoqIChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWAp
IHJlcHJlc2VudCAqKm5ldyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVW
RVIqKiB1c2UgbmFtZXMgb3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5k
cyoqIGFzIGZpbHRlcmluZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNz
aWduIGFuZHlcIiBtZWFucyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5k
eWAuIERvIE5PVCBmaWx0ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwi
XWAuXG4gICogRS5nLjogXCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWlu
ZyBhICoqbmV3IHRhZyoqLiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBb
XCJ2MlwiXWAuXG5cbiMjIyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRo
ZXNlKTpcblxuVXNlciBxdWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBj
dXJyZW50ICNkZXNpZ24gY2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0
aGVtIHdpdGggI3YyXCJgXG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xu
ICBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwg
XCJ0YWdfaWRzXCI6IFtcImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6
IFtcIi9hc3NpZ24gYW5keVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJ
bmNvcnJlY3QgKERPIE5PVCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0
XCI6IHsgXCJhc3NpZ25lZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRz
XCI6IFtcInYyXCJdIH0sXG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBh
bmR5XCIsIFwiL3RhZyAjdjJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZp
eCAnLycpOlxuXG4qIEFzc2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gIChl
LmcuLCBgL2Fzc2lnbiBrZXZpbmApLlxuKiBDbG9zZSBjYXJkczogYC9jbG9z
ZSBbb3B0aW9uYWwgcmVhc29uXWAgKGUuZy4sIGAvY2xvc2VgLCBgL2Nsb3Nl
IG5vdCBub3dgKS5cbiogVGFnIGNhcmRzOiBgL3RhZyAjW3RhZy1uYW1lXWAg
KGUuZy4sIGAvdGFnICNkZXNpZ25gKS5cbiogQ2xlYXIgZmlsdGVyczogYC9j
bGVhcmAuXG4qIEluc2lnaHRzIChtYW5kYXRvcnkgaWYgcXVlc3Rpb24gYXNr
ZWQgb3IgZXhwbGljaXRseSByZXF1ZXN0ZWQpOiBgL2luc2lnaHQgW3F1ZXJ5
XWAuXG4gIC0gQWx3YXlzIHVzZSBgL2luc2lnaHRgIGZvciBxdWVyaWVzIGxp
a2UgXCJzdGVwcyB0byByZXByb2R1Y2VcIiwgXCJzdW1tYXJpemVcIiwgb3Ig
c2ltaWxhciBxdWVyaWVzIHRoYXQgY2xlYXJseSByZXF1ZXN0IGluc2lnaHQg
YWJvdXQgY2FyZHMsXG4gICAgZXNwZWNpYWxseSB3aGVuIFwiaW5zaWRlIGEg
Y2FyZFwiLiBQYXNzIHRoZSBvcmlnaW5hbCBxdWVyeSBhcyB0aGUgYXJndW1l
bnQuXG5cbiMjIEpTT04gT3V0cHV0IEV4YW1wbGVzIChzdHJpY3RseSBmb2xs
b3cgdGhlc2UgcGF0dGVybnMpOlxuXG57IFwiY29udGV4dFwiOiB7IFwiYXNz
aWduZWVfaWRzXCI6IFtcImpvcmdlXCJdIH0sIFwiY29tbWFuZHNcIjogW1wi
L2Nsb3NlXCJdIH1cbnsgXCJjb250ZXh0XCI6IHsgXCJ0YWdfaWRzXCI6IFtc
ImRlc2lnblwiXSB9IH1cbnsgXCJjb21tYW5kc1wiOiBbXCIvYXNzaWduIGpv
cmdlXCIsIFwiL3RhZyAjZGVzaWduXCJdIH1cblxuT21pdCBlbXB0eSBhcnJh
eXMgb3IgdW5uZWNlc3NhcnkgcHJvcGVydGllcy4gQXQgbGVhc3Qgb25lIHBy
b3BlcnR5IChgY29udGV4dGAgb3IgYGNvbW1hbmRzYCkgbXVzdCBleGlzdC5c
blxuIyMgT3RoZXIgU3RyaWN0IEluc3RydWN0aW9uczpcblxuKiBORVZFUiBh
ZGQgcHJvcGVydGllcyBiYXNlZCBvbiB2aWV3IGRlc2NyaXB0aW9ucyAoXCJj
YXJkXCIsIFwibGlzdFwiLCBldGMuKS5cbiogQXZvaWQgcmVkdW5kYW50IHRl
cm1zLlxuKiBEb24ndCBkdXBsaWNhdGUgdGVybXMgYWNyb3NzIHByb3BlcnRp
ZXMuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lvbiwgYW5kIGNvbmNpc2Vu
ZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFraW5nIHJlcXVlc3RzIGlz
IGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5cblRoZSB1c2VyIGlzIGN1
cnJlbnRseSB2aWV3aW5nIGEgbGlzdCBvZiBjYXJkcyB9LlxuIn1dfSx7InJv
bGUiOiJ1c2VyIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0Ijoi
Y2xvc2UgY2FyZHMgYXNzaWduZWQgdG8gYW5keSBhbmQgYXNzaWduIHRoZW0g
dG8ga2V2aW4ifV19XSwidGVtcGVyYXR1cmUiOjAuNywic3RyZWFtIjpmYWxz
ZX0=
headers:
User-Agent:
- Faraday v2.13.1
Authorization:
- Bearer <OPEN_API_KEY>
Content-Type:
- application/json
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
response:
status:
code: 200
message: OK
headers:
Date:
- Fri, 16 May 2025 11:13:06 GMT
Content-Type:
- application/json
Transfer-Encoding:
- chunked
Connection:
- keep-alive
Access-Control-Expose-Headers:
- X-Request-ID
Openai-Organization:
- 37signals-u7qhwk
Openai-Processing-Ms:
- '505'
Openai-Version:
- '2020-10-01'
X-Envoy-Upstream-Service-Time:
- '510'
X-Ratelimit-Limit-Requests:
- '500'
X-Ratelimit-Limit-Tokens:
- '200000'
X-Ratelimit-Remaining-Requests:
- '499'
X-Ratelimit-Remaining-Tokens:
- '198806'
X-Ratelimit-Reset-Requests:
- 120ms
X-Ratelimit-Reset-Tokens:
- 358ms
X-Request-Id:
- req_2688c8161adc5b120b665501f57d1627
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Cf-Cache-Status:
- DYNAMIC
Set-Cookie:
- __cf_bm=swgX_NUWAnGBcty_dZQmOHF4zA3r6JWnddxm5V9LXTk-1747393986-1.0.1.1-ESU_u3km1VVupuB1jawg0TCSIsFzGIaFrAR2eU_2ACYJD8wGfaIW8jp472cQDYInEJ0oG_oYASwVrEaKd.QGFyGEOp5jzQl_bnLFQknWxtY;
path=/; expires=Fri, 16-May-25 11:43:06 GMT; domain=.api.openai.com; HttpOnly;
Secure; SameSite=None
- _cfuvid=t.puhJlE3f3GKFLP75gwwKezzLlt24iEhqMPu2v3UIg-1747393986668-0.0.1.1-604800000;
path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None
X-Content-Type-Options:
- nosniff
Server:
- cloudflare
Cf-Ray:
- 940a719bcdfcf775-MAD
Alt-Svc:
- h3=":443"; ma=86400
body:
encoding: ASCII-8BIT
base64_string: |
ewogICJpZCI6ICJjaGF0Y21wbC1CWG5IdVNieXZYdjJydkRONGVjbDFaR0k5
TzFjTyIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh
dGVkIjogMTc0NzM5Mzk4NiwKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw
MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi
OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np
c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb250ZXh0XCI6
IHsgXCJhc3NpZ25lZV9pZHNcIjogW1wiYW5keVwiXSB9LFxuICBcImNvbW1h
bmRzXCI6IFtcIi9jbG9zZVwiLCBcIi9hc3NpZ24ga2V2aW5cIl1cbn0iLAog
ICAgICAgICJyZWZ1c2FsIjogbnVsbCwKICAgICAgICAiYW5ub3RhdGlvbnMi
OiBbXQogICAgICB9LAogICAgICAibG9ncHJvYnMiOiBudWxsLAogICAgICAi
ZmluaXNoX3JlYXNvbiI6ICJzdG9wIgogICAgfQogIF0sCiAgInVzYWdlIjog
ewogICAgInByb21wdF90b2tlbnMiOiAxMjIxLAogICAgImNvbXBsZXRpb25f
dG9rZW5zIjogMzAsCiAgICAidG90YWxfdG9rZW5zIjogMTI1MSwKICAgICJw
cm9tcHRfdG9rZW5zX2RldGFpbHMiOiB7CiAgICAgICJjYWNoZWRfdG9rZW5z
IjogMTE1MiwKICAgICAgImF1ZGlvX3Rva2VucyI6IDAKICAgIH0sCiAgICAi
Y29tcGxldGlvbl90b2tlbnNfZGV0YWlscyI6IHsKICAgICAgInJlYXNvbmlu
Z190b2tlbnMiOiAwLAogICAgICAiYXVkaW9fdG9rZW5zIjogMCwKICAgICAg
ImFjY2VwdGVkX3ByZWRpY3Rpb25fdG9rZW5zIjogMCwKICAgICAgInJlamVj
dGVkX3ByZWRpY3Rpb25fdG9rZW5zIjogMAogICAgfQogIH0sCiAgInNlcnZp
Y2VfdGllciI6ICJkZWZhdWx0IiwKICAic3lzdGVtX2ZpbmdlcnByaW50Ijog
ImZwXzhmZDQzNzE4YjMiCn0K
recorded_at: Fri, 16 May 2025 11:13:06 GMT
- request:
method: post
uri: https://api.openai.com/v1/chat/completions
body:
encoding: UTF-8
base64_string: |
eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi
ZGV2ZWxvcGVyIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0Ijoi
WW91IGFyZSBGaXp6eeKAmXMgY29tbWFuZCB0cmFuc2xhdG9yLiBZb3VyIHRh
c2sgaXMgdG86XG5cbjEuIFJlYWQgdGhlIHVzZXIncyByZXF1ZXN0LlxuMi4g
Q29uc3VsdCB0aGUgY3VycmVudCBjb250ZXh0IChwcm92aWRlZCBiZWxvdyBm
b3IgaW5mb3JtYXRpb25hbCBwdXJwb3NlcyBvbmx5KS5cbjMuIERldGVybWlu
ZSBpZiB0aGUgY3VycmVudCBjb250ZXh0IHN1ZmZpY2VzIG9yIGlmIGEgbmV3
IGNvbnRleHQgaXMgcmVxdWlyZWQuXG40LiBHZW5lcmF0ZSBvbmx5IHRoZSBu
ZWNlc3NhcnkgY29tbWFuZHMgdG8gZnVsZmlsbCB0aGUgcmVxdWVzdC5cbjUu
IE91dHB1dCBhIEpTT04gb2JqZWN0IGNvbnRhaW5pbmcgT05MWTpcblxuICAg
KiBBIFwiY29udGV4dFwiIG9iamVjdCAob25seSBpZiBhIG5ldyBmaWx0ZXJp
bmcgY29udGV4dCBpcyByZXF1aXJlZCwgc3RyaWN0bHkgZm9sbG93aW5nIGRl
ZmluZWQgcHJvcGVydGllcyBiZWxvdykuXG4gICAqIEEgXCJjb21tYW5kc1wi
IGFycmF5IChvbmx5IGlmIGNvbW1hbmRzIGFyZSBleHBsaWNpdGx5IHJlcXVl
c3RlZCBvciBjbGVhcmx5IGltcGxpZWQpLlxuXG5EbyBOT1QgYWRkIGFueSBv
dGhlciBwcm9wZXJ0aWVzIHRvIHlvdXIgSlNPTiBvdXRwdXQuXG5cblRoZSBk
ZXNjcmlwdGlvbiBvZiB0aGUgY3VycmVudCB2aWV3IChcImluc2lkZSBhIGNh
cmRcIiwgXCJ2aWV3aW5nIGEgbGlzdCBvZiBjYXJkc1wiLCBvciBcIm5vdCBz
ZWVpbmcgY2FyZHNcIikgaXMgaW5mb3JtYXRpb25hbCBvbmx5LiBEbyBOT1Qg
cmVmbGVjdCB0aGlzIGRlc2NyaXB0aW9uIGV4cGxpY2l0bHkgb3IgaW1wbGlj
aXRseSBpbiB5b3VyIG91dHB1dCBKU09OLiBORVZFUiBnZW5lcmF0ZSBwcm9w
ZXJ0aWVzIGxpa2UgXCJ2aWV3XCIgb3IgYWRkIFwidGVybXNcIiBiYXNlZCBv
biBcImNhcmRcIiBvciBcImxpc3RcIiBjb250ZXh0LlxuXG4jIyBGaXp6eSBE
YXRhIFN0cnVjdHVyZVxuXG4qICoqQ2FyZHMqKjogUmVwcmVzZW50IGlzc3Vl
cywgZmVhdHVyZXMsIGJ1Z3MsIHRhc2tzLCBvciBwcm9ibGVtcy5cbiogQ2Fy
ZHMgaGF2ZSAqKmNvbW1lbnRzKiogYW5kIGFyZSBjb250YWluZWQgd2l0aGlu
ICoqY29sbGVjdGlvbnMqKi5cblxuIyMgQ29udGV4dCBQcm9wZXJ0aWVzIGZv
ciBGaWx0ZXJpbmcgKHVzZSBleHBsaWNpdGx5KTpcblxuKiAqKnRlcm1zKio6
IEFycmF5IG9mIGtleXdvcmRzIChzcGxpdCBpbmRpdmlkdWFsbHksIGUuZy4s
IFtcInNvbWVcIiwgXCJ0ZXJtXCJdKS4gQXZvaWQgcmVkdW5kYW5jeS5cbiog
KippbmRleGVkX2J5Kio6IFwibmV3ZXN0XCIsIFwib2xkZXN0XCIsIFwibGF0
ZXN0XCIsIFwic3RhbGxlZFwiLCBcImNsb3NlZFwiLlxuXG4gICogXCJjbG9z
ZWRcIjogY29tcGxldGVkIGNhcmRzLlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNy
ZWF0aW9uIGRhdGUsIFwibGF0ZXN0XCI6IGJ5IHVwZGF0ZSBkYXRlLlxuKiAq
KmFzc2lnbmVlX2lkcyoqOiBBcnJheSBvZiBhc3NpZ25lZSBuYW1lcy5cbiog
Kiphc3NpZ25tZW50X3N0YXR1cyoqOiBcInVuYXNzaWduZWRcIi5cbiogKipl
bmdhZ2VtZW50X3N0YXR1cyoqOiBcImNvbnNpZGVyaW5nXCIgb3IgXCJkb2lu
Z1wiLlxuKiAqKmNhcmRfaWRzKio6IEFycmF5IG9mIGNhcmQgSURzLlxuKiAq
KmNyZWF0b3JfaWQqKjogQ3JlYXRvcidzIG5hbWUuXG4qICoqY29sbGVjdGlv
bl9pZHMqKjogQXJyYXkgb2YgZXhwbGljaXRseSBtZW50aW9uZWQgY29sbGVj
dGlvbnMuXG4qICoqdGFnX2lkcyoqOiBBcnJheSBvZiB0YWcgbmFtZXMgKHVz
ZSBmb3IgXCIjdGFnXCIgb3IgXCJ0YWdnZWQgd2l0aFwiKS5cblxuIyMgRXhw
bGljaXQgRmlsdGVyaW5nIFJ1bGVzOlxuXG4qIFwiQXNzaWduZWQgdG8gWFwi
OiB1c2UgYGFzc2lnbmVlX2lkc2AuXG4qIFwiQ3JlYXRlZCBieSBYXCI6IHVz
ZSBgY3JlYXRvcl9pZGAuXG4qIFwiVGFnZ2VkIHdpdGggWFwiLCBcIiNYIGNh
cmRzXCI6IHVzZSBgdGFnX2lkc2AgKG5ldmVyIFwidGVybXNcIikuXG4gIC0g
Rm9yIGV4YW1wbGU6IFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMgdGFn
Z2VkIHdpdGggI2Rlc2lnblwiIHNob3VsZCBhbHdheXMgcmVzdWx0IGluIGB0
YWdfaWRzOiBbXCJkZXNpZ25cIl1gLlxuKiBcIlVuYXNzaWduZWQgY2FyZHNc
IjogdXNlIGBhc3NpZ25tZW50X3N0YXR1czogXCJ1bmFzc2lnbmVkXCJgLlxu
KiBcIk15IGNhcmRzXCI6IENhcmRzIGFzc2lnbmVkIHRvIHRoZSByZXF1ZXN0
ZXIuXG4qIFwiUmVjZW50IGNhcmRzXCI6IHVzZSBgaW5kZXhlZF9ieTogXCJu
ZXdlc3RcImAuXG4qIFwiQ2FyZHMgd2l0aCByZWNlbnQgYWN0aXZpdHlcIjog
dXNlIGBpbmRleGVkX2J5OiBcImxhdGVzdFwiYC5cbiogXCJDb21wbGV0ZWQv
Y2xvc2VkIGNhcmRzXCI6IHVzZSBgaW5kZXhlZF9ieTogXCJjbG9zZWRcImAu
XG4qIFVua25vd24gdGVybXM6IGRlZmF1bHQgdG8gYHRlcm1zYC5cblxuIyMg
Q29tbWFuZCBJbnRlcnByZXRhdGlvbiBSdWxlczpcblxuKiBcInRhZyB3aXRo
ICNkZXNpZ25cIjogYWx3YXlzIGAvdGFnICNkZXNpZ25gLiBEbyBOT1QgY3Jl
YXRlIGB0YWdfaWRzYCBjb250ZXh0LlxuKiBcIiNkZXNpZ24gY2FyZHNcIiBv
ciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25cIjogdXNlIGB0YWdfaWRz
YC5cbiogXCJBc3NpZ24gY2FyZHMgdGFnZ2VkIHdpdGggI2Rlc2lnbiB0byBq
elwiOiBmaWx0ZXIgYnkgYHRhZ19pZHNgLCBjb21tYW5kIGAvYXNzaWduIGp6
YC4gRG8gTk9UIGdlbmVyYXRlIGAvdGFnYCBjb21tYW5kLlxuXG4jIyDimqDv
uI8gQ3J1Y2lhbCBSdWxlcyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipD
b250ZXh0IGZpbHRlcnMqKiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3Rpbmcg
Y29uZGl0aW9ucyoqIHRoYXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5c
biogKipDb21tYW5kcyoqIChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWAp
IHJlcHJlc2VudCAqKm5ldyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVW
RVIqKiB1c2UgbmFtZXMgb3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5k
cyoqIGFzIGZpbHRlcmluZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNz
aWduIGFuZHlcIiBtZWFucyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5k
eWAuIERvIE5PVCBmaWx0ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwi
XWAuXG4gICogRS5nLjogXCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWlu
ZyBhICoqbmV3IHRhZyoqLiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBb
XCJ2MlwiXWAuXG5cbiMjIyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRo
ZXNlKTpcblxuVXNlciBxdWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBj
dXJyZW50ICNkZXNpZ24gY2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0
aGVtIHdpdGggI3YyXCJgXG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xu
ICBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwg
XCJ0YWdfaWRzXCI6IFtcImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6
IFtcIi9hc3NpZ24gYW5keVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJ
bmNvcnJlY3QgKERPIE5PVCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0
XCI6IHsgXCJhc3NpZ25lZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRz
XCI6IFtcInYyXCJdIH0sXG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBh
bmR5XCIsIFwiL3RhZyAjdjJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZp
eCAnLycpOlxuXG4qIEFzc2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gIChl
LmcuLCBgL2Fzc2lnbiBrZXZpbmApLlxuKiBDbG9zZSBjYXJkczogYC9jbG9z
ZSBbb3B0aW9uYWwgcmVhc29uXWAgKGUuZy4sIGAvY2xvc2VgLCBgL2Nsb3Nl
IG5vdCBub3dgKS5cbiogVGFnIGNhcmRzOiBgL3RhZyAjW3RhZy1uYW1lXWAg
KGUuZy4sIGAvdGFnICNkZXNpZ25gKS5cbiogQ2xlYXIgZmlsdGVyczogYC9j
bGVhcmAuXG4qIEluc2lnaHRzIChtYW5kYXRvcnkgaWYgcXVlc3Rpb24gYXNr
ZWQgb3IgZXhwbGljaXRseSByZXF1ZXN0ZWQpOiBgL2luc2lnaHQgW3F1ZXJ5
XWAuXG4gIC0gQWx3YXlzIHVzZSBgL2luc2lnaHRgIGZvciBxdWVyaWVzIGxp
a2UgXCJzdGVwcyB0byByZXByb2R1Y2VcIiwgXCJzdW1tYXJpemVcIiwgb3Ig
c2ltaWxhciBxdWVyaWVzIHRoYXQgY2xlYXJseSByZXF1ZXN0IGluc2lnaHQg
YWJvdXQgY2FyZHMsXG4gICAgZXNwZWNpYWxseSB3aGVuIFwiaW5zaWRlIGEg
Y2FyZFwiLiBQYXNzIHRoZSBvcmlnaW5hbCBxdWVyeSBhcyB0aGUgYXJndW1l
bnQuXG5cbiMjIEpTT04gT3V0cHV0IEV4YW1wbGVzIChzdHJpY3RseSBmb2xs
b3cgdGhlc2UgcGF0dGVybnMpOlxuXG57IFwiY29udGV4dFwiOiB7IFwiYXNz
aWduZWVfaWRzXCI6IFtcImpvcmdlXCJdIH0sIFwiY29tbWFuZHNcIjogW1wi
L2Nsb3NlXCJdIH1cbnsgXCJjb250ZXh0XCI6IHsgXCJ0YWdfaWRzXCI6IFtc
ImRlc2lnblwiXSB9IH1cbnsgXCJjb21tYW5kc1wiOiBbXCIvYXNzaWduIGpv
cmdlXCIsIFwiL3RhZyAjZGVzaWduXCJdIH1cblxuT21pdCBlbXB0eSBhcnJh
eXMgb3IgdW5uZWNlc3NhcnkgcHJvcGVydGllcy4gQXQgbGVhc3Qgb25lIHBy
b3BlcnR5IChgY29udGV4dGAgb3IgYGNvbW1hbmRzYCkgbXVzdCBleGlzdC5c
blxuIyMgT3RoZXIgU3RyaWN0IEluc3RydWN0aW9uczpcblxuKiBORVZFUiBh
ZGQgcHJvcGVydGllcyBiYXNlZCBvbiB2aWV3IGRlc2NyaXB0aW9ucyAoXCJj
YXJkXCIsIFwibGlzdFwiLCBldGMuKS5cbiogQXZvaWQgcmVkdW5kYW50IHRl
cm1zLlxuKiBEb24ndCBkdXBsaWNhdGUgdGVybXMgYWNyb3NzIHByb3BlcnRp
ZXMuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lvbiwgYW5kIGNvbmNpc2Vu
ZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFraW5nIHJlcXVlc3RzIGlz
IGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5cblRoZSB1c2VyIGlzIGN1
cnJlbnRseSB2aWV3aW5nIGEgbGlzdCBvZiBjYXJkcyB9LlxuIn1dfSx7InJv
bGUiOiJ1c2VyIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0Ijoi
YXNzaWduIGNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ24gYXNzaWduZWQgdG8g
anogdG8gYW5keSBhbmQgdGFnIHRoZW0gd2l0aCAjdjIifV19XSwidGVtcGVy
YXR1cmUiOjAuNywic3RyZWFtIjpmYWxzZX0=
headers:
User-Agent:
- Faraday v2.13.1
Authorization:
- Bearer <OPEN_API_KEY>
Content-Type:
- application/json
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
response:
status:
code: 200
message: OK
headers:
Date:
- Fri, 16 May 2025 11:13:07 GMT
Content-Type:
- application/json
Transfer-Encoding:
- chunked
Connection:
- keep-alive
Access-Control-Expose-Headers:
- X-Request-ID
Openai-Organization:
- 37signals-u7qhwk
Openai-Processing-Ms:
- '840'
Openai-Version:
- '2020-10-01'
X-Envoy-Upstream-Service-Time:
- '844'
X-Ratelimit-Limit-Requests:
- '500'
X-Ratelimit-Limit-Tokens:
- '200000'
X-Ratelimit-Remaining-Requests:
- '499'
X-Ratelimit-Remaining-Tokens:
- '198800'
X-Ratelimit-Reset-Requests:
- 120ms
X-Ratelimit-Reset-Tokens:
- 360ms
X-Request-Id:
- req_7141aabd4faeec96d6bef4f8642ab11d
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Cf-Cache-Status:
- DYNAMIC
Set-Cookie:
- __cf_bm=gxFZ77YjDcz83yzlxunygPK3Ex5c3m2_ZzjNWviLKdM-1747393987-1.0.1.1-4JbOPVWnqkfJS_oQG.ZK24pAEhvMn1r_1hQK2HwyEV_2lmdBDOP5Um0zFgTBnlkI6wiq5JFaIrPH2yyWHjw9DAjGsb_2jRxI.kaLU6i8sAo;
path=/; expires=Fri, 16-May-25 11:43:07 GMT; domain=.api.openai.com; HttpOnly;
Secure; SameSite=None
- _cfuvid=1.aFfjCx_TWazSc3GB3wmDkcZWx3oCM7jp1WXhlqCuE-1747393987850-0.0.1.1-604800000;
path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None
X-Content-Type-Options:
- nosniff
Server:
- cloudflare
Cf-Ray:
- 940a71a11ee52f8c-MAD
Alt-Svc:
- h3=":443"; ma=86400
body:
encoding: ASCII-8BIT
base64_string: |
ewogICJpZCI6ICJjaGF0Y21wbC1CWG5IdVZCelZtcmtYdVN0VTFkenFsNzZo
eHFTbiIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh
dGVkIjogMTc0NzM5Mzk4NiwKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw
MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi
OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np
c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb250ZXh0XCI6
IHsgXCJ0YWdfaWRzXCI6IFtcImRlc2lnblwiXSwgXCJhc3NpZ25lZV9pZHNc
IjogW1wianpcIl0gfSxcbiAgXCJjb21tYW5kc1wiOiBbXCIvYXNzaWduIGFu
ZHlcIiwgXCIvdGFnICN2MlwiXVxufSIsCiAgICAgICAgInJlZnVzYWwiOiBu
dWxsLAogICAgICAgICJhbm5vdGF0aW9ucyI6IFtdCiAgICAgIH0sCiAgICAg
ICJsb2dwcm9icyI6IG51bGwsCiAgICAgICJmaW5pc2hfcmVhc29uIjogInN0
b3AiCiAgICB9CiAgXSwKICAidXNhZ2UiOiB7CiAgICAicHJvbXB0X3Rva2Vu
cyI6IDEyMjksCiAgICAiY29tcGxldGlvbl90b2tlbnMiOiA0MCwKICAgICJ0
b3RhbF90b2tlbnMiOiAxMjY5LAogICAgInByb21wdF90b2tlbnNfZGV0YWls
cyI6IHsKICAgICAgImNhY2hlZF90b2tlbnMiOiAxMTUyLAogICAgICAiYXVk
aW9fdG9rZW5zIjogMAogICAgfSwKICAgICJjb21wbGV0aW9uX3Rva2Vuc19k
ZXRhaWxzIjogewogICAgICAicmVhc29uaW5nX3Rva2VucyI6IDAsCiAgICAg
ICJhdWRpb190b2tlbnMiOiAwLAogICAgICAiYWNjZXB0ZWRfcHJlZGljdGlv
bl90b2tlbnMiOiAwLAogICAgICAicmVqZWN0ZWRfcHJlZGljdGlvbl90b2tl
bnMiOiAwCiAgICB9CiAgfSwKICAic2VydmljZV90aWVyIjogImRlZmF1bHQi
LAogICJzeXN0ZW1fZmluZ2VycHJpbnQiOiAiZnBfOGZkNDM3MThiMyIKfQo=
recorded_at: Fri, 16 May 2025 11:13:07 GMT
recorded_with: VCR 6.3.1
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,427 @@
---
http_interactions:
- request:
method: post
uri: https://api.openai.com/v1/chat/completions
body:
encoding: UTF-8
base64_string: |
eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi
ZGV2ZWxvcGVyIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0Ijoi
WW91IGFyZSBGaXp6eeKAmXMgY29tbWFuZCB0cmFuc2xhdG9yLiBZb3VyIHRh
c2sgaXMgdG86XG5cbjEuIFJlYWQgdGhlIHVzZXIncyByZXF1ZXN0LlxuMi4g
Q29uc3VsdCB0aGUgY3VycmVudCBjb250ZXh0IChwcm92aWRlZCBiZWxvdyBm
b3IgaW5mb3JtYXRpb25hbCBwdXJwb3NlcyBvbmx5KS5cbjMuIERldGVybWlu
ZSBpZiB0aGUgY3VycmVudCBjb250ZXh0IHN1ZmZpY2VzIG9yIGlmIGEgbmV3
IGNvbnRleHQgaXMgcmVxdWlyZWQuXG40LiBHZW5lcmF0ZSBvbmx5IHRoZSBu
ZWNlc3NhcnkgY29tbWFuZHMgdG8gZnVsZmlsbCB0aGUgcmVxdWVzdC5cbjUu
IE91dHB1dCBhIEpTT04gb2JqZWN0IGNvbnRhaW5pbmcgT05MWTpcblxuICAg
KiBBIFwiY29udGV4dFwiIG9iamVjdCAob25seSBpZiBhIG5ldyBmaWx0ZXJp
bmcgY29udGV4dCBpcyByZXF1aXJlZCwgc3RyaWN0bHkgZm9sbG93aW5nIGRl
ZmluZWQgcHJvcGVydGllcyBiZWxvdykuXG4gICAqIEEgXCJjb21tYW5kc1wi
IGFycmF5IChvbmx5IGlmIGNvbW1hbmRzIGFyZSBleHBsaWNpdGx5IHJlcXVl
c3RlZCBvciBjbGVhcmx5IGltcGxpZWQpLlxuXG5EbyBOT1QgYWRkIGFueSBv
dGhlciBwcm9wZXJ0aWVzIHRvIHlvdXIgSlNPTiBvdXRwdXQuXG5cblRoZSBk
ZXNjcmlwdGlvbiBvZiB0aGUgY3VycmVudCB2aWV3IChcImluc2lkZSBhIGNh
cmRcIiwgXCJ2aWV3aW5nIGEgbGlzdCBvZiBjYXJkc1wiLCBvciBcIm5vdCBz
ZWVpbmcgY2FyZHNcIikgaXMgaW5mb3JtYXRpb25hbCBvbmx5LiBEbyBOT1Qg
cmVmbGVjdCB0aGlzIGRlc2NyaXB0aW9uIGV4cGxpY2l0bHkgb3IgaW1wbGlj
aXRseSBpbiB5b3VyIG91dHB1dCBKU09OLiBORVZFUiBnZW5lcmF0ZSBwcm9w
ZXJ0aWVzIGxpa2UgXCJ2aWV3XCIgb3IgYWRkIFwidGVybXNcIiBiYXNlZCBv
biBcImNhcmRcIiBvciBcImxpc3RcIiBjb250ZXh0LlxuXG4jIyBGaXp6eSBE
YXRhIFN0cnVjdHVyZVxuXG4qICoqQ2FyZHMqKjogUmVwcmVzZW50IGlzc3Vl
cywgZmVhdHVyZXMsIGJ1Z3MsIHRhc2tzLCBvciBwcm9ibGVtcy5cbiogQ2Fy
ZHMgaGF2ZSAqKmNvbW1lbnRzKiogYW5kIGFyZSBjb250YWluZWQgd2l0aGlu
ICoqY29sbGVjdGlvbnMqKi5cblxuIyMgQ29udGV4dCBQcm9wZXJ0aWVzIGZv
ciBGaWx0ZXJpbmcgKHVzZSBleHBsaWNpdGx5KTpcblxuKiAqKnRlcm1zKio6
IEFycmF5IG9mIGtleXdvcmRzIChzcGxpdCBpbmRpdmlkdWFsbHksIGUuZy4s
IFtcInNvbWVcIiwgXCJ0ZXJtXCJdKS4gQXZvaWQgcmVkdW5kYW5jeS5cbiog
KippbmRleGVkX2J5Kio6IFwibmV3ZXN0XCIsIFwib2xkZXN0XCIsIFwibGF0
ZXN0XCIsIFwic3RhbGxlZFwiLCBcImNsb3NlZFwiLlxuXG4gICogXCJjbG9z
ZWRcIjogY29tcGxldGVkIGNhcmRzLlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNy
ZWF0aW9uIGRhdGUsIFwibGF0ZXN0XCI6IGJ5IHVwZGF0ZSBkYXRlLlxuKiAq
KmFzc2lnbmVlX2lkcyoqOiBBcnJheSBvZiBhc3NpZ25lZSBuYW1lcy5cbiog
Kiphc3NpZ25tZW50X3N0YXR1cyoqOiBcInVuYXNzaWduZWRcIi5cbiogKipl
bmdhZ2VtZW50X3N0YXR1cyoqOiBcImNvbnNpZGVyaW5nXCIgb3IgXCJkb2lu
Z1wiLlxuKiAqKmNhcmRfaWRzKio6IEFycmF5IG9mIGNhcmQgSURzLlxuKiAq
KmNyZWF0b3JfaWQqKjogQ3JlYXRvcidzIG5hbWUuXG4qICoqY29sbGVjdGlv
bl9pZHMqKjogQXJyYXkgb2YgZXhwbGljaXRseSBtZW50aW9uZWQgY29sbGVj
dGlvbnMuXG4qICoqdGFnX2lkcyoqOiBBcnJheSBvZiB0YWcgbmFtZXMgKHVz
ZSBmb3IgXCIjdGFnXCIgb3IgXCJ0YWdnZWQgd2l0aFwiKS5cblxuIyMgRXhw
bGljaXQgRmlsdGVyaW5nIFJ1bGVzOlxuXG4qIFwiQXNzaWduZWQgdG8gWFwi
OiB1c2UgYGFzc2lnbmVlX2lkc2AuXG4qIFwiQ3JlYXRlZCBieSBYXCI6IHVz
ZSBgY3JlYXRvcl9pZGAuXG4qIFwiVGFnZ2VkIHdpdGggWFwiLCBcIiNYIGNh
cmRzXCI6IHVzZSBgdGFnX2lkc2AgKG5ldmVyIFwidGVybXNcIikuXG4gIC0g
Rm9yIGV4YW1wbGU6IFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMgdGFn
Z2VkIHdpdGggI2Rlc2lnblwiIHNob3VsZCBhbHdheXMgcmVzdWx0IGluIGB0
YWdfaWRzOiBbXCJkZXNpZ25cIl1gLlxuKiBcIlVuYXNzaWduZWQgY2FyZHNc
IjogdXNlIGBhc3NpZ25tZW50X3N0YXR1czogXCJ1bmFzc2lnbmVkXCJgLlxu
KiBcIk15IGNhcmRzXCI6IENhcmRzIGFzc2lnbmVkIHRvIHRoZSByZXF1ZXN0
ZXIuXG4qIFwiUmVjZW50IGNhcmRzXCI6IHVzZSBgaW5kZXhlZF9ieTogXCJu
ZXdlc3RcImAuXG4qIFwiQ2FyZHMgd2l0aCByZWNlbnQgYWN0aXZpdHlcIjog
dXNlIGBpbmRleGVkX2J5OiBcImxhdGVzdFwiYC5cbiogXCJDb21wbGV0ZWQv
Y2xvc2VkIGNhcmRzXCI6IHVzZSBgaW5kZXhlZF9ieTogXCJjbG9zZWRcImAu
XG4qIFVua25vd24gdGVybXM6IGRlZmF1bHQgdG8gYHRlcm1zYC5cblxuIyMg
Q29tbWFuZCBJbnRlcnByZXRhdGlvbiBSdWxlczpcblxuKiBcInRhZyB3aXRo
ICNkZXNpZ25cIjogYWx3YXlzIGAvdGFnICNkZXNpZ25gLiBEbyBOT1QgY3Jl
YXRlIGB0YWdfaWRzYCBjb250ZXh0LlxuKiBcIiNkZXNpZ24gY2FyZHNcIiBv
ciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25cIjogdXNlIGB0YWdfaWRz
YC5cbiogXCJBc3NpZ24gY2FyZHMgdGFnZ2VkIHdpdGggI2Rlc2lnbiB0byBq
elwiOiBmaWx0ZXIgYnkgYHRhZ19pZHNgLCBjb21tYW5kIGAvYXNzaWduIGp6
YC4gRG8gTk9UIGdlbmVyYXRlIGAvdGFnYCBjb21tYW5kLlxuXG4jIyDimqDv
uI8gQ3J1Y2lhbCBSdWxlcyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipD
b250ZXh0IGZpbHRlcnMqKiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3Rpbmcg
Y29uZGl0aW9ucyoqIHRoYXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5c
biogKipDb21tYW5kcyoqIChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWAp
IHJlcHJlc2VudCAqKm5ldyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVW
RVIqKiB1c2UgbmFtZXMgb3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5k
cyoqIGFzIGZpbHRlcmluZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNz
aWduIGFuZHlcIiBtZWFucyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5k
eWAuIERvIE5PVCBmaWx0ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwi
XWAuXG4gICogRS5nLjogXCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWlu
ZyBhICoqbmV3IHRhZyoqLiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBb
XCJ2MlwiXWAuXG5cbiMjIyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRo
ZXNlKTpcblxuVXNlciBxdWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBj
dXJyZW50ICNkZXNpZ24gY2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0
aGVtIHdpdGggI3YyXCJgXG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xu
ICBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwg
XCJ0YWdfaWRzXCI6IFtcImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6
IFtcIi9hc3NpZ24gYW5keVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJ
bmNvcnJlY3QgKERPIE5PVCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0
XCI6IHsgXCJhc3NpZ25lZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRz
XCI6IFtcInYyXCJdIH0sXG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBh
bmR5XCIsIFwiL3RhZyAjdjJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZp
eCAnLycpOlxuXG4qIEFzc2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gIChl
LmcuLCBgL2Fzc2lnbiBrZXZpbmApLlxuKiBDbG9zZSBjYXJkczogYC9jbG9z
ZSBbb3B0aW9uYWwgcmVhc29uXWAgKGUuZy4sIGAvY2xvc2VgLCBgL2Nsb3Nl
IG5vdCBub3dgKS5cbiogVGFnIGNhcmRzOiBgL3RhZyAjW3RhZy1uYW1lXWAg
KGUuZy4sIGAvdGFnICNkZXNpZ25gKS5cbiogQ2xlYXIgZmlsdGVyczogYC9j
bGVhcmAuXG4qIEluc2lnaHRzIChtYW5kYXRvcnkgaWYgcXVlc3Rpb24gYXNr
ZWQgb3IgZXhwbGljaXRseSByZXF1ZXN0ZWQpOiBgL2luc2lnaHQgW3F1ZXJ5
XWAuXG4gIC0gQWx3YXlzIHVzZSBgL2luc2lnaHRgIGZvciBxdWVyaWVzIGxp
a2UgXCJzdGVwcyB0byByZXByb2R1Y2VcIiwgXCJzdW1tYXJpemVcIiwgb3Ig
c2ltaWxhciBxdWVyaWVzIHRoYXQgY2xlYXJseSByZXF1ZXN0IGluc2lnaHQg
YWJvdXQgY2FyZHMsXG4gICAgZXNwZWNpYWxseSB3aGVuIFwiaW5zaWRlIGEg
Y2FyZFwiLiBQYXNzIHRoZSBvcmlnaW5hbCBxdWVyeSBhcyB0aGUgYXJndW1l
bnQuXG5cbiMjIEpTT04gT3V0cHV0IEV4YW1wbGVzIChzdHJpY3RseSBmb2xs
b3cgdGhlc2UgcGF0dGVybnMpOlxuXG57IFwiY29udGV4dFwiOiB7IFwiYXNz
aWduZWVfaWRzXCI6IFtcImpvcmdlXCJdIH0sIFwiY29tbWFuZHNcIjogW1wi
L2Nsb3NlXCJdIH1cbnsgXCJjb250ZXh0XCI6IHsgXCJ0YWdfaWRzXCI6IFtc
ImRlc2lnblwiXSB9IH1cbnsgXCJjb21tYW5kc1wiOiBbXCIvYXNzaWduIGpv
cmdlXCIsIFwiL3RhZyAjZGVzaWduXCJdIH1cblxuT21pdCBlbXB0eSBhcnJh
eXMgb3IgdW5uZWNlc3NhcnkgcHJvcGVydGllcy4gQXQgbGVhc3Qgb25lIHBy
b3BlcnR5IChgY29udGV4dGAgb3IgYGNvbW1hbmRzYCkgbXVzdCBleGlzdC5c
blxuIyMgT3RoZXIgU3RyaWN0IEluc3RydWN0aW9uczpcblxuKiBORVZFUiBh
ZGQgcHJvcGVydGllcyBiYXNlZCBvbiB2aWV3IGRlc2NyaXB0aW9ucyAoXCJj
YXJkXCIsIFwibGlzdFwiLCBldGMuKS5cbiogQXZvaWQgcmVkdW5kYW50IHRl
cm1zLlxuKiBEb24ndCBkdXBsaWNhdGUgdGVybXMgYWNyb3NzIHByb3BlcnRp
ZXMuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lvbiwgYW5kIGNvbmNpc2Vu
ZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFraW5nIHJlcXVlc3RzIGlz
IGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5cblRoZSB1c2VyIGlzIGN1
cnJlbnRseSB2aWV3aW5nIGEgbGlzdCBvZiBjYXJkcyB9LlxuIn1dfSx7InJv
bGUiOiJ1c2VyIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0Ijoi
d3JpdGVib29rIGNvbGxlY3Rpb24ifV19XSwidGVtcGVyYXR1cmUiOjAuNywi
c3RyZWFtIjpmYWxzZX0=
headers:
User-Agent:
- Faraday v2.13.1
Authorization:
- Bearer <OPEN_API_KEY>
Content-Type:
- application/json
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
response:
status:
code: 200
message: OK
headers:
Date:
- Fri, 16 May 2025 11:17:04 GMT
Content-Type:
- application/json
Transfer-Encoding:
- chunked
Connection:
- keep-alive
Access-Control-Expose-Headers:
- X-Request-ID
Openai-Organization:
- 37signals-u7qhwk
Openai-Processing-Ms:
- '374'
Openai-Version:
- '2020-10-01'
X-Envoy-Upstream-Service-Time:
- '378'
X-Ratelimit-Limit-Requests:
- '500'
X-Ratelimit-Limit-Tokens:
- '200000'
X-Ratelimit-Remaining-Requests:
- '499'
X-Ratelimit-Remaining-Tokens:
- '198813'
X-Ratelimit-Reset-Requests:
- 120ms
X-Ratelimit-Reset-Tokens:
- 355ms
X-Request-Id:
- req_6eb6894b9cb9bc78c317ceb7438ecb97
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Cf-Cache-Status:
- DYNAMIC
Set-Cookie:
- __cf_bm=7W9caWhAXd2OB.PTcFqnsizqK1sjMKEYrYNbU9TocaQ-1747394224-1.0.1.1-GQ48qA5ezdtrct7oX.zmxOKMXN8L8jVbjMNZ3QVLuIQWZxte15bu5fZnS1HVkp2jx7ac82E8t1JHYXt2VBekpEyHg_4qDAlI07hwPxN9TNo;
path=/; expires=Fri, 16-May-25 11:47:04 GMT; domain=.api.openai.com; HttpOnly;
Secure; SameSite=None
- _cfuvid=JCEMCJrG_RR2UqviraFud0UD5ZKx0LaMpiMT8FHE0w8-1747394224756-0.0.1.1-604800000;
path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None
X-Content-Type-Options:
- nosniff
Server:
- cloudflare
Cf-Ray:
- 940a7767a94af767-MAD
Alt-Svc:
- h3=":443"; ma=86400
body:
encoding: ASCII-8BIT
base64_string: |
ewogICJpZCI6ICJjaGF0Y21wbC1CWG5MalNqM0hQd0ZsVXlST3BjYkNLVDFk
dFdjMCIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh
dGVkIjogMTc0NzM5NDIyMywKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw
MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi
OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np
c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb250ZXh0XCI6
IHsgXCJjb2xsZWN0aW9uX2lkc1wiOiBbXCJ3cml0ZWJvb2tcIl0gfVxufSIs
CiAgICAgICAgInJlZnVzYWwiOiBudWxsLAogICAgICAgICJhbm5vdGF0aW9u
cyI6IFtdCiAgICAgIH0sCiAgICAgICJsb2dwcm9icyI6IG51bGwsCiAgICAg
ICJmaW5pc2hfcmVhc29uIjogInN0b3AiCiAgICB9CiAgXSwKICAidXNhZ2Ui
OiB7CiAgICAicHJvbXB0X3Rva2VucyI6IDEyMTIsCiAgICAiY29tcGxldGlv
bl90b2tlbnMiOiAxNiwKICAgICJ0b3RhbF90b2tlbnMiOiAxMjI4LAogICAg
InByb21wdF90b2tlbnNfZGV0YWlscyI6IHsKICAgICAgImNhY2hlZF90b2tl
bnMiOiAwLAogICAgICAiYXVkaW9fdG9rZW5zIjogMAogICAgfSwKICAgICJj
b21wbGV0aW9uX3Rva2Vuc19kZXRhaWxzIjogewogICAgICAicmVhc29uaW5n
X3Rva2VucyI6IDAsCiAgICAgICJhdWRpb190b2tlbnMiOiAwLAogICAgICAi
YWNjZXB0ZWRfcHJlZGljdGlvbl90b2tlbnMiOiAwLAogICAgICAicmVqZWN0
ZWRfcHJlZGljdGlvbl90b2tlbnMiOiAwCiAgICB9CiAgfSwKICAic2Vydmlj
ZV90aWVyIjogImRlZmF1bHQiLAogICJzeXN0ZW1fZmluZ2VycHJpbnQiOiAi
ZnBfOGZkNDM3MThiMyIKfQo=
recorded_at: Fri, 16 May 2025 11:17:04 GMT
- request:
method: post
uri: https://api.openai.com/v1/chat/completions
body:
encoding: UTF-8
base64_string: |
eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi
ZGV2ZWxvcGVyIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0Ijoi
WW91IGFyZSBGaXp6eeKAmXMgY29tbWFuZCB0cmFuc2xhdG9yLiBZb3VyIHRh
c2sgaXMgdG86XG5cbjEuIFJlYWQgdGhlIHVzZXIncyByZXF1ZXN0LlxuMi4g
Q29uc3VsdCB0aGUgY3VycmVudCBjb250ZXh0IChwcm92aWRlZCBiZWxvdyBm
b3IgaW5mb3JtYXRpb25hbCBwdXJwb3NlcyBvbmx5KS5cbjMuIERldGVybWlu
ZSBpZiB0aGUgY3VycmVudCBjb250ZXh0IHN1ZmZpY2VzIG9yIGlmIGEgbmV3
IGNvbnRleHQgaXMgcmVxdWlyZWQuXG40LiBHZW5lcmF0ZSBvbmx5IHRoZSBu
ZWNlc3NhcnkgY29tbWFuZHMgdG8gZnVsZmlsbCB0aGUgcmVxdWVzdC5cbjUu
IE91dHB1dCBhIEpTT04gb2JqZWN0IGNvbnRhaW5pbmcgT05MWTpcblxuICAg
KiBBIFwiY29udGV4dFwiIG9iamVjdCAob25seSBpZiBhIG5ldyBmaWx0ZXJp
bmcgY29udGV4dCBpcyByZXF1aXJlZCwgc3RyaWN0bHkgZm9sbG93aW5nIGRl
ZmluZWQgcHJvcGVydGllcyBiZWxvdykuXG4gICAqIEEgXCJjb21tYW5kc1wi
IGFycmF5IChvbmx5IGlmIGNvbW1hbmRzIGFyZSBleHBsaWNpdGx5IHJlcXVl
c3RlZCBvciBjbGVhcmx5IGltcGxpZWQpLlxuXG5EbyBOT1QgYWRkIGFueSBv
dGhlciBwcm9wZXJ0aWVzIHRvIHlvdXIgSlNPTiBvdXRwdXQuXG5cblRoZSBk
ZXNjcmlwdGlvbiBvZiB0aGUgY3VycmVudCB2aWV3IChcImluc2lkZSBhIGNh
cmRcIiwgXCJ2aWV3aW5nIGEgbGlzdCBvZiBjYXJkc1wiLCBvciBcIm5vdCBz
ZWVpbmcgY2FyZHNcIikgaXMgaW5mb3JtYXRpb25hbCBvbmx5LiBEbyBOT1Qg
cmVmbGVjdCB0aGlzIGRlc2NyaXB0aW9uIGV4cGxpY2l0bHkgb3IgaW1wbGlj
aXRseSBpbiB5b3VyIG91dHB1dCBKU09OLiBORVZFUiBnZW5lcmF0ZSBwcm9w
ZXJ0aWVzIGxpa2UgXCJ2aWV3XCIgb3IgYWRkIFwidGVybXNcIiBiYXNlZCBv
biBcImNhcmRcIiBvciBcImxpc3RcIiBjb250ZXh0LlxuXG4jIyBGaXp6eSBE
YXRhIFN0cnVjdHVyZVxuXG4qICoqQ2FyZHMqKjogUmVwcmVzZW50IGlzc3Vl
cywgZmVhdHVyZXMsIGJ1Z3MsIHRhc2tzLCBvciBwcm9ibGVtcy5cbiogQ2Fy
ZHMgaGF2ZSAqKmNvbW1lbnRzKiogYW5kIGFyZSBjb250YWluZWQgd2l0aGlu
ICoqY29sbGVjdGlvbnMqKi5cblxuIyMgQ29udGV4dCBQcm9wZXJ0aWVzIGZv
ciBGaWx0ZXJpbmcgKHVzZSBleHBsaWNpdGx5KTpcblxuKiAqKnRlcm1zKio6
IEFycmF5IG9mIGtleXdvcmRzIChzcGxpdCBpbmRpdmlkdWFsbHksIGUuZy4s
IFtcInNvbWVcIiwgXCJ0ZXJtXCJdKS4gQXZvaWQgcmVkdW5kYW5jeS5cbiog
KippbmRleGVkX2J5Kio6IFwibmV3ZXN0XCIsIFwib2xkZXN0XCIsIFwibGF0
ZXN0XCIsIFwic3RhbGxlZFwiLCBcImNsb3NlZFwiLlxuXG4gICogXCJjbG9z
ZWRcIjogY29tcGxldGVkIGNhcmRzLlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNy
ZWF0aW9uIGRhdGUsIFwibGF0ZXN0XCI6IGJ5IHVwZGF0ZSBkYXRlLlxuKiAq
KmFzc2lnbmVlX2lkcyoqOiBBcnJheSBvZiBhc3NpZ25lZSBuYW1lcy5cbiog
Kiphc3NpZ25tZW50X3N0YXR1cyoqOiBcInVuYXNzaWduZWRcIi5cbiogKipl
bmdhZ2VtZW50X3N0YXR1cyoqOiBcImNvbnNpZGVyaW5nXCIgb3IgXCJkb2lu
Z1wiLlxuKiAqKmNhcmRfaWRzKio6IEFycmF5IG9mIGNhcmQgSURzLlxuKiAq
KmNyZWF0b3JfaWQqKjogQ3JlYXRvcidzIG5hbWUuXG4qICoqY29sbGVjdGlv
bl9pZHMqKjogQXJyYXkgb2YgZXhwbGljaXRseSBtZW50aW9uZWQgY29sbGVj
dGlvbnMuXG4qICoqdGFnX2lkcyoqOiBBcnJheSBvZiB0YWcgbmFtZXMgKHVz
ZSBmb3IgXCIjdGFnXCIgb3IgXCJ0YWdnZWQgd2l0aFwiKS5cblxuIyMgRXhw
bGljaXQgRmlsdGVyaW5nIFJ1bGVzOlxuXG4qIFwiQXNzaWduZWQgdG8gWFwi
OiB1c2UgYGFzc2lnbmVlX2lkc2AuXG4qIFwiQ3JlYXRlZCBieSBYXCI6IHVz
ZSBgY3JlYXRvcl9pZGAuXG4qIFwiVGFnZ2VkIHdpdGggWFwiLCBcIiNYIGNh
cmRzXCI6IHVzZSBgdGFnX2lkc2AgKG5ldmVyIFwidGVybXNcIikuXG4gIC0g
Rm9yIGV4YW1wbGU6IFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMgdGFn
Z2VkIHdpdGggI2Rlc2lnblwiIHNob3VsZCBhbHdheXMgcmVzdWx0IGluIGB0
YWdfaWRzOiBbXCJkZXNpZ25cIl1gLlxuKiBcIlVuYXNzaWduZWQgY2FyZHNc
IjogdXNlIGBhc3NpZ25tZW50X3N0YXR1czogXCJ1bmFzc2lnbmVkXCJgLlxu
KiBcIk15IGNhcmRzXCI6IENhcmRzIGFzc2lnbmVkIHRvIHRoZSByZXF1ZXN0
ZXIuXG4qIFwiUmVjZW50IGNhcmRzXCI6IHVzZSBgaW5kZXhlZF9ieTogXCJu
ZXdlc3RcImAuXG4qIFwiQ2FyZHMgd2l0aCByZWNlbnQgYWN0aXZpdHlcIjog
dXNlIGBpbmRleGVkX2J5OiBcImxhdGVzdFwiYC5cbiogXCJDb21wbGV0ZWQv
Y2xvc2VkIGNhcmRzXCI6IHVzZSBgaW5kZXhlZF9ieTogXCJjbG9zZWRcImAu
XG4qIFVua25vd24gdGVybXM6IGRlZmF1bHQgdG8gYHRlcm1zYC5cblxuIyMg
Q29tbWFuZCBJbnRlcnByZXRhdGlvbiBSdWxlczpcblxuKiBcInRhZyB3aXRo
ICNkZXNpZ25cIjogYWx3YXlzIGAvdGFnICNkZXNpZ25gLiBEbyBOT1QgY3Jl
YXRlIGB0YWdfaWRzYCBjb250ZXh0LlxuKiBcIiNkZXNpZ24gY2FyZHNcIiBv
ciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25cIjogdXNlIGB0YWdfaWRz
YC5cbiogXCJBc3NpZ24gY2FyZHMgdGFnZ2VkIHdpdGggI2Rlc2lnbiB0byBq
elwiOiBmaWx0ZXIgYnkgYHRhZ19pZHNgLCBjb21tYW5kIGAvYXNzaWduIGp6
YC4gRG8gTk9UIGdlbmVyYXRlIGAvdGFnYCBjb21tYW5kLlxuXG4jIyDimqDv
uI8gQ3J1Y2lhbCBSdWxlcyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipD
b250ZXh0IGZpbHRlcnMqKiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3Rpbmcg
Y29uZGl0aW9ucyoqIHRoYXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5c
biogKipDb21tYW5kcyoqIChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWAp
IHJlcHJlc2VudCAqKm5ldyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVW
RVIqKiB1c2UgbmFtZXMgb3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5k
cyoqIGFzIGZpbHRlcmluZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNz
aWduIGFuZHlcIiBtZWFucyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5k
eWAuIERvIE5PVCBmaWx0ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwi
XWAuXG4gICogRS5nLjogXCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWlu
ZyBhICoqbmV3IHRhZyoqLiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBb
XCJ2MlwiXWAuXG5cbiMjIyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRo
ZXNlKTpcblxuVXNlciBxdWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBj
dXJyZW50ICNkZXNpZ24gY2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0
aGVtIHdpdGggI3YyXCJgXG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xu
ICBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwg
XCJ0YWdfaWRzXCI6IFtcImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6
IFtcIi9hc3NpZ24gYW5keVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJ
bmNvcnJlY3QgKERPIE5PVCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0
XCI6IHsgXCJhc3NpZ25lZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRz
XCI6IFtcInYyXCJdIH0sXG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBh
bmR5XCIsIFwiL3RhZyAjdjJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZp
eCAnLycpOlxuXG4qIEFzc2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gIChl
LmcuLCBgL2Fzc2lnbiBrZXZpbmApLlxuKiBDbG9zZSBjYXJkczogYC9jbG9z
ZSBbb3B0aW9uYWwgcmVhc29uXWAgKGUuZy4sIGAvY2xvc2VgLCBgL2Nsb3Nl
IG5vdCBub3dgKS5cbiogVGFnIGNhcmRzOiBgL3RhZyAjW3RhZy1uYW1lXWAg
KGUuZy4sIGAvdGFnICNkZXNpZ25gKS5cbiogQ2xlYXIgZmlsdGVyczogYC9j
bGVhcmAuXG4qIEluc2lnaHRzIChtYW5kYXRvcnkgaWYgcXVlc3Rpb24gYXNr
ZWQgb3IgZXhwbGljaXRseSByZXF1ZXN0ZWQpOiBgL2luc2lnaHQgW3F1ZXJ5
XWAuXG4gIC0gQWx3YXlzIHVzZSBgL2luc2lnaHRgIGZvciBxdWVyaWVzIGxp
a2UgXCJzdGVwcyB0byByZXByb2R1Y2VcIiwgXCJzdW1tYXJpemVcIiwgb3Ig
c2ltaWxhciBxdWVyaWVzIHRoYXQgY2xlYXJseSByZXF1ZXN0IGluc2lnaHQg
YWJvdXQgY2FyZHMsXG4gICAgZXNwZWNpYWxseSB3aGVuIFwiaW5zaWRlIGEg
Y2FyZFwiLiBQYXNzIHRoZSBvcmlnaW5hbCBxdWVyeSBhcyB0aGUgYXJndW1l
bnQuXG5cbiMjIEpTT04gT3V0cHV0IEV4YW1wbGVzIChzdHJpY3RseSBmb2xs
b3cgdGhlc2UgcGF0dGVybnMpOlxuXG57IFwiY29udGV4dFwiOiB7IFwiYXNz
aWduZWVfaWRzXCI6IFtcImpvcmdlXCJdIH0sIFwiY29tbWFuZHNcIjogW1wi
L2Nsb3NlXCJdIH1cbnsgXCJjb250ZXh0XCI6IHsgXCJ0YWdfaWRzXCI6IFtc
ImRlc2lnblwiXSB9IH1cbnsgXCJjb21tYW5kc1wiOiBbXCIvYXNzaWduIGpv
cmdlXCIsIFwiL3RhZyAjZGVzaWduXCJdIH1cblxuT21pdCBlbXB0eSBhcnJh
eXMgb3IgdW5uZWNlc3NhcnkgcHJvcGVydGllcy4gQXQgbGVhc3Qgb25lIHBy
b3BlcnR5IChgY29udGV4dGAgb3IgYGNvbW1hbmRzYCkgbXVzdCBleGlzdC5c
blxuIyMgT3RoZXIgU3RyaWN0IEluc3RydWN0aW9uczpcblxuKiBORVZFUiBh
ZGQgcHJvcGVydGllcyBiYXNlZCBvbiB2aWV3IGRlc2NyaXB0aW9ucyAoXCJj
YXJkXCIsIFwibGlzdFwiLCBldGMuKS5cbiogQXZvaWQgcmVkdW5kYW50IHRl
cm1zLlxuKiBEb24ndCBkdXBsaWNhdGUgdGVybXMgYWNyb3NzIHByb3BlcnRp
ZXMuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lvbiwgYW5kIGNvbmNpc2Vu
ZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFraW5nIHJlcXVlc3RzIGlz
IGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5cblRoZSB1c2VyIGlzIGN1
cnJlbnRseSB2aWV3aW5nIGEgbGlzdCBvZiBjYXJkcyB9LlxuIn1dfSx7InJv
bGUiOiJ1c2VyIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0Ijoi
Y2xvc2VkIGNhcmRzIGluIHdyaXRlYm9vayJ9XX1dLCJ0ZW1wZXJhdHVyZSI6
MC43LCJzdHJlYW0iOmZhbHNlfQ==
headers:
User-Agent:
- Faraday v2.13.1
Authorization:
- Bearer <OPEN_API_KEY>
Content-Type:
- application/json
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
response:
status:
code: 200
message: OK
headers:
Date:
- Fri, 16 May 2025 11:17:05 GMT
Content-Type:
- application/json
Transfer-Encoding:
- chunked
Connection:
- keep-alive
Access-Control-Expose-Headers:
- X-Request-ID
Openai-Organization:
- 37signals-u7qhwk
Openai-Processing-Ms:
- '373'
Openai-Version:
- '2020-10-01'
X-Envoy-Upstream-Service-Time:
- '377'
X-Ratelimit-Limit-Requests:
- '500'
X-Ratelimit-Limit-Tokens:
- '200000'
X-Ratelimit-Remaining-Requests:
- '499'
X-Ratelimit-Remaining-Tokens:
- '198812'
X-Ratelimit-Reset-Requests:
- 120ms
X-Ratelimit-Reset-Tokens:
- 356ms
X-Request-Id:
- req_83ca124733f8f3f76dc78077622d1a7a
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Cf-Cache-Status:
- DYNAMIC
Set-Cookie:
- __cf_bm=mxyK9hDBqqiBHGqsPfNtl9l6dvMYwlf6K7XIjd6i5_I-1747394225-1.0.1.1-1ocdyFnXlDbmeHuViWjDNbNl1gZXa7h9A.OVTUt3g42rynigb5AYgVVnqCCue0gMLwQpo3zsr5.67dB.AlZv3OlDiE7WjFat2H8T9FXCdiw;
path=/; expires=Fri, 16-May-25 11:47:05 GMT; domain=.api.openai.com; HttpOnly;
Secure; SameSite=None
- _cfuvid=42cGKzRch_dJlM9bbsqUqFDpijKT4pbOv8MV8MYazPM-1747394225469-0.0.1.1-604800000;
path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None
X-Content-Type-Options:
- nosniff
Server:
- cloudflare
Cf-Ray:
- 940a77711b44e081-MAD
Alt-Svc:
- h3=":443"; ma=86400
body:
encoding: ASCII-8BIT
base64_string: |
ewogICJpZCI6ICJjaGF0Y21wbC1CWG5Ma3RPZmtmYkROMmtJTnhQS1ROUEZ5
T2VYSyIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh
dGVkIjogMTc0NzM5NDIyNCwKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw
MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi
OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np
c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb250ZXh0XCI6
IHsgXCJpbmRleGVkX2J5XCI6IFwiY2xvc2VkXCIgfVxufSIsCiAgICAgICAg
InJlZnVzYWwiOiBudWxsLAogICAgICAgICJhbm5vdGF0aW9ucyI6IFtdCiAg
ICAgIH0sCiAgICAgICJsb2dwcm9icyI6IG51bGwsCiAgICAgICJmaW5pc2hf
cmVhc29uIjogInN0b3AiCiAgICB9CiAgXSwKICAidXNhZ2UiOiB7CiAgICAi
cHJvbXB0X3Rva2VucyI6IDEyMTQsCiAgICAiY29tcGxldGlvbl90b2tlbnMi
OiAxNiwKICAgICJ0b3RhbF90b2tlbnMiOiAxMjMwLAogICAgInByb21wdF90
b2tlbnNfZGV0YWlscyI6IHsKICAgICAgImNhY2hlZF90b2tlbnMiOiAxMTUy
LAogICAgICAiYXVkaW9fdG9rZW5zIjogMAogICAgfSwKICAgICJjb21wbGV0
aW9uX3Rva2Vuc19kZXRhaWxzIjogewogICAgICAicmVhc29uaW5nX3Rva2Vu
cyI6IDAsCiAgICAgICJhdWRpb190b2tlbnMiOiAwLAogICAgICAiYWNjZXB0
ZWRfcHJlZGljdGlvbl90b2tlbnMiOiAwLAogICAgICAicmVqZWN0ZWRfcHJl
ZGljdGlvbl90b2tlbnMiOiAwCiAgICB9CiAgfSwKICAic2VydmljZV90aWVy
IjogImRlZmF1bHQiLAogICJzeXN0ZW1fZmluZ2VycHJpbnQiOiAiZnBfOGZk
NDM3MThiMyIKfQo=
recorded_at: Fri, 16 May 2025 11:17:05 GMT
recorded_with: VCR 6.3.1
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,851 @@
---
http_interactions:
- request:
method: post
uri: https://api.openai.com/v1/chat/completions
body:
encoding: UTF-8
base64_string: |
eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi
ZGV2ZWxvcGVyIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0Ijoi
WW91IGFyZSBGaXp6eeKAmXMgY29tbWFuZCB0cmFuc2xhdG9yLiBZb3VyIHRh
c2sgaXMgdG86XG5cbjEuIFJlYWQgdGhlIHVzZXIncyByZXF1ZXN0LlxuMi4g
Q29uc3VsdCB0aGUgY3VycmVudCBjb250ZXh0IChwcm92aWRlZCBiZWxvdyBm
b3IgaW5mb3JtYXRpb25hbCBwdXJwb3NlcyBvbmx5KS5cbjMuIERldGVybWlu
ZSBpZiB0aGUgY3VycmVudCBjb250ZXh0IHN1ZmZpY2VzIG9yIGlmIGEgbmV3
IGNvbnRleHQgaXMgcmVxdWlyZWQuXG40LiBHZW5lcmF0ZSBvbmx5IHRoZSBu
ZWNlc3NhcnkgY29tbWFuZHMgdG8gZnVsZmlsbCB0aGUgcmVxdWVzdC5cbjUu
IE91dHB1dCBhIEpTT04gb2JqZWN0IGNvbnRhaW5pbmcgT05MWTpcblxuICAg
KiBBIFwiY29udGV4dFwiIG9iamVjdCAob25seSBpZiBhIG5ldyBmaWx0ZXJp
bmcgY29udGV4dCBpcyByZXF1aXJlZCwgc3RyaWN0bHkgZm9sbG93aW5nIGRl
ZmluZWQgcHJvcGVydGllcyBiZWxvdykuXG4gICAqIEEgXCJjb21tYW5kc1wi
IGFycmF5IChvbmx5IGlmIGNvbW1hbmRzIGFyZSBleHBsaWNpdGx5IHJlcXVl
c3RlZCBvciBjbGVhcmx5IGltcGxpZWQpLlxuXG5EbyBOT1QgYWRkIGFueSBv
dGhlciBwcm9wZXJ0aWVzIHRvIHlvdXIgSlNPTiBvdXRwdXQuXG5cblRoZSBk
ZXNjcmlwdGlvbiBvZiB0aGUgY3VycmVudCB2aWV3IChcImluc2lkZSBhIGNh
cmRcIiwgXCJ2aWV3aW5nIGEgbGlzdCBvZiBjYXJkc1wiLCBvciBcIm5vdCBz
ZWVpbmcgY2FyZHNcIikgaXMgaW5mb3JtYXRpb25hbCBvbmx5LiBEbyBOT1Qg
cmVmbGVjdCB0aGlzIGRlc2NyaXB0aW9uIGV4cGxpY2l0bHkgb3IgaW1wbGlj
aXRseSBpbiB5b3VyIG91dHB1dCBKU09OLiBORVZFUiBnZW5lcmF0ZSBwcm9w
ZXJ0aWVzIGxpa2UgXCJ2aWV3XCIgb3IgYWRkIFwidGVybXNcIiBiYXNlZCBv
biBcImNhcmRcIiBvciBcImxpc3RcIiBjb250ZXh0LlxuXG4jIyBGaXp6eSBE
YXRhIFN0cnVjdHVyZVxuXG4qICoqQ2FyZHMqKjogUmVwcmVzZW50IGlzc3Vl
cywgZmVhdHVyZXMsIGJ1Z3MsIHRhc2tzLCBvciBwcm9ibGVtcy5cbiogQ2Fy
ZHMgaGF2ZSAqKmNvbW1lbnRzKiogYW5kIGFyZSBjb250YWluZWQgd2l0aGlu
ICoqY29sbGVjdGlvbnMqKi5cblxuIyMgQ29udGV4dCBQcm9wZXJ0aWVzIGZv
ciBGaWx0ZXJpbmcgKHVzZSBleHBsaWNpdGx5KTpcblxuKiAqKnRlcm1zKio6
IEFycmF5IG9mIGtleXdvcmRzIChzcGxpdCBpbmRpdmlkdWFsbHksIGUuZy4s
IFtcInNvbWVcIiwgXCJ0ZXJtXCJdKS4gQXZvaWQgcmVkdW5kYW5jeS5cbiog
KippbmRleGVkX2J5Kio6IFwibmV3ZXN0XCIsIFwib2xkZXN0XCIsIFwibGF0
ZXN0XCIsIFwic3RhbGxlZFwiLCBcImNsb3NlZFwiLlxuXG4gICogXCJjbG9z
ZWRcIjogY29tcGxldGVkIGNhcmRzLlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNy
ZWF0aW9uIGRhdGUsIFwibGF0ZXN0XCI6IGJ5IHVwZGF0ZSBkYXRlLlxuKiAq
KmFzc2lnbmVlX2lkcyoqOiBBcnJheSBvZiBhc3NpZ25lZSBuYW1lcy5cbiog
Kiphc3NpZ25tZW50X3N0YXR1cyoqOiBcInVuYXNzaWduZWRcIi5cbiogKipl
bmdhZ2VtZW50X3N0YXR1cyoqOiBcImNvbnNpZGVyaW5nXCIgb3IgXCJkb2lu
Z1wiLlxuKiAqKmNhcmRfaWRzKio6IEFycmF5IG9mIGNhcmQgSURzLlxuKiAq
KmNyZWF0b3JfaWQqKjogQ3JlYXRvcidzIG5hbWUuXG4qICoqY29sbGVjdGlv
bl9pZHMqKjogQXJyYXkgb2YgZXhwbGljaXRseSBtZW50aW9uZWQgY29sbGVj
dGlvbnMuXG4qICoqdGFnX2lkcyoqOiBBcnJheSBvZiB0YWcgbmFtZXMgKHVz
ZSBmb3IgXCIjdGFnXCIgb3IgXCJ0YWdnZWQgd2l0aFwiKS5cblxuIyMgRXhw
bGljaXQgRmlsdGVyaW5nIFJ1bGVzOlxuXG4qIFwiQXNzaWduZWQgdG8gWFwi
OiB1c2UgYGFzc2lnbmVlX2lkc2AuXG4qIFwiQ3JlYXRlZCBieSBYXCI6IHVz
ZSBgY3JlYXRvcl9pZGAuXG4qIFwiVGFnZ2VkIHdpdGggWFwiLCBcIiNYIGNh
cmRzXCI6IHVzZSBgdGFnX2lkc2AgKG5ldmVyIFwidGVybXNcIikuXG4gIC0g
Rm9yIGV4YW1wbGU6IFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMgdGFn
Z2VkIHdpdGggI2Rlc2lnblwiIHNob3VsZCBhbHdheXMgcmVzdWx0IGluIGB0
YWdfaWRzOiBbXCJkZXNpZ25cIl1gLlxuKiBcIlVuYXNzaWduZWQgY2FyZHNc
IjogdXNlIGBhc3NpZ25tZW50X3N0YXR1czogXCJ1bmFzc2lnbmVkXCJgLlxu
KiBcIk15IGNhcmRzXCI6IENhcmRzIGFzc2lnbmVkIHRvIHRoZSByZXF1ZXN0
ZXIuXG4qIFwiUmVjZW50IGNhcmRzXCI6IHVzZSBgaW5kZXhlZF9ieTogXCJu
ZXdlc3RcImAuXG4qIFwiQ2FyZHMgd2l0aCByZWNlbnQgYWN0aXZpdHlcIjog
dXNlIGBpbmRleGVkX2J5OiBcImxhdGVzdFwiYC5cbiogXCJDb21wbGV0ZWQv
Y2xvc2VkIGNhcmRzXCI6IHVzZSBgaW5kZXhlZF9ieTogXCJjbG9zZWRcImAu
XG4qIFVua25vd24gdGVybXM6IGRlZmF1bHQgdG8gYHRlcm1zYC5cblxuIyMg
Q29tbWFuZCBJbnRlcnByZXRhdGlvbiBSdWxlczpcblxuKiBcInRhZyB3aXRo
ICNkZXNpZ25cIjogYWx3YXlzIGAvdGFnICNkZXNpZ25gLiBEbyBOT1QgY3Jl
YXRlIGB0YWdfaWRzYCBjb250ZXh0LlxuKiBcIiNkZXNpZ24gY2FyZHNcIiBv
ciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25cIjogdXNlIGB0YWdfaWRz
YC5cbiogXCJBc3NpZ24gY2FyZHMgdGFnZ2VkIHdpdGggI2Rlc2lnbiB0byBq
elwiOiBmaWx0ZXIgYnkgYHRhZ19pZHNgLCBjb21tYW5kIGAvYXNzaWduIGp6
YC4gRG8gTk9UIGdlbmVyYXRlIGAvdGFnYCBjb21tYW5kLlxuXG4jIyDimqDv
uI8gQ3J1Y2lhbCBSdWxlcyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipD
b250ZXh0IGZpbHRlcnMqKiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3Rpbmcg
Y29uZGl0aW9ucyoqIHRoYXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5c
biogKipDb21tYW5kcyoqIChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWAp
IHJlcHJlc2VudCAqKm5ldyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVW
RVIqKiB1c2UgbmFtZXMgb3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5k
cyoqIGFzIGZpbHRlcmluZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNz
aWduIGFuZHlcIiBtZWFucyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5k
eWAuIERvIE5PVCBmaWx0ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwi
XWAuXG4gICogRS5nLjogXCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWlu
ZyBhICoqbmV3IHRhZyoqLiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBb
XCJ2MlwiXWAuXG5cbiMjIyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRo
ZXNlKTpcblxuVXNlciBxdWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBj
dXJyZW50ICNkZXNpZ24gY2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0
aGVtIHdpdGggI3YyXCJgXG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xu
ICBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwg
XCJ0YWdfaWRzXCI6IFtcImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6
IFtcIi9hc3NpZ24gYW5keVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJ
bmNvcnJlY3QgKERPIE5PVCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0
XCI6IHsgXCJhc3NpZ25lZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRz
XCI6IFtcInYyXCJdIH0sXG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBh
bmR5XCIsIFwiL3RhZyAjdjJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZp
eCAnLycpOlxuXG4qIEFzc2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gIChl
LmcuLCBgL2Fzc2lnbiBrZXZpbmApLlxuKiBDbG9zZSBjYXJkczogYC9jbG9z
ZSBbb3B0aW9uYWwgcmVhc29uXWAgKGUuZy4sIGAvY2xvc2VgLCBgL2Nsb3Nl
IG5vdCBub3dgKS5cbiogVGFnIGNhcmRzOiBgL3RhZyAjW3RhZy1uYW1lXWAg
KGUuZy4sIGAvdGFnICNkZXNpZ25gKS5cbiogQ2xlYXIgZmlsdGVyczogYC9j
bGVhcmAuXG4qIEluc2lnaHRzIChtYW5kYXRvcnkgaWYgcXVlc3Rpb24gYXNr
ZWQgb3IgZXhwbGljaXRseSByZXF1ZXN0ZWQpOiBgL2luc2lnaHQgW3F1ZXJ5
XWAuXG4gIC0gQWx3YXlzIHVzZSBgL2luc2lnaHRgIGZvciBxdWVyaWVzIGxp
a2UgXCJzdGVwcyB0byByZXByb2R1Y2VcIiwgXCJzdW1tYXJpemVcIiwgb3Ig
c2ltaWxhciBxdWVyaWVzIHRoYXQgY2xlYXJseSByZXF1ZXN0IGluc2lnaHQg
YWJvdXQgY2FyZHMsXG4gICAgZXNwZWNpYWxseSB3aGVuIFwiaW5zaWRlIGEg
Y2FyZFwiLiBQYXNzIHRoZSBvcmlnaW5hbCBxdWVyeSBhcyB0aGUgYXJndW1l
bnQuXG5cbiMjIEpTT04gT3V0cHV0IEV4YW1wbGVzIChzdHJpY3RseSBmb2xs
b3cgdGhlc2UgcGF0dGVybnMpOlxuXG57IFwiY29udGV4dFwiOiB7IFwiYXNz
aWduZWVfaWRzXCI6IFtcImpvcmdlXCJdIH0sIFwiY29tbWFuZHNcIjogW1wi
L2Nsb3NlXCJdIH1cbnsgXCJjb250ZXh0XCI6IHsgXCJ0YWdfaWRzXCI6IFtc
ImRlc2lnblwiXSB9IH1cbnsgXCJjb21tYW5kc1wiOiBbXCIvYXNzaWduIGpv
cmdlXCIsIFwiL3RhZyAjZGVzaWduXCJdIH1cblxuT21pdCBlbXB0eSBhcnJh
eXMgb3IgdW5uZWNlc3NhcnkgcHJvcGVydGllcy4gQXQgbGVhc3Qgb25lIHBy
b3BlcnR5IChgY29udGV4dGAgb3IgYGNvbW1hbmRzYCkgbXVzdCBleGlzdC5c
blxuIyMgT3RoZXIgU3RyaWN0IEluc3RydWN0aW9uczpcblxuKiBORVZFUiBh
ZGQgcHJvcGVydGllcyBiYXNlZCBvbiB2aWV3IGRlc2NyaXB0aW9ucyAoXCJj
YXJkXCIsIFwibGlzdFwiLCBldGMuKS5cbiogQXZvaWQgcmVkdW5kYW50IHRl
cm1zLlxuKiBEb24ndCBkdXBsaWNhdGUgdGVybXMgYWNyb3NzIHByb3BlcnRp
ZXMuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lvbiwgYW5kIGNvbmNpc2Vu
ZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFraW5nIHJlcXVlc3RzIGlz
IGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5cblRoZSB1c2VyIGlzIGN1
cnJlbnRseSB2aWV3aW5nIGEgbGlzdCBvZiBjYXJkcyB9LlxuIn1dfSx7InJv
bGUiOiJ1c2VyIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0Ijoi
Y2FyZHMgdGFnZ2VkIHdpdGggZGVzaWduIn1dfV0sInRlbXBlcmF0dXJlIjow
LjcsInN0cmVhbSI6ZmFsc2V9
headers:
User-Agent:
- Faraday v2.13.1
Authorization:
- Bearer <OPEN_API_KEY>
Content-Type:
- application/json
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
response:
status:
code: 200
message: OK
headers:
Date:
- Fri, 16 May 2025 11:13:08 GMT
Content-Type:
- application/json
Transfer-Encoding:
- chunked
Connection:
- keep-alive
Access-Control-Expose-Headers:
- X-Request-ID
Openai-Organization:
- 37signals-u7qhwk
Openai-Processing-Ms:
- '417'
Openai-Version:
- '2020-10-01'
X-Envoy-Upstream-Service-Time:
- '421'
X-Ratelimit-Limit-Requests:
- '500'
X-Ratelimit-Limit-Tokens:
- '200000'
X-Ratelimit-Remaining-Requests:
- '499'
X-Ratelimit-Remaining-Tokens:
- '198812'
X-Ratelimit-Reset-Requests:
- 120ms
X-Ratelimit-Reset-Tokens:
- 356ms
X-Request-Id:
- req_0a275d23e2717550f7ef96a1a176f5fa
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Cf-Cache-Status:
- DYNAMIC
Set-Cookie:
- __cf_bm=PHm55LGOi8vJeuR8YWiaSVsgVCKaG4BP.1JF2mgzF1M-1747393988-1.0.1.1-8LnlOLb9QZO.UqaQky2XyepVixHqACpRdYfEIEBdYBzV0kJYU3gp0GHKMKmXxBUA3IFX7bK3ZFsNTYZEj0TVq9Yic89WrxpWhHxs3YY7qK8;
path=/; expires=Fri, 16-May-25 11:43:08 GMT; domain=.api.openai.com; HttpOnly;
Secure; SameSite=None
- _cfuvid=57.sjcAHSoiFzZb2k36ewhXbcK7R8F704N.opCePiYY-1747393988605-0.0.1.1-604800000;
path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None
X-Content-Type-Options:
- nosniff
Server:
- cloudflare
Cf-Ray:
- 940a71a87edaf783-MAD
Alt-Svc:
- h3=":443"; ma=86400
body:
encoding: ASCII-8BIT
base64_string: |
ewogICJpZCI6ICJjaGF0Y21wbC1CWG5Id1ZDamVKYWhOQldKM2YxSG5uVGRK
Zk43eSIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh
dGVkIjogMTc0NzM5Mzk4OCwKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw
MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi
OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np
c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb250ZXh0XCI6
IHsgXCJ0YWdfaWRzXCI6IFtcImRlc2lnblwiXSB9XG59IiwKICAgICAgICAi
cmVmdXNhbCI6IG51bGwsCiAgICAgICAgImFubm90YXRpb25zIjogW10KICAg
ICAgfSwKICAgICAgImxvZ3Byb2JzIjogbnVsbCwKICAgICAgImZpbmlzaF9y
ZWFzb24iOiAic3RvcCIKICAgIH0KICBdLAogICJ1c2FnZSI6IHsKICAgICJw
cm9tcHRfdG9rZW5zIjogMTIxMywKICAgICJjb21wbGV0aW9uX3Rva2VucyI6
IDE2LAogICAgInRvdGFsX3Rva2VucyI6IDEyMjksCiAgICAicHJvbXB0X3Rv
a2Vuc19kZXRhaWxzIjogewogICAgICAiY2FjaGVkX3Rva2VucyI6IDExNTIs
CiAgICAgICJhdWRpb190b2tlbnMiOiAwCiAgICB9LAogICAgImNvbXBsZXRp
b25fdG9rZW5zX2RldGFpbHMiOiB7CiAgICAgICJyZWFzb25pbmdfdG9rZW5z
IjogMCwKICAgICAgImF1ZGlvX3Rva2VucyI6IDAsCiAgICAgICJhY2NlcHRl
ZF9wcmVkaWN0aW9uX3Rva2VucyI6IDAsCiAgICAgICJyZWplY3RlZF9wcmVk
aWN0aW9uX3Rva2VucyI6IDAKICAgIH0KICB9LAogICJzZXJ2aWNlX3RpZXIi
OiAiZGVmYXVsdCIsCiAgInN5c3RlbV9maW5nZXJwcmludCI6ICJmcF84ZmQ0
MzcxOGIzIgp9Cg==
recorded_at: Fri, 16 May 2025 11:13:08 GMT
- request:
method: post
uri: https://api.openai.com/v1/chat/completions
body:
encoding: UTF-8
base64_string: |
eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi
ZGV2ZWxvcGVyIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0Ijoi
WW91IGFyZSBGaXp6eeKAmXMgY29tbWFuZCB0cmFuc2xhdG9yLiBZb3VyIHRh
c2sgaXMgdG86XG5cbjEuIFJlYWQgdGhlIHVzZXIncyByZXF1ZXN0LlxuMi4g
Q29uc3VsdCB0aGUgY3VycmVudCBjb250ZXh0IChwcm92aWRlZCBiZWxvdyBm
b3IgaW5mb3JtYXRpb25hbCBwdXJwb3NlcyBvbmx5KS5cbjMuIERldGVybWlu
ZSBpZiB0aGUgY3VycmVudCBjb250ZXh0IHN1ZmZpY2VzIG9yIGlmIGEgbmV3
IGNvbnRleHQgaXMgcmVxdWlyZWQuXG40LiBHZW5lcmF0ZSBvbmx5IHRoZSBu
ZWNlc3NhcnkgY29tbWFuZHMgdG8gZnVsZmlsbCB0aGUgcmVxdWVzdC5cbjUu
IE91dHB1dCBhIEpTT04gb2JqZWN0IGNvbnRhaW5pbmcgT05MWTpcblxuICAg
KiBBIFwiY29udGV4dFwiIG9iamVjdCAob25seSBpZiBhIG5ldyBmaWx0ZXJp
bmcgY29udGV4dCBpcyByZXF1aXJlZCwgc3RyaWN0bHkgZm9sbG93aW5nIGRl
ZmluZWQgcHJvcGVydGllcyBiZWxvdykuXG4gICAqIEEgXCJjb21tYW5kc1wi
IGFycmF5IChvbmx5IGlmIGNvbW1hbmRzIGFyZSBleHBsaWNpdGx5IHJlcXVl
c3RlZCBvciBjbGVhcmx5IGltcGxpZWQpLlxuXG5EbyBOT1QgYWRkIGFueSBv
dGhlciBwcm9wZXJ0aWVzIHRvIHlvdXIgSlNPTiBvdXRwdXQuXG5cblRoZSBk
ZXNjcmlwdGlvbiBvZiB0aGUgY3VycmVudCB2aWV3IChcImluc2lkZSBhIGNh
cmRcIiwgXCJ2aWV3aW5nIGEgbGlzdCBvZiBjYXJkc1wiLCBvciBcIm5vdCBz
ZWVpbmcgY2FyZHNcIikgaXMgaW5mb3JtYXRpb25hbCBvbmx5LiBEbyBOT1Qg
cmVmbGVjdCB0aGlzIGRlc2NyaXB0aW9uIGV4cGxpY2l0bHkgb3IgaW1wbGlj
aXRseSBpbiB5b3VyIG91dHB1dCBKU09OLiBORVZFUiBnZW5lcmF0ZSBwcm9w
ZXJ0aWVzIGxpa2UgXCJ2aWV3XCIgb3IgYWRkIFwidGVybXNcIiBiYXNlZCBv
biBcImNhcmRcIiBvciBcImxpc3RcIiBjb250ZXh0LlxuXG4jIyBGaXp6eSBE
YXRhIFN0cnVjdHVyZVxuXG4qICoqQ2FyZHMqKjogUmVwcmVzZW50IGlzc3Vl
cywgZmVhdHVyZXMsIGJ1Z3MsIHRhc2tzLCBvciBwcm9ibGVtcy5cbiogQ2Fy
ZHMgaGF2ZSAqKmNvbW1lbnRzKiogYW5kIGFyZSBjb250YWluZWQgd2l0aGlu
ICoqY29sbGVjdGlvbnMqKi5cblxuIyMgQ29udGV4dCBQcm9wZXJ0aWVzIGZv
ciBGaWx0ZXJpbmcgKHVzZSBleHBsaWNpdGx5KTpcblxuKiAqKnRlcm1zKio6
IEFycmF5IG9mIGtleXdvcmRzIChzcGxpdCBpbmRpdmlkdWFsbHksIGUuZy4s
IFtcInNvbWVcIiwgXCJ0ZXJtXCJdKS4gQXZvaWQgcmVkdW5kYW5jeS5cbiog
KippbmRleGVkX2J5Kio6IFwibmV3ZXN0XCIsIFwib2xkZXN0XCIsIFwibGF0
ZXN0XCIsIFwic3RhbGxlZFwiLCBcImNsb3NlZFwiLlxuXG4gICogXCJjbG9z
ZWRcIjogY29tcGxldGVkIGNhcmRzLlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNy
ZWF0aW9uIGRhdGUsIFwibGF0ZXN0XCI6IGJ5IHVwZGF0ZSBkYXRlLlxuKiAq
KmFzc2lnbmVlX2lkcyoqOiBBcnJheSBvZiBhc3NpZ25lZSBuYW1lcy5cbiog
Kiphc3NpZ25tZW50X3N0YXR1cyoqOiBcInVuYXNzaWduZWRcIi5cbiogKipl
bmdhZ2VtZW50X3N0YXR1cyoqOiBcImNvbnNpZGVyaW5nXCIgb3IgXCJkb2lu
Z1wiLlxuKiAqKmNhcmRfaWRzKio6IEFycmF5IG9mIGNhcmQgSURzLlxuKiAq
KmNyZWF0b3JfaWQqKjogQ3JlYXRvcidzIG5hbWUuXG4qICoqY29sbGVjdGlv
bl9pZHMqKjogQXJyYXkgb2YgZXhwbGljaXRseSBtZW50aW9uZWQgY29sbGVj
dGlvbnMuXG4qICoqdGFnX2lkcyoqOiBBcnJheSBvZiB0YWcgbmFtZXMgKHVz
ZSBmb3IgXCIjdGFnXCIgb3IgXCJ0YWdnZWQgd2l0aFwiKS5cblxuIyMgRXhw
bGljaXQgRmlsdGVyaW5nIFJ1bGVzOlxuXG4qIFwiQXNzaWduZWQgdG8gWFwi
OiB1c2UgYGFzc2lnbmVlX2lkc2AuXG4qIFwiQ3JlYXRlZCBieSBYXCI6IHVz
ZSBgY3JlYXRvcl9pZGAuXG4qIFwiVGFnZ2VkIHdpdGggWFwiLCBcIiNYIGNh
cmRzXCI6IHVzZSBgdGFnX2lkc2AgKG5ldmVyIFwidGVybXNcIikuXG4gIC0g
Rm9yIGV4YW1wbGU6IFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMgdGFn
Z2VkIHdpdGggI2Rlc2lnblwiIHNob3VsZCBhbHdheXMgcmVzdWx0IGluIGB0
YWdfaWRzOiBbXCJkZXNpZ25cIl1gLlxuKiBcIlVuYXNzaWduZWQgY2FyZHNc
IjogdXNlIGBhc3NpZ25tZW50X3N0YXR1czogXCJ1bmFzc2lnbmVkXCJgLlxu
KiBcIk15IGNhcmRzXCI6IENhcmRzIGFzc2lnbmVkIHRvIHRoZSByZXF1ZXN0
ZXIuXG4qIFwiUmVjZW50IGNhcmRzXCI6IHVzZSBgaW5kZXhlZF9ieTogXCJu
ZXdlc3RcImAuXG4qIFwiQ2FyZHMgd2l0aCByZWNlbnQgYWN0aXZpdHlcIjog
dXNlIGBpbmRleGVkX2J5OiBcImxhdGVzdFwiYC5cbiogXCJDb21wbGV0ZWQv
Y2xvc2VkIGNhcmRzXCI6IHVzZSBgaW5kZXhlZF9ieTogXCJjbG9zZWRcImAu
XG4qIFVua25vd24gdGVybXM6IGRlZmF1bHQgdG8gYHRlcm1zYC5cblxuIyMg
Q29tbWFuZCBJbnRlcnByZXRhdGlvbiBSdWxlczpcblxuKiBcInRhZyB3aXRo
ICNkZXNpZ25cIjogYWx3YXlzIGAvdGFnICNkZXNpZ25gLiBEbyBOT1QgY3Jl
YXRlIGB0YWdfaWRzYCBjb250ZXh0LlxuKiBcIiNkZXNpZ24gY2FyZHNcIiBv
ciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25cIjogdXNlIGB0YWdfaWRz
YC5cbiogXCJBc3NpZ24gY2FyZHMgdGFnZ2VkIHdpdGggI2Rlc2lnbiB0byBq
elwiOiBmaWx0ZXIgYnkgYHRhZ19pZHNgLCBjb21tYW5kIGAvYXNzaWduIGp6
YC4gRG8gTk9UIGdlbmVyYXRlIGAvdGFnYCBjb21tYW5kLlxuXG4jIyDimqDv
uI8gQ3J1Y2lhbCBSdWxlcyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipD
b250ZXh0IGZpbHRlcnMqKiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3Rpbmcg
Y29uZGl0aW9ucyoqIHRoYXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5c
biogKipDb21tYW5kcyoqIChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWAp
IHJlcHJlc2VudCAqKm5ldyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVW
RVIqKiB1c2UgbmFtZXMgb3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5k
cyoqIGFzIGZpbHRlcmluZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNz
aWduIGFuZHlcIiBtZWFucyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5k
eWAuIERvIE5PVCBmaWx0ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwi
XWAuXG4gICogRS5nLjogXCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWlu
ZyBhICoqbmV3IHRhZyoqLiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBb
XCJ2MlwiXWAuXG5cbiMjIyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRo
ZXNlKTpcblxuVXNlciBxdWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBj
dXJyZW50ICNkZXNpZ24gY2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0
aGVtIHdpdGggI3YyXCJgXG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xu
ICBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwg
XCJ0YWdfaWRzXCI6IFtcImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6
IFtcIi9hc3NpZ24gYW5keVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJ
bmNvcnJlY3QgKERPIE5PVCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0
XCI6IHsgXCJhc3NpZ25lZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRz
XCI6IFtcInYyXCJdIH0sXG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBh
bmR5XCIsIFwiL3RhZyAjdjJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZp
eCAnLycpOlxuXG4qIEFzc2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gIChl
LmcuLCBgL2Fzc2lnbiBrZXZpbmApLlxuKiBDbG9zZSBjYXJkczogYC9jbG9z
ZSBbb3B0aW9uYWwgcmVhc29uXWAgKGUuZy4sIGAvY2xvc2VgLCBgL2Nsb3Nl
IG5vdCBub3dgKS5cbiogVGFnIGNhcmRzOiBgL3RhZyAjW3RhZy1uYW1lXWAg
KGUuZy4sIGAvdGFnICNkZXNpZ25gKS5cbiogQ2xlYXIgZmlsdGVyczogYC9j
bGVhcmAuXG4qIEluc2lnaHRzIChtYW5kYXRvcnkgaWYgcXVlc3Rpb24gYXNr
ZWQgb3IgZXhwbGljaXRseSByZXF1ZXN0ZWQpOiBgL2luc2lnaHQgW3F1ZXJ5
XWAuXG4gIC0gQWx3YXlzIHVzZSBgL2luc2lnaHRgIGZvciBxdWVyaWVzIGxp
a2UgXCJzdGVwcyB0byByZXByb2R1Y2VcIiwgXCJzdW1tYXJpemVcIiwgb3Ig
c2ltaWxhciBxdWVyaWVzIHRoYXQgY2xlYXJseSByZXF1ZXN0IGluc2lnaHQg
YWJvdXQgY2FyZHMsXG4gICAgZXNwZWNpYWxseSB3aGVuIFwiaW5zaWRlIGEg
Y2FyZFwiLiBQYXNzIHRoZSBvcmlnaW5hbCBxdWVyeSBhcyB0aGUgYXJndW1l
bnQuXG5cbiMjIEpTT04gT3V0cHV0IEV4YW1wbGVzIChzdHJpY3RseSBmb2xs
b3cgdGhlc2UgcGF0dGVybnMpOlxuXG57IFwiY29udGV4dFwiOiB7IFwiYXNz
aWduZWVfaWRzXCI6IFtcImpvcmdlXCJdIH0sIFwiY29tbWFuZHNcIjogW1wi
L2Nsb3NlXCJdIH1cbnsgXCJjb250ZXh0XCI6IHsgXCJ0YWdfaWRzXCI6IFtc
ImRlc2lnblwiXSB9IH1cbnsgXCJjb21tYW5kc1wiOiBbXCIvYXNzaWduIGpv
cmdlXCIsIFwiL3RhZyAjZGVzaWduXCJdIH1cblxuT21pdCBlbXB0eSBhcnJh
eXMgb3IgdW5uZWNlc3NhcnkgcHJvcGVydGllcy4gQXQgbGVhc3Qgb25lIHBy
b3BlcnR5IChgY29udGV4dGAgb3IgYGNvbW1hbmRzYCkgbXVzdCBleGlzdC5c
blxuIyMgT3RoZXIgU3RyaWN0IEluc3RydWN0aW9uczpcblxuKiBORVZFUiBh
ZGQgcHJvcGVydGllcyBiYXNlZCBvbiB2aWV3IGRlc2NyaXB0aW9ucyAoXCJj
YXJkXCIsIFwibGlzdFwiLCBldGMuKS5cbiogQXZvaWQgcmVkdW5kYW50IHRl
cm1zLlxuKiBEb24ndCBkdXBsaWNhdGUgdGVybXMgYWNyb3NzIHByb3BlcnRp
ZXMuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lvbiwgYW5kIGNvbmNpc2Vu
ZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFraW5nIHJlcXVlc3RzIGlz
IGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5cblRoZSB1c2VyIGlzIGN1
cnJlbnRseSB2aWV3aW5nIGEgbGlzdCBvZiBjYXJkcyB9LlxuIn1dfSx7InJv
bGUiOiJ1c2VyIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0Ijoi
Y2FyZHMgdGFnZ2VkIHdpdGggI2Rlc2lnbiJ9XX1dLCJ0ZW1wZXJhdHVyZSI6
MC43LCJzdHJlYW0iOmZhbHNlfQ==
headers:
User-Agent:
- Faraday v2.13.1
Authorization:
- Bearer <OPEN_API_KEY>
Content-Type:
- application/json
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
response:
status:
code: 200
message: OK
headers:
Date:
- Fri, 16 May 2025 11:13:09 GMT
Content-Type:
- application/json
Transfer-Encoding:
- chunked
Connection:
- keep-alive
Access-Control-Expose-Headers:
- X-Request-ID
Openai-Organization:
- 37signals-u7qhwk
Openai-Processing-Ms:
- '392'
Openai-Version:
- '2020-10-01'
X-Envoy-Upstream-Service-Time:
- '398'
X-Ratelimit-Limit-Requests:
- '500'
X-Ratelimit-Limit-Tokens:
- '200000'
X-Ratelimit-Remaining-Requests:
- '499'
X-Ratelimit-Remaining-Tokens:
- '198812'
X-Ratelimit-Reset-Requests:
- 120ms
X-Ratelimit-Reset-Tokens:
- 356ms
X-Request-Id:
- req_28f08bc611054751e7b3fd4417439740
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Cf-Cache-Status:
- DYNAMIC
Set-Cookie:
- __cf_bm=pgSgDOZRMtEPr1gs0bcpKA29zvNN7yOsWiv0PI6xBHs-1747393989-1.0.1.1-YP0KFdiDfpMELWNqink8ezPiXKHZVU3j43OtBZNaNzLTIn5i3hay_j424v8wKQn5VKlL7gYhHB4hfc_P1v8Lu3z.0hSFUR.BZ70Z5ZRnyNY;
path=/; expires=Fri, 16-May-25 11:43:09 GMT; domain=.api.openai.com; HttpOnly;
Secure; SameSite=None
- _cfuvid=F4zsrJYBVoeM3c7pZpBmefy7Pm_lAv11ePbxtOmaoEE-1747393989354-0.0.1.1-604800000;
path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None
X-Content-Type-Options:
- nosniff
Server:
- cloudflare
Cf-Ray:
- 940a71ad2ff55e24-MAD
Alt-Svc:
- h3=":443"; ma=86400
body:
encoding: ASCII-8BIT
base64_string: |
ewogICJpZCI6ICJjaGF0Y21wbC1CWG5Id1Fwdk54ZE1jenpGbmF6MGNhcnZK
S3RscCIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh
dGVkIjogMTc0NzM5Mzk4OCwKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw
MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi
OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np
c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb250ZXh0XCI6
IHsgXCJ0YWdfaWRzXCI6IFtcImRlc2lnblwiXSB9XG59IiwKICAgICAgICAi
cmVmdXNhbCI6IG51bGwsCiAgICAgICAgImFubm90YXRpb25zIjogW10KICAg
ICAgfSwKICAgICAgImxvZ3Byb2JzIjogbnVsbCwKICAgICAgImZpbmlzaF9y
ZWFzb24iOiAic3RvcCIKICAgIH0KICBdLAogICJ1c2FnZSI6IHsKICAgICJw
cm9tcHRfdG9rZW5zIjogMTIxNCwKICAgICJjb21wbGV0aW9uX3Rva2VucyI6
IDE2LAogICAgInRvdGFsX3Rva2VucyI6IDEyMzAsCiAgICAicHJvbXB0X3Rv
a2Vuc19kZXRhaWxzIjogewogICAgICAiY2FjaGVkX3Rva2VucyI6IDExNTIs
CiAgICAgICJhdWRpb190b2tlbnMiOiAwCiAgICB9LAogICAgImNvbXBsZXRp
b25fdG9rZW5zX2RldGFpbHMiOiB7CiAgICAgICJyZWFzb25pbmdfdG9rZW5z
IjogMCwKICAgICAgImF1ZGlvX3Rva2VucyI6IDAsCiAgICAgICJhY2NlcHRl
ZF9wcmVkaWN0aW9uX3Rva2VucyI6IDAsCiAgICAgICJyZWplY3RlZF9wcmVk
aWN0aW9uX3Rva2VucyI6IDAKICAgIH0KICB9LAogICJzZXJ2aWNlX3RpZXIi
OiAiZGVmYXVsdCIsCiAgInN5c3RlbV9maW5nZXJwcmludCI6ICJmcF84ZmQ0
MzcxOGIzIgp9Cg==
recorded_at: Fri, 16 May 2025 11:13:09 GMT
- request:
method: post
uri: https://api.openai.com/v1/chat/completions
body:
encoding: UTF-8
base64_string: |
eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi
ZGV2ZWxvcGVyIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0Ijoi
WW91IGFyZSBGaXp6eeKAmXMgY29tbWFuZCB0cmFuc2xhdG9yLiBZb3VyIHRh
c2sgaXMgdG86XG5cbjEuIFJlYWQgdGhlIHVzZXIncyByZXF1ZXN0LlxuMi4g
Q29uc3VsdCB0aGUgY3VycmVudCBjb250ZXh0IChwcm92aWRlZCBiZWxvdyBm
b3IgaW5mb3JtYXRpb25hbCBwdXJwb3NlcyBvbmx5KS5cbjMuIERldGVybWlu
ZSBpZiB0aGUgY3VycmVudCBjb250ZXh0IHN1ZmZpY2VzIG9yIGlmIGEgbmV3
IGNvbnRleHQgaXMgcmVxdWlyZWQuXG40LiBHZW5lcmF0ZSBvbmx5IHRoZSBu
ZWNlc3NhcnkgY29tbWFuZHMgdG8gZnVsZmlsbCB0aGUgcmVxdWVzdC5cbjUu
IE91dHB1dCBhIEpTT04gb2JqZWN0IGNvbnRhaW5pbmcgT05MWTpcblxuICAg
KiBBIFwiY29udGV4dFwiIG9iamVjdCAob25seSBpZiBhIG5ldyBmaWx0ZXJp
bmcgY29udGV4dCBpcyByZXF1aXJlZCwgc3RyaWN0bHkgZm9sbG93aW5nIGRl
ZmluZWQgcHJvcGVydGllcyBiZWxvdykuXG4gICAqIEEgXCJjb21tYW5kc1wi
IGFycmF5IChvbmx5IGlmIGNvbW1hbmRzIGFyZSBleHBsaWNpdGx5IHJlcXVl
c3RlZCBvciBjbGVhcmx5IGltcGxpZWQpLlxuXG5EbyBOT1QgYWRkIGFueSBv
dGhlciBwcm9wZXJ0aWVzIHRvIHlvdXIgSlNPTiBvdXRwdXQuXG5cblRoZSBk
ZXNjcmlwdGlvbiBvZiB0aGUgY3VycmVudCB2aWV3IChcImluc2lkZSBhIGNh
cmRcIiwgXCJ2aWV3aW5nIGEgbGlzdCBvZiBjYXJkc1wiLCBvciBcIm5vdCBz
ZWVpbmcgY2FyZHNcIikgaXMgaW5mb3JtYXRpb25hbCBvbmx5LiBEbyBOT1Qg
cmVmbGVjdCB0aGlzIGRlc2NyaXB0aW9uIGV4cGxpY2l0bHkgb3IgaW1wbGlj
aXRseSBpbiB5b3VyIG91dHB1dCBKU09OLiBORVZFUiBnZW5lcmF0ZSBwcm9w
ZXJ0aWVzIGxpa2UgXCJ2aWV3XCIgb3IgYWRkIFwidGVybXNcIiBiYXNlZCBv
biBcImNhcmRcIiBvciBcImxpc3RcIiBjb250ZXh0LlxuXG4jIyBGaXp6eSBE
YXRhIFN0cnVjdHVyZVxuXG4qICoqQ2FyZHMqKjogUmVwcmVzZW50IGlzc3Vl
cywgZmVhdHVyZXMsIGJ1Z3MsIHRhc2tzLCBvciBwcm9ibGVtcy5cbiogQ2Fy
ZHMgaGF2ZSAqKmNvbW1lbnRzKiogYW5kIGFyZSBjb250YWluZWQgd2l0aGlu
ICoqY29sbGVjdGlvbnMqKi5cblxuIyMgQ29udGV4dCBQcm9wZXJ0aWVzIGZv
ciBGaWx0ZXJpbmcgKHVzZSBleHBsaWNpdGx5KTpcblxuKiAqKnRlcm1zKio6
IEFycmF5IG9mIGtleXdvcmRzIChzcGxpdCBpbmRpdmlkdWFsbHksIGUuZy4s
IFtcInNvbWVcIiwgXCJ0ZXJtXCJdKS4gQXZvaWQgcmVkdW5kYW5jeS5cbiog
KippbmRleGVkX2J5Kio6IFwibmV3ZXN0XCIsIFwib2xkZXN0XCIsIFwibGF0
ZXN0XCIsIFwic3RhbGxlZFwiLCBcImNsb3NlZFwiLlxuXG4gICogXCJjbG9z
ZWRcIjogY29tcGxldGVkIGNhcmRzLlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNy
ZWF0aW9uIGRhdGUsIFwibGF0ZXN0XCI6IGJ5IHVwZGF0ZSBkYXRlLlxuKiAq
KmFzc2lnbmVlX2lkcyoqOiBBcnJheSBvZiBhc3NpZ25lZSBuYW1lcy5cbiog
Kiphc3NpZ25tZW50X3N0YXR1cyoqOiBcInVuYXNzaWduZWRcIi5cbiogKipl
bmdhZ2VtZW50X3N0YXR1cyoqOiBcImNvbnNpZGVyaW5nXCIgb3IgXCJkb2lu
Z1wiLlxuKiAqKmNhcmRfaWRzKio6IEFycmF5IG9mIGNhcmQgSURzLlxuKiAq
KmNyZWF0b3JfaWQqKjogQ3JlYXRvcidzIG5hbWUuXG4qICoqY29sbGVjdGlv
bl9pZHMqKjogQXJyYXkgb2YgZXhwbGljaXRseSBtZW50aW9uZWQgY29sbGVj
dGlvbnMuXG4qICoqdGFnX2lkcyoqOiBBcnJheSBvZiB0YWcgbmFtZXMgKHVz
ZSBmb3IgXCIjdGFnXCIgb3IgXCJ0YWdnZWQgd2l0aFwiKS5cblxuIyMgRXhw
bGljaXQgRmlsdGVyaW5nIFJ1bGVzOlxuXG4qIFwiQXNzaWduZWQgdG8gWFwi
OiB1c2UgYGFzc2lnbmVlX2lkc2AuXG4qIFwiQ3JlYXRlZCBieSBYXCI6IHVz
ZSBgY3JlYXRvcl9pZGAuXG4qIFwiVGFnZ2VkIHdpdGggWFwiLCBcIiNYIGNh
cmRzXCI6IHVzZSBgdGFnX2lkc2AgKG5ldmVyIFwidGVybXNcIikuXG4gIC0g
Rm9yIGV4YW1wbGU6IFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMgdGFn
Z2VkIHdpdGggI2Rlc2lnblwiIHNob3VsZCBhbHdheXMgcmVzdWx0IGluIGB0
YWdfaWRzOiBbXCJkZXNpZ25cIl1gLlxuKiBcIlVuYXNzaWduZWQgY2FyZHNc
IjogdXNlIGBhc3NpZ25tZW50X3N0YXR1czogXCJ1bmFzc2lnbmVkXCJgLlxu
KiBcIk15IGNhcmRzXCI6IENhcmRzIGFzc2lnbmVkIHRvIHRoZSByZXF1ZXN0
ZXIuXG4qIFwiUmVjZW50IGNhcmRzXCI6IHVzZSBgaW5kZXhlZF9ieTogXCJu
ZXdlc3RcImAuXG4qIFwiQ2FyZHMgd2l0aCByZWNlbnQgYWN0aXZpdHlcIjog
dXNlIGBpbmRleGVkX2J5OiBcImxhdGVzdFwiYC5cbiogXCJDb21wbGV0ZWQv
Y2xvc2VkIGNhcmRzXCI6IHVzZSBgaW5kZXhlZF9ieTogXCJjbG9zZWRcImAu
XG4qIFVua25vd24gdGVybXM6IGRlZmF1bHQgdG8gYHRlcm1zYC5cblxuIyMg
Q29tbWFuZCBJbnRlcnByZXRhdGlvbiBSdWxlczpcblxuKiBcInRhZyB3aXRo
ICNkZXNpZ25cIjogYWx3YXlzIGAvdGFnICNkZXNpZ25gLiBEbyBOT1QgY3Jl
YXRlIGB0YWdfaWRzYCBjb250ZXh0LlxuKiBcIiNkZXNpZ24gY2FyZHNcIiBv
ciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25cIjogdXNlIGB0YWdfaWRz
YC5cbiogXCJBc3NpZ24gY2FyZHMgdGFnZ2VkIHdpdGggI2Rlc2lnbiB0byBq
elwiOiBmaWx0ZXIgYnkgYHRhZ19pZHNgLCBjb21tYW5kIGAvYXNzaWduIGp6
YC4gRG8gTk9UIGdlbmVyYXRlIGAvdGFnYCBjb21tYW5kLlxuXG4jIyDimqDv
uI8gQ3J1Y2lhbCBSdWxlcyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipD
b250ZXh0IGZpbHRlcnMqKiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3Rpbmcg
Y29uZGl0aW9ucyoqIHRoYXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5c
biogKipDb21tYW5kcyoqIChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWAp
IHJlcHJlc2VudCAqKm5ldyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVW
RVIqKiB1c2UgbmFtZXMgb3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5k
cyoqIGFzIGZpbHRlcmluZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNz
aWduIGFuZHlcIiBtZWFucyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5k
eWAuIERvIE5PVCBmaWx0ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwi
XWAuXG4gICogRS5nLjogXCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWlu
ZyBhICoqbmV3IHRhZyoqLiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBb
XCJ2MlwiXWAuXG5cbiMjIyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRo
ZXNlKTpcblxuVXNlciBxdWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBj
dXJyZW50ICNkZXNpZ24gY2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0
aGVtIHdpdGggI3YyXCJgXG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xu
ICBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwg
XCJ0YWdfaWRzXCI6IFtcImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6
IFtcIi9hc3NpZ24gYW5keVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJ
bmNvcnJlY3QgKERPIE5PVCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0
XCI6IHsgXCJhc3NpZ25lZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRz
XCI6IFtcInYyXCJdIH0sXG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBh
bmR5XCIsIFwiL3RhZyAjdjJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZp
eCAnLycpOlxuXG4qIEFzc2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gIChl
LmcuLCBgL2Fzc2lnbiBrZXZpbmApLlxuKiBDbG9zZSBjYXJkczogYC9jbG9z
ZSBbb3B0aW9uYWwgcmVhc29uXWAgKGUuZy4sIGAvY2xvc2VgLCBgL2Nsb3Nl
IG5vdCBub3dgKS5cbiogVGFnIGNhcmRzOiBgL3RhZyAjW3RhZy1uYW1lXWAg
KGUuZy4sIGAvdGFnICNkZXNpZ25gKS5cbiogQ2xlYXIgZmlsdGVyczogYC9j
bGVhcmAuXG4qIEluc2lnaHRzIChtYW5kYXRvcnkgaWYgcXVlc3Rpb24gYXNr
ZWQgb3IgZXhwbGljaXRseSByZXF1ZXN0ZWQpOiBgL2luc2lnaHQgW3F1ZXJ5
XWAuXG4gIC0gQWx3YXlzIHVzZSBgL2luc2lnaHRgIGZvciBxdWVyaWVzIGxp
a2UgXCJzdGVwcyB0byByZXByb2R1Y2VcIiwgXCJzdW1tYXJpemVcIiwgb3Ig
c2ltaWxhciBxdWVyaWVzIHRoYXQgY2xlYXJseSByZXF1ZXN0IGluc2lnaHQg
YWJvdXQgY2FyZHMsXG4gICAgZXNwZWNpYWxseSB3aGVuIFwiaW5zaWRlIGEg
Y2FyZFwiLiBQYXNzIHRoZSBvcmlnaW5hbCBxdWVyeSBhcyB0aGUgYXJndW1l
bnQuXG5cbiMjIEpTT04gT3V0cHV0IEV4YW1wbGVzIChzdHJpY3RseSBmb2xs
b3cgdGhlc2UgcGF0dGVybnMpOlxuXG57IFwiY29udGV4dFwiOiB7IFwiYXNz
aWduZWVfaWRzXCI6IFtcImpvcmdlXCJdIH0sIFwiY29tbWFuZHNcIjogW1wi
L2Nsb3NlXCJdIH1cbnsgXCJjb250ZXh0XCI6IHsgXCJ0YWdfaWRzXCI6IFtc
ImRlc2lnblwiXSB9IH1cbnsgXCJjb21tYW5kc1wiOiBbXCIvYXNzaWduIGpv
cmdlXCIsIFwiL3RhZyAjZGVzaWduXCJdIH1cblxuT21pdCBlbXB0eSBhcnJh
eXMgb3IgdW5uZWNlc3NhcnkgcHJvcGVydGllcy4gQXQgbGVhc3Qgb25lIHBy
b3BlcnR5IChgY29udGV4dGAgb3IgYGNvbW1hbmRzYCkgbXVzdCBleGlzdC5c
blxuIyMgT3RoZXIgU3RyaWN0IEluc3RydWN0aW9uczpcblxuKiBORVZFUiBh
ZGQgcHJvcGVydGllcyBiYXNlZCBvbiB2aWV3IGRlc2NyaXB0aW9ucyAoXCJj
YXJkXCIsIFwibGlzdFwiLCBldGMuKS5cbiogQXZvaWQgcmVkdW5kYW50IHRl
cm1zLlxuKiBEb24ndCBkdXBsaWNhdGUgdGVybXMgYWNyb3NzIHByb3BlcnRp
ZXMuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lvbiwgYW5kIGNvbmNpc2Vu
ZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFraW5nIHJlcXVlc3RzIGlz
IGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5cblRoZSB1c2VyIGlzIGN1
cnJlbnRseSB2aWV3aW5nIGEgbGlzdCBvZiBjYXJkcyB9LlxuIn1dfSx7InJv
bGUiOiJ1c2VyIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0Ijoi
I2Rlc2lnbiBjYXJkcyJ9XX1dLCJ0ZW1wZXJhdHVyZSI6MC43LCJzdHJlYW0i
OmZhbHNlfQ==
headers:
User-Agent:
- Faraday v2.13.1
Authorization:
- Bearer <OPEN_API_KEY>
Content-Type:
- application/json
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
response:
status:
code: 200
message: OK
headers:
Date:
- Fri, 16 May 2025 11:13:10 GMT
Content-Type:
- application/json
Transfer-Encoding:
- chunked
Connection:
- keep-alive
Access-Control-Expose-Headers:
- X-Request-ID
Openai-Organization:
- 37signals-u7qhwk
Openai-Processing-Ms:
- '306'
Openai-Version:
- '2020-10-01'
X-Envoy-Upstream-Service-Time:
- '310'
X-Ratelimit-Limit-Requests:
- '500'
X-Ratelimit-Limit-Tokens:
- '200000'
X-Ratelimit-Remaining-Requests:
- '499'
X-Ratelimit-Remaining-Tokens:
- '198816'
X-Ratelimit-Reset-Requests:
- 120ms
X-Ratelimit-Reset-Tokens:
- 355ms
X-Request-Id:
- req_efa79f62554f4b3fa8a3a6d6fd608957
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Cf-Cache-Status:
- DYNAMIC
Set-Cookie:
- __cf_bm=G41DZnX1SKLjm5EnVdYfXFeabw4vnbfyU5wgsX4XnRM-1747393990-1.0.1.1-hjyZ6OLojD7v9XxLxSNylWsHFAK9EUtncECiJ6tDSMgmnOsGWt2K1bPdLK1fcaOvslwvLxwK9I_EvVR8HmpfT80mGncz62StbzaIq4u1xXo;
path=/; expires=Fri, 16-May-25 11:43:10 GMT; domain=.api.openai.com; HttpOnly;
Secure; SameSite=None
- _cfuvid=2ZclVuZP5yzzMNH1mS41fSumxMM87oX9i2t_SxlYAXs-1747393990003-0.0.1.1-604800000;
path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None
X-Content-Type-Options:
- nosniff
Server:
- cloudflare
Cf-Ray:
- 940a71b1daec033e-MAD
Alt-Svc:
- h3=":443"; ma=86400
body:
encoding: ASCII-8BIT
base64_string: |
ewogICJpZCI6ICJjaGF0Y21wbC1CWG5IeFRDVlNrRDNLNXZvUm5peVdycHo2
NGhFMiIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh
dGVkIjogMTc0NzM5Mzk4OSwKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw
MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi
OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np
c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb250ZXh0XCI6
IHtcbiAgICBcInRhZ19pZHNcIjogW1wiZGVzaWduXCJdXG4gIH1cbn0iLAog
ICAgICAgICJyZWZ1c2FsIjogbnVsbCwKICAgICAgICAiYW5ub3RhdGlvbnMi
OiBbXQogICAgICB9LAogICAgICAibG9ncHJvYnMiOiBudWxsLAogICAgICAi
ZmluaXNoX3JlYXNvbiI6ICJzdG9wIgogICAgfQogIF0sCiAgInVzYWdlIjog
ewogICAgInByb21wdF90b2tlbnMiOiAxMjEyLAogICAgImNvbXBsZXRpb25f
dG9rZW5zIjogMTgsCiAgICAidG90YWxfdG9rZW5zIjogMTIzMCwKICAgICJw
cm9tcHRfdG9rZW5zX2RldGFpbHMiOiB7CiAgICAgICJjYWNoZWRfdG9rZW5z
IjogMTE1MiwKICAgICAgImF1ZGlvX3Rva2VucyI6IDAKICAgIH0sCiAgICAi
Y29tcGxldGlvbl90b2tlbnNfZGV0YWlscyI6IHsKICAgICAgInJlYXNvbmlu
Z190b2tlbnMiOiAwLAogICAgICAiYXVkaW9fdG9rZW5zIjogMCwKICAgICAg
ImFjY2VwdGVkX3ByZWRpY3Rpb25fdG9rZW5zIjogMCwKICAgICAgInJlamVj
dGVkX3ByZWRpY3Rpb25fdG9rZW5zIjogMAogICAgfQogIH0sCiAgInNlcnZp
Y2VfdGllciI6ICJkZWZhdWx0IiwKICAic3lzdGVtX2ZpbmdlcnByaW50Ijog
ImZwXzhmZDQzNzE4YjMiCn0K
recorded_at: Fri, 16 May 2025 11:13:09 GMT
- request:
method: post
uri: https://api.openai.com/v1/chat/completions
body:
encoding: UTF-8
base64_string: |
eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi
ZGV2ZWxvcGVyIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0Ijoi
WW91IGFyZSBGaXp6eeKAmXMgY29tbWFuZCB0cmFuc2xhdG9yLiBZb3VyIHRh
c2sgaXMgdG86XG5cbjEuIFJlYWQgdGhlIHVzZXIncyByZXF1ZXN0LlxuMi4g
Q29uc3VsdCB0aGUgY3VycmVudCBjb250ZXh0IChwcm92aWRlZCBiZWxvdyBm
b3IgaW5mb3JtYXRpb25hbCBwdXJwb3NlcyBvbmx5KS5cbjMuIERldGVybWlu
ZSBpZiB0aGUgY3VycmVudCBjb250ZXh0IHN1ZmZpY2VzIG9yIGlmIGEgbmV3
IGNvbnRleHQgaXMgcmVxdWlyZWQuXG40LiBHZW5lcmF0ZSBvbmx5IHRoZSBu
ZWNlc3NhcnkgY29tbWFuZHMgdG8gZnVsZmlsbCB0aGUgcmVxdWVzdC5cbjUu
IE91dHB1dCBhIEpTT04gb2JqZWN0IGNvbnRhaW5pbmcgT05MWTpcblxuICAg
KiBBIFwiY29udGV4dFwiIG9iamVjdCAob25seSBpZiBhIG5ldyBmaWx0ZXJp
bmcgY29udGV4dCBpcyByZXF1aXJlZCwgc3RyaWN0bHkgZm9sbG93aW5nIGRl
ZmluZWQgcHJvcGVydGllcyBiZWxvdykuXG4gICAqIEEgXCJjb21tYW5kc1wi
IGFycmF5IChvbmx5IGlmIGNvbW1hbmRzIGFyZSBleHBsaWNpdGx5IHJlcXVl
c3RlZCBvciBjbGVhcmx5IGltcGxpZWQpLlxuXG5EbyBOT1QgYWRkIGFueSBv
dGhlciBwcm9wZXJ0aWVzIHRvIHlvdXIgSlNPTiBvdXRwdXQuXG5cblRoZSBk
ZXNjcmlwdGlvbiBvZiB0aGUgY3VycmVudCB2aWV3IChcImluc2lkZSBhIGNh
cmRcIiwgXCJ2aWV3aW5nIGEgbGlzdCBvZiBjYXJkc1wiLCBvciBcIm5vdCBz
ZWVpbmcgY2FyZHNcIikgaXMgaW5mb3JtYXRpb25hbCBvbmx5LiBEbyBOT1Qg
cmVmbGVjdCB0aGlzIGRlc2NyaXB0aW9uIGV4cGxpY2l0bHkgb3IgaW1wbGlj
aXRseSBpbiB5b3VyIG91dHB1dCBKU09OLiBORVZFUiBnZW5lcmF0ZSBwcm9w
ZXJ0aWVzIGxpa2UgXCJ2aWV3XCIgb3IgYWRkIFwidGVybXNcIiBiYXNlZCBv
biBcImNhcmRcIiBvciBcImxpc3RcIiBjb250ZXh0LlxuXG4jIyBGaXp6eSBE
YXRhIFN0cnVjdHVyZVxuXG4qICoqQ2FyZHMqKjogUmVwcmVzZW50IGlzc3Vl
cywgZmVhdHVyZXMsIGJ1Z3MsIHRhc2tzLCBvciBwcm9ibGVtcy5cbiogQ2Fy
ZHMgaGF2ZSAqKmNvbW1lbnRzKiogYW5kIGFyZSBjb250YWluZWQgd2l0aGlu
ICoqY29sbGVjdGlvbnMqKi5cblxuIyMgQ29udGV4dCBQcm9wZXJ0aWVzIGZv
ciBGaWx0ZXJpbmcgKHVzZSBleHBsaWNpdGx5KTpcblxuKiAqKnRlcm1zKio6
IEFycmF5IG9mIGtleXdvcmRzIChzcGxpdCBpbmRpdmlkdWFsbHksIGUuZy4s
IFtcInNvbWVcIiwgXCJ0ZXJtXCJdKS4gQXZvaWQgcmVkdW5kYW5jeS5cbiog
KippbmRleGVkX2J5Kio6IFwibmV3ZXN0XCIsIFwib2xkZXN0XCIsIFwibGF0
ZXN0XCIsIFwic3RhbGxlZFwiLCBcImNsb3NlZFwiLlxuXG4gICogXCJjbG9z
ZWRcIjogY29tcGxldGVkIGNhcmRzLlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNy
ZWF0aW9uIGRhdGUsIFwibGF0ZXN0XCI6IGJ5IHVwZGF0ZSBkYXRlLlxuKiAq
KmFzc2lnbmVlX2lkcyoqOiBBcnJheSBvZiBhc3NpZ25lZSBuYW1lcy5cbiog
Kiphc3NpZ25tZW50X3N0YXR1cyoqOiBcInVuYXNzaWduZWRcIi5cbiogKipl
bmdhZ2VtZW50X3N0YXR1cyoqOiBcImNvbnNpZGVyaW5nXCIgb3IgXCJkb2lu
Z1wiLlxuKiAqKmNhcmRfaWRzKio6IEFycmF5IG9mIGNhcmQgSURzLlxuKiAq
KmNyZWF0b3JfaWQqKjogQ3JlYXRvcidzIG5hbWUuXG4qICoqY29sbGVjdGlv
bl9pZHMqKjogQXJyYXkgb2YgZXhwbGljaXRseSBtZW50aW9uZWQgY29sbGVj
dGlvbnMuXG4qICoqdGFnX2lkcyoqOiBBcnJheSBvZiB0YWcgbmFtZXMgKHVz
ZSBmb3IgXCIjdGFnXCIgb3IgXCJ0YWdnZWQgd2l0aFwiKS5cblxuIyMgRXhw
bGljaXQgRmlsdGVyaW5nIFJ1bGVzOlxuXG4qIFwiQXNzaWduZWQgdG8gWFwi
OiB1c2UgYGFzc2lnbmVlX2lkc2AuXG4qIFwiQ3JlYXRlZCBieSBYXCI6IHVz
ZSBgY3JlYXRvcl9pZGAuXG4qIFwiVGFnZ2VkIHdpdGggWFwiLCBcIiNYIGNh
cmRzXCI6IHVzZSBgdGFnX2lkc2AgKG5ldmVyIFwidGVybXNcIikuXG4gIC0g
Rm9yIGV4YW1wbGU6IFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMgdGFn
Z2VkIHdpdGggI2Rlc2lnblwiIHNob3VsZCBhbHdheXMgcmVzdWx0IGluIGB0
YWdfaWRzOiBbXCJkZXNpZ25cIl1gLlxuKiBcIlVuYXNzaWduZWQgY2FyZHNc
IjogdXNlIGBhc3NpZ25tZW50X3N0YXR1czogXCJ1bmFzc2lnbmVkXCJgLlxu
KiBcIk15IGNhcmRzXCI6IENhcmRzIGFzc2lnbmVkIHRvIHRoZSByZXF1ZXN0
ZXIuXG4qIFwiUmVjZW50IGNhcmRzXCI6IHVzZSBgaW5kZXhlZF9ieTogXCJu
ZXdlc3RcImAuXG4qIFwiQ2FyZHMgd2l0aCByZWNlbnQgYWN0aXZpdHlcIjog
dXNlIGBpbmRleGVkX2J5OiBcImxhdGVzdFwiYC5cbiogXCJDb21wbGV0ZWQv
Y2xvc2VkIGNhcmRzXCI6IHVzZSBgaW5kZXhlZF9ieTogXCJjbG9zZWRcImAu
XG4qIFVua25vd24gdGVybXM6IGRlZmF1bHQgdG8gYHRlcm1zYC5cblxuIyMg
Q29tbWFuZCBJbnRlcnByZXRhdGlvbiBSdWxlczpcblxuKiBcInRhZyB3aXRo
ICNkZXNpZ25cIjogYWx3YXlzIGAvdGFnICNkZXNpZ25gLiBEbyBOT1QgY3Jl
YXRlIGB0YWdfaWRzYCBjb250ZXh0LlxuKiBcIiNkZXNpZ24gY2FyZHNcIiBv
ciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25cIjogdXNlIGB0YWdfaWRz
YC5cbiogXCJBc3NpZ24gY2FyZHMgdGFnZ2VkIHdpdGggI2Rlc2lnbiB0byBq
elwiOiBmaWx0ZXIgYnkgYHRhZ19pZHNgLCBjb21tYW5kIGAvYXNzaWduIGp6
YC4gRG8gTk9UIGdlbmVyYXRlIGAvdGFnYCBjb21tYW5kLlxuXG4jIyDimqDv
uI8gQ3J1Y2lhbCBSdWxlcyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipD
b250ZXh0IGZpbHRlcnMqKiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3Rpbmcg
Y29uZGl0aW9ucyoqIHRoYXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5c
biogKipDb21tYW5kcyoqIChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWAp
IHJlcHJlc2VudCAqKm5ldyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVW
RVIqKiB1c2UgbmFtZXMgb3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5k
cyoqIGFzIGZpbHRlcmluZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNz
aWduIGFuZHlcIiBtZWFucyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5k
eWAuIERvIE5PVCBmaWx0ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwi
XWAuXG4gICogRS5nLjogXCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWlu
ZyBhICoqbmV3IHRhZyoqLiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBb
XCJ2MlwiXWAuXG5cbiMjIyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRo
ZXNlKTpcblxuVXNlciBxdWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBj
dXJyZW50ICNkZXNpZ24gY2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0
aGVtIHdpdGggI3YyXCJgXG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xu
ICBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwg
XCJ0YWdfaWRzXCI6IFtcImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6
IFtcIi9hc3NpZ24gYW5keVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJ
bmNvcnJlY3QgKERPIE5PVCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0
XCI6IHsgXCJhc3NpZ25lZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRz
XCI6IFtcInYyXCJdIH0sXG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBh
bmR5XCIsIFwiL3RhZyAjdjJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZp
eCAnLycpOlxuXG4qIEFzc2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gIChl
LmcuLCBgL2Fzc2lnbiBrZXZpbmApLlxuKiBDbG9zZSBjYXJkczogYC9jbG9z
ZSBbb3B0aW9uYWwgcmVhc29uXWAgKGUuZy4sIGAvY2xvc2VgLCBgL2Nsb3Nl
IG5vdCBub3dgKS5cbiogVGFnIGNhcmRzOiBgL3RhZyAjW3RhZy1uYW1lXWAg
KGUuZy4sIGAvdGFnICNkZXNpZ25gKS5cbiogQ2xlYXIgZmlsdGVyczogYC9j
bGVhcmAuXG4qIEluc2lnaHRzIChtYW5kYXRvcnkgaWYgcXVlc3Rpb24gYXNr
ZWQgb3IgZXhwbGljaXRseSByZXF1ZXN0ZWQpOiBgL2luc2lnaHQgW3F1ZXJ5
XWAuXG4gIC0gQWx3YXlzIHVzZSBgL2luc2lnaHRgIGZvciBxdWVyaWVzIGxp
a2UgXCJzdGVwcyB0byByZXByb2R1Y2VcIiwgXCJzdW1tYXJpemVcIiwgb3Ig
c2ltaWxhciBxdWVyaWVzIHRoYXQgY2xlYXJseSByZXF1ZXN0IGluc2lnaHQg
YWJvdXQgY2FyZHMsXG4gICAgZXNwZWNpYWxseSB3aGVuIFwiaW5zaWRlIGEg
Y2FyZFwiLiBQYXNzIHRoZSBvcmlnaW5hbCBxdWVyeSBhcyB0aGUgYXJndW1l
bnQuXG5cbiMjIEpTT04gT3V0cHV0IEV4YW1wbGVzIChzdHJpY3RseSBmb2xs
b3cgdGhlc2UgcGF0dGVybnMpOlxuXG57IFwiY29udGV4dFwiOiB7IFwiYXNz
aWduZWVfaWRzXCI6IFtcImpvcmdlXCJdIH0sIFwiY29tbWFuZHNcIjogW1wi
L2Nsb3NlXCJdIH1cbnsgXCJjb250ZXh0XCI6IHsgXCJ0YWdfaWRzXCI6IFtc
ImRlc2lnblwiXSB9IH1cbnsgXCJjb21tYW5kc1wiOiBbXCIvYXNzaWduIGpv
cmdlXCIsIFwiL3RhZyAjZGVzaWduXCJdIH1cblxuT21pdCBlbXB0eSBhcnJh
eXMgb3IgdW5uZWNlc3NhcnkgcHJvcGVydGllcy4gQXQgbGVhc3Qgb25lIHBy
b3BlcnR5IChgY29udGV4dGAgb3IgYGNvbW1hbmRzYCkgbXVzdCBleGlzdC5c
blxuIyMgT3RoZXIgU3RyaWN0IEluc3RydWN0aW9uczpcblxuKiBORVZFUiBh
ZGQgcHJvcGVydGllcyBiYXNlZCBvbiB2aWV3IGRlc2NyaXB0aW9ucyAoXCJj
YXJkXCIsIFwibGlzdFwiLCBldGMuKS5cbiogQXZvaWQgcmVkdW5kYW50IHRl
cm1zLlxuKiBEb24ndCBkdXBsaWNhdGUgdGVybXMgYWNyb3NzIHByb3BlcnRp
ZXMuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lvbiwgYW5kIGNvbmNpc2Vu
ZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFraW5nIHJlcXVlc3RzIGlz
IGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5cblRoZSB1c2VyIGlzIGN1
cnJlbnRseSB2aWV3aW5nIGEgbGlzdCBvZiBjYXJkcyB9LlxuIn1dfSx7InJv
bGUiOiJ1c2VyIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0Ijoi
Y2FyZHMgdGFnZ2VkIHdpdGggZGVzaWduIn1dfV0sInRlbXBlcmF0dXJlIjow
LjcsInN0cmVhbSI6ZmFsc2V9
headers:
User-Agent:
- Faraday v2.13.1
Authorization:
- Bearer <OPEN_API_KEY>
Content-Type:
- application/json
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
response:
status:
code: 200
message: OK
headers:
Date:
- Fri, 16 May 2025 11:13:10 GMT
Content-Type:
- application/json
Transfer-Encoding:
- chunked
Connection:
- keep-alive
Access-Control-Expose-Headers:
- X-Request-ID
Openai-Organization:
- 37signals-u7qhwk
Openai-Processing-Ms:
- '384'
Openai-Version:
- '2020-10-01'
X-Envoy-Upstream-Service-Time:
- '389'
X-Ratelimit-Limit-Requests:
- '500'
X-Ratelimit-Limit-Tokens:
- '200000'
X-Ratelimit-Remaining-Requests:
- '499'
X-Ratelimit-Remaining-Tokens:
- '198812'
X-Ratelimit-Reset-Requests:
- 120ms
X-Ratelimit-Reset-Tokens:
- 356ms
X-Request-Id:
- req_1098a34431de1fa32b1ecd597483899c
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Cf-Cache-Status:
- DYNAMIC
Set-Cookie:
- __cf_bm=G0ZOjPJG05uRbHhfkhMFLpTfK0hsFvYpxWfCDVzLXUM-1747393990-1.0.1.1-uKDD6k5OWZj4wBfMZLVxjoZH8HFFEGRE.EuuzNkcMc7w6tfqR1DpnnIq.UJklrl4eaueEY4ZaROxEqkmCTCpz_Xp2Gd2dWdmZIxsLVxVdvY;
path=/; expires=Fri, 16-May-25 11:43:10 GMT; domain=.api.openai.com; HttpOnly;
Secure; SameSite=None
- _cfuvid=63hlcEVUXevmPGzm_n2OqD.D3i003FzLUkdEvFYdenw-1747393990715-0.0.1.1-604800000;
path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None
X-Content-Type-Options:
- nosniff
Server:
- cloudflare
Cf-Ray:
- 940a71b5eccb04ae-MAD
Alt-Svc:
- h3=":443"; ma=86400
body:
encoding: ASCII-8BIT
base64_string: |
ewogICJpZCI6ICJjaGF0Y21wbC1CWG5IeUUwcUNocldPMnJTa2N0NjNBcXhS
bmU2cyIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh
dGVkIjogMTc0NzM5Mzk5MCwKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw
MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi
OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np
c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb250ZXh0XCI6
IHsgXCJ0YWdfaWRzXCI6IFtcImRlc2lnblwiXSB9XG59IiwKICAgICAgICAi
cmVmdXNhbCI6IG51bGwsCiAgICAgICAgImFubm90YXRpb25zIjogW10KICAg
ICAgfSwKICAgICAgImxvZ3Byb2JzIjogbnVsbCwKICAgICAgImZpbmlzaF9y
ZWFzb24iOiAic3RvcCIKICAgIH0KICBdLAogICJ1c2FnZSI6IHsKICAgICJw
cm9tcHRfdG9rZW5zIjogMTIxMywKICAgICJjb21wbGV0aW9uX3Rva2VucyI6
IDE2LAogICAgInRvdGFsX3Rva2VucyI6IDEyMjksCiAgICAicHJvbXB0X3Rv
a2Vuc19kZXRhaWxzIjogewogICAgICAiY2FjaGVkX3Rva2VucyI6IDExNTIs
CiAgICAgICJhdWRpb190b2tlbnMiOiAwCiAgICB9LAogICAgImNvbXBsZXRp
b25fdG9rZW5zX2RldGFpbHMiOiB7CiAgICAgICJyZWFzb25pbmdfdG9rZW5z
IjogMCwKICAgICAgImF1ZGlvX3Rva2VucyI6IDAsCiAgICAgICJhY2NlcHRl
ZF9wcmVkaWN0aW9uX3Rva2VucyI6IDAsCiAgICAgICJyZWplY3RlZF9wcmVk
aWN0aW9uX3Rva2VucyI6IDAKICAgIH0KICB9LAogICJzZXJ2aWNlX3RpZXIi
OiAiZGVmYXVsdCIsCiAgInN5c3RlbV9maW5nZXJwcmludCI6ICJmcF84ZmQ0
MzcxOGIzIgp9Cg==
recorded_at: Fri, 16 May 2025 11:13:10 GMT
recorded_with: VCR 6.3.1
@@ -0,0 +1,851 @@
---
http_interactions:
- request:
method: post
uri: https://api.openai.com/v1/chat/completions
body:
encoding: UTF-8
base64_string: |
eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi
ZGV2ZWxvcGVyIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0Ijoi
WW91IGFyZSBGaXp6eeKAmXMgY29tbWFuZCB0cmFuc2xhdG9yLiBZb3VyIHRh
c2sgaXMgdG86XG5cbjEuIFJlYWQgdGhlIHVzZXIncyByZXF1ZXN0LlxuMi4g
Q29uc3VsdCB0aGUgY3VycmVudCBjb250ZXh0IChwcm92aWRlZCBiZWxvdyBm
b3IgaW5mb3JtYXRpb25hbCBwdXJwb3NlcyBvbmx5KS5cbjMuIERldGVybWlu
ZSBpZiB0aGUgY3VycmVudCBjb250ZXh0IHN1ZmZpY2VzIG9yIGlmIGEgbmV3
IGNvbnRleHQgaXMgcmVxdWlyZWQuXG40LiBHZW5lcmF0ZSBvbmx5IHRoZSBu
ZWNlc3NhcnkgY29tbWFuZHMgdG8gZnVsZmlsbCB0aGUgcmVxdWVzdC5cbjUu
IE91dHB1dCBhIEpTT04gb2JqZWN0IGNvbnRhaW5pbmcgT05MWTpcblxuICAg
KiBBIFwiY29udGV4dFwiIG9iamVjdCAob25seSBpZiBhIG5ldyBmaWx0ZXJp
bmcgY29udGV4dCBpcyByZXF1aXJlZCwgc3RyaWN0bHkgZm9sbG93aW5nIGRl
ZmluZWQgcHJvcGVydGllcyBiZWxvdykuXG4gICAqIEEgXCJjb21tYW5kc1wi
IGFycmF5IChvbmx5IGlmIGNvbW1hbmRzIGFyZSBleHBsaWNpdGx5IHJlcXVl
c3RlZCBvciBjbGVhcmx5IGltcGxpZWQpLlxuXG5EbyBOT1QgYWRkIGFueSBv
dGhlciBwcm9wZXJ0aWVzIHRvIHlvdXIgSlNPTiBvdXRwdXQuXG5cblRoZSBk
ZXNjcmlwdGlvbiBvZiB0aGUgY3VycmVudCB2aWV3IChcImluc2lkZSBhIGNh
cmRcIiwgXCJ2aWV3aW5nIGEgbGlzdCBvZiBjYXJkc1wiLCBvciBcIm5vdCBz
ZWVpbmcgY2FyZHNcIikgaXMgaW5mb3JtYXRpb25hbCBvbmx5LiBEbyBOT1Qg
cmVmbGVjdCB0aGlzIGRlc2NyaXB0aW9uIGV4cGxpY2l0bHkgb3IgaW1wbGlj
aXRseSBpbiB5b3VyIG91dHB1dCBKU09OLiBORVZFUiBnZW5lcmF0ZSBwcm9w
ZXJ0aWVzIGxpa2UgXCJ2aWV3XCIgb3IgYWRkIFwidGVybXNcIiBiYXNlZCBv
biBcImNhcmRcIiBvciBcImxpc3RcIiBjb250ZXh0LlxuXG4jIyBGaXp6eSBE
YXRhIFN0cnVjdHVyZVxuXG4qICoqQ2FyZHMqKjogUmVwcmVzZW50IGlzc3Vl
cywgZmVhdHVyZXMsIGJ1Z3MsIHRhc2tzLCBvciBwcm9ibGVtcy5cbiogQ2Fy
ZHMgaGF2ZSAqKmNvbW1lbnRzKiogYW5kIGFyZSBjb250YWluZWQgd2l0aGlu
ICoqY29sbGVjdGlvbnMqKi5cblxuIyMgQ29udGV4dCBQcm9wZXJ0aWVzIGZv
ciBGaWx0ZXJpbmcgKHVzZSBleHBsaWNpdGx5KTpcblxuKiAqKnRlcm1zKio6
IEFycmF5IG9mIGtleXdvcmRzIChzcGxpdCBpbmRpdmlkdWFsbHksIGUuZy4s
IFtcInNvbWVcIiwgXCJ0ZXJtXCJdKS4gQXZvaWQgcmVkdW5kYW5jeS5cbiog
KippbmRleGVkX2J5Kio6IFwibmV3ZXN0XCIsIFwib2xkZXN0XCIsIFwibGF0
ZXN0XCIsIFwic3RhbGxlZFwiLCBcImNsb3NlZFwiLlxuXG4gICogXCJjbG9z
ZWRcIjogY29tcGxldGVkIGNhcmRzLlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNy
ZWF0aW9uIGRhdGUsIFwibGF0ZXN0XCI6IGJ5IHVwZGF0ZSBkYXRlLlxuKiAq
KmFzc2lnbmVlX2lkcyoqOiBBcnJheSBvZiBhc3NpZ25lZSBuYW1lcy5cbiog
Kiphc3NpZ25tZW50X3N0YXR1cyoqOiBcInVuYXNzaWduZWRcIi5cbiogKipl
bmdhZ2VtZW50X3N0YXR1cyoqOiBcImNvbnNpZGVyaW5nXCIgb3IgXCJkb2lu
Z1wiLlxuKiAqKmNhcmRfaWRzKio6IEFycmF5IG9mIGNhcmQgSURzLlxuKiAq
KmNyZWF0b3JfaWQqKjogQ3JlYXRvcidzIG5hbWUuXG4qICoqY29sbGVjdGlv
bl9pZHMqKjogQXJyYXkgb2YgZXhwbGljaXRseSBtZW50aW9uZWQgY29sbGVj
dGlvbnMuXG4qICoqdGFnX2lkcyoqOiBBcnJheSBvZiB0YWcgbmFtZXMgKHVz
ZSBmb3IgXCIjdGFnXCIgb3IgXCJ0YWdnZWQgd2l0aFwiKS5cblxuIyMgRXhw
bGljaXQgRmlsdGVyaW5nIFJ1bGVzOlxuXG4qIFwiQXNzaWduZWQgdG8gWFwi
OiB1c2UgYGFzc2lnbmVlX2lkc2AuXG4qIFwiQ3JlYXRlZCBieSBYXCI6IHVz
ZSBgY3JlYXRvcl9pZGAuXG4qIFwiVGFnZ2VkIHdpdGggWFwiLCBcIiNYIGNh
cmRzXCI6IHVzZSBgdGFnX2lkc2AgKG5ldmVyIFwidGVybXNcIikuXG4gIC0g
Rm9yIGV4YW1wbGU6IFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMgdGFn
Z2VkIHdpdGggI2Rlc2lnblwiIHNob3VsZCBhbHdheXMgcmVzdWx0IGluIGB0
YWdfaWRzOiBbXCJkZXNpZ25cIl1gLlxuKiBcIlVuYXNzaWduZWQgY2FyZHNc
IjogdXNlIGBhc3NpZ25tZW50X3N0YXR1czogXCJ1bmFzc2lnbmVkXCJgLlxu
KiBcIk15IGNhcmRzXCI6IENhcmRzIGFzc2lnbmVkIHRvIHRoZSByZXF1ZXN0
ZXIuXG4qIFwiUmVjZW50IGNhcmRzXCI6IHVzZSBgaW5kZXhlZF9ieTogXCJu
ZXdlc3RcImAuXG4qIFwiQ2FyZHMgd2l0aCByZWNlbnQgYWN0aXZpdHlcIjog
dXNlIGBpbmRleGVkX2J5OiBcImxhdGVzdFwiYC5cbiogXCJDb21wbGV0ZWQv
Y2xvc2VkIGNhcmRzXCI6IHVzZSBgaW5kZXhlZF9ieTogXCJjbG9zZWRcImAu
XG4qIFVua25vd24gdGVybXM6IGRlZmF1bHQgdG8gYHRlcm1zYC5cblxuIyMg
Q29tbWFuZCBJbnRlcnByZXRhdGlvbiBSdWxlczpcblxuKiBcInRhZyB3aXRo
ICNkZXNpZ25cIjogYWx3YXlzIGAvdGFnICNkZXNpZ25gLiBEbyBOT1QgY3Jl
YXRlIGB0YWdfaWRzYCBjb250ZXh0LlxuKiBcIiNkZXNpZ24gY2FyZHNcIiBv
ciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25cIjogdXNlIGB0YWdfaWRz
YC5cbiogXCJBc3NpZ24gY2FyZHMgdGFnZ2VkIHdpdGggI2Rlc2lnbiB0byBq
elwiOiBmaWx0ZXIgYnkgYHRhZ19pZHNgLCBjb21tYW5kIGAvYXNzaWduIGp6
YC4gRG8gTk9UIGdlbmVyYXRlIGAvdGFnYCBjb21tYW5kLlxuXG4jIyDimqDv
uI8gQ3J1Y2lhbCBSdWxlcyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipD
b250ZXh0IGZpbHRlcnMqKiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3Rpbmcg
Y29uZGl0aW9ucyoqIHRoYXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5c
biogKipDb21tYW5kcyoqIChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWAp
IHJlcHJlc2VudCAqKm5ldyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVW
RVIqKiB1c2UgbmFtZXMgb3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5k
cyoqIGFzIGZpbHRlcmluZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNz
aWduIGFuZHlcIiBtZWFucyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5k
eWAuIERvIE5PVCBmaWx0ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwi
XWAuXG4gICogRS5nLjogXCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWlu
ZyBhICoqbmV3IHRhZyoqLiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBb
XCJ2MlwiXWAuXG5cbiMjIyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRo
ZXNlKTpcblxuVXNlciBxdWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBj
dXJyZW50ICNkZXNpZ24gY2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0
aGVtIHdpdGggI3YyXCJgXG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xu
ICBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwg
XCJ0YWdfaWRzXCI6IFtcImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6
IFtcIi9hc3NpZ24gYW5keVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJ
bmNvcnJlY3QgKERPIE5PVCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0
XCI6IHsgXCJhc3NpZ25lZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRz
XCI6IFtcInYyXCJdIH0sXG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBh
bmR5XCIsIFwiL3RhZyAjdjJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZp
eCAnLycpOlxuXG4qIEFzc2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gIChl
LmcuLCBgL2Fzc2lnbiBrZXZpbmApLlxuKiBDbG9zZSBjYXJkczogYC9jbG9z
ZSBbb3B0aW9uYWwgcmVhc29uXWAgKGUuZy4sIGAvY2xvc2VgLCBgL2Nsb3Nl
IG5vdCBub3dgKS5cbiogVGFnIGNhcmRzOiBgL3RhZyAjW3RhZy1uYW1lXWAg
KGUuZy4sIGAvdGFnICNkZXNpZ25gKS5cbiogQ2xlYXIgZmlsdGVyczogYC9j
bGVhcmAuXG4qIEluc2lnaHRzIChtYW5kYXRvcnkgaWYgcXVlc3Rpb24gYXNr
ZWQgb3IgZXhwbGljaXRseSByZXF1ZXN0ZWQpOiBgL2luc2lnaHQgW3F1ZXJ5
XWAuXG4gIC0gQWx3YXlzIHVzZSBgL2luc2lnaHRgIGZvciBxdWVyaWVzIGxp
a2UgXCJzdGVwcyB0byByZXByb2R1Y2VcIiwgXCJzdW1tYXJpemVcIiwgb3Ig
c2ltaWxhciBxdWVyaWVzIHRoYXQgY2xlYXJseSByZXF1ZXN0IGluc2lnaHQg
YWJvdXQgY2FyZHMsXG4gICAgZXNwZWNpYWxseSB3aGVuIFwiaW5zaWRlIGEg
Y2FyZFwiLiBQYXNzIHRoZSBvcmlnaW5hbCBxdWVyeSBhcyB0aGUgYXJndW1l
bnQuXG5cbiMjIEpTT04gT3V0cHV0IEV4YW1wbGVzIChzdHJpY3RseSBmb2xs
b3cgdGhlc2UgcGF0dGVybnMpOlxuXG57IFwiY29udGV4dFwiOiB7IFwiYXNz
aWduZWVfaWRzXCI6IFtcImpvcmdlXCJdIH0sIFwiY29tbWFuZHNcIjogW1wi
L2Nsb3NlXCJdIH1cbnsgXCJjb250ZXh0XCI6IHsgXCJ0YWdfaWRzXCI6IFtc
ImRlc2lnblwiXSB9IH1cbnsgXCJjb21tYW5kc1wiOiBbXCIvYXNzaWduIGpv
cmdlXCIsIFwiL3RhZyAjZGVzaWduXCJdIH1cblxuT21pdCBlbXB0eSBhcnJh
eXMgb3IgdW5uZWNlc3NhcnkgcHJvcGVydGllcy4gQXQgbGVhc3Qgb25lIHBy
b3BlcnR5IChgY29udGV4dGAgb3IgYGNvbW1hbmRzYCkgbXVzdCBleGlzdC5c
blxuIyMgT3RoZXIgU3RyaWN0IEluc3RydWN0aW9uczpcblxuKiBORVZFUiBh
ZGQgcHJvcGVydGllcyBiYXNlZCBvbiB2aWV3IGRlc2NyaXB0aW9ucyAoXCJj
YXJkXCIsIFwibGlzdFwiLCBldGMuKS5cbiogQXZvaWQgcmVkdW5kYW50IHRl
cm1zLlxuKiBEb24ndCBkdXBsaWNhdGUgdGVybXMgYWNyb3NzIHByb3BlcnRp
ZXMuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lvbiwgYW5kIGNvbmNpc2Vu
ZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFraW5nIHJlcXVlc3RzIGlz
IGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5cblRoZSB1c2VyIGlzIGN1
cnJlbnRseSBpbnNpZGUgYSBjYXJkIH0uXG4ifV19LHsicm9sZSI6InVzZXIi
LCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJzdW1tYXJpemUi
fV19XSwidGVtcGVyYXR1cmUiOjAuNywic3RyZWFtIjpmYWxzZX0=
headers:
User-Agent:
- Faraday v2.13.1
Authorization:
- Bearer <OPEN_API_KEY>
Content-Type:
- application/json
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
response:
status:
code: 200
message: OK
headers:
Date:
- Fri, 16 May 2025 11:13:48 GMT
Content-Type:
- application/json
Transfer-Encoding:
- chunked
Connection:
- keep-alive
Access-Control-Expose-Headers:
- X-Request-ID
Openai-Organization:
- 37signals-u7qhwk
Openai-Processing-Ms:
- '405'
Openai-Version:
- '2020-10-01'
X-Envoy-Upstream-Service-Time:
- '410'
X-Ratelimit-Limit-Requests:
- '500'
X-Ratelimit-Limit-Tokens:
- '200000'
X-Ratelimit-Remaining-Requests:
- '499'
X-Ratelimit-Remaining-Tokens:
- '198818'
X-Ratelimit-Reset-Requests:
- 120ms
X-Ratelimit-Reset-Tokens:
- 354ms
X-Request-Id:
- req_a3f9f7aa70095474cb9436753c46580c
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Cf-Cache-Status:
- DYNAMIC
Set-Cookie:
- __cf_bm=uHD.AeSRx7nPVB0_8p8FVjYpTpVDdHvL29lZtpS1GNw-1747394028-1.0.1.1-tONvW8MH_44HZo4oIeQAG3pXsNPJ7RC0pOY_GsgE2TQnig6lvXCbgDopEJVXARBw5aEyv8pBwN7UEpH7Yvq0jjM8mxzmcaAQ4ybcts9XhMI;
path=/; expires=Fri, 16-May-25 11:43:48 GMT; domain=.api.openai.com; HttpOnly;
Secure; SameSite=None
- _cfuvid=PzptJ2TXwcCWXUl6DNpvfxMCQAz7oCowX8cST9Nae1k-1747394028563-0.0.1.1-604800000;
path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None
X-Content-Type-Options:
- nosniff
Server:
- cloudflare
Cf-Ray:
- 940a72a24bfecfae-MAD
Alt-Svc:
- h3=":443"; ma=86400
body:
encoding: ASCII-8BIT
base64_string: |
ewogICJpZCI6ICJjaGF0Y21wbC1CWG5JYWNENkNCUEpzaUVQWnl1Z0xONWJo
bjRPQSIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh
dGVkIjogMTc0NzM5NDAyOCwKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw
MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi
OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np
c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb21tYW5kc1wi
OiBbXCIvaW5zaWdodCBzdW1tYXJpemVcIl1cbn0iLAogICAgICAgICJyZWZ1
c2FsIjogbnVsbCwKICAgICAgICAiYW5ub3RhdGlvbnMiOiBbXQogICAgICB9
LAogICAgICAibG9ncHJvYnMiOiBudWxsLAogICAgICAiZmluaXNoX3JlYXNv
biI6ICJzdG9wIgogICAgfQogIF0sCiAgInVzYWdlIjogewogICAgInByb21w
dF90b2tlbnMiOiAxMjEwLAogICAgImNvbXBsZXRpb25fdG9rZW5zIjogMTMs
CiAgICAidG90YWxfdG9rZW5zIjogMTIyMywKICAgICJwcm9tcHRfdG9rZW5z
X2RldGFpbHMiOiB7CiAgICAgICJjYWNoZWRfdG9rZW5zIjogMTE1MiwKICAg
ICAgImF1ZGlvX3Rva2VucyI6IDAKICAgIH0sCiAgICAiY29tcGxldGlvbl90
b2tlbnNfZGV0YWlscyI6IHsKICAgICAgInJlYXNvbmluZ190b2tlbnMiOiAw
LAogICAgICAiYXVkaW9fdG9rZW5zIjogMCwKICAgICAgImFjY2VwdGVkX3By
ZWRpY3Rpb25fdG9rZW5zIjogMCwKICAgICAgInJlamVjdGVkX3ByZWRpY3Rp
b25fdG9rZW5zIjogMAogICAgfQogIH0sCiAgInNlcnZpY2VfdGllciI6ICJk
ZWZhdWx0IiwKICAic3lzdGVtX2ZpbmdlcnByaW50IjogImZwXzhmZDQzNzE4
YjMiCn0K
recorded_at: Fri, 16 May 2025 11:13:48 GMT
- request:
method: post
uri: https://api.openai.com/v1/chat/completions
body:
encoding: UTF-8
base64_string: |
eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi
ZGV2ZWxvcGVyIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0Ijoi
WW91IGFyZSBGaXp6eeKAmXMgY29tbWFuZCB0cmFuc2xhdG9yLiBZb3VyIHRh
c2sgaXMgdG86XG5cbjEuIFJlYWQgdGhlIHVzZXIncyByZXF1ZXN0LlxuMi4g
Q29uc3VsdCB0aGUgY3VycmVudCBjb250ZXh0IChwcm92aWRlZCBiZWxvdyBm
b3IgaW5mb3JtYXRpb25hbCBwdXJwb3NlcyBvbmx5KS5cbjMuIERldGVybWlu
ZSBpZiB0aGUgY3VycmVudCBjb250ZXh0IHN1ZmZpY2VzIG9yIGlmIGEgbmV3
IGNvbnRleHQgaXMgcmVxdWlyZWQuXG40LiBHZW5lcmF0ZSBvbmx5IHRoZSBu
ZWNlc3NhcnkgY29tbWFuZHMgdG8gZnVsZmlsbCB0aGUgcmVxdWVzdC5cbjUu
IE91dHB1dCBhIEpTT04gb2JqZWN0IGNvbnRhaW5pbmcgT05MWTpcblxuICAg
KiBBIFwiY29udGV4dFwiIG9iamVjdCAob25seSBpZiBhIG5ldyBmaWx0ZXJp
bmcgY29udGV4dCBpcyByZXF1aXJlZCwgc3RyaWN0bHkgZm9sbG93aW5nIGRl
ZmluZWQgcHJvcGVydGllcyBiZWxvdykuXG4gICAqIEEgXCJjb21tYW5kc1wi
IGFycmF5IChvbmx5IGlmIGNvbW1hbmRzIGFyZSBleHBsaWNpdGx5IHJlcXVl
c3RlZCBvciBjbGVhcmx5IGltcGxpZWQpLlxuXG5EbyBOT1QgYWRkIGFueSBv
dGhlciBwcm9wZXJ0aWVzIHRvIHlvdXIgSlNPTiBvdXRwdXQuXG5cblRoZSBk
ZXNjcmlwdGlvbiBvZiB0aGUgY3VycmVudCB2aWV3IChcImluc2lkZSBhIGNh
cmRcIiwgXCJ2aWV3aW5nIGEgbGlzdCBvZiBjYXJkc1wiLCBvciBcIm5vdCBz
ZWVpbmcgY2FyZHNcIikgaXMgaW5mb3JtYXRpb25hbCBvbmx5LiBEbyBOT1Qg
cmVmbGVjdCB0aGlzIGRlc2NyaXB0aW9uIGV4cGxpY2l0bHkgb3IgaW1wbGlj
aXRseSBpbiB5b3VyIG91dHB1dCBKU09OLiBORVZFUiBnZW5lcmF0ZSBwcm9w
ZXJ0aWVzIGxpa2UgXCJ2aWV3XCIgb3IgYWRkIFwidGVybXNcIiBiYXNlZCBv
biBcImNhcmRcIiBvciBcImxpc3RcIiBjb250ZXh0LlxuXG4jIyBGaXp6eSBE
YXRhIFN0cnVjdHVyZVxuXG4qICoqQ2FyZHMqKjogUmVwcmVzZW50IGlzc3Vl
cywgZmVhdHVyZXMsIGJ1Z3MsIHRhc2tzLCBvciBwcm9ibGVtcy5cbiogQ2Fy
ZHMgaGF2ZSAqKmNvbW1lbnRzKiogYW5kIGFyZSBjb250YWluZWQgd2l0aGlu
ICoqY29sbGVjdGlvbnMqKi5cblxuIyMgQ29udGV4dCBQcm9wZXJ0aWVzIGZv
ciBGaWx0ZXJpbmcgKHVzZSBleHBsaWNpdGx5KTpcblxuKiAqKnRlcm1zKio6
IEFycmF5IG9mIGtleXdvcmRzIChzcGxpdCBpbmRpdmlkdWFsbHksIGUuZy4s
IFtcInNvbWVcIiwgXCJ0ZXJtXCJdKS4gQXZvaWQgcmVkdW5kYW5jeS5cbiog
KippbmRleGVkX2J5Kio6IFwibmV3ZXN0XCIsIFwib2xkZXN0XCIsIFwibGF0
ZXN0XCIsIFwic3RhbGxlZFwiLCBcImNsb3NlZFwiLlxuXG4gICogXCJjbG9z
ZWRcIjogY29tcGxldGVkIGNhcmRzLlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNy
ZWF0aW9uIGRhdGUsIFwibGF0ZXN0XCI6IGJ5IHVwZGF0ZSBkYXRlLlxuKiAq
KmFzc2lnbmVlX2lkcyoqOiBBcnJheSBvZiBhc3NpZ25lZSBuYW1lcy5cbiog
Kiphc3NpZ25tZW50X3N0YXR1cyoqOiBcInVuYXNzaWduZWRcIi5cbiogKipl
bmdhZ2VtZW50X3N0YXR1cyoqOiBcImNvbnNpZGVyaW5nXCIgb3IgXCJkb2lu
Z1wiLlxuKiAqKmNhcmRfaWRzKio6IEFycmF5IG9mIGNhcmQgSURzLlxuKiAq
KmNyZWF0b3JfaWQqKjogQ3JlYXRvcidzIG5hbWUuXG4qICoqY29sbGVjdGlv
bl9pZHMqKjogQXJyYXkgb2YgZXhwbGljaXRseSBtZW50aW9uZWQgY29sbGVj
dGlvbnMuXG4qICoqdGFnX2lkcyoqOiBBcnJheSBvZiB0YWcgbmFtZXMgKHVz
ZSBmb3IgXCIjdGFnXCIgb3IgXCJ0YWdnZWQgd2l0aFwiKS5cblxuIyMgRXhw
bGljaXQgRmlsdGVyaW5nIFJ1bGVzOlxuXG4qIFwiQXNzaWduZWQgdG8gWFwi
OiB1c2UgYGFzc2lnbmVlX2lkc2AuXG4qIFwiQ3JlYXRlZCBieSBYXCI6IHVz
ZSBgY3JlYXRvcl9pZGAuXG4qIFwiVGFnZ2VkIHdpdGggWFwiLCBcIiNYIGNh
cmRzXCI6IHVzZSBgdGFnX2lkc2AgKG5ldmVyIFwidGVybXNcIikuXG4gIC0g
Rm9yIGV4YW1wbGU6IFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMgdGFn
Z2VkIHdpdGggI2Rlc2lnblwiIHNob3VsZCBhbHdheXMgcmVzdWx0IGluIGB0
YWdfaWRzOiBbXCJkZXNpZ25cIl1gLlxuKiBcIlVuYXNzaWduZWQgY2FyZHNc
IjogdXNlIGBhc3NpZ25tZW50X3N0YXR1czogXCJ1bmFzc2lnbmVkXCJgLlxu
KiBcIk15IGNhcmRzXCI6IENhcmRzIGFzc2lnbmVkIHRvIHRoZSByZXF1ZXN0
ZXIuXG4qIFwiUmVjZW50IGNhcmRzXCI6IHVzZSBgaW5kZXhlZF9ieTogXCJu
ZXdlc3RcImAuXG4qIFwiQ2FyZHMgd2l0aCByZWNlbnQgYWN0aXZpdHlcIjog
dXNlIGBpbmRleGVkX2J5OiBcImxhdGVzdFwiYC5cbiogXCJDb21wbGV0ZWQv
Y2xvc2VkIGNhcmRzXCI6IHVzZSBgaW5kZXhlZF9ieTogXCJjbG9zZWRcImAu
XG4qIFVua25vd24gdGVybXM6IGRlZmF1bHQgdG8gYHRlcm1zYC5cblxuIyMg
Q29tbWFuZCBJbnRlcnByZXRhdGlvbiBSdWxlczpcblxuKiBcInRhZyB3aXRo
ICNkZXNpZ25cIjogYWx3YXlzIGAvdGFnICNkZXNpZ25gLiBEbyBOT1QgY3Jl
YXRlIGB0YWdfaWRzYCBjb250ZXh0LlxuKiBcIiNkZXNpZ24gY2FyZHNcIiBv
ciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25cIjogdXNlIGB0YWdfaWRz
YC5cbiogXCJBc3NpZ24gY2FyZHMgdGFnZ2VkIHdpdGggI2Rlc2lnbiB0byBq
elwiOiBmaWx0ZXIgYnkgYHRhZ19pZHNgLCBjb21tYW5kIGAvYXNzaWduIGp6
YC4gRG8gTk9UIGdlbmVyYXRlIGAvdGFnYCBjb21tYW5kLlxuXG4jIyDimqDv
uI8gQ3J1Y2lhbCBSdWxlcyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipD
b250ZXh0IGZpbHRlcnMqKiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3Rpbmcg
Y29uZGl0aW9ucyoqIHRoYXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5c
biogKipDb21tYW5kcyoqIChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWAp
IHJlcHJlc2VudCAqKm5ldyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVW
RVIqKiB1c2UgbmFtZXMgb3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5k
cyoqIGFzIGZpbHRlcmluZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNz
aWduIGFuZHlcIiBtZWFucyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5k
eWAuIERvIE5PVCBmaWx0ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwi
XWAuXG4gICogRS5nLjogXCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWlu
ZyBhICoqbmV3IHRhZyoqLiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBb
XCJ2MlwiXWAuXG5cbiMjIyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRo
ZXNlKTpcblxuVXNlciBxdWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBj
dXJyZW50ICNkZXNpZ24gY2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0
aGVtIHdpdGggI3YyXCJgXG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xu
ICBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwg
XCJ0YWdfaWRzXCI6IFtcImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6
IFtcIi9hc3NpZ24gYW5keVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJ
bmNvcnJlY3QgKERPIE5PVCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0
XCI6IHsgXCJhc3NpZ25lZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRz
XCI6IFtcInYyXCJdIH0sXG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBh
bmR5XCIsIFwiL3RhZyAjdjJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZp
eCAnLycpOlxuXG4qIEFzc2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gIChl
LmcuLCBgL2Fzc2lnbiBrZXZpbmApLlxuKiBDbG9zZSBjYXJkczogYC9jbG9z
ZSBbb3B0aW9uYWwgcmVhc29uXWAgKGUuZy4sIGAvY2xvc2VgLCBgL2Nsb3Nl
IG5vdCBub3dgKS5cbiogVGFnIGNhcmRzOiBgL3RhZyAjW3RhZy1uYW1lXWAg
KGUuZy4sIGAvdGFnICNkZXNpZ25gKS5cbiogQ2xlYXIgZmlsdGVyczogYC9j
bGVhcmAuXG4qIEluc2lnaHRzIChtYW5kYXRvcnkgaWYgcXVlc3Rpb24gYXNr
ZWQgb3IgZXhwbGljaXRseSByZXF1ZXN0ZWQpOiBgL2luc2lnaHQgW3F1ZXJ5
XWAuXG4gIC0gQWx3YXlzIHVzZSBgL2luc2lnaHRgIGZvciBxdWVyaWVzIGxp
a2UgXCJzdGVwcyB0byByZXByb2R1Y2VcIiwgXCJzdW1tYXJpemVcIiwgb3Ig
c2ltaWxhciBxdWVyaWVzIHRoYXQgY2xlYXJseSByZXF1ZXN0IGluc2lnaHQg
YWJvdXQgY2FyZHMsXG4gICAgZXNwZWNpYWxseSB3aGVuIFwiaW5zaWRlIGEg
Y2FyZFwiLiBQYXNzIHRoZSBvcmlnaW5hbCBxdWVyeSBhcyB0aGUgYXJndW1l
bnQuXG5cbiMjIEpTT04gT3V0cHV0IEV4YW1wbGVzIChzdHJpY3RseSBmb2xs
b3cgdGhlc2UgcGF0dGVybnMpOlxuXG57IFwiY29udGV4dFwiOiB7IFwiYXNz
aWduZWVfaWRzXCI6IFtcImpvcmdlXCJdIH0sIFwiY29tbWFuZHNcIjogW1wi
L2Nsb3NlXCJdIH1cbnsgXCJjb250ZXh0XCI6IHsgXCJ0YWdfaWRzXCI6IFtc
ImRlc2lnblwiXSB9IH1cbnsgXCJjb21tYW5kc1wiOiBbXCIvYXNzaWduIGpv
cmdlXCIsIFwiL3RhZyAjZGVzaWduXCJdIH1cblxuT21pdCBlbXB0eSBhcnJh
eXMgb3IgdW5uZWNlc3NhcnkgcHJvcGVydGllcy4gQXQgbGVhc3Qgb25lIHBy
b3BlcnR5IChgY29udGV4dGAgb3IgYGNvbW1hbmRzYCkgbXVzdCBleGlzdC5c
blxuIyMgT3RoZXIgU3RyaWN0IEluc3RydWN0aW9uczpcblxuKiBORVZFUiBh
ZGQgcHJvcGVydGllcyBiYXNlZCBvbiB2aWV3IGRlc2NyaXB0aW9ucyAoXCJj
YXJkXCIsIFwibGlzdFwiLCBldGMuKS5cbiogQXZvaWQgcmVkdW5kYW50IHRl
cm1zLlxuKiBEb24ndCBkdXBsaWNhdGUgdGVybXMgYWNyb3NzIHByb3BlcnRp
ZXMuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lvbiwgYW5kIGNvbmNpc2Vu
ZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFraW5nIHJlcXVlc3RzIGlz
IGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5cblRoZSB1c2VyIGlzIGN1
cnJlbnRseSBpbnNpZGUgYSBjYXJkIH0uXG4ifV19LHsicm9sZSI6InVzZXIi
LCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJzdGVwcyB0byBy
ZXByb2R1Y2UifV19XSwidGVtcGVyYXR1cmUiOjAuNywic3RyZWFtIjpmYWxz
ZX0=
headers:
User-Agent:
- Faraday v2.13.1
Authorization:
- Bearer <OPEN_API_KEY>
Content-Type:
- application/json
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
response:
status:
code: 200
message: OK
headers:
Date:
- Fri, 16 May 2025 11:13:49 GMT
Content-Type:
- application/json
Transfer-Encoding:
- chunked
Connection:
- keep-alive
Access-Control-Expose-Headers:
- X-Request-ID
Openai-Organization:
- 37signals-u7qhwk
Openai-Processing-Ms:
- '403'
Openai-Version:
- '2020-10-01'
X-Envoy-Upstream-Service-Time:
- '407'
X-Ratelimit-Limit-Requests:
- '500'
X-Ratelimit-Limit-Tokens:
- '200000'
X-Ratelimit-Remaining-Requests:
- '499'
X-Ratelimit-Remaining-Tokens:
- '198817'
X-Ratelimit-Reset-Requests:
- 120ms
X-Ratelimit-Reset-Tokens:
- 354ms
X-Request-Id:
- req_d952ad67f20d8d87e6194ed2f5183a71
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Cf-Cache-Status:
- DYNAMIC
Set-Cookie:
- __cf_bm=D.Ez7tFAXT9KqyXVDIi5YK3Tb6D5Ks2OhBlUgKK7rIw-1747394029-1.0.1.1-kZ.cWvFm7hLIz7vtaBLkzy2vzok.1iE1q.eMV1otqk6VZtjZy1PAka5GSJrv7S6uWdDmLXZofndmF9zqmdh42Ht34qdpF_Cx_Lcjgae8jD8;
path=/; expires=Fri, 16-May-25 11:43:49 GMT; domain=.api.openai.com; HttpOnly;
Secure; SameSite=None
- _cfuvid=LzpmfDc3KKBSKB1ORpfC9jUom1fjoMhFXJTWifkdfzM-1747394029358-0.0.1.1-604800000;
path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None
X-Content-Type-Options:
- nosniff
Server:
- cloudflare
Cf-Ray:
- 940a72a74c988672-MAD
Alt-Svc:
- h3=":443"; ma=86400
body:
encoding: ASCII-8BIT
base64_string: |
ewogICJpZCI6ICJjaGF0Y21wbC1CWG5JYXEzRDFGWVhVQndmRjZzaFJqclhT
OUFVOCIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh
dGVkIjogMTc0NzM5NDAyOCwKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw
MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi
OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np
c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb21tYW5kc1wi
OiBbXCIvaW5zaWdodCBzdGVwcyB0byByZXByb2R1Y2VcIl1cbn0iLAogICAg
ICAgICJyZWZ1c2FsIjogbnVsbCwKICAgICAgICAiYW5ub3RhdGlvbnMiOiBb
XQogICAgICB9LAogICAgICAibG9ncHJvYnMiOiBudWxsLAogICAgICAiZmlu
aXNoX3JlYXNvbiI6ICJzdG9wIgogICAgfQogIF0sCiAgInVzYWdlIjogewog
ICAgInByb21wdF90b2tlbnMiOiAxMjEwLAogICAgImNvbXBsZXRpb25fdG9r
ZW5zIjogMTQsCiAgICAidG90YWxfdG9rZW5zIjogMTIyNCwKICAgICJwcm9t
cHRfdG9rZW5zX2RldGFpbHMiOiB7CiAgICAgICJjYWNoZWRfdG9rZW5zIjog
MTAyNCwKICAgICAgImF1ZGlvX3Rva2VucyI6IDAKICAgIH0sCiAgICAiY29t
cGxldGlvbl90b2tlbnNfZGV0YWlscyI6IHsKICAgICAgInJlYXNvbmluZ190
b2tlbnMiOiAwLAogICAgICAiYXVkaW9fdG9rZW5zIjogMCwKICAgICAgImFj
Y2VwdGVkX3ByZWRpY3Rpb25fdG9rZW5zIjogMCwKICAgICAgInJlamVjdGVk
X3ByZWRpY3Rpb25fdG9rZW5zIjogMAogICAgfQogIH0sCiAgInNlcnZpY2Vf
dGllciI6ICJkZWZhdWx0IiwKICAic3lzdGVtX2ZpbmdlcnByaW50IjogImZw
XzhmZDQzNzE4YjMiCn0K
recorded_at: Fri, 16 May 2025 11:13:49 GMT
- request:
method: post
uri: https://api.openai.com/v1/chat/completions
body:
encoding: UTF-8
base64_string: |
eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi
ZGV2ZWxvcGVyIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0Ijoi
WW91IGFyZSBGaXp6eeKAmXMgY29tbWFuZCB0cmFuc2xhdG9yLiBZb3VyIHRh
c2sgaXMgdG86XG5cbjEuIFJlYWQgdGhlIHVzZXIncyByZXF1ZXN0LlxuMi4g
Q29uc3VsdCB0aGUgY3VycmVudCBjb250ZXh0IChwcm92aWRlZCBiZWxvdyBm
b3IgaW5mb3JtYXRpb25hbCBwdXJwb3NlcyBvbmx5KS5cbjMuIERldGVybWlu
ZSBpZiB0aGUgY3VycmVudCBjb250ZXh0IHN1ZmZpY2VzIG9yIGlmIGEgbmV3
IGNvbnRleHQgaXMgcmVxdWlyZWQuXG40LiBHZW5lcmF0ZSBvbmx5IHRoZSBu
ZWNlc3NhcnkgY29tbWFuZHMgdG8gZnVsZmlsbCB0aGUgcmVxdWVzdC5cbjUu
IE91dHB1dCBhIEpTT04gb2JqZWN0IGNvbnRhaW5pbmcgT05MWTpcblxuICAg
KiBBIFwiY29udGV4dFwiIG9iamVjdCAob25seSBpZiBhIG5ldyBmaWx0ZXJp
bmcgY29udGV4dCBpcyByZXF1aXJlZCwgc3RyaWN0bHkgZm9sbG93aW5nIGRl
ZmluZWQgcHJvcGVydGllcyBiZWxvdykuXG4gICAqIEEgXCJjb21tYW5kc1wi
IGFycmF5IChvbmx5IGlmIGNvbW1hbmRzIGFyZSBleHBsaWNpdGx5IHJlcXVl
c3RlZCBvciBjbGVhcmx5IGltcGxpZWQpLlxuXG5EbyBOT1QgYWRkIGFueSBv
dGhlciBwcm9wZXJ0aWVzIHRvIHlvdXIgSlNPTiBvdXRwdXQuXG5cblRoZSBk
ZXNjcmlwdGlvbiBvZiB0aGUgY3VycmVudCB2aWV3IChcImluc2lkZSBhIGNh
cmRcIiwgXCJ2aWV3aW5nIGEgbGlzdCBvZiBjYXJkc1wiLCBvciBcIm5vdCBz
ZWVpbmcgY2FyZHNcIikgaXMgaW5mb3JtYXRpb25hbCBvbmx5LiBEbyBOT1Qg
cmVmbGVjdCB0aGlzIGRlc2NyaXB0aW9uIGV4cGxpY2l0bHkgb3IgaW1wbGlj
aXRseSBpbiB5b3VyIG91dHB1dCBKU09OLiBORVZFUiBnZW5lcmF0ZSBwcm9w
ZXJ0aWVzIGxpa2UgXCJ2aWV3XCIgb3IgYWRkIFwidGVybXNcIiBiYXNlZCBv
biBcImNhcmRcIiBvciBcImxpc3RcIiBjb250ZXh0LlxuXG4jIyBGaXp6eSBE
YXRhIFN0cnVjdHVyZVxuXG4qICoqQ2FyZHMqKjogUmVwcmVzZW50IGlzc3Vl
cywgZmVhdHVyZXMsIGJ1Z3MsIHRhc2tzLCBvciBwcm9ibGVtcy5cbiogQ2Fy
ZHMgaGF2ZSAqKmNvbW1lbnRzKiogYW5kIGFyZSBjb250YWluZWQgd2l0aGlu
ICoqY29sbGVjdGlvbnMqKi5cblxuIyMgQ29udGV4dCBQcm9wZXJ0aWVzIGZv
ciBGaWx0ZXJpbmcgKHVzZSBleHBsaWNpdGx5KTpcblxuKiAqKnRlcm1zKio6
IEFycmF5IG9mIGtleXdvcmRzIChzcGxpdCBpbmRpdmlkdWFsbHksIGUuZy4s
IFtcInNvbWVcIiwgXCJ0ZXJtXCJdKS4gQXZvaWQgcmVkdW5kYW5jeS5cbiog
KippbmRleGVkX2J5Kio6IFwibmV3ZXN0XCIsIFwib2xkZXN0XCIsIFwibGF0
ZXN0XCIsIFwic3RhbGxlZFwiLCBcImNsb3NlZFwiLlxuXG4gICogXCJjbG9z
ZWRcIjogY29tcGxldGVkIGNhcmRzLlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNy
ZWF0aW9uIGRhdGUsIFwibGF0ZXN0XCI6IGJ5IHVwZGF0ZSBkYXRlLlxuKiAq
KmFzc2lnbmVlX2lkcyoqOiBBcnJheSBvZiBhc3NpZ25lZSBuYW1lcy5cbiog
Kiphc3NpZ25tZW50X3N0YXR1cyoqOiBcInVuYXNzaWduZWRcIi5cbiogKipl
bmdhZ2VtZW50X3N0YXR1cyoqOiBcImNvbnNpZGVyaW5nXCIgb3IgXCJkb2lu
Z1wiLlxuKiAqKmNhcmRfaWRzKio6IEFycmF5IG9mIGNhcmQgSURzLlxuKiAq
KmNyZWF0b3JfaWQqKjogQ3JlYXRvcidzIG5hbWUuXG4qICoqY29sbGVjdGlv
bl9pZHMqKjogQXJyYXkgb2YgZXhwbGljaXRseSBtZW50aW9uZWQgY29sbGVj
dGlvbnMuXG4qICoqdGFnX2lkcyoqOiBBcnJheSBvZiB0YWcgbmFtZXMgKHVz
ZSBmb3IgXCIjdGFnXCIgb3IgXCJ0YWdnZWQgd2l0aFwiKS5cblxuIyMgRXhw
bGljaXQgRmlsdGVyaW5nIFJ1bGVzOlxuXG4qIFwiQXNzaWduZWQgdG8gWFwi
OiB1c2UgYGFzc2lnbmVlX2lkc2AuXG4qIFwiQ3JlYXRlZCBieSBYXCI6IHVz
ZSBgY3JlYXRvcl9pZGAuXG4qIFwiVGFnZ2VkIHdpdGggWFwiLCBcIiNYIGNh
cmRzXCI6IHVzZSBgdGFnX2lkc2AgKG5ldmVyIFwidGVybXNcIikuXG4gIC0g
Rm9yIGV4YW1wbGU6IFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMgdGFn
Z2VkIHdpdGggI2Rlc2lnblwiIHNob3VsZCBhbHdheXMgcmVzdWx0IGluIGB0
YWdfaWRzOiBbXCJkZXNpZ25cIl1gLlxuKiBcIlVuYXNzaWduZWQgY2FyZHNc
IjogdXNlIGBhc3NpZ25tZW50X3N0YXR1czogXCJ1bmFzc2lnbmVkXCJgLlxu
KiBcIk15IGNhcmRzXCI6IENhcmRzIGFzc2lnbmVkIHRvIHRoZSByZXF1ZXN0
ZXIuXG4qIFwiUmVjZW50IGNhcmRzXCI6IHVzZSBgaW5kZXhlZF9ieTogXCJu
ZXdlc3RcImAuXG4qIFwiQ2FyZHMgd2l0aCByZWNlbnQgYWN0aXZpdHlcIjog
dXNlIGBpbmRleGVkX2J5OiBcImxhdGVzdFwiYC5cbiogXCJDb21wbGV0ZWQv
Y2xvc2VkIGNhcmRzXCI6IHVzZSBgaW5kZXhlZF9ieTogXCJjbG9zZWRcImAu
XG4qIFVua25vd24gdGVybXM6IGRlZmF1bHQgdG8gYHRlcm1zYC5cblxuIyMg
Q29tbWFuZCBJbnRlcnByZXRhdGlvbiBSdWxlczpcblxuKiBcInRhZyB3aXRo
ICNkZXNpZ25cIjogYWx3YXlzIGAvdGFnICNkZXNpZ25gLiBEbyBOT1QgY3Jl
YXRlIGB0YWdfaWRzYCBjb250ZXh0LlxuKiBcIiNkZXNpZ24gY2FyZHNcIiBv
ciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25cIjogdXNlIGB0YWdfaWRz
YC5cbiogXCJBc3NpZ24gY2FyZHMgdGFnZ2VkIHdpdGggI2Rlc2lnbiB0byBq
elwiOiBmaWx0ZXIgYnkgYHRhZ19pZHNgLCBjb21tYW5kIGAvYXNzaWduIGp6
YC4gRG8gTk9UIGdlbmVyYXRlIGAvdGFnYCBjb21tYW5kLlxuXG4jIyDimqDv
uI8gQ3J1Y2lhbCBSdWxlcyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipD
b250ZXh0IGZpbHRlcnMqKiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3Rpbmcg
Y29uZGl0aW9ucyoqIHRoYXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5c
biogKipDb21tYW5kcyoqIChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWAp
IHJlcHJlc2VudCAqKm5ldyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVW
RVIqKiB1c2UgbmFtZXMgb3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5k
cyoqIGFzIGZpbHRlcmluZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNz
aWduIGFuZHlcIiBtZWFucyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5k
eWAuIERvIE5PVCBmaWx0ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwi
XWAuXG4gICogRS5nLjogXCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWlu
ZyBhICoqbmV3IHRhZyoqLiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBb
XCJ2MlwiXWAuXG5cbiMjIyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRo
ZXNlKTpcblxuVXNlciBxdWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBj
dXJyZW50ICNkZXNpZ24gY2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0
aGVtIHdpdGggI3YyXCJgXG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xu
ICBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwg
XCJ0YWdfaWRzXCI6IFtcImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6
IFtcIi9hc3NpZ24gYW5keVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJ
bmNvcnJlY3QgKERPIE5PVCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0
XCI6IHsgXCJhc3NpZ25lZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRz
XCI6IFtcInYyXCJdIH0sXG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBh
bmR5XCIsIFwiL3RhZyAjdjJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZp
eCAnLycpOlxuXG4qIEFzc2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gIChl
LmcuLCBgL2Fzc2lnbiBrZXZpbmApLlxuKiBDbG9zZSBjYXJkczogYC9jbG9z
ZSBbb3B0aW9uYWwgcmVhc29uXWAgKGUuZy4sIGAvY2xvc2VgLCBgL2Nsb3Nl
IG5vdCBub3dgKS5cbiogVGFnIGNhcmRzOiBgL3RhZyAjW3RhZy1uYW1lXWAg
KGUuZy4sIGAvdGFnICNkZXNpZ25gKS5cbiogQ2xlYXIgZmlsdGVyczogYC9j
bGVhcmAuXG4qIEluc2lnaHRzIChtYW5kYXRvcnkgaWYgcXVlc3Rpb24gYXNr
ZWQgb3IgZXhwbGljaXRseSByZXF1ZXN0ZWQpOiBgL2luc2lnaHQgW3F1ZXJ5
XWAuXG4gIC0gQWx3YXlzIHVzZSBgL2luc2lnaHRgIGZvciBxdWVyaWVzIGxp
a2UgXCJzdGVwcyB0byByZXByb2R1Y2VcIiwgXCJzdW1tYXJpemVcIiwgb3Ig
c2ltaWxhciBxdWVyaWVzIHRoYXQgY2xlYXJseSByZXF1ZXN0IGluc2lnaHQg
YWJvdXQgY2FyZHMsXG4gICAgZXNwZWNpYWxseSB3aGVuIFwiaW5zaWRlIGEg
Y2FyZFwiLiBQYXNzIHRoZSBvcmlnaW5hbCBxdWVyeSBhcyB0aGUgYXJndW1l
bnQuXG5cbiMjIEpTT04gT3V0cHV0IEV4YW1wbGVzIChzdHJpY3RseSBmb2xs
b3cgdGhlc2UgcGF0dGVybnMpOlxuXG57IFwiY29udGV4dFwiOiB7IFwiYXNz
aWduZWVfaWRzXCI6IFtcImpvcmdlXCJdIH0sIFwiY29tbWFuZHNcIjogW1wi
L2Nsb3NlXCJdIH1cbnsgXCJjb250ZXh0XCI6IHsgXCJ0YWdfaWRzXCI6IFtc
ImRlc2lnblwiXSB9IH1cbnsgXCJjb21tYW5kc1wiOiBbXCIvYXNzaWduIGpv
cmdlXCIsIFwiL3RhZyAjZGVzaWduXCJdIH1cblxuT21pdCBlbXB0eSBhcnJh
eXMgb3IgdW5uZWNlc3NhcnkgcHJvcGVydGllcy4gQXQgbGVhc3Qgb25lIHBy
b3BlcnR5IChgY29udGV4dGAgb3IgYGNvbW1hbmRzYCkgbXVzdCBleGlzdC5c
blxuIyMgT3RoZXIgU3RyaWN0IEluc3RydWN0aW9uczpcblxuKiBORVZFUiBh
ZGQgcHJvcGVydGllcyBiYXNlZCBvbiB2aWV3IGRlc2NyaXB0aW9ucyAoXCJj
YXJkXCIsIFwibGlzdFwiLCBldGMuKS5cbiogQXZvaWQgcmVkdW5kYW50IHRl
cm1zLlxuKiBEb24ndCBkdXBsaWNhdGUgdGVybXMgYWNyb3NzIHByb3BlcnRp
ZXMuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lvbiwgYW5kIGNvbmNpc2Vu
ZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFraW5nIHJlcXVlc3RzIGlz
IGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5cblRoZSB1c2VyIGlzIGN1
cnJlbnRseSBpbnNpZGUgYSBjYXJkIH0uXG4ifV19LHsicm9sZSI6InVzZXIi
LCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJjcmVhdGUgYSB0
YWJsZSB3aXRoIHRoZSBtYWluIHBhcnRpY2lwYW50cyBhbmQgdGFrZWF3YXlz
In1dfV0sInRlbXBlcmF0dXJlIjowLjcsInN0cmVhbSI6ZmFsc2V9
headers:
User-Agent:
- Faraday v2.13.1
Authorization:
- Bearer <OPEN_API_KEY>
Content-Type:
- application/json
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
response:
status:
code: 200
message: OK
headers:
Date:
- Fri, 16 May 2025 11:13:50 GMT
Content-Type:
- application/json
Transfer-Encoding:
- chunked
Connection:
- keep-alive
Access-Control-Expose-Headers:
- X-Request-ID
Openai-Organization:
- 37signals-u7qhwk
Openai-Processing-Ms:
- '585'
Openai-Version:
- '2020-10-01'
X-Envoy-Upstream-Service-Time:
- '588'
X-Ratelimit-Limit-Requests:
- '500'
X-Ratelimit-Limit-Tokens:
- '200000'
X-Ratelimit-Remaining-Requests:
- '499'
X-Ratelimit-Remaining-Tokens:
- '198807'
X-Ratelimit-Reset-Requests:
- 120ms
X-Ratelimit-Reset-Tokens:
- 357ms
X-Request-Id:
- req_9939f0c48a3a169454dbd7cfe7700264
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Cf-Cache-Status:
- DYNAMIC
Set-Cookie:
- __cf_bm=wK4IrCnq6_05_LRiVyqpJ6x.w7nTCF7DnZyssq8kHfI-1747394030-1.0.1.1-Rh5UNwKmZtZgGrENK2X8T5HaSxhjdFnz2MAEhhmdTNoLtCBC61B75giY6c6w7gJJA5Dg6q9dpCcasF2WASg.QNxYLycg5zCe.VxzKrvodQo;
path=/; expires=Fri, 16-May-25 11:43:50 GMT; domain=.api.openai.com; HttpOnly;
Secure; SameSite=None
- _cfuvid=UC047p.NvTdP1syjSPkARDGdeq4rK4u63ZfEQ2Dx4Lo-1747394030310-0.0.1.1-604800000;
path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None
X-Content-Type-Options:
- nosniff
Server:
- cloudflare
Cf-Ray:
- 940a72ac0851ec93-MAD
Alt-Svc:
- h3=":443"; ma=86400
body:
encoding: ASCII-8BIT
base64_string: |
ewogICJpZCI6ICJjaGF0Y21wbC1CWG5JYm9lUEdra2lXbGp3N1J4N0xNWktT
d2hIUSIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh
dGVkIjogMTc0NzM5NDAyOSwKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw
MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi
OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np
c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb21tYW5kc1wi
OiBbXCIvaW5zaWdodCBjcmVhdGUgYSB0YWJsZSB3aXRoIHRoZSBtYWluIHBh
cnRpY2lwYW50cyBhbmQgdGFrZWF3YXlzXCJdXG59IiwKICAgICAgICAicmVm
dXNhbCI6IG51bGwsCiAgICAgICAgImFubm90YXRpb25zIjogW10KICAgICAg
fSwKICAgICAgImxvZ3Byb2JzIjogbnVsbCwKICAgICAgImZpbmlzaF9yZWFz
b24iOiAic3RvcCIKICAgIH0KICBdLAogICJ1c2FnZSI6IHsKICAgICJwcm9t
cHRfdG9rZW5zIjogMTIxNywKICAgICJjb21wbGV0aW9uX3Rva2VucyI6IDIx
LAogICAgInRvdGFsX3Rva2VucyI6IDEyMzgsCiAgICAicHJvbXB0X3Rva2Vu
c19kZXRhaWxzIjogewogICAgICAiY2FjaGVkX3Rva2VucyI6IDEwMjQsCiAg
ICAgICJhdWRpb190b2tlbnMiOiAwCiAgICB9LAogICAgImNvbXBsZXRpb25f
dG9rZW5zX2RldGFpbHMiOiB7CiAgICAgICJyZWFzb25pbmdfdG9rZW5zIjog
MCwKICAgICAgImF1ZGlvX3Rva2VucyI6IDAsCiAgICAgICJhY2NlcHRlZF9w
cmVkaWN0aW9uX3Rva2VucyI6IDAsCiAgICAgICJyZWplY3RlZF9wcmVkaWN0
aW9uX3Rva2VucyI6IDAKICAgIH0KICB9LAogICJzZXJ2aWNlX3RpZXIiOiAi
ZGVmYXVsdCIsCiAgInN5c3RlbV9maW5nZXJwcmludCI6ICJmcF9lZWRlOGYw
ZDQ1Igp9Cg==
recorded_at: Fri, 16 May 2025 11:13:50 GMT
- request:
method: post
uri: https://api.openai.com/v1/chat/completions
body:
encoding: UTF-8
base64_string: |
eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi
ZGV2ZWxvcGVyIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0Ijoi
WW91IGFyZSBGaXp6eeKAmXMgY29tbWFuZCB0cmFuc2xhdG9yLiBZb3VyIHRh
c2sgaXMgdG86XG5cbjEuIFJlYWQgdGhlIHVzZXIncyByZXF1ZXN0LlxuMi4g
Q29uc3VsdCB0aGUgY3VycmVudCBjb250ZXh0IChwcm92aWRlZCBiZWxvdyBm
b3IgaW5mb3JtYXRpb25hbCBwdXJwb3NlcyBvbmx5KS5cbjMuIERldGVybWlu
ZSBpZiB0aGUgY3VycmVudCBjb250ZXh0IHN1ZmZpY2VzIG9yIGlmIGEgbmV3
IGNvbnRleHQgaXMgcmVxdWlyZWQuXG40LiBHZW5lcmF0ZSBvbmx5IHRoZSBu
ZWNlc3NhcnkgY29tbWFuZHMgdG8gZnVsZmlsbCB0aGUgcmVxdWVzdC5cbjUu
IE91dHB1dCBhIEpTT04gb2JqZWN0IGNvbnRhaW5pbmcgT05MWTpcblxuICAg
KiBBIFwiY29udGV4dFwiIG9iamVjdCAob25seSBpZiBhIG5ldyBmaWx0ZXJp
bmcgY29udGV4dCBpcyByZXF1aXJlZCwgc3RyaWN0bHkgZm9sbG93aW5nIGRl
ZmluZWQgcHJvcGVydGllcyBiZWxvdykuXG4gICAqIEEgXCJjb21tYW5kc1wi
IGFycmF5IChvbmx5IGlmIGNvbW1hbmRzIGFyZSBleHBsaWNpdGx5IHJlcXVl
c3RlZCBvciBjbGVhcmx5IGltcGxpZWQpLlxuXG5EbyBOT1QgYWRkIGFueSBv
dGhlciBwcm9wZXJ0aWVzIHRvIHlvdXIgSlNPTiBvdXRwdXQuXG5cblRoZSBk
ZXNjcmlwdGlvbiBvZiB0aGUgY3VycmVudCB2aWV3IChcImluc2lkZSBhIGNh
cmRcIiwgXCJ2aWV3aW5nIGEgbGlzdCBvZiBjYXJkc1wiLCBvciBcIm5vdCBz
ZWVpbmcgY2FyZHNcIikgaXMgaW5mb3JtYXRpb25hbCBvbmx5LiBEbyBOT1Qg
cmVmbGVjdCB0aGlzIGRlc2NyaXB0aW9uIGV4cGxpY2l0bHkgb3IgaW1wbGlj
aXRseSBpbiB5b3VyIG91dHB1dCBKU09OLiBORVZFUiBnZW5lcmF0ZSBwcm9w
ZXJ0aWVzIGxpa2UgXCJ2aWV3XCIgb3IgYWRkIFwidGVybXNcIiBiYXNlZCBv
biBcImNhcmRcIiBvciBcImxpc3RcIiBjb250ZXh0LlxuXG4jIyBGaXp6eSBE
YXRhIFN0cnVjdHVyZVxuXG4qICoqQ2FyZHMqKjogUmVwcmVzZW50IGlzc3Vl
cywgZmVhdHVyZXMsIGJ1Z3MsIHRhc2tzLCBvciBwcm9ibGVtcy5cbiogQ2Fy
ZHMgaGF2ZSAqKmNvbW1lbnRzKiogYW5kIGFyZSBjb250YWluZWQgd2l0aGlu
ICoqY29sbGVjdGlvbnMqKi5cblxuIyMgQ29udGV4dCBQcm9wZXJ0aWVzIGZv
ciBGaWx0ZXJpbmcgKHVzZSBleHBsaWNpdGx5KTpcblxuKiAqKnRlcm1zKio6
IEFycmF5IG9mIGtleXdvcmRzIChzcGxpdCBpbmRpdmlkdWFsbHksIGUuZy4s
IFtcInNvbWVcIiwgXCJ0ZXJtXCJdKS4gQXZvaWQgcmVkdW5kYW5jeS5cbiog
KippbmRleGVkX2J5Kio6IFwibmV3ZXN0XCIsIFwib2xkZXN0XCIsIFwibGF0
ZXN0XCIsIFwic3RhbGxlZFwiLCBcImNsb3NlZFwiLlxuXG4gICogXCJjbG9z
ZWRcIjogY29tcGxldGVkIGNhcmRzLlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNy
ZWF0aW9uIGRhdGUsIFwibGF0ZXN0XCI6IGJ5IHVwZGF0ZSBkYXRlLlxuKiAq
KmFzc2lnbmVlX2lkcyoqOiBBcnJheSBvZiBhc3NpZ25lZSBuYW1lcy5cbiog
Kiphc3NpZ25tZW50X3N0YXR1cyoqOiBcInVuYXNzaWduZWRcIi5cbiogKipl
bmdhZ2VtZW50X3N0YXR1cyoqOiBcImNvbnNpZGVyaW5nXCIgb3IgXCJkb2lu
Z1wiLlxuKiAqKmNhcmRfaWRzKio6IEFycmF5IG9mIGNhcmQgSURzLlxuKiAq
KmNyZWF0b3JfaWQqKjogQ3JlYXRvcidzIG5hbWUuXG4qICoqY29sbGVjdGlv
bl9pZHMqKjogQXJyYXkgb2YgZXhwbGljaXRseSBtZW50aW9uZWQgY29sbGVj
dGlvbnMuXG4qICoqdGFnX2lkcyoqOiBBcnJheSBvZiB0YWcgbmFtZXMgKHVz
ZSBmb3IgXCIjdGFnXCIgb3IgXCJ0YWdnZWQgd2l0aFwiKS5cblxuIyMgRXhw
bGljaXQgRmlsdGVyaW5nIFJ1bGVzOlxuXG4qIFwiQXNzaWduZWQgdG8gWFwi
OiB1c2UgYGFzc2lnbmVlX2lkc2AuXG4qIFwiQ3JlYXRlZCBieSBYXCI6IHVz
ZSBgY3JlYXRvcl9pZGAuXG4qIFwiVGFnZ2VkIHdpdGggWFwiLCBcIiNYIGNh
cmRzXCI6IHVzZSBgdGFnX2lkc2AgKG5ldmVyIFwidGVybXNcIikuXG4gIC0g
Rm9yIGV4YW1wbGU6IFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMgdGFn
Z2VkIHdpdGggI2Rlc2lnblwiIHNob3VsZCBhbHdheXMgcmVzdWx0IGluIGB0
YWdfaWRzOiBbXCJkZXNpZ25cIl1gLlxuKiBcIlVuYXNzaWduZWQgY2FyZHNc
IjogdXNlIGBhc3NpZ25tZW50X3N0YXR1czogXCJ1bmFzc2lnbmVkXCJgLlxu
KiBcIk15IGNhcmRzXCI6IENhcmRzIGFzc2lnbmVkIHRvIHRoZSByZXF1ZXN0
ZXIuXG4qIFwiUmVjZW50IGNhcmRzXCI6IHVzZSBgaW5kZXhlZF9ieTogXCJu
ZXdlc3RcImAuXG4qIFwiQ2FyZHMgd2l0aCByZWNlbnQgYWN0aXZpdHlcIjog
dXNlIGBpbmRleGVkX2J5OiBcImxhdGVzdFwiYC5cbiogXCJDb21wbGV0ZWQv
Y2xvc2VkIGNhcmRzXCI6IHVzZSBgaW5kZXhlZF9ieTogXCJjbG9zZWRcImAu
XG4qIFVua25vd24gdGVybXM6IGRlZmF1bHQgdG8gYHRlcm1zYC5cblxuIyMg
Q29tbWFuZCBJbnRlcnByZXRhdGlvbiBSdWxlczpcblxuKiBcInRhZyB3aXRo
ICNkZXNpZ25cIjogYWx3YXlzIGAvdGFnICNkZXNpZ25gLiBEbyBOT1QgY3Jl
YXRlIGB0YWdfaWRzYCBjb250ZXh0LlxuKiBcIiNkZXNpZ24gY2FyZHNcIiBv
ciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25cIjogdXNlIGB0YWdfaWRz
YC5cbiogXCJBc3NpZ24gY2FyZHMgdGFnZ2VkIHdpdGggI2Rlc2lnbiB0byBq
elwiOiBmaWx0ZXIgYnkgYHRhZ19pZHNgLCBjb21tYW5kIGAvYXNzaWduIGp6
YC4gRG8gTk9UIGdlbmVyYXRlIGAvdGFnYCBjb21tYW5kLlxuXG4jIyDimqDv
uI8gQ3J1Y2lhbCBSdWxlcyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipD
b250ZXh0IGZpbHRlcnMqKiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3Rpbmcg
Y29uZGl0aW9ucyoqIHRoYXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5c
biogKipDb21tYW5kcyoqIChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWAp
IHJlcHJlc2VudCAqKm5ldyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVW
RVIqKiB1c2UgbmFtZXMgb3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5k
cyoqIGFzIGZpbHRlcmluZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNz
aWduIGFuZHlcIiBtZWFucyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5k
eWAuIERvIE5PVCBmaWx0ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwi
XWAuXG4gICogRS5nLjogXCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWlu
ZyBhICoqbmV3IHRhZyoqLiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBb
XCJ2MlwiXWAuXG5cbiMjIyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRo
ZXNlKTpcblxuVXNlciBxdWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBj
dXJyZW50ICNkZXNpZ24gY2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0
aGVtIHdpdGggI3YyXCJgXG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xu
ICBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwg
XCJ0YWdfaWRzXCI6IFtcImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6
IFtcIi9hc3NpZ24gYW5keVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJ
bmNvcnJlY3QgKERPIE5PVCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0
XCI6IHsgXCJhc3NpZ25lZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRz
XCI6IFtcInYyXCJdIH0sXG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBh
bmR5XCIsIFwiL3RhZyAjdjJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZp
eCAnLycpOlxuXG4qIEFzc2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gIChl
LmcuLCBgL2Fzc2lnbiBrZXZpbmApLlxuKiBDbG9zZSBjYXJkczogYC9jbG9z
ZSBbb3B0aW9uYWwgcmVhc29uXWAgKGUuZy4sIGAvY2xvc2VgLCBgL2Nsb3Nl
IG5vdCBub3dgKS5cbiogVGFnIGNhcmRzOiBgL3RhZyAjW3RhZy1uYW1lXWAg
KGUuZy4sIGAvdGFnICNkZXNpZ25gKS5cbiogQ2xlYXIgZmlsdGVyczogYC9j
bGVhcmAuXG4qIEluc2lnaHRzIChtYW5kYXRvcnkgaWYgcXVlc3Rpb24gYXNr
ZWQgb3IgZXhwbGljaXRseSByZXF1ZXN0ZWQpOiBgL2luc2lnaHQgW3F1ZXJ5
XWAuXG4gIC0gQWx3YXlzIHVzZSBgL2luc2lnaHRgIGZvciBxdWVyaWVzIGxp
a2UgXCJzdGVwcyB0byByZXByb2R1Y2VcIiwgXCJzdW1tYXJpemVcIiwgb3Ig
c2ltaWxhciBxdWVyaWVzIHRoYXQgY2xlYXJseSByZXF1ZXN0IGluc2lnaHQg
YWJvdXQgY2FyZHMsXG4gICAgZXNwZWNpYWxseSB3aGVuIFwiaW5zaWRlIGEg
Y2FyZFwiLiBQYXNzIHRoZSBvcmlnaW5hbCBxdWVyeSBhcyB0aGUgYXJndW1l
bnQuXG5cbiMjIEpTT04gT3V0cHV0IEV4YW1wbGVzIChzdHJpY3RseSBmb2xs
b3cgdGhlc2UgcGF0dGVybnMpOlxuXG57IFwiY29udGV4dFwiOiB7IFwiYXNz
aWduZWVfaWRzXCI6IFtcImpvcmdlXCJdIH0sIFwiY29tbWFuZHNcIjogW1wi
L2Nsb3NlXCJdIH1cbnsgXCJjb250ZXh0XCI6IHsgXCJ0YWdfaWRzXCI6IFtc
ImRlc2lnblwiXSB9IH1cbnsgXCJjb21tYW5kc1wiOiBbXCIvYXNzaWduIGpv
cmdlXCIsIFwiL3RhZyAjZGVzaWduXCJdIH1cblxuT21pdCBlbXB0eSBhcnJh
eXMgb3IgdW5uZWNlc3NhcnkgcHJvcGVydGllcy4gQXQgbGVhc3Qgb25lIHBy
b3BlcnR5IChgY29udGV4dGAgb3IgYGNvbW1hbmRzYCkgbXVzdCBleGlzdC5c
blxuIyMgT3RoZXIgU3RyaWN0IEluc3RydWN0aW9uczpcblxuKiBORVZFUiBh
ZGQgcHJvcGVydGllcyBiYXNlZCBvbiB2aWV3IGRlc2NyaXB0aW9ucyAoXCJj
YXJkXCIsIFwibGlzdFwiLCBldGMuKS5cbiogQXZvaWQgcmVkdW5kYW50IHRl
cm1zLlxuKiBEb24ndCBkdXBsaWNhdGUgdGVybXMgYWNyb3NzIHByb3BlcnRp
ZXMuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lvbiwgYW5kIGNvbmNpc2Vu
ZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFraW5nIHJlcXVlc3RzIGlz
IGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5cblRoZSB1c2VyIGlzIGN1
cnJlbnRseSBpbnNpZGUgYSBjYXJkIH0uXG4ifV19LHsicm9sZSI6InVzZXIi
LCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJ3aGF0J3MgdGhl
IGlzc3VlIGhlcmU/In1dfV0sInRlbXBlcmF0dXJlIjowLjcsInN0cmVhbSI6
ZmFsc2V9
headers:
User-Agent:
- Faraday v2.13.1
Authorization:
- Bearer <OPEN_API_KEY>
Content-Type:
- application/json
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
response:
status:
code: 200
message: OK
headers:
Date:
- Fri, 16 May 2025 11:13:51 GMT
Content-Type:
- application/json
Transfer-Encoding:
- chunked
Connection:
- keep-alive
Access-Control-Expose-Headers:
- X-Request-ID
Openai-Organization:
- 37signals-u7qhwk
Openai-Processing-Ms:
- '388'
Openai-Version:
- '2020-10-01'
X-Envoy-Upstream-Service-Time:
- '393'
X-Ratelimit-Limit-Requests:
- '500'
X-Ratelimit-Limit-Tokens:
- '200000'
X-Ratelimit-Remaining-Requests:
- '499'
X-Ratelimit-Remaining-Tokens:
- '198816'
X-Ratelimit-Reset-Requests:
- 120ms
X-Ratelimit-Reset-Tokens:
- 355ms
X-Request-Id:
- req_857226b046dabdf9bef5a1c4ced28127
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Cf-Cache-Status:
- DYNAMIC
Set-Cookie:
- __cf_bm=pF5S3om_M4AF4YiWgG64cf_FnGavUS20v83izyV0_5g-1747394031-1.0.1.1-ACCpw6v4MIwi3l2U1XJ6Hh_iS8ky8RuSiKfRUIoY2y1CzmD1N2V0nv3E0Rc.4jpdP39R8UTtuxnFwvEt8Wz90SK_Bn.Adb0Upal8c2CJ2yM;
path=/; expires=Fri, 16-May-25 11:43:51 GMT; domain=.api.openai.com; HttpOnly;
Secure; SameSite=None
- _cfuvid=2GZgqusV1j2eUyqndN8FrArgxwFUMhUhWOtTzrLv5JE-1747394031049-0.0.1.1-604800000;
path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None
X-Content-Type-Options:
- nosniff
Server:
- cloudflare
Cf-Ray:
- 940a72b1d801cfe6-MAD
Alt-Svc:
- h3=":443"; ma=86400
body:
encoding: ASCII-8BIT
base64_string: |
ewogICJpZCI6ICJjaGF0Y21wbC1CWG5JY0FsdDVnZkhPSEtqNmliV0hzS0pM
blVGSCIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh
dGVkIjogMTc0NzM5NDAzMCwKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw
MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi
OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np
c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb21tYW5kc1wi
OiBbXCIvaW5zaWdodCB3aGF0J3MgdGhlIGlzc3VlIGhlcmU/XCJdXG59IiwK
ICAgICAgICAicmVmdXNhbCI6IG51bGwsCiAgICAgICAgImFubm90YXRpb25z
IjogW10KICAgICAgfSwKICAgICAgImxvZ3Byb2JzIjogbnVsbCwKICAgICAg
ImZpbmlzaF9yZWFzb24iOiAic3RvcCIKICAgIH0KICBdLAogICJ1c2FnZSI6
IHsKICAgICJwcm9tcHRfdG9rZW5zIjogMTIxMywKICAgICJjb21wbGV0aW9u
X3Rva2VucyI6IDE2LAogICAgInRvdGFsX3Rva2VucyI6IDEyMjksCiAgICAi
cHJvbXB0X3Rva2Vuc19kZXRhaWxzIjogewogICAgICAiY2FjaGVkX3Rva2Vu
cyI6IDEwMjQsCiAgICAgICJhdWRpb190b2tlbnMiOiAwCiAgICB9LAogICAg
ImNvbXBsZXRpb25fdG9rZW5zX2RldGFpbHMiOiB7CiAgICAgICJyZWFzb25p
bmdfdG9rZW5zIjogMCwKICAgICAgImF1ZGlvX3Rva2VucyI6IDAsCiAgICAg
ICJhY2NlcHRlZF9wcmVkaWN0aW9uX3Rva2VucyI6IDAsCiAgICAgICJyZWpl
Y3RlZF9wcmVkaWN0aW9uX3Rva2VucyI6IDAKICAgIH0KICB9LAogICJzZXJ2
aWNlX3RpZXIiOiAiZGVmYXVsdCIsCiAgInN5c3RlbV9maW5nZXJwcmludCI6
ICJmcF84ZmQ0MzcxOGIzIgp9Cg==
recorded_at: Fri, 16 May 2025 11:13:50 GMT
recorded_with: VCR 6.3.1
@@ -0,0 +1,214 @@
---
http_interactions:
- request:
method: post
uri: https://api.openai.com/v1/chat/completions
body:
encoding: UTF-8
base64_string: |
eyJtb2RlbCI6ImdwdC00LjEtbmFubyIsIm1lc3NhZ2VzIjpbeyJyb2xlIjoi
ZGV2ZWxvcGVyIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0Ijoi
WW91IGFyZSBGaXp6eeKAmXMgY29tbWFuZCB0cmFuc2xhdG9yLiBZb3VyIHRh
c2sgaXMgdG86XG5cbjEuIFJlYWQgdGhlIHVzZXIncyByZXF1ZXN0LlxuMi4g
Q29uc3VsdCB0aGUgY3VycmVudCBjb250ZXh0IChwcm92aWRlZCBiZWxvdyBm
b3IgaW5mb3JtYXRpb25hbCBwdXJwb3NlcyBvbmx5KS5cbjMuIERldGVybWlu
ZSBpZiB0aGUgY3VycmVudCBjb250ZXh0IHN1ZmZpY2VzIG9yIGlmIGEgbmV3
IGNvbnRleHQgaXMgcmVxdWlyZWQuXG40LiBHZW5lcmF0ZSBvbmx5IHRoZSBu
ZWNlc3NhcnkgY29tbWFuZHMgdG8gZnVsZmlsbCB0aGUgcmVxdWVzdC5cbjUu
IE91dHB1dCBhIEpTT04gb2JqZWN0IGNvbnRhaW5pbmcgT05MWTpcblxuICAg
KiBBIFwiY29udGV4dFwiIG9iamVjdCAob25seSBpZiBhIG5ldyBmaWx0ZXJp
bmcgY29udGV4dCBpcyByZXF1aXJlZCwgc3RyaWN0bHkgZm9sbG93aW5nIGRl
ZmluZWQgcHJvcGVydGllcyBiZWxvdykuXG4gICAqIEEgXCJjb21tYW5kc1wi
IGFycmF5IChvbmx5IGlmIGNvbW1hbmRzIGFyZSBleHBsaWNpdGx5IHJlcXVl
c3RlZCBvciBjbGVhcmx5IGltcGxpZWQpLlxuXG5EbyBOT1QgYWRkIGFueSBv
dGhlciBwcm9wZXJ0aWVzIHRvIHlvdXIgSlNPTiBvdXRwdXQuXG5cblRoZSBk
ZXNjcmlwdGlvbiBvZiB0aGUgY3VycmVudCB2aWV3IChcImluc2lkZSBhIGNh
cmRcIiwgXCJ2aWV3aW5nIGEgbGlzdCBvZiBjYXJkc1wiLCBvciBcIm5vdCBz
ZWVpbmcgY2FyZHNcIikgaXMgaW5mb3JtYXRpb25hbCBvbmx5LiBEbyBOT1Qg
cmVmbGVjdCB0aGlzIGRlc2NyaXB0aW9uIGV4cGxpY2l0bHkgb3IgaW1wbGlj
aXRseSBpbiB5b3VyIG91dHB1dCBKU09OLiBORVZFUiBnZW5lcmF0ZSBwcm9w
ZXJ0aWVzIGxpa2UgXCJ2aWV3XCIgb3IgYWRkIFwidGVybXNcIiBiYXNlZCBv
biBcImNhcmRcIiBvciBcImxpc3RcIiBjb250ZXh0LlxuXG4jIyBGaXp6eSBE
YXRhIFN0cnVjdHVyZVxuXG4qICoqQ2FyZHMqKjogUmVwcmVzZW50IGlzc3Vl
cywgZmVhdHVyZXMsIGJ1Z3MsIHRhc2tzLCBvciBwcm9ibGVtcy5cbiogQ2Fy
ZHMgaGF2ZSAqKmNvbW1lbnRzKiogYW5kIGFyZSBjb250YWluZWQgd2l0aGlu
ICoqY29sbGVjdGlvbnMqKi5cblxuIyMgQ29udGV4dCBQcm9wZXJ0aWVzIGZv
ciBGaWx0ZXJpbmcgKHVzZSBleHBsaWNpdGx5KTpcblxuKiAqKnRlcm1zKio6
IEFycmF5IG9mIGtleXdvcmRzIChzcGxpdCBpbmRpdmlkdWFsbHksIGUuZy4s
IFtcInNvbWVcIiwgXCJ0ZXJtXCJdKS4gQXZvaWQgcmVkdW5kYW5jeS5cbiog
KippbmRleGVkX2J5Kio6IFwibmV3ZXN0XCIsIFwib2xkZXN0XCIsIFwibGF0
ZXN0XCIsIFwic3RhbGxlZFwiLCBcImNsb3NlZFwiLlxuXG4gICogXCJjbG9z
ZWRcIjogY29tcGxldGVkIGNhcmRzLlxuICAqIFwibmV3ZXN0XCI6IGJ5IGNy
ZWF0aW9uIGRhdGUsIFwibGF0ZXN0XCI6IGJ5IHVwZGF0ZSBkYXRlLlxuKiAq
KmFzc2lnbmVlX2lkcyoqOiBBcnJheSBvZiBhc3NpZ25lZSBuYW1lcy5cbiog
Kiphc3NpZ25tZW50X3N0YXR1cyoqOiBcInVuYXNzaWduZWRcIi5cbiogKipl
bmdhZ2VtZW50X3N0YXR1cyoqOiBcImNvbnNpZGVyaW5nXCIgb3IgXCJkb2lu
Z1wiLlxuKiAqKmNhcmRfaWRzKio6IEFycmF5IG9mIGNhcmQgSURzLlxuKiAq
KmNyZWF0b3JfaWQqKjogQ3JlYXRvcidzIG5hbWUuXG4qICoqY29sbGVjdGlv
bl9pZHMqKjogQXJyYXkgb2YgZXhwbGljaXRseSBtZW50aW9uZWQgY29sbGVj
dGlvbnMuXG4qICoqdGFnX2lkcyoqOiBBcnJheSBvZiB0YWcgbmFtZXMgKHVz
ZSBmb3IgXCIjdGFnXCIgb3IgXCJ0YWdnZWQgd2l0aFwiKS5cblxuIyMgRXhw
bGljaXQgRmlsdGVyaW5nIFJ1bGVzOlxuXG4qIFwiQXNzaWduZWQgdG8gWFwi
OiB1c2UgYGFzc2lnbmVlX2lkc2AuXG4qIFwiQ3JlYXRlZCBieSBYXCI6IHVz
ZSBgY3JlYXRvcl9pZGAuXG4qIFwiVGFnZ2VkIHdpdGggWFwiLCBcIiNYIGNh
cmRzXCI6IHVzZSBgdGFnX2lkc2AgKG5ldmVyIFwidGVybXNcIikuXG4gIC0g
Rm9yIGV4YW1wbGU6IFwiI2Rlc2lnbiBjYXJkc1wiIG9yIFwiY2FyZHMgdGFn
Z2VkIHdpdGggI2Rlc2lnblwiIHNob3VsZCBhbHdheXMgcmVzdWx0IGluIGB0
YWdfaWRzOiBbXCJkZXNpZ25cIl1gLlxuKiBcIlVuYXNzaWduZWQgY2FyZHNc
IjogdXNlIGBhc3NpZ25tZW50X3N0YXR1czogXCJ1bmFzc2lnbmVkXCJgLlxu
KiBcIk15IGNhcmRzXCI6IENhcmRzIGFzc2lnbmVkIHRvIHRoZSByZXF1ZXN0
ZXIuXG4qIFwiUmVjZW50IGNhcmRzXCI6IHVzZSBgaW5kZXhlZF9ieTogXCJu
ZXdlc3RcImAuXG4qIFwiQ2FyZHMgd2l0aCByZWNlbnQgYWN0aXZpdHlcIjog
dXNlIGBpbmRleGVkX2J5OiBcImxhdGVzdFwiYC5cbiogXCJDb21wbGV0ZWQv
Y2xvc2VkIGNhcmRzXCI6IHVzZSBgaW5kZXhlZF9ieTogXCJjbG9zZWRcImAu
XG4qIFVua25vd24gdGVybXM6IGRlZmF1bHQgdG8gYHRlcm1zYC5cblxuIyMg
Q29tbWFuZCBJbnRlcnByZXRhdGlvbiBSdWxlczpcblxuKiBcInRhZyB3aXRo
ICNkZXNpZ25cIjogYWx3YXlzIGAvdGFnICNkZXNpZ25gLiBEbyBOT1QgY3Jl
YXRlIGB0YWdfaWRzYCBjb250ZXh0LlxuKiBcIiNkZXNpZ24gY2FyZHNcIiBv
ciBcImNhcmRzIHRhZ2dlZCB3aXRoICNkZXNpZ25cIjogdXNlIGB0YWdfaWRz
YC5cbiogXCJBc3NpZ24gY2FyZHMgdGFnZ2VkIHdpdGggI2Rlc2lnbiB0byBq
elwiOiBmaWx0ZXIgYnkgYHRhZ19pZHNgLCBjb21tYW5kIGAvYXNzaWduIGp6
YC4gRG8gTk9UIGdlbmVyYXRlIGAvdGFnYCBjb21tYW5kLlxuXG4jIyDimqDv
uI8gQ3J1Y2lhbCBSdWxlcyB0byBBdm9pZCBDb25mdXNpb246XG5cbiogKipD
b250ZXh0IGZpbHRlcnMqKiBhbHdheXMgcmVwcmVzZW50ICoqZXhpc3Rpbmcg
Y29uZGl0aW9ucyoqIHRoYXQgY2FyZHMgKiphbHJlYWR5IHNhdGlzZnkqKi5c
biogKipDb21tYW5kcyoqIChgL2Fzc2lnbmAsIGAvdGFnYCwgYC9jbG9zZWAp
IHJlcHJlc2VudCAqKm5ldyBhY3Rpb25zKiogdG8gYXBwbHkuXG4qICoqTkVW
RVIqKiB1c2UgbmFtZXMgb3IgdGFncyBtZW50aW9uZWQgaW4gKipjb21tYW5k
cyoqIGFzIGZpbHRlcmluZyBjcml0ZXJpYS5cblxuICAqIEUuZy46IFwiQXNz
aWduIGFuZHlcIiBtZWFucyBhICoqbmV3IGFzc2lnbm1lbnQqKiB0byBgYW5k
eWAuIERvIE5PVCBmaWx0ZXIgYnkgYGFzc2lnbmVlX2lkczogW1wiYW5keVwi
XWAuXG4gICogRS5nLjogXCJUYWcgd2l0aCAjdjJcIiBtZWFucyBhcHBseWlu
ZyBhICoqbmV3IHRhZyoqLiBEbyBOT1QgZmlsdGVyIGJ5IGB0YWdfaWRzOiBb
XCJ2MlwiXWAuXG5cbiMjIyBFeGFtcGxlcyAoc3RyaWN0bHkgZm9sbG93IHRo
ZXNlKTpcblxuVXNlciBxdWVyeTpcbmBcImFzc2lnbiBhbmR5IHRvIHRoZSBj
dXJyZW50ICNkZXNpZ24gY2FyZHMgYXNzaWduZWQgdG8ganogYW5kIHRhZyB0
aGVtIHdpdGggI3YyXCJgXG5cbuKchSBDb3JyZWN0IE91dHB1dDpcblxue1xu
ICBcImNvbnRleHRcIjogeyBcImFzc2lnbmVlX2lkc1wiOiBbXCJqelwiXSwg
XCJ0YWdfaWRzXCI6IFtcImRlc2lnblwiXSB9LFxuICBcImNvbW1hbmRzXCI6
IFtcIi9hc3NpZ24gYW5keVwiLCBcIi90YWcgI3YyXCJdXG59XG5cbuKdjCBJ
bmNvcnJlY3QgKERPIE5PVCBnZW5lcmF0ZSk6XG5cbntcbiAgXCJjb250ZXh0
XCI6IHsgXCJhc3NpZ25lZV9pZHNcIjogW1wiYW5keVwiXSwgXCJ0YWdfaWRz
XCI6IFtcInYyXCJdIH0sXG4gIFwiY29tbWFuZHNcIjogW1wiL2Fzc2lnbiBh
bmR5XCIsIFwiL3RhZyAjdjJcIl1cbn1cblxuIyMgQ29tbWFuZHMgKHByZWZp
eCAnLycpOlxuXG4qIEFzc2lnbiB1c2VyOiBgL2Fzc2lnbiBbdXNlcl1gIChl
LmcuLCBgL2Fzc2lnbiBrZXZpbmApLlxuKiBDbG9zZSBjYXJkczogYC9jbG9z
ZSBbb3B0aW9uYWwgcmVhc29uXWAgKGUuZy4sIGAvY2xvc2VgLCBgL2Nsb3Nl
IG5vdCBub3dgKS5cbiogVGFnIGNhcmRzOiBgL3RhZyAjW3RhZy1uYW1lXWAg
KGUuZy4sIGAvdGFnICNkZXNpZ25gKS5cbiogQ2xlYXIgZmlsdGVyczogYC9j
bGVhcmAuXG4qIEluc2lnaHRzIChtYW5kYXRvcnkgaWYgcXVlc3Rpb24gYXNr
ZWQgb3IgZXhwbGljaXRseSByZXF1ZXN0ZWQpOiBgL2luc2lnaHQgW3F1ZXJ5
XWAuXG4gIC0gQWx3YXlzIHVzZSBgL2luc2lnaHRgIGZvciBxdWVyaWVzIGxp
a2UgXCJzdGVwcyB0byByZXByb2R1Y2VcIiwgXCJzdW1tYXJpemVcIiwgb3Ig
c2ltaWxhciBxdWVyaWVzIHRoYXQgY2xlYXJseSByZXF1ZXN0IGluc2lnaHQg
YWJvdXQgY2FyZHMsXG4gICAgZXNwZWNpYWxseSB3aGVuIFwiaW5zaWRlIGEg
Y2FyZFwiLiBQYXNzIHRoZSBvcmlnaW5hbCBxdWVyeSBhcyB0aGUgYXJndW1l
bnQuXG5cbiMjIEpTT04gT3V0cHV0IEV4YW1wbGVzIChzdHJpY3RseSBmb2xs
b3cgdGhlc2UgcGF0dGVybnMpOlxuXG57IFwiY29udGV4dFwiOiB7IFwiYXNz
aWduZWVfaWRzXCI6IFtcImpvcmdlXCJdIH0sIFwiY29tbWFuZHNcIjogW1wi
L2Nsb3NlXCJdIH1cbnsgXCJjb250ZXh0XCI6IHsgXCJ0YWdfaWRzXCI6IFtc
ImRlc2lnblwiXSB9IH1cbnsgXCJjb21tYW5kc1wiOiBbXCIvYXNzaWduIGpv
cmdlXCIsIFwiL3RhZyAjZGVzaWduXCJdIH1cblxuT21pdCBlbXB0eSBhcnJh
eXMgb3IgdW5uZWNlc3NhcnkgcHJvcGVydGllcy4gQXQgbGVhc3Qgb25lIHBy
b3BlcnR5IChgY29udGV4dGAgb3IgYGNvbW1hbmRzYCkgbXVzdCBleGlzdC5c
blxuIyMgT3RoZXIgU3RyaWN0IEluc3RydWN0aW9uczpcblxuKiBORVZFUiBh
ZGQgcHJvcGVydGllcyBiYXNlZCBvbiB2aWV3IGRlc2NyaXB0aW9ucyAoXCJj
YXJkXCIsIFwibGlzdFwiLCBldGMuKS5cbiogQXZvaWQgcmVkdW5kYW50IHRl
cm1zLlxuKiBEb24ndCBkdXBsaWNhdGUgdGVybXMgYWNyb3NzIHByb3BlcnRp
ZXMuXG4qIEZhdm9yIGNsYXJpdHksIHByZWNpc2lvbiwgYW5kIGNvbmNpc2Vu
ZXNzLlxuVGhlIG5hbWUgb2YgdGhlIHVzZXIgbWFraW5nIHJlcXVlc3RzIGlz
IGRhdmlkLlxuXG4jIyBDdXJyZW50IHZpZXc6XG5cblRoZSB1c2VyIGlzIGN1
cnJlbnRseSB2aWV3aW5nIGEgbGlzdCBvZiBjYXJkcyB9LlxuIn1dfSx7InJv
bGUiOiJ1c2VyIiwiY29udGVudCI6W3sidHlwZSI6InRleHQiLCJ0ZXh0Ijoi
dGFnIHdpdGggI2Rlc2lnbiJ9XX1dLCJ0ZW1wZXJhdHVyZSI6MC43LCJzdHJl
YW0iOmZhbHNlfQ==
headers:
User-Agent:
- Faraday v2.13.1
Authorization:
- Bearer <OPEN_API_KEY>
Content-Type:
- application/json
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- "*/*"
response:
status:
code: 200
message: OK
headers:
Date:
- Fri, 16 May 2025 11:12:49 GMT
Content-Type:
- application/json
Transfer-Encoding:
- chunked
Connection:
- keep-alive
Access-Control-Expose-Headers:
- X-Request-ID
Openai-Organization:
- 37signals-u7qhwk
Openai-Processing-Ms:
- '345'
Openai-Version:
- '2020-10-01'
X-Envoy-Upstream-Service-Time:
- '349'
X-Ratelimit-Limit-Requests:
- '500'
X-Ratelimit-Limit-Tokens:
- '200000'
X-Ratelimit-Remaining-Requests:
- '499'
X-Ratelimit-Remaining-Tokens:
- '198815'
X-Ratelimit-Reset-Requests:
- 120ms
X-Ratelimit-Reset-Tokens:
- 355ms
X-Request-Id:
- req_54c6d91ad989bf24bbc4144c31ac6d24
Strict-Transport-Security:
- max-age=31536000; includeSubDomains; preload
Cf-Cache-Status:
- DYNAMIC
Set-Cookie:
- __cf_bm=qhTFfK7SsPVNcvZPrgK3ZqKSZj1jUYmuSU27T7gjQgU-1747393969-1.0.1.1-mGETtL9QPVh6S1n_w1ywZ58Sq.wobXIqqGNq8Z6QHQLaGfONuE.OFS4o2DIrl87cN4ZMrqwtRX0PvGRFKCSdrSqIrUXYb4.3fAuyaXG.xno;
path=/; expires=Fri, 16-May-25 11:42:49 GMT; domain=.api.openai.com; HttpOnly;
Secure; SameSite=None
- _cfuvid=reIKZ78c2IyPaV.1EDIjT27wU3dOb5VP2F03LYfwMB0-1747393969804-0.0.1.1-604800000;
path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None
X-Content-Type-Options:
- nosniff
Server:
- cloudflare
Cf-Ray:
- 940a71333b65026a-MAD
Alt-Svc:
- h3=":443"; ma=86400
body:
encoding: ASCII-8BIT
base64_string: |
ewogICJpZCI6ICJjaGF0Y21wbC1CWG5IZDNoc0dtYVN3bFZpMVpWS1Boa3pG
bkF6eiIsCiAgIm9iamVjdCI6ICJjaGF0LmNvbXBsZXRpb24iLAogICJjcmVh
dGVkIjogMTc0NzM5Mzk2OSwKICAibW9kZWwiOiAiZ3B0LTQuMS1uYW5vLTIw
MjUtMDQtMTQiLAogICJjaG9pY2VzIjogWwogICAgewogICAgICAiaW5kZXgi
OiAwLAogICAgICAibWVzc2FnZSI6IHsKICAgICAgICAicm9sZSI6ICJhc3Np
c3RhbnQiLAogICAgICAgICJjb250ZW50IjogIntcbiAgXCJjb21tYW5kc1wi
OiBbXCIvdGFnICNkZXNpZ25cIl1cbn0iLAogICAgICAgICJyZWZ1c2FsIjog
bnVsbCwKICAgICAgICAiYW5ub3RhdGlvbnMiOiBbXQogICAgICB9LAogICAg
ICAibG9ncHJvYnMiOiBudWxsLAogICAgICAiZmluaXNoX3JlYXNvbiI6ICJz
dG9wIgogICAgfQogIF0sCiAgInVzYWdlIjogewogICAgInByb21wdF90b2tl
bnMiOiAxMjEzLAogICAgImNvbXBsZXRpb25fdG9rZW5zIjogMTIsCiAgICAi
dG90YWxfdG9rZW5zIjogMTIyNSwKICAgICJwcm9tcHRfdG9rZW5zX2RldGFp
bHMiOiB7CiAgICAgICJjYWNoZWRfdG9rZW5zIjogMCwKICAgICAgImF1ZGlv
X3Rva2VucyI6IDAKICAgIH0sCiAgICAiY29tcGxldGlvbl90b2tlbnNfZGV0
YWlscyI6IHsKICAgICAgInJlYXNvbmluZ190b2tlbnMiOiAwLAogICAgICAi
YXVkaW9fdG9rZW5zIjogMCwKICAgICAgImFjY2VwdGVkX3ByZWRpY3Rpb25f
dG9rZW5zIjogMCwKICAgICAgInJlamVjdGVkX3ByZWRpY3Rpb25fdG9rZW5z
IjogMAogICAgfQogIH0sCiAgInNlcnZpY2VfdGllciI6ICJkZWZhdWx0IiwK
ICAic3lzdGVtX2ZpbmdlcnByaW50IjogImZwXzhmZDQzNzE4YjMiCn0K
recorded_at: Fri, 16 May 2025 11:12:49 GMT
recorded_with: VCR 6.3.1