1
Get a key
2
Point your client at Protégé
Change two lines. Everything else stays.
3
Label the call
Add
task. Name the job, not the prompt or the model.The OpenAI SDKs drop fields they do not recognise. Python needs
extra_body; TypeScript needs the cast. Other SDKs are covered in
Migrating.4
Verify it was labelled
The response echoes the scope it was attributed to:If the workload comes back
main, the task field was stripped by your SDK
before it reached us. Log both headers alongside your own request IDs.Next
Split a workflow
Turn one expensive call path into labelled tasks.
Write an eval contract
Define correct, so a route can be gated on it.
Route a task down
Move a task to a cheaper model without losing quality.