{"openapi":"3.1.0","info":{"title":"Trajectory API","version":"0.1.0"},"paths":{"/api/v1/trajectories/upload":{"post":{"tags":["trajectories"],"summary":"Upload","operationId":"uploadTrajectories","parameters":[{"name":"X-API-Key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrajectoryUploadRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrajectoryUploadResponse"}}}},"207":{"description":"Some trajectories were accepted, but one or more items failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrajectoryUploadResponse"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/trajectories":{"get":{"tags":["trajectories"],"summary":"List Trajectories Route","operationId":"listTrajectories","parameters":[{"name":"dataset_name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dataset Name"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":25,"title":"Limit"}},{"name":"sort","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sort"}},{"name":"order","in":"query","required":false,"schema":{"enum":["asc","desc"],"type":"string","default":"desc","title":"Order"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_TrajectoryMetadata_"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/datasets":{"get":{"tags":["trajectories"],"summary":"Datasets","operationId":"listDatasets","parameters":[{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":25,"title":"Limit"}},{"name":"sort","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sort"}},{"name":"order","in":"query","required":false,"schema":{"enum":["asc","desc"],"type":"string","default":"desc","title":"Order"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_DatasetMetadata_"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/trajectories/{trajectory_id}":{"get":{"tags":["trajectories"],"summary":"Detail","operationId":"getTrajectory","parameters":[{"name":"trajectory_id","in":"path","required":true,"schema":{"type":"string","title":"Trajectory Id"}},{"name":"include_steps","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Include Steps"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Trajectory"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/trajectories/{trajectory_id}/steps":{"get":{"tags":["trajectories"],"summary":"Steps","operationId":"listTrajectorySteps","parameters":[{"name":"trajectory_id","in":"path","required":true,"schema":{"type":"string","title":"Trajectory Id"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":25,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_Step_"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/auth/me":{"get":{"tags":["auth"],"summary":"Get Auth Context","operationId":"getAuthContext","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Getauthcontext"}}}}},"x-trajectory-visibility":"browser"}},"/api/v1/deploy":{"get":{"tags":["deployments"],"summary":"List Deployments Route","operationId":"listDeployments","parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/DeploymentLifecycleStatus"},{"type":"null"}],"title":"Status"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":25,"title":"Limit"}},{"name":"sort","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sort"}},{"name":"order","in":"query","required":false,"schema":{"enum":["asc","desc"],"type":"string","default":"desc","title":"Order"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListDeploymentsResponse"}}}}},"x-trajectory-visibility":"public"},"post":{"tags":["deployments"],"summary":"Start","description":"Kick off the deploy model pipeline.","operationId":"startDeployModel","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartDeployRequest"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartDeployResponse"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/deploy/summary":{"get":{"tags":["deployments"],"summary":"Summary","operationId":"summarizeDeployments","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeploymentsSummary"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/deploy/options":{"get":{"tags":["deployments"],"summary":"List Deployment Options Route","description":"Return every deployable model's authored output-speed tiers and replica presets.","operationId":"listDeploymentOptions","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeploymentOptionsResponse"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/deploy/wake":{"post":{"tags":["deployments"],"summary":"Wake","operationId":"wakeDeployment","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WakeRequest"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WakeResponse"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/deploy/{deployment_id}":{"get":{"tags":["deployments"],"summary":"Get Deployment Route","operationId":"getDeployment","parameters":[{"name":"deployment_id","in":"path","required":true,"schema":{"type":"string","title":"Deployment Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Deployment"}}}}},"x-trajectory-visibility":"public"},"delete":{"tags":["deployments"],"summary":"Undeploy","description":"Tear down a deployment's provider resources and credentials, then delete it.","operationId":"undeployDeployment","parameters":[{"name":"deployment_id","in":"path","required":true,"schema":{"type":"string","title":"Deployment Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UndeployResponse"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/deploy/{deployment_id}/metrics":{"get":{"tags":["deployments"],"summary":"Get Deployment Metrics Route","operationId":"getDeploymentMetrics","parameters":[{"name":"deployment_id","in":"path","required":true,"schema":{"type":"string","title":"Deployment Id"}},{"name":"window","in":"query","required":false,"schema":{"type":"string","description":"One of: 1h, 24h, 7d.","default":"1h","title":"Window"},"description":"One of: 1h, 24h, 7d."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeploymentMetricsResponse"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/deploy/{deployment_id}/promote":{"post":{"tags":["deployments"],"summary":"Promote","description":"Make a deployed deployment the active target for its slug.","operationId":"promoteDeployment","parameters":[{"name":"deployment_id","in":"path","required":true,"schema":{"type":"string","title":"Deployment Id"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/PromoteRequest"},{"type":"null"}],"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromoteResponse"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/deploy/{deployment_id}/unpromote":{"post":{"tags":["deployments"],"summary":"Unpromote","description":"Clear a deployment's active flag so its slug serves nothing.","operationId":"unpromoteDeployment","parameters":[{"name":"deployment_id","in":"path","required":true,"schema":{"type":"string","title":"Deployment Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromoteResponse"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/deploy/{deployment_id}/cancel":{"post":{"tags":["deployments"],"summary":"Cancel Deployment Route","operationId":"cancelDeployment","parameters":[{"name":"deployment_id","in":"path","required":true,"schema":{"type":"string","title":"Deployment Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Deployment"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/deploy/health":{"post":{"tags":["deployments"],"summary":"Health","operationId":"checkDeploymentHealth","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthResponse"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/models/supported-training-models":{"get":{"tags":["supported-models"],"summary":"List Supported Training Models","operationId":"listSupportedTrainingModels","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListSupportedModelsResponse"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/models/supported-eval-models":{"get":{"tags":["supported-models"],"summary":"List Supported Eval Models","operationId":"listSupportedEvalModels","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListSupportedModelsResponse"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/models/slugs":{"post":{"tags":["supported-models"],"summary":"Create Model Slug","operationId":"createModelSlug","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateModelSlugRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelSlug"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/chat/completions":{"post":{"tags":["inference"],"summary":"Create Chat Completion","operationId":"createLegacyChatCompletion","deprecated":true,"security":[{"InferenceAuthorization":[]}],"parameters":[{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatCompletionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatCompletionResponse"}}}}},"x-trajectory-visibility":"public","x-trajectory-replacement-operation-id":"createChatCompletion"}},"/api/v1/playground/{playground_token}/chat/completions":{"post":{"tags":["inference"],"summary":"Create Playground Chat Completion","operationId":"createLegacyPlaygroundChatCompletion","deprecated":true,"security":[{"InferenceAuthorization":[]}],"parameters":[{"name":"playground_token","in":"path","required":true,"schema":{"type":"string","title":"Playground Token"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatCompletionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatCompletionResponse"}}}}},"x-trajectory-visibility":"public","x-trajectory-replacement-operation-id":"createPlaygroundChatCompletion"}},"/api/v1/models":{"get":{"tags":["inference"],"summary":"List Models","operationId":"listLegacyInferenceModels","deprecated":true,"security":[{"InferenceAuthorization":[]}],"parameters":[{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelList"}}}}},"x-trajectory-visibility":"public","x-trajectory-replacement-operation-id":"listInferenceModels"}},"/api/v1/models/{model}":{"get":{"tags":["inference"],"summary":"Get Model","operationId":"getLegacyInferenceModel","deprecated":true,"security":[{"InferenceAuthorization":[]}],"parameters":[{"name":"model","in":"path","required":true,"schema":{"type":"string","title":"Model"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Model"}}}}},"x-trajectory-visibility":"public","x-trajectory-replacement-operation-id":"getInferenceModel"}},"/v1/chat/completions":{"post":{"tags":["inference"],"summary":"Create Chat Completion","operationId":"createChatCompletion","security":[{"InferenceAuthorization":[]}],"parameters":[{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatCompletionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatCompletionResponse"}}}}},"x-trajectory-visibility":"public"}},"/v1/playground/{playground_token}/chat/completions":{"post":{"tags":["inference"],"summary":"Create Playground Chat Completion","operationId":"createPlaygroundChatCompletion","security":[{"InferenceAuthorization":[]}],"parameters":[{"name":"playground_token","in":"path","required":true,"schema":{"type":"string","title":"Playground Token"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatCompletionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatCompletionResponse"}}}}},"x-trajectory-visibility":"public"}},"/v1/models":{"get":{"tags":["inference"],"summary":"List Models","operationId":"listInferenceModels","security":[{"InferenceAuthorization":[]}],"parameters":[{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelList"}}}}},"x-trajectory-visibility":"public"}},"/v1/models/{model}":{"get":{"tags":["inference"],"summary":"Get Model","operationId":"getInferenceModel","security":[{"InferenceAuthorization":[]}],"parameters":[{"name":"model","in":"path","required":true,"schema":{"type":"string","title":"Model"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Model"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/organizations/current":{"get":{"tags":["organizations"],"summary":"Current Organization","description":"The caller's resolved tenant; lets API-key clients assert their org cheaply.","operationId":"getCurrentOrganization","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Getcurrentorganization"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/organizations":{"get":{"tags":["organizations"],"summary":"List Organizations","operationId":"listOrganizations","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationListResponse"}}}}},"x-trajectory-visibility":"browser"},"post":{"tags":["organizations"],"summary":"Create Organization Endpoint","operationId":"createOrganization","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOrganizationRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationDetailResponse"}}}}},"x-trajectory-visibility":"browser"}},"/api/v1/users":{"get":{"tags":["organizations"],"summary":"List Users","operationId":"listUsers","parameters":[{"name":"sort_direction","in":"query","required":false,"schema":{"type":"string","default":"desc","title":"Sort Direction"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserListResponse"}}}}},"x-trajectory-visibility":"browser"}},"/api/v1/users/{user_id}":{"get":{"tags":["organizations"],"summary":"Get User","operationId":"getUser","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserDetailResponse"}}}}},"x-trajectory-visibility":"browser"},"delete":{"tags":["organizations"],"summary":"Delete User Endpoint","operationId":"deleteUser","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteUserResponse"}}}}},"x-trajectory-visibility":"browser"}},"/api/v1/users/{user_id}/memberships/{organization_id}":{"delete":{"tags":["organizations"],"summary":"Delete User Membership Endpoint","operationId":"deleteUserMembership","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"organization_id","in":"path","required":true,"schema":{"type":"string","title":"Organization Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteUserMembershipResponse"}}}}},"x-trajectory-visibility":"browser"}},"/api/v1/organizations/{organization_id}/summary":{"get":{"tags":["organizations"],"summary":"Get Summary","operationId":"getOrganizationSummary","parameters":[{"name":"organization_id","in":"path","required":true,"schema":{"type":"string","title":"Organization Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationSummary"}}}}},"x-trajectory-visibility":"browser"}},"/api/v1/organizations/{organization_id}":{"get":{"tags":["organizations"],"summary":"Get Organization","operationId":"getOrganization","parameters":[{"name":"organization_id","in":"path","required":true,"schema":{"type":"string","title":"Organization Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationDetailResponse"}}}}},"x-trajectory-visibility":"browser"},"delete":{"tags":["organizations"],"summary":"Delete Organization Endpoint","operationId":"deleteOrganization","parameters":[{"name":"organization_id","in":"path","required":true,"schema":{"type":"string","title":"Organization Id"}},{"name":"delete_users","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Delete Users"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteOrganizationResponse"}}}}},"x-trajectory-visibility":"browser"}},"/api/v1/organizations/{organization_id}/members":{"get":{"tags":["organizations"],"summary":"List Members","operationId":"listOrganizationMembers","parameters":[{"name":"organization_id","in":"path","required":true,"schema":{"type":"string","title":"Organization Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationMembersResponse"}}}}},"x-trajectory-visibility":"browser"},"post":{"tags":["organizations"],"summary":"Add Members","operationId":"addOrganizationMembers","parameters":[{"name":"organization_id","in":"path","required":true,"schema":{"type":"string","title":"Organization Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddOrganizationMembersRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddOrganizationMembersResponse"}}}}},"x-trajectory-visibility":"browser"}},"/api/v1/invites/accept":{"post":{"tags":["organizations"],"summary":"Accept Invite","operationId":"acceptOrganizationInvite","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcceptInviteRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcceptInviteResponse"}}}}},"x-trajectory-visibility":"browser"}},"/api/v1/organizations/{organization_id}/members/{email}":{"delete":{"tags":["organizations"],"summary":"Delete Member","operationId":"deleteOrganizationMember","parameters":[{"name":"organization_id","in":"path","required":true,"schema":{"type":"string","title":"Organization Id"}},{"name":"email","in":"path","required":true,"schema":{"type":"string","title":"Email"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteOrganizationMemberResponse"}}}}},"x-trajectory-visibility":"browser"},"patch":{"tags":["organizations"],"summary":"Update Member Role","operationId":"updateOrganizationMemberRole","parameters":[{"name":"organization_id","in":"path","required":true,"schema":{"type":"string","title":"Organization Id"}},{"name":"email","in":"path","required":true,"schema":{"type":"string","title":"Email"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateOrganizationMemberRoleRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateOrganizationMemberRoleResponse"}}}}},"x-trajectory-visibility":"browser"}},"/api/v1/organizations/{organization_id}/api-keys":{"get":{"tags":["api-keys"],"summary":"List Api Keys","operationId":"listApiKeys","parameters":[{"name":"organization_id","in":"path","required":true,"schema":{"type":"string","title":"Organization Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyListResponse"}}}}},"x-trajectory-visibility":"browser"},"post":{"tags":["api-keys"],"summary":"Create Api Key","operationId":"createApiKey","parameters":[{"name":"organization_id","in":"path","required":true,"schema":{"type":"string","title":"Organization Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateApiKeyRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateApiKeyResponse"}}}}},"x-trajectory-visibility":"browser"}},"/api/v1/organizations/{organization_id}/api-keys/{key_hash}":{"delete":{"tags":["api-keys"],"summary":"Revoke Api Key","operationId":"revokeApiKey","parameters":[{"name":"organization_id","in":"path","required":true,"schema":{"type":"string","title":"Organization Id"}},{"name":"key_hash","in":"path","required":true,"schema":{"type":"string","title":"Key Hash"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RevokeApiKeyResponse"}}}}},"x-trajectory-visibility":"browser"}},"/api/v1/secrets":{"get":{"tags":["secrets"],"summary":"List User Secrets","operationId":"listUserSecrets","parameters":[{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":25,"title":"Limit"}},{"name":"sort","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sort"}},{"name":"order","in":"query","required":false,"schema":{"enum":["asc","desc"],"type":"string","default":"desc","title":"Order"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecretListResponse"}}}}},"x-trajectory-visibility":"public"},"post":{"tags":["secrets"],"summary":"Create Secret","operationId":"createSecret","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSecretRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSecretResponse"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/secrets/{secret_id}":{"delete":{"tags":["secrets"],"summary":"Revoke Secret","operationId":"revokeSecret","parameters":[{"name":"secret_id","in":"path","required":true,"schema":{"type":"string","title":"Secret Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RevokeSecretResponse"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/usage":{"get":{"tags":["billing"],"summary":"Usage","operationId":"getUsage","parameters":[{"name":"start_date","in":"query","required":true,"schema":{"type":"string","title":"Start Date"}},{"name":"end_date","in":"query","required":true,"schema":{"type":"string","title":"End Date"}},{"name":"granularity","in":"query","required":false,"schema":{"$ref":"#/components/schemas/UsageGranularity","default":"day"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsageResponse"}}}}},"x-trajectory-visibility":"browser"}},"/api/v1/benchmarks/{bench_id}/spec":{"get":{"tags":["benchmarks"],"summary":"Benchmark Spec","operationId":"getBenchmarkSpec","parameters":[{"name":"bench_id","in":"path","required":true,"schema":{"type":"string","title":"Bench Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BenchmarkSpecResponse"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/benchmarks/{bench_id}/task-count":{"get":{"tags":["benchmarks"],"summary":"Benchmark Task Count","operationId":"getBenchmarkTaskCount","parameters":[{"name":"bench_id","in":"path","required":true,"schema":{"type":"string","title":"Bench Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BenchmarkTaskCountResponse"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/benchmarks/uploads":{"post":{"tags":["benchmarks"],"summary":"Create Benchmark Upload","description":"Allocate signed GCS PUT URLs for one batch of files (manifest.json and task artifacts). Omit bench_id to mint a new benchmark; pass the returned bench_id on later calls to add more files to the same benchmark, which is how a file set over the per-request limit is uploaded. No rows are written until the ingest call.","operationId":"createBenchmarkUpload","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BenchmarkUploadBatchRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateBenchmarkUploadResponse"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/benchmarks/{bench_id}/ingest":{"post":{"tags":["benchmarks"],"summary":"Ingest Benchmark","description":"Ingest the uploaded manifest for a bench_id allocated by createBenchmarkUpload: validate it and write the bench, task, and grader rows.","operationId":"ingestBenchmark","parameters":[{"name":"bench_id","in":"path","required":true,"schema":{"type":"string","title":"Bench Id"}},{"name":"bench_type","in":"query","required":false,"schema":{"$ref":"#/components/schemas/BenchType","default":"benchmark"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IngestBenchmarkResponse"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/benchmarks/{bench_id}/tasks:diff":{"post":{"tags":["benchmarks"],"summary":"Diff Benchmark Tasks","description":"Split submitted tasks into new tasks, tasks already stored with identical content, and updates whose names are stored with different content. Lets a client upload only what is missing or changed.","operationId":"diffBenchmarkTasks","parameters":[{"name":"bench_id","in":"path","required":true,"schema":{"type":"string","title":"Bench Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BenchmarkTaskDiffRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BenchmarkTaskDiffResponse"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/benchmarks/{bench_id}/tasks:append":{"post":{"tags":["benchmarks"],"summary":"Create Benchmark Task Append","description":"Return signed artifact URLs for one append batch, staged under a prefix derived from the Idempotency-Key. Commit the returned batch_id to publish the batch's tasks.","operationId":"createBenchmarkTaskAppend","parameters":[{"name":"bench_id","in":"path","required":true,"schema":{"type":"string","title":"Bench Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"title":"Idempotency-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadFilesRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateBenchmarkTaskAppendResponse"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/benchmarks/{bench_id}/tasks:append/{batch_id}/commit":{"post":{"tags":["benchmarks"],"summary":"Commit Benchmark Task Append","description":"Validate the batch's staged tasks, publish new tasks, and replace live tasks whose names are stored with different content in one transaction. Task names already stored with identical content are skipped, so committing the same batch twice is a no-op.","operationId":"commitBenchmarkTaskAppend","parameters":[{"name":"bench_id","in":"path","required":true,"schema":{"type":"string","title":"Bench Id"}},{"name":"batch_id","in":"path","required":true,"schema":{"type":"string","title":"Batch Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BenchmarkTaskAppendResult"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/benchmarks/tools/uploads":{"post":{"tags":["benchmarks"],"summary":"Create Tool Upload","description":"Allocate a registry tool upload: a new tool_id plus signed GCS PUT URLs for the declared files (run.py + artifacts/). Finalize with registerTool.","operationId":"createToolUpload","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadFilesRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateToolUploadResponse"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/benchmarks/tools/{tool_id}/register":{"post":{"tags":["benchmarks"],"summary":"Register Tool","description":"Finalize an uploaded tool into an org registry row (deduped by content hash).","operationId":"registerTool","parameters":[{"name":"tool_id","in":"path","required":true,"schema":{"type":"string","title":"Tool Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterToolRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Tool"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/benchmarks/tools/{tool_id}":{"get":{"tags":["benchmarks"],"summary":"Get Tool","description":"Resolve a registry tool to its stored definition (metadata + artifact_uri; file bytes stay in GCS). Unknown or cross-organization ids fail with 404.","operationId":"getTool","parameters":[{"name":"tool_id","in":"path","required":true,"schema":{"type":"string","title":"Tool Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Tool"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/benchmarks/graders/uploads":{"post":{"tags":["benchmarks"],"summary":"Create Grader Upload","description":"Allocate a registry grader upload: a new grader_id plus signed GCS PUT URLs for the declared files. A bundleless grader (e.g. llm_judge) declares no files. Finalize with registerGrader.","operationId":"createGraderUpload","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadFilesRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateGraderUploadResponse"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/benchmarks/graders/{grader_id}/register":{"post":{"tags":["benchmarks"],"summary":"Register Grader","description":"Finalize an uploaded grader into an org registry row (deduped by content hash).","operationId":"registerGrader","parameters":[{"name":"grader_id","in":"path","required":true,"schema":{"type":"string","title":"Grader Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterGraderRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Grader"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/benchmarks/graders/{grader_id}":{"get":{"tags":["benchmarks"],"summary":"Get Grader","description":"Resolve a registry grader to its stored definition (metadata + artifact_uri; file bytes stay in GCS). Unknown or cross-organization ids fail with 404.","operationId":"getGrader","parameters":[{"name":"grader_id","in":"path","required":true,"schema":{"type":"string","title":"Grader Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Grader"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/benchmarks/{bench_id}/images/build":{"post":{"tags":["benchmarks"],"summary":"Build Benchmark Images","description":"Trigger provider image builds (Runloop blueprints) for every unbuilt task image of the bench. Build completion is asynchronous; poll listBenchmarkImages until every row reports build_status=ready.","operationId":"buildBenchmarkImages","parameters":[{"name":"bench_id","in":"path","required":true,"schema":{"type":"string","title":"Bench Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BenchmarkImagesResponse"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/benchmarks/{bench_id}/images":{"get":{"tags":["benchmarks"],"summary":"List Benchmark Images","description":"List the bench's task images with build status, refreshing in-flight provider builds (building -> ready/failed) as a side effect.","operationId":"listBenchmarkImages","parameters":[{"name":"bench_id","in":"path","required":true,"schema":{"type":"string","title":"Bench Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BenchmarkImagesResponse"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/benchmarks/{bench_id}/readiness":{"get":{"tags":["benchmarks"],"summary":"Get Benchmark Readiness","description":"Return whether a benchmark is ready to launch. A benchmark is ready when it is fully ingested, all required organization secrets are available, and all task environments are built. When it is not ready, the response identifies the remaining blockers.","operationId":"getBenchmarkReadiness","parameters":[{"name":"bench_id","in":"path","required":true,"schema":{"type":"string","title":"Bench Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BenchmarkReadiness"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/benchmarks":{"get":{"tags":["benchmarks"],"summary":"List Benchmarks","operationId":"listBenchmarks","parameters":[{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":25,"title":"Limit"}},{"name":"sort","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sort"}},{"name":"order","in":"query","required":false,"schema":{"enum":["asc","desc"],"type":"string","default":"desc","title":"Order"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_BenchmarkSpec_"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/benchmarks/current":{"get":{"tags":["benchmarks"],"summary":"Get Current Benchmark","operationId":"getCurrentBenchmark","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/BenchmarkSpec"},{"type":"null"}],"title":"Response Getcurrentbenchmark"}}}}},"x-trajectory-visibility":"browser"}},"/api/v1/benchmarks/{bench_id}":{"get":{"tags":["benchmarks"],"summary":"Get Benchmark","operationId":"getBenchmark","parameters":[{"name":"bench_id","in":"path","required":true,"schema":{"type":"string","title":"Bench Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BenchmarkSpec"}}}}},"x-trajectory-visibility":"public"},"patch":{"tags":["benchmarks"],"summary":"Update Benchmark","operationId":"updateBenchmark","parameters":[{"name":"bench_id","in":"path","required":true,"schema":{"type":"string","title":"Bench Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateBenchmarkRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"},"title":"Response Updatebenchmark"}}}}},"x-trajectory-visibility":"public"},"delete":{"tags":["benchmarks"],"summary":"Delete Benchmark Spec","description":"Delete a benchmark, all of its tasks and cascading task metadata, its benchmark and env-eval result rows. Shared grader/tool definitions, pipeline execution metadata, and GCS artifacts are preserved; re-ingested benchmark snapshots may still reference those artifacts.","operationId":"deleteBenchmark","parameters":[{"name":"bench_id","in":"path","required":true,"schema":{"type":"string","title":"Bench Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteBenchmarkResponse"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/benchmarks/{bench_id}/tasks/{task_id}":{"delete":{"tags":["benchmarks"],"summary":"Delete Benchmark Task","description":"Delete one benchmark task and its cascading task metadata. GCS artifacts are preserved because re-ingested benchmark snapshots may still reference them.","operationId":"deleteBenchmarkTask","parameters":[{"name":"bench_id","in":"path","required":true,"schema":{"type":"string","title":"Bench Id"}},{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteBenchmarkTaskResponse"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/eval/{bench_id}/start":{"post":{"tags":["eval"],"summary":"Start Eval Route","operationId":"startEval","parameters":[{"name":"bench_id","in":"path","required":true,"schema":{"type":"string","title":"Bench Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartEvalRequest"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartEvalResponse"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/eval/{bench_id}/runs":{"get":{"tags":["eval"],"summary":"List Eval Runs Route","operationId":"listEvalRuns","parameters":[{"name":"bench_id","in":"path","required":true,"schema":{"type":"string","title":"Bench Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/EvalRun"},"title":"Response Listevalruns"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/eval/{eval_run_id}/progress":{"get":{"tags":["eval"],"summary":"Get Eval Progress Route","operationId":"getEvalProgress","parameters":[{"name":"eval_run_id","in":"path","required":true,"schema":{"type":"string","title":"Eval Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EvalProgressResponse"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/eval/{eval_run_id}/trajectory-rewards":{"get":{"tags":["eval"],"summary":"Get Eval Trajectory Rewards Route","operationId":"getEvalTrajectoryRewards","parameters":[{"name":"eval_run_id","in":"path","required":true,"schema":{"type":"string","title":"Eval Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EvalTrajectoryRewardsResponse"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/eval/{eval_run_id}/rollout-statistics":{"get":{"tags":["eval"],"summary":"Get Eval Rollout Statistics Route","operationId":"getEvalRolloutStatistics","parameters":[{"name":"eval_run_id","in":"path","required":true,"schema":{"type":"string","title":"Eval Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EvalRolloutStatisticsResponse"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/eval/{bench_id}/runs/{eval_run_id}":{"delete":{"tags":["eval"],"summary":"Delete Eval Run Route","operationId":"deleteEvalRun","parameters":[{"name":"bench_id","in":"path","required":true,"schema":{"type":"string","title":"Bench Id"}},{"name":"eval_run_id","in":"path","required":true,"schema":{"type":"string","title":"Eval Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteEvalRunResponse"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/telemetry/events":{"post":{"tags":["telemetry"],"summary":"Ingest Events","operationId":"ingestTelemetryEvents","parameters":[{"name":"X-API-Key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TelemetryEventsIngestRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TelemetryEventsIngestResponse"}}}},"207":{"description":"Some telemetry event batches were accepted, but one or more failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TelemetryEventsIngestResponse"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/train":{"post":{"tags":["training"],"summary":"Create Training Run Route","description":"Create and launch an eval, train, and post-training eval workflow.","operationId":"createTrainingRun","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTrainingRunRequest"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTrainingRunResponse"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/train/options":{"get":{"tags":["training"],"summary":"Get Training Options Route","description":"Return supported training models and their authored option ranges.","operationId":"getTrainingOptions","parameters":[{"name":"bench_id","in":"query","required":true,"schema":{"type":"string","title":"Bench Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrainingOptionsResponse"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/train/{bench_id}/runs":{"get":{"tags":["training"],"summary":"List Training Runs Route","description":"List training runs for a benchmark.","operationId":"listTrainingRuns","parameters":[{"name":"bench_id","in":"path","required":true,"schema":{"type":"string","title":"Bench Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TrainingRunResponse"},"title":"Response Listtrainingruns"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/train/{training_run_id}":{"get":{"tags":["training"],"summary":"Get Training Run Route","operationId":"getTrainingRun","parameters":[{"name":"training_run_id","in":"path","required":true,"schema":{"type":"string","title":"Training Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrainingRunResponse"}}}}},"x-trajectory-visibility":"public"},"delete":{"tags":["training"],"summary":"Delete Training Run Route","description":"Delete a terminal training run. Pending or active runs must be cancelled first.","operationId":"deleteTrainingRun","parameters":[{"name":"training_run_id","in":"path","required":true,"schema":{"type":"string","title":"Training Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteTrainingRunResponse"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/train/{training_run_id}/progress":{"get":{"tags":["training"],"summary":"Get Training Progress Route","operationId":"getTrainingProgress","parameters":[{"name":"training_run_id","in":"path","required":true,"schema":{"type":"string","title":"Training Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrainingProgressResponse"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/train/{training_run_id}/step/trainer-reward-by-step":{"get":{"tags":["training"],"summary":"Get Trainer Rewards By Step","operationId":"getTrainerRewardsByStep","parameters":[{"name":"training_run_id","in":"path","required":true,"schema":{"type":"string","title":"Training Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrainerRewardsByStepResponse"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/train/{training_run_id}/step/held-out-reward-by-step":{"get":{"tags":["training"],"summary":"Get Held Out Rewards By Step","operationId":"getHeldOutRewardsByStep","parameters":[{"name":"training_run_id","in":"path","required":true,"schema":{"type":"string","title":"Training Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HeldOutRewardsByStepResponse"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/train/{training_run_id}/steps/{step}/trajectory-rewards":{"get":{"tags":["training"],"summary":"Get Training Trajectory Rewards Route","operationId":"getTrainingTrajectoryRewards","parameters":[{"name":"training_run_id","in":"path","required":true,"schema":{"type":"string","title":"Training Run Id"}},{"name":"step","in":"path","required":true,"schema":{"type":"integer","title":"Step"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrainingTrajectoryRewardsResponse"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/train/{training_run_id}/cancel":{"post":{"tags":["training"],"summary":"Cancel Training Run Route","description":"Cancel a pending or running training run.","operationId":"cancelTrainingRun","parameters":[{"name":"training_run_id","in":"path","required":true,"schema":{"type":"string","title":"Training Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrainingRunResponse"}}}}},"x-trajectory-visibility":"public"}},"/api/v1/train/{training_run_id}/checkpoints/{step_index}":{"get":{"tags":["training"],"summary":"Get Training Checkpoint Route","description":"Resolve a committed checkpoint produced by a training run.","operationId":"getTrainingCheckpoint","parameters":[{"name":"training_run_id","in":"path","required":true,"schema":{"type":"string","title":"Training Run Id"}},{"name":"step_index","in":"path","required":true,"schema":{"type":"integer","title":"Step Index"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrainingCheckpointResponse"}}}}},"x-trajectory-visibility":"public"}}},"components":{"schemas":{"AcceptInviteRequest":{"properties":{"invite_token":{"type":"string","title":"Invite Token","description":"Single-use invite token emailed to the invitee."}},"type":"object","required":["invite_token"],"title":"AcceptInviteRequest"},"AcceptInviteResponse":{"properties":{"organization_id":{"type":"string","title":"Organization Id","description":"Organization the invitee joined."},"email":{"type":"string","title":"Email","description":"Email of the user that accepted the invite."}},"type":"object","required":["organization_id","email"],"title":"AcceptInviteResponse"},"AddOrganizationMembersRequest":{"properties":{"user_emails":{"items":{"type":"string"},"type":"array","title":"User Emails","description":"Emails to invite to the organization. Each gets a PENDING membership and an invite token emailed by the API route handler."}},"type":"object","required":["user_emails"],"title":"AddOrganizationMembersRequest"},"AddOrganizationMembersResponse":{"properties":{"organization_name":{"type":"string","title":"Organization Name","description":"Display name of the org receiving the invites."},"members":{"items":{"$ref":"#/components/schemas/OrganizationMember"},"type":"array","title":"Members","description":"Current members of the organization after the request."},"new_invite_tokens":{"items":{"$ref":"#/components/schemas/NewInviteToken"},"type":"array","title":"New Invite Tokens","description":"Invite tokens generated by this request, paired with their recipient emails.","default":[]}},"type":"object","required":["organization_name","members"],"title":"AddOrganizationMembersResponse"},"AdminUser":{"properties":{"user_id":{"type":"string","title":"User Id","description":"Opaque `usr_*` identifier."},"email":{"type":"string","title":"Email","description":"Email of the user."},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name","description":"User's display name, when set."},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At","description":"UTC timestamp the user row was created."},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At","description":"UTC timestamp of the most recent user update."},"last_login_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Login At","description":"UTC timestamp of the user's most recent login."},"disabled_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Disabled At","description":"UTC timestamp the user was disabled, if any."},"membership_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Membership Count","description":"Number of organization memberships this user has. Populated on listing endpoints."}},"type":"object","required":["user_id","email"],"title":"AdminUser"},"AdminUserMembership":{"properties":{"organization_id":{"type":"string","title":"Organization Id","description":"Organization the membership belongs to."},"organization_name":{"type":"string","title":"Organization Name","description":"Display name of that organization."},"role":{"$ref":"#/components/schemas/OrganizationRole","description":"Membership role."},"status":{"$ref":"#/components/schemas/OrganizationMembershipStatus","description":"Membership status."},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At","description":"UTC timestamp the membership was created."},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At","description":"UTC timestamp of the most recent membership update."}},"type":"object","required":["organization_id","organization_name","role","status"],"title":"AdminUserMembership"},"ApiKey":{"properties":{"key_hash":{"type":"string","title":"Key Hash","description":"Opaque identifier for the key (SHA-256 of the secret). Used to reference the key when revoking it; the secret itself is never returned after creation."},"key_prefix":{"type":"string","title":"Key Prefix","description":"Non-secret prefix shown to help identify the key."},"name":{"type":"string","title":"Name","description":"Human-readable label for the key."},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At","description":"UTC timestamp the key was created."},"last_used_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Used At","description":"UTC timestamp the key was last used to authenticate, if ever."}},"type":"object","required":["key_hash","key_prefix","name"],"title":"ApiKey"},"ApiKeyListResponse":{"properties":{"api_keys":{"items":{"$ref":"#/components/schemas/ApiKey"},"type":"array","title":"Api Keys","description":"Active API keys for the organization."}},"type":"object","required":["api_keys"],"title":"ApiKeyListResponse"},"AsyncFailure":{"properties":{"type":{"type":"string","title":"Type","description":"Stable category used for exception mapping."},"code":{"type":"string","title":"Code","description":"Stable programmatic reason for the asynchronous failure."},"message":{"type":"string","title":"Message","description":"Human-readable explanation for this failure occurrence."},"context":{"additionalProperties":true,"type":"object","title":"Context","description":"Machine-readable values specific to this failure code."}},"type":"object","required":["type","code","message"],"title":"AsyncFailure"},"BaseModelSlug":{"type":"string","enum":["Qwen/Qwen3.5-4B","Qwen/Qwen3.5-397B-A17B","Qwen/Qwen3.6-35B-A3B","nvidia/NVIDIA-Nemotron-3-Ultra-550B-A55B-BF16","nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-BF16","nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-BF16","openai/gpt-5-mini","openai/gpt-5.4-mini","openai/gpt-5.5","anthropic/claude-sonnet-4.6","google/gemini-3.1-pro-preview"],"title":"BaseModelSlug"},"BatchItemFailure":{"properties":{"code":{"type":"string","title":"Code","description":"Stable programmatic reason for this item failure."},"message":{"type":"string","title":"Message","description":"Human-readable explanation for this item occurrence."},"item_index":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Item Index","description":"Zero-based input index when the failed item came from a list."},"context":{"additionalProperties":true,"type":"object","title":"Context","description":"Machine-readable values specific to this failure code."}},"type":"object","required":["code","message"],"title":"BatchItemFailure"},"BenchType":{"type":"string","enum":["benchmark","holodeck_benchmark"],"title":"BenchType","description":"The kind of benchmark push: a real benchmark or a holodeck draft."},"BenchmarkImage":{"properties":{"task_id":{"type":"string","title":"Task Id"},"provider":{"type":"string","title":"Provider"},"provider_ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider Ref"},"dockerfile_uri":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dockerfile Uri"},"build_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Build Status"}},"type":"object","required":["task_id","provider"],"title":"BenchmarkImage"},"BenchmarkImagesResponse":{"properties":{"bench_id":{"type":"string","title":"Bench Id"},"images":{"items":{"$ref":"#/components/schemas/BenchmarkImage"},"type":"array","title":"Images"}},"type":"object","required":["bench_id","images"],"title":"BenchmarkImagesResponse"},"BenchmarkReadiness":{"properties":{"ready":{"type":"boolean","title":"Ready","description":"Whether the benchmark is fully ingested and ready to launch."},"missing_secret_names":{"items":{"type":"string"},"type":"array","title":"Missing Secret Names","description":"Required organization secrets that are not available."},"unready_task_image_counts":{"additionalProperties":{"type":"integer"},"type":"object","title":"Unready Task Image Counts","description":"Task environments that are not ready, grouped by preparation status. Empty when all task environments are built."}},"type":"object","required":["ready","missing_secret_names","unready_task_image_counts"],"title":"BenchmarkReadiness"},"BenchmarkSpec":{"properties":{"bench_id":{"type":"string","title":"Bench Id"},"organization_id":{"type":"string","title":"Organization Id"},"label":{"type":"string","title":"Label"},"description":{"type":"string","title":"Description","default":""},"visibility":{"type":"string","title":"Visibility","default":"private"},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"eval_run_count":{"type":"integer","title":"Eval Run Count","default":0}},"type":"object","required":["bench_id","organization_id","label","created_at","updated_at"],"title":"BenchmarkSpec"},"BenchmarkSpecResponse":{"properties":{"bench_id":{"type":"string","title":"Bench Id"},"task_count":{"type":"integer","title":"Task Count"},"tasks":{"items":{"$ref":"#/components/schemas/BenchmarkSpecTask"},"type":"array","title":"Tasks"},"tools":{"items":{"$ref":"#/components/schemas/BenchmarkSpecTool"},"type":"array","title":"Tools"}},"type":"object","required":["bench_id","task_count"],"title":"BenchmarkSpecResponse"},"BenchmarkSpecTask":{"properties":{"task_id":{"type":"string","title":"Task Id"},"label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Label"},"split":{"anyOf":[{"$ref":"#/components/schemas/TaskSplit"},{"type":"null"}]},"input_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input Message"},"task_category":{"anyOf":[{"$ref":"#/components/schemas/BenchmarkTaskCategory"},{"type":"null"}]}},"type":"object","required":["task_id"],"title":"BenchmarkSpecTask"},"BenchmarkSpecTool":{"properties":{"tool_id":{"type":"string","title":"Tool Id"},"name":{"type":"string","title":"Name"}},"type":"object","required":["tool_id","name"],"title":"BenchmarkSpecTool"},"BenchmarkTaskAppendResult":{"properties":{"bench_id":{"type":"string","title":"Bench Id"},"batch_id":{"type":"string","title":"Batch Id"},"added_count":{"type":"integer","title":"Added Count"},"updated_count":{"type":"integer","title":"Updated Count"},"skipped_count":{"type":"integer","title":"Skipped Count"},"task_count":{"type":"integer","title":"Task Count"},"failed_tasks":{"items":{"$ref":"#/components/schemas/BenchmarkTaskWriteFailure"},"type":"array","title":"Failed Tasks"}},"type":"object","required":["bench_id","batch_id","added_count","updated_count","skipped_count","task_count"],"title":"BenchmarkTaskAppendResult"},"BenchmarkTaskCategory":{"properties":{"task_category_id":{"type":"string","title":"Task Category Id"},"label":{"type":"string","title":"Label"}},"type":"object","required":["task_category_id","label"],"title":"BenchmarkTaskCategory"},"BenchmarkTaskCountResponse":{"properties":{"bench_id":{"type":"string","title":"Bench Id"},"task_count":{"type":"integer","title":"Task Count"}},"type":"object","required":["bench_id","task_count"],"title":"BenchmarkTaskCountResponse"},"BenchmarkTaskDiffRequest":{"properties":{"tasks":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Tasks"},"artifacts":{"additionalProperties":{"type":"string"},"type":"object","title":"Artifacts"}},"type":"object","required":["tasks"],"title":"BenchmarkTaskDiffRequest"},"BenchmarkTaskDiffResponse":{"properties":{"bench_id":{"type":"string","title":"Bench Id"},"new":{"items":{"type":"string"},"type":"array","title":"New"},"present":{"items":{"type":"string"},"type":"array","title":"Present"},"updated":{"items":{"type":"string"},"type":"array","title":"Updated"},"task_count":{"type":"integer","title":"Task Count"}},"type":"object","required":["bench_id","new","present","updated","task_count"],"title":"BenchmarkTaskDiffResponse"},"BenchmarkTaskWriteFailure":{"properties":{"task_id":{"type":"string","title":"Task Id"},"label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Label"},"error":{"type":"string","title":"Error"}},"type":"object","required":["task_id","error"],"title":"BenchmarkTaskWriteFailure","description":"A task that did not land; its siblings did, so the bench is short exactly these."},"BenchmarkUploadBatchRequest":{"properties":{"files":{"items":{"$ref":"#/components/schemas/BenchmarkUploadFile"},"type":"array","title":"Files","description":"Files to sign upload URLs for, one URL returned per declared path."},"bench_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bench Id","description":"Omit to mint a new benchmark. Pass a bench_id returned by an earlier batch to add these files to that benchmark's upload prefix, which is how a file set larger than the per-request limit is uploaded. An already-ingested bench_id is rejected."}},"type":"object","required":["files"],"title":"BenchmarkUploadBatchRequest"},"BenchmarkUploadFile":{"properties":{"path":{"type":"string","title":"Path"},"content_type":{"type":"string","title":"Content Type"},"size_bytes":{"type":"integer","title":"Size Bytes"}},"type":"object","required":["path","content_type","size_bytes"],"title":"BenchmarkUploadFile"},"BenchmarkUploadUrl":{"properties":{"path":{"type":"string","title":"Path"},"url":{"type":"string","title":"Url"},"headers":{"additionalProperties":{"type":"string"},"type":"object","title":"Headers"}},"type":"object","required":["path","url","headers"],"title":"BenchmarkUploadUrl"},"ChatCompletionChoice":{"properties":{"index":{"type":"integer","title":"Index"},"message":{"$ref":"#/components/schemas/ChatCompletionResponseMessage"},"finish_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Finish Reason"}},"additionalProperties":true,"type":"object","required":["index","message"],"title":"ChatCompletionChoice"},"ChatCompletionRequest":{"properties":{"model":{"type":"string","title":"Model"},"messages":{"items":{"$ref":"#/components/schemas/ChatMessage"},"type":"array","title":"Messages"},"stream":{"type":"boolean","title":"Stream","default":false},"temperature":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Temperature"},"max_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Tokens"},"top_p":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Top P"}},"additionalProperties":true,"type":"object","required":["model","messages"],"title":"ChatCompletionRequest"},"ChatCompletionResponse":{"properties":{"id":{"type":"string","title":"Id"},"object":{"type":"string","title":"Object"},"created":{"type":"integer","title":"Created"},"model":{"type":"string","title":"Model"},"choices":{"items":{"$ref":"#/components/schemas/ChatCompletionChoice"},"type":"array","title":"Choices"},"usage":{"anyOf":[{"$ref":"#/components/schemas/Usage"},{"type":"null"}]}},"additionalProperties":true,"type":"object","required":["id","object","created","model","choices"],"title":"ChatCompletionResponse"},"ChatCompletionResponseMessage":{"properties":{"role":{"type":"string","title":"Role"},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content"}},"additionalProperties":true,"type":"object","required":["role","content"],"title":"ChatCompletionResponseMessage"},"ChatMessage":{"properties":{"role":{"type":"string","title":"Role"},"content":{"anyOf":[{"type":"string"},{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Content"}},"additionalProperties":true,"type":"object","required":["role"],"title":"ChatMessage"},"CreateApiKeyRequest":{"properties":{"name":{"type":"string","title":"Name","description":"Human-readable label for the new key."}},"type":"object","required":["name"],"title":"CreateApiKeyRequest"},"CreateApiKeyResponse":{"properties":{"api_key":{"$ref":"#/components/schemas/ApiKey","description":"Metadata for the newly created key."},"secret":{"type":"string","title":"Secret","description":"The plaintext API key. Returned only once at creation and never again — the caller must surface it to the user immediately."}},"type":"object","required":["api_key","secret"],"title":"CreateApiKeyResponse"},"CreateBenchmarkTaskAppendResponse":{"properties":{"bench_id":{"type":"string","title":"Bench Id"},"batch_id":{"type":"string","title":"Batch Id"},"urls":{"items":{"$ref":"#/components/schemas/BenchmarkUploadUrl"},"type":"array","title":"Urls"},"expires_at":{"type":"string","format":"date-time","title":"Expires At"}},"type":"object","required":["bench_id","batch_id","urls","expires_at"],"title":"CreateBenchmarkTaskAppendResponse"},"CreateBenchmarkUploadResponse":{"properties":{"bench_id":{"type":"string","title":"Bench Id"},"urls":{"items":{"$ref":"#/components/schemas/BenchmarkUploadUrl"},"type":"array","title":"Urls"},"expires_at":{"type":"string","format":"date-time","title":"Expires At"}},"type":"object","required":["bench_id","urls","expires_at"],"title":"CreateBenchmarkUploadResponse"},"CreateGraderUploadResponse":{"properties":{"grader_id":{"type":"string","title":"Grader Id"},"urls":{"items":{"$ref":"#/components/schemas/BenchmarkUploadUrl"},"type":"array","title":"Urls"},"expires_at":{"type":"string","format":"date-time","title":"Expires At"}},"type":"object","required":["grader_id","urls","expires_at"],"title":"CreateGraderUploadResponse"},"CreateModelSlugRequest":{"properties":{"name":{"type":"string","title":"Name","description":"Slug name. Leading/trailing whitespace is trimmed and the stored name is lowercased. Must be a single token (no whitespace). Allowed characters: letters, numbers, '-' and '_'. Max length: 32."}},"type":"object","required":["name"],"title":"CreateModelSlugRequest"},"CreateOrganizationRequest":{"properties":{"organization_name":{"type":"string","title":"Organization Name","description":"Display name for the new organization."},"organization_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Organization Key","description":"Optional human-readable short key. Defaults to the generated `org_*` id if omitted. Must be unique per environment."},"user_emails":{"items":{"type":"string"},"type":"array","title":"User Emails","description":"Optional seed members for the new organization. Each email is added as an OWNER and skips the invite flow.","default":[]}},"type":"object","required":["organization_name"],"title":"CreateOrganizationRequest"},"CreateSecretRequest":{"properties":{"name":{"type":"string","title":"Name","description":"Name to reference the secret by; unique among live secrets."},"value":{"type":"string","title":"Value","description":"The secret value. Write-only — never returned after creation."},"description":{"anyOf":[{"type":"string","maxLength":1024},{"type":"null"}],"title":"Description","description":"Optional human-readable description."}},"type":"object","required":["name","value"],"title":"CreateSecretRequest"},"CreateSecretResponse":{"properties":{"secret":{"$ref":"#/components/schemas/Secret","description":"Metadata for the newly created secret."}},"type":"object","required":["secret"],"title":"CreateSecretResponse"},"CreateToolUploadResponse":{"properties":{"tool_id":{"type":"string","title":"Tool Id"},"urls":{"items":{"$ref":"#/components/schemas/BenchmarkUploadUrl"},"type":"array","title":"Urls"},"expires_at":{"type":"string","format":"date-time","title":"Expires At"}},"type":"object","required":["tool_id","urls","expires_at"],"title":"CreateToolUploadResponse"},"CreateTrainingRunRequest":{"properties":{"bench_id":{"type":"string","title":"Bench Id"},"base_model_id":{"$ref":"#/components/schemas/BaseModelSlug","description":"Base model to evaluate, train, and evaluate again."},"training_options":{"$ref":"#/components/schemas/TrainingOptions","description":"Optional settings applied to every stage of the training pipeline."}},"additionalProperties":false,"type":"object","required":["bench_id","base_model_id"],"title":"CreateTrainingRunRequest"},"CreateTrainingRunResponse":{"properties":{"bench_id":{"type":"string","title":"Bench Id"},"training_run_id":{"type":"string","title":"Training Run Id"},"pipeline_run_id":{"type":"string","title":"Pipeline Run Id"},"execution_id":{"type":"string","title":"Execution Id"},"pipeline_name":{"type":"string","title":"Pipeline Name"},"display_name":{"type":"string","title":"Display Name","description":"User-facing name for the training run."},"experiment_name":{"type":"string","title":"Experiment Name"},"resolved_trajectory_options":{"$ref":"#/components/schemas/ResolvedTrajectoryTrainingOptions"}},"type":"object","required":["bench_id","training_run_id","pipeline_run_id","execution_id","pipeline_name","display_name","experiment_name","resolved_trajectory_options"],"title":"CreateTrainingRunResponse"},"DatasetMetadata":{"properties":{"dataset_id":{"type":"string","title":"Dataset Id"},"organization_id":{"type":"string","title":"Organization Id"},"dataset_name":{"type":"string","title":"Dataset Name"},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"},"gcs_prefix":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gcs Prefix"},"created_at":{"type":"string","title":"Created At"},"updated_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["dataset_id","organization_id","dataset_name","created_at"],"title":"DatasetMetadata"},"DeleteBenchmarkResponse":{"properties":{"bench_id":{"type":"string","title":"Bench Id","description":"ID of the deleted benchmark."}},"type":"object","required":["bench_id"],"title":"DeleteBenchmarkResponse"},"DeleteBenchmarkTaskResponse":{"properties":{"bench_id":{"type":"string","title":"Bench Id","description":"ID of the benchmark that owned the deleted task."},"task_id":{"type":"string","title":"Task Id","description":"ID of the deleted benchmark task."}},"type":"object","required":["bench_id","task_id"],"title":"DeleteBenchmarkTaskResponse"},"DeleteEvalRunResponse":{"properties":{"bench_id":{"type":"string","title":"Bench Id","description":"ID of the benchmark that owned the deleted evaluation run."},"eval_run_id":{"type":"string","title":"Eval Run Id","description":"ID of the deleted evaluation run."}},"type":"object","required":["bench_id","eval_run_id"],"title":"DeleteEvalRunResponse"},"DeleteOrganizationMemberResponse":{"properties":{"organization_id":{"type":"string","title":"Organization Id","description":"Organization the member was removed from."},"email":{"type":"string","title":"Email","description":"Email of the member that was removed."}},"type":"object","required":["organization_id","email"],"title":"DeleteOrganizationMemberResponse"},"DeleteOrganizationResponse":{"properties":{"organization_id":{"type":"string","title":"Organization Id","description":"Organization that was deleted."},"deleted_user_count":{"type":"integer","title":"Deleted User Count","description":"Number of user rows deleted alongside the org. Zero unless `delete_users=true`."}},"type":"object","required":["organization_id","deleted_user_count"],"title":"DeleteOrganizationResponse"},"DeleteTrainingRunResponse":{"properties":{"training_run_id":{"type":"string","title":"Training Run Id","description":"ID of the deleted training run."}},"type":"object","required":["training_run_id"],"title":"DeleteTrainingRunResponse"},"DeleteUserMembershipResponse":{"properties":{"user_id":{"type":"string","title":"User Id","description":"The user whose membership was removed."},"organization_id":{"type":"string","title":"Organization Id","description":"The organization the membership was removed from."}},"type":"object","required":["user_id","organization_id"],"title":"DeleteUserMembershipResponse"},"DeleteUserResponse":{"properties":{"user_id":{"type":"string","title":"User Id","description":"The user that was deleted."}},"type":"object","required":["user_id"],"title":"DeleteUserResponse"},"DeployableModelOptions":{"properties":{"base_model_id":{"$ref":"#/components/schemas/BaseModelSlug","description":"Base model these options apply to."},"concurrency":{"items":{"$ref":"#/components/schemas/ExpectedConcurrency"},"type":"array","title":"Concurrency","description":"Expected-concurrency levels this model can be deployed at."},"output_speed":{"items":{"$ref":"#/components/schemas/DeploymentSpeedOption"},"type":"array","title":"Output Speed","description":"Output-speed tiers this model can be deployed at, with authored tok/s."}},"type":"object","required":["base_model_id","concurrency","output_speed"],"title":"DeployableModelOptions"},"Deployment":{"properties":{"deployment_id":{"type":"string","title":"Deployment Id","description":"Deployment row id."},"model_slug":{"type":"string","title":"Model Slug","description":"Human-readable slug this deployment serves under."},"model_slug_id":{"type":"string","title":"Model Slug Id","description":"Id of the slug this deployment serves under."},"status":{"$ref":"#/components/schemas/DeploymentLifecycleStatus","description":"Lifecycle state; MERGING covers the whole pipeline, so treat it as in flight."},"role":{"$ref":"#/components/schemas/DeploymentRole","description":"Whether this is the production or a test deployment."},"is_active":{"type":"boolean","title":"Is Active","description":"True when this deployment currently answers for the slug."},"model_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model Id","description":"Merged model backing this deployment; null until the merge lands."},"playground_endpoint_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Playground Endpoint Url","description":"Per-deployment URL a test checkpoint is reachable at."},"base_model_slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Base Model Slug","description":"Base model trained from, via models -> checkpoints; null until the merge lands."},"checkpoint_step":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Checkpoint Step","description":"Training step of the deployed checkpoint; null until it resolves."},"output_speed":{"anyOf":[{"$ref":"#/components/schemas/OutputSpeed"},{"type":"null"}],"description":"Output-speed tier requested; null only if this predates the column."},"expected_concurrency":{"anyOf":[{"$ref":"#/components/schemas/ExpectedConcurrency"},{"type":"null"}],"description":"Concurrency level requested; null only if this predates the column."},"merge_xid":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Merge Xid","description":"XID of the krun job that is merging the checkpoint weights."},"deploy_xid":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deploy Xid","description":"XID of the krun job that is deploying the merged model."},"created_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created By","description":"Email of the user who requested this deployment."},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completed At","description":"When the deployment first became DEPLOYED; unlike updated_at, later promote/demote transitions never overwrite this."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"When the deployment was requested."},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At","description":"Last lifecycle transition; null until the row first moves."},"failure":{"anyOf":[{"$ref":"#/components/schemas/AsyncFailure"},{"type":"null"}],"description":"Structured failure when status is FAILED."}},"type":"object","required":["deployment_id","model_slug","model_slug_id","status","role","is_active","created_at"],"title":"Deployment","description":"Spanner-backed deployment lifecycle row for the platform UI."},"DeploymentLifecycleStatus":{"type":"string","enum":["PENDING","MERGING","DEPLOYING","DEPLOYED","FAILED"],"title":"DeploymentLifecycleStatus","description":"Spanner deployment row status."},"DeploymentMetricsResponse":{"properties":{"metric_descriptors":{"items":{"$ref":"#/components/schemas/MetricDescriptor"},"type":"array","title":"Metric Descriptors","description":"Which metrics/series are present in metric_values."},"metric_values":{"items":{"$ref":"#/components/schemas/MetricValueSet"},"type":"array","title":"Metric Values","description":"Time-bucketed values, aligned to metric_descriptors."}},"type":"object","required":["metric_descriptors","metric_values"],"title":"DeploymentMetricsResponse","description":"Baseten's live deployment metrics, passed through as-is (SERIES mode)."},"DeploymentOptionsResponse":{"properties":{"models":{"items":{"$ref":"#/components/schemas/DeployableModelOptions"},"type":"array","title":"Models","description":"Every deployable model's supported concurrency levels and output-speed tiers."}},"type":"object","required":["models"],"title":"DeploymentOptionsResponse"},"DeploymentRole":{"type":"string","enum":["production","test"],"title":"DeploymentRole"},"DeploymentSpeedOption":{"properties":{"name":{"$ref":"#/components/schemas/OutputSpeed","description":"Which output-speed tier this is."},"tokens_per_second":{"type":"number","title":"Tokens Per Second","description":"Authored single-request output tokens/sec."}},"type":"object","required":["name","tokens_per_second"],"title":"DeploymentSpeedOption","description":"One output-speed choice and its authored throughput. No pricing yet: see cost field TBD."},"DeploymentsSummary":{"properties":{"total":{"type":"integer","title":"Total","description":"All deployments in the organization."},"pending":{"type":"integer","title":"Pending","description":"Deployments recorded before their first stage starts."},"merging":{"type":"integer","title":"Merging","description":"Deployments still in the merge-and-deploy pipeline."},"deploying":{"type":"integer","title":"Deploying","description":"Deployments in the deploy writeback; briefly held."},"deployed":{"type":"integer","title":"Deployed","description":"Deployments that finished deploying."},"failed":{"type":"integer","title":"Failed","description":"Deployments whose pipeline failed."},"active":{"type":"integer","title":"Active","description":"Deployments currently answering for their slug."}},"type":"object","required":["total","pending","merging","deploying","deployed","failed","active"],"title":"DeploymentsSummary","description":"Lifecycle counts for the Deployments toolbar, kept off the paginated list."},"EvalProgressResponse":{"properties":{"eval_run_id":{"type":"string","title":"Eval Run Id","description":"Evaluation run whose progress is returned."},"status":{"anyOf":[{"$ref":"#/components/schemas/EvalRunLifecycleStatus"},{"type":"null"}],"description":"Recorded status of the evaluation run."},"failure":{"anyOf":[{"$ref":"#/components/schemas/AsyncFailure"},{"type":"null"}],"description":"Structured failure details when the evaluation failed."},"terminal_rollouts":{"type":"integer","title":"Terminal Rollouts","description":"Rollouts of the run that have reached a terminal status."},"total_rollouts":{"type":"integer","title":"Total Rollouts","description":"Rollouts the run's config schedules: its sampled tasks times the group size."}},"type":"object","required":["eval_run_id","terminal_rollouts","total_rollouts"],"title":"EvalProgressResponse"},"EvalRolloutStatisticResponse":{"properties":{"eval_run_id":{"type":"string","title":"Eval Run Id","description":"Evaluation run that produced this snapshot."},"xid":{"type":"string","title":"Xid","description":"Evaluation rollout XID sampled by this snapshot."},"stage":{"type":"string","title":"Stage","description":"Pipeline stage that produced the trajectories."},"knob_name":{"type":"string","title":"Knob Name","description":"Trajectory setting represented by the distribution."},"unit":{"type":"string","title":"Unit","description":"Unit used by the setting and sample values."},"samples":{"items":{"type":"number"},"type":"array","title":"Samples","description":"Observed values."},"sample_count":{"type":"integer","title":"Sample Count","description":"Number of trajectories sampled."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Time when the underlying evaluation completed."}},"type":"object","required":["eval_run_id","xid","stage","knob_name","unit","sample_count","created_at"],"title":"EvalRolloutStatisticResponse"},"EvalRolloutStatisticsResponse":{"properties":{"eval_run_id":{"type":"string","title":"Eval Run Id","description":"Evaluation run whose rollouts were sampled."},"snapshots":{"items":{"$ref":"#/components/schemas/EvalRolloutStatisticResponse"},"type":"array","title":"Snapshots","description":"Runtime-computed distributions for the evaluation."}},"type":"object","required":["eval_run_id","snapshots"],"title":"EvalRolloutStatisticsResponse"},"EvalRun":{"properties":{"eval_run_id":{"type":"string","title":"Eval Run Id","description":"Unique evaluation run identifier."},"bench_id":{"type":"string","title":"Bench Id","description":"Benchmark evaluated by this run."},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name","description":"User-facing name for the evaluation run; null for legacy rows."},"model_slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model Slug","description":"Model evaluated by this run."},"status":{"anyOf":[{"$ref":"#/components/schemas/EvalRunLifecycleStatus"},{"type":"null"}],"description":"Current evaluation lifecycle status; null for legacy rows."},"checkpoint_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Checkpoint Id","description":"Checkpoint evaluated by this run, when applicable."},"training_run_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Training Run Id","description":"Training run that produced the evaluated checkpoint."},"step":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Step","description":"Evaluated checkpoint training step."},"reward_mean":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Reward Mean","description":"Completed evaluation mean reward."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Time when the evaluation run was created."},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"Time when the evaluation run was last updated."},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completed At","description":"Time when the evaluation reached a terminal status."},"failure":{"anyOf":[{"$ref":"#/components/schemas/AsyncFailure"},{"type":"null"}],"description":"Structured failure when status is failed."}},"type":"object","required":["eval_run_id","bench_id","display_name","status","created_at","updated_at"],"title":"EvalRun"},"EvalRunLifecycleStatus":{"type":"string","enum":["pending","registered","running","completed","failed","cancelled"],"title":"EvalRunLifecycleStatus"},"EvalTrajectoryReward":{"properties":{"trajectory_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Trajectory Id","description":"Trajectory identifier, when one was recorded."},"reward":{"type":"number","title":"Reward","description":"Reward assigned to the trajectory."},"task_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Task Id","description":"Benchmark task identifier, when one was recorded."}},"type":"object","required":["reward"],"title":"EvalTrajectoryReward"},"EvalTrajectoryRewardsResponse":{"properties":{"eval_run_id":{"type":"string","title":"Eval Run Id","description":"Evaluation run whose trajectory rewards are returned."},"trajectory_rewards":{"items":{"$ref":"#/components/schemas/EvalTrajectoryReward"},"type":"array","title":"Trajectory Rewards","description":"Per-trajectory rewards recorded for the evaluation run."}},"type":"object","required":["eval_run_id","trajectory_rewards"],"title":"EvalTrajectoryRewardsResponse"},"ExpectedConcurrency":{"type":"string","enum":["low","medium","high"],"title":"ExpectedConcurrency","description":"Traffic level a deployment is sized for; picks its replica count."},"Grader":{"properties":{"grader_id":{"type":"string","title":"Grader Id"},"organization_id":{"type":"string","title":"Organization Id"},"type":{"type":"string","title":"Type"},"ref":{"type":"string","title":"Ref"},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Version"},"reward_schema":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Reward Schema"},"config":{"additionalProperties":true,"type":"object","title":"Config"},"artifact_uri":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Artifact Uri"},"entrypoint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entrypoint"},"timeout_seconds":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Timeout Seconds"},"content_hash":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content Hash"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["grader_id","organization_id","type","ref","created_at"],"title":"Grader"},"HealthRequest":{"properties":{"model_ids":{"items":{"type":"string"},"type":"array","title":"Model Ids"}},"type":"object","required":["model_ids"],"title":"HealthRequest"},"HealthResponse":{"properties":{"results":{"items":{"$ref":"#/components/schemas/HealthResult"},"type":"array","title":"Results"}},"type":"object","required":["results"],"title":"HealthResponse"},"HealthResult":{"properties":{"model_id":{"type":"string","title":"Model Id"},"reachable":{"type":"boolean","title":"Reachable"},"latency_ms":{"type":"integer","title":"Latency Ms"}},"type":"object","required":["model_id","reachable","latency_ms"],"title":"HealthResult"},"HeldOutReward":{"properties":{"step":{"type":"integer","title":"Step","description":"Training step associated with this held-out reward."},"held_out_reward":{"type":"number","title":"Held Out Reward","description":"Held-out reward recorded for the step."}},"type":"object","required":["step","held_out_reward"],"title":"HeldOutReward"},"HeldOutRewardsByStepResponse":{"properties":{"training_run_id":{"type":"string","title":"Training Run Id","description":"Training run whose held-out rewards are returned."},"held_out_rewards":{"items":{"$ref":"#/components/schemas/HeldOutReward"},"type":"array","title":"Held Out Rewards","description":"Held-out rewards grouped by training step."}},"type":"object","required":["training_run_id","held_out_rewards"],"title":"HeldOutRewardsByStepResponse"},"IngestBenchmarkResponse":{"properties":{"bench_id":{"type":"string","title":"Bench Id"},"name":{"type":"string","title":"Name"},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family"},"task_count":{"type":"integer","title":"Task Count"},"failed_tasks":{"items":{"$ref":"#/components/schemas/BenchmarkTaskWriteFailure"},"type":"array","title":"Failed Tasks"}},"type":"object","required":["bench_id","name","task_count"],"title":"IngestBenchmarkResponse"},"ListDeploymentsResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/Deployment"},"type":"array","title":"Items","description":"Deployments on this page, newest first."},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor","description":"Cursor for the next page; null on the last page."},"has_more":{"type":"boolean","title":"Has More","description":"True when another page is available."}},"type":"object","required":["items","has_more"],"title":"ListDeploymentsResponse"},"ListSupportedModelsResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/SupportedModelInfo"},"type":"array","title":"Items"}},"type":"object","required":["items"],"title":"ListSupportedModelsResponse"},"Message":{"properties":{"message_id":{"type":"integer","title":"Message Id"},"role":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Role"},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content"},"tool_calls":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tool Calls"},"tool_response":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tool Response"},"reasoning":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reasoning"},"finish_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Finish Reason"},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Prompt Tokens"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Completion Tokens"}},"type":"object","required":["message_id"],"title":"Message"},"MetricDescriptor":{"properties":{"name":{"type":"string","title":"Name","description":"Baseten metric name, e.g. baseten_inference_requests_total."},"label_sets":{"items":{"additionalProperties":{"type":"string"},"type":"object"},"type":"array","title":"Label Sets","description":"One label set per series within this metric, e.g. per status code or per latency quantile; see Baseten's metrics API."}},"type":"object","required":["name","label_sets"],"title":"MetricDescriptor","description":"One metric Baseten reports; label_sets breaks it into parallel per-bucket series."},"MetricValueSet":{"properties":{"start_epoch_millis":{"type":"integer","title":"Start Epoch Millis","description":"Bucket start time, Unix epoch milliseconds."},"values":{"items":{"items":{"anyOf":[{"type":"number"},{"type":"null"}]},"type":"array"},"type":"array","title":"Values","description":"One inner list per metric_descriptors entry; each inner list has one value per that metric's label_sets, in the same order."}},"type":"object","required":["start_epoch_millis","values"],"title":"MetricValueSet","description":"One time bucket's values, index-aligned with metric_descriptors."},"Model":{"properties":{"id":{"type":"string","title":"Id"},"object":{"type":"string","title":"Object","default":"model"},"created":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Created"},"owned_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Owned By"}},"type":"object","required":["id"],"title":"Model"},"ModelList":{"properties":{"object":{"type":"string","title":"Object","default":"list"},"data":{"items":{"$ref":"#/components/schemas/Model"},"type":"array","title":"Data"}},"type":"object","required":["data"],"title":"ModelList"},"ModelPricing":{"properties":{"input":{"type":"number","title":"Input"},"output":{"type":"number","title":"Output"},"cached_input":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cached Input"}},"type":"object","required":["input","output"],"title":"ModelPricing"},"ModelSlug":{"properties":{"model_slug_id":{"type":"string","title":"Model Slug Id"},"organization_id":{"type":"string","title":"Organization Id"},"name":{"type":"string","title":"Name"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"}},"type":"object","required":["model_slug_id","organization_id","name"],"title":"ModelSlug"},"ModelUsage":{"properties":{"model_slug":{"type":"string","title":"Model Slug"},"request_count":{"type":"integer","title":"Request Count"},"input_tokens":{"type":"integer","title":"Input Tokens"},"output_tokens":{"type":"integer","title":"Output Tokens"},"cached_tokens":{"type":"integer","title":"Cached Tokens"},"total_tokens":{"type":"integer","title":"Total Tokens"}},"type":"object","required":["model_slug","request_count","input_tokens","output_tokens","cached_tokens","total_tokens"],"title":"ModelUsage"},"NewInviteToken":{"properties":{"email":{"type":"string","title":"Email","description":"Recipient email the invite was generated for."},"token":{"type":"string","title":"Token","description":"Single-use invite token. Returned only on creation so the API route handler can email it; never re-exposed by the backend."}},"type":"object","required":["email","token"],"title":"NewInviteToken"},"Organization":{"properties":{"organization_id":{"type":"string","title":"Organization Id","description":"Opaque `org_*` identifier."},"organization_key":{"type":"string","title":"Organization Key","description":"Human-readable short key (e.g. customer slug). Unique per environment."},"organization_name":{"type":"string","title":"Organization Name","description":"Display name for the organization."},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At","description":"UTC timestamp the organization was created."}},"type":"object","required":["organization_id","organization_key","organization_name"],"title":"Organization"},"OrganizationDetailResponse":{"properties":{"organization":{"$ref":"#/components/schemas/Organization","description":"The requested organization."},"members":{"items":{"$ref":"#/components/schemas/OrganizationMember"},"type":"array","title":"Members","description":"All members of the organization."}},"type":"object","required":["organization","members"],"title":"OrganizationDetailResponse"},"OrganizationListResponse":{"properties":{"organizations":{"items":{"$ref":"#/components/schemas/Organization"},"type":"array","title":"Organizations","description":"All organizations visible to the caller."}},"type":"object","required":["organizations"],"title":"OrganizationListResponse"},"OrganizationMember":{"properties":{"email":{"type":"string","title":"Email","description":"Email of the member."},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name","description":"User's display name, when set."},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At","description":"UTC timestamp the membership row was created."},"status":{"$ref":"#/components/schemas/OrganizationMembershipStatus","description":"Membership status."},"role":{"$ref":"#/components/schemas/OrganizationRole","description":"Membership role within the organization."}},"type":"object","required":["email","status","role"],"title":"OrganizationMember"},"OrganizationMembersResponse":{"properties":{"members":{"items":{"$ref":"#/components/schemas/OrganizationMember"},"type":"array","title":"Members","description":"All members of the organization."}},"type":"object","required":["members"],"title":"OrganizationMembersResponse"},"OrganizationMembershipStatus":{"type":"string","enum":["ORG_STATUS_ACTIVE","ORG_STATUS_PENDING","ORG_STATUS_DISABLED"],"title":"OrganizationMembershipStatus"},"OrganizationRole":{"type":"string","enum":["ORG_ROLE_OWNER","ORG_ROLE_ADMIN","ORG_ROLE_MEMBER"],"title":"OrganizationRole"},"OrganizationSummary":{"properties":{"organization_id":{"type":"string","title":"Organization Id","description":"`org_*` identifier."},"organization_name":{"type":"string","title":"Organization Name","description":"Display name for the organization."},"active_member_count":{"type":"integer","title":"Active Member Count","description":"Number of active organization members."}},"type":"object","required":["organization_id","organization_name","active_member_count"],"title":"OrganizationSummary"},"OutputSpeed":{"type":"string","enum":["normal","turbo"],"title":"OutputSpeed","description":"Which GPU tier a deployment runs on: H100 (normal) or B200 (turbo)."},"PaginatedResponse_BenchmarkSpec_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/BenchmarkSpec"},"type":"array","title":"Items"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"},"has_more":{"type":"boolean","title":"Has More"}},"type":"object","required":["items","has_more"],"title":"PaginatedResponse[BenchmarkSpec]"},"PaginatedResponse_DatasetMetadata_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/DatasetMetadata"},"type":"array","title":"Items"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"},"has_more":{"type":"boolean","title":"Has More"}},"type":"object","required":["items","has_more"],"title":"PaginatedResponse[DatasetMetadata]"},"PaginatedResponse_Step_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/Step"},"type":"array","title":"Items"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"},"has_more":{"type":"boolean","title":"Has More"}},"type":"object","required":["items","has_more"],"title":"PaginatedResponse[Step]"},"PaginatedResponse_TrajectoryMetadata_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/TrajectoryMetadata"},"type":"array","title":"Items"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"},"has_more":{"type":"boolean","title":"Has More"}},"type":"object","required":["items","has_more"],"title":"PaginatedResponse[TrajectoryMetadata]"},"PromoteRequest":{"properties":{"demote_deployment_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Demote Deployment Id","description":"Deployment to stand down in the same write, for an atomic production swap."}},"type":"object","title":"PromoteRequest"},"PromoteResponse":{"properties":{"deployment_id":{"type":"string","title":"Deployment Id"},"is_active":{"type":"boolean","title":"Is Active"}},"type":"object","required":["deployment_id","is_active"],"title":"PromoteResponse"},"RegisterGraderRequest":{"properties":{"type":{"type":"string","enum":["in_container_verifier","llm_judge","code","model"],"title":"Type"},"ref":{"type":"string","title":"Ref"},"version":{"type":"string","title":"Version","default":"1"},"reward_schema":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Reward Schema"},"config":{"additionalProperties":true,"type":"object","title":"Config"},"entrypoint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entrypoint"},"timeout_seconds":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Timeout Seconds"}},"type":"object","required":["type","ref"],"title":"RegisterGraderRequest"},"RegisterToolRequest":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","maxLength":8192,"title":"Description","default":""},"parameters":{"additionalProperties":true,"type":"object","title":"Parameters"},"entrypoint":{"type":"string","title":"Entrypoint","default":"run.py"},"timeout_seconds":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Timeout Seconds"}},"type":"object","required":["name"],"title":"RegisterToolRequest"},"ResolvedTrajectoryTrainingOptions":{"properties":{"max_output_tokens_per_step":{"type":"integer","title":"Max Output Tokens Per Step"},"max_total_tokens_per_trajectory":{"type":"integer","title":"Max Total Tokens Per Trajectory"},"max_turns_per_trajectory":{"type":"integer","title":"Max Turns Per Trajectory"},"max_tool_calls_per_step":{"type":"integer","title":"Max Tool Calls Per Step"},"max_response_chars_per_tool_call":{"type":"integer","title":"Max Response Chars Per Tool Call"},"timeout_seconds":{"type":"integer","title":"Timeout Seconds"}},"type":"object","required":["max_output_tokens_per_step","max_total_tokens_per_trajectory","max_turns_per_trajectory","max_tool_calls_per_step","max_response_chars_per_tool_call","timeout_seconds"],"title":"ResolvedTrajectoryTrainingOptions"},"RevokeApiKeyResponse":{"properties":{"key_hash":{"type":"string","title":"Key Hash","description":"Identifier of the key that was revoked."}},"type":"object","required":["key_hash"],"title":"RevokeApiKeyResponse"},"RevokeSecretResponse":{"properties":{"secret_id":{"type":"string","title":"Secret Id","description":"Identifier of the secret that was revoked."}},"type":"object","required":["secret_id"],"title":"RevokeSecretResponse"},"Secret":{"properties":{"secret_id":{"type":"string","title":"Secret Id","description":"Opaque identifier used to reference the secret."},"name":{"type":"string","title":"Name","description":"Name the secret is referenced by (e.g. in ${secret:NAME})."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Optional human-readable description."},"byte_length":{"type":"integer","title":"Byte Length","description":"Length of the secret value in UTF-8 bytes."},"created_at":{"anyOf":[{"type":"string"},{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At","description":"UTC timestamp the secret was created."},"updated_at":{"anyOf":[{"type":"string"},{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At","description":"UTC timestamp the secret was last updated."}},"type":"object","required":["secret_id","name","byte_length"],"title":"Secret"},"SecretListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/Secret"},"type":"array","title":"Items","description":"Page of the organization's live secrets."},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor","description":"Cursor for the next page, or null if none."},"has_more":{"type":"boolean","title":"Has More","description":"True if more secrets remain beyond this page."}},"type":"object","required":["items","has_more"],"title":"SecretListResponse"},"StartDeployRequest":{"properties":{"checkpoint_id":{"type":"string","title":"Checkpoint Id"},"model_slug":{"type":"string","title":"Model Slug"},"role":{"$ref":"#/components/schemas/DeploymentRole","default":"test"},"output_speed":{"$ref":"#/components/schemas/OutputSpeed","description":"Which output-speed tier to deploy on.","default":"normal"},"expected_concurrency":{"$ref":"#/components/schemas/ExpectedConcurrency","description":"Traffic level to size replicas for.","default":"medium"}},"type":"object","required":["checkpoint_id","model_slug"],"title":"StartDeployRequest"},"StartDeployResponse":{"properties":{"deployment_id":{"type":"string","title":"Deployment Id"},"role":{"$ref":"#/components/schemas/DeploymentRole"},"reused_merge":{"type":"boolean","title":"Reused Merge","description":"True when an existing merged model was reused and the merge stage was skipped.","default":false}},"type":"object","required":["deployment_id","role"],"title":"StartDeployResponse"},"StartEvalRequest":{"properties":{"model_slug":{"$ref":"#/components/schemas/BaseModelSlug"},"display_name":{"anyOf":[{"type":"string","maxLength":256,"minLength":1},{"type":"null"}],"title":"Display Name","description":"User-facing name for the evaluation run."},"checkpoint_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Checkpoint Id","description":"When set, evaluate this committed training checkpoint instead of the base model."}},"type":"object","required":["model_slug"],"title":"StartEvalRequest"},"StartEvalResponse":{"properties":{"bench_id":{"type":"string","title":"Bench Id","description":"Benchmark evaluated by this run."},"eval_run_id":{"type":"string","title":"Eval Run Id","description":"Evaluation run created for this request."},"pipeline_run_id":{"type":"string","title":"Pipeline Run Id","description":"Pipeline run executing the evaluation."},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name","description":"User-facing name for the evaluation run."},"execution_id":{"type":"string","title":"Execution Id","description":"Flyte execution launched for the evaluation."},"pipeline_name":{"type":"string","title":"Pipeline Name","description":"Pipeline configuration used by the evaluation."},"experiment_name":{"type":"string","title":"Experiment Name","description":"Experiment name assigned to the evaluation."}},"type":"object","required":["bench_id","eval_run_id","pipeline_run_id","display_name","execution_id","pipeline_name","experiment_name"],"title":"StartEvalResponse"},"Step":{"properties":{"step_index":{"type":"integer","title":"Step Index"},"reward":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Reward"},"has_error":{"type":"boolean","title":"Has Error","default":false},"messages":{"items":{"$ref":"#/components/schemas/Message"},"type":"array","title":"Messages"}},"type":"object","required":["step_index"],"title":"Step"},"SupportedModelInfo":{"properties":{"model_slug":{"$ref":"#/components/schemas/BaseModelSlug"},"model_name":{"type":"string","title":"Model Name"},"pricing":{"$ref":"#/components/schemas/ModelPricing"}},"type":"object","required":["model_slug","model_name","pricing"],"title":"SupportedModelInfo"},"TaskSplit":{"type":"string","enum":["train","test"],"title":"TaskSplit"},"TelemetryEventIngestRequest":{"properties":{"event_id":{"type":"string","maxLength":128,"minLength":1,"title":"Event Id","description":"Caller-provided unique event id used for idempotency and deduplication."},"event_type":{"type":"string","maxLength":256,"minLength":1,"title":"Event Type","description":"Product-defined telemetry event name, such as 'tool_call' or 'user_accept'."},"timestamp":{"type":"string","minLength":1,"title":"Timestamp","description":"ISO 8601 timestamp for when the event occurred."},"session_id":{"type":"string","maxLength":512,"minLength":1,"title":"Session Id","description":"Grouping key for a broader user session, eval run, or import job."},"source":{"type":"string","maxLength":128,"minLength":1,"title":"Source","description":"Origin of the event, such as 'sdk', 'api', 'training', or 'synthetic'."},"user_id":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}],"title":"User Id","description":"End-user identifier from the caller's system, when available."},"trajectory_id":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}],"title":"Trajectory Id","description":"Stored trajectory id returned by trajectory upload, when already known."},"trace_id":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}],"title":"Trace Id","description":"Caller-owned correlation key shared by telemetry and its trajectory."},"properties":{"additionalProperties":true,"type":"object","title":"Properties","description":"Event-specific JSON properties."},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata","description":"Additional metadata for debugging, SDK versions, or ingestion context."}},"type":"object","required":["event_id","event_type","timestamp","session_id","source"],"title":"TelemetryEventIngestRequest"},"TelemetryEventsIngestRequest":{"properties":{"events":{"items":{"$ref":"#/components/schemas/TelemetryEventIngestRequest"},"type":"array","maxItems":100000,"minItems":1,"title":"Events","description":"Telemetry events to ingest."}},"type":"object","required":["events"],"title":"TelemetryEventsIngestRequest"},"TelemetryEventsIngestResponse":{"properties":{"ingested":{"type":"integer","title":"Ingested","description":"Number of telemetry events accepted for ingestion."},"skipped":{"type":"integer","title":"Skipped","description":"Number of telemetry events skipped by validation.","default":0},"failures":{"items":{"$ref":"#/components/schemas/BatchItemFailure"},"type":"array","title":"Failures","description":"Structured batch-level ingestion failures, if any."}},"type":"object","required":["ingested"],"title":"TelemetryEventsIngestResponse"},"Tool":{"properties":{"tool_id":{"type":"string","title":"Tool Id"},"organization_id":{"type":"string","title":"Organization Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"parameters":{"additionalProperties":true,"type":"object","title":"Parameters"},"artifact_uri":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Artifact Uri"},"entrypoint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entrypoint"},"timeout_seconds":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Timeout Seconds"},"content_hash":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content Hash"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["tool_id","organization_id","name","created_at"],"title":"Tool"},"TrainerReward":{"properties":{"step":{"type":"integer","title":"Step","description":"Training step associated with this trainer reward."},"trainer_reward":{"type":"number","title":"Trainer Reward","description":"Trainer reward recorded for the step."}},"type":"object","required":["step","trainer_reward"],"title":"TrainerReward"},"TrainerRewardsByStepResponse":{"properties":{"training_run_id":{"type":"string","title":"Training Run Id","description":"Training run whose trainer rewards are returned."},"trainer_rewards":{"items":{"$ref":"#/components/schemas/TrainerReward"},"type":"array","title":"Trainer Rewards","description":"Trainer rewards grouped by training step."}},"type":"object","required":["training_run_id","trainer_rewards"],"title":"TrainerRewardsByStepResponse"},"TrainingCheckpointResponse":{"properties":{"training_run_id":{"type":"string","title":"Training Run Id"},"xid":{"type":"string","title":"Xid","description":"Training-stage rollout xid that produced the checkpoint."},"step_index":{"type":"integer","title":"Step Index","description":"Training step whose committed checkpoint was resolved."},"checkpoint_id":{"type":"string","title":"Checkpoint Id","description":"Committed checkpoint id for deploy or checkpoint eval."},"base_model_slug":{"type":"string","title":"Base Model Slug","description":"Base model slug the checkpoint was trained from."}},"type":"object","required":["training_run_id","xid","step_index","checkpoint_id","base_model_slug"],"title":"TrainingCheckpointResponse"},"TrainingModelOptions":{"properties":{"base_model_id":{"$ref":"#/components/schemas/BaseModelSlug"},"training_options":{"additionalProperties":{"$ref":"#/components/schemas/TrainingOptionRange"},"propertyNames":{"$ref":"#/components/schemas/TrainingOptionKey"},"type":"object","title":"Training Options"}},"type":"object","required":["base_model_id","training_options"],"title":"TrainingModelOptions"},"TrainingOptionKey":{"type":"string","enum":["max_output_tokens_per_step","max_total_tokens_per_trajectory","max_turns_per_trajectory","max_tool_calls_per_step","max_response_chars_per_tool_call"],"title":"TrainingOptionKey"},"TrainingOptionRange":{"properties":{"min":{"type":"integer","title":"Min"},"max":{"type":"integer","title":"Max"},"default":{"type":"integer","title":"Default"}},"type":"object","required":["min","max","default"],"title":"TrainingOptionRange"},"TrainingOptions":{"properties":{"max_output_tokens_per_step":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Max Output Tokens Per Step","description":"Maximum assistant output tokens allowed in one model step."},"max_total_tokens_per_trajectory":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Max Total Tokens Per Trajectory","description":"Maximum total tokens available across one trajectory."},"max_turns_per_trajectory":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Max Turns Per Trajectory","description":"Maximum agent and environment turns allowed in each trajectory."},"max_tool_calls_per_step":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Max Tool Calls Per Step","description":"Maximum tool calls executed from one assistant step (0 rejects all)."},"max_response_chars_per_tool_call":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Max Response Chars Per Tool Call","description":"Maximum tool-response characters retained before truncation."}},"additionalProperties":false,"type":"object","title":"TrainingOptions"},"TrainingOptionsResponse":{"properties":{"bench_id":{"type":"string","title":"Bench Id"},"default_base_model_id":{"$ref":"#/components/schemas/BaseModelSlug"},"models":{"items":{"$ref":"#/components/schemas/TrainingModelOptions"},"type":"array","title":"Models"}},"type":"object","required":["bench_id","default_base_model_id","models"],"title":"TrainingOptionsResponse"},"TrainingProgressResponse":{"properties":{"training_run_id":{"type":"string","title":"Training Run Id","description":"Training run whose progress is returned."},"status":{"$ref":"#/components/schemas/TrainingRunLifecycleStatus","description":"Recorded status of the training run."},"failure":{"anyOf":[{"$ref":"#/components/schemas/AsyncFailure"},{"type":"null"}],"description":"Structured failure details when the training run failed."},"completed_steps":{"type":"integer","title":"Completed Steps","description":"Training steps of the run that have recorded a trainer metric."},"total_steps":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Steps","description":"Steps the run's config budgets, or null when it set no budget."}},"type":"object","required":["training_run_id","status","completed_steps"],"title":"TrainingProgressResponse"},"TrainingRunLifecycleStatus":{"type":"string","enum":["pending","running","cancelling","succeeded","failed","cancelled"],"title":"TrainingRunLifecycleStatus"},"TrainingRunResponse":{"properties":{"training_run_id":{"type":"string","title":"Training Run Id"},"pipeline_run_id":{"type":"string","title":"Pipeline Run Id"},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name","description":"User-facing training run name; null for legacy rows."},"xid":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Xid"},"status":{"$ref":"#/components/schemas/TrainingRunLifecycleStatus"},"bench_id":{"type":"string","title":"Bench Id"},"base_model_id":{"type":"string","title":"Base Model Id"},"training_options":{"additionalProperties":true,"type":"object","title":"Training Options"},"created_by":{"type":"string","title":"Created By"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"failure":{"anyOf":[{"$ref":"#/components/schemas/AsyncFailure"},{"type":"null"}],"description":"Structured failure when status is failed."}},"type":"object","required":["training_run_id","pipeline_run_id","display_name","xid","status","bench_id","base_model_id","training_options","created_by","created_at"],"title":"TrainingRunResponse"},"TrainingTrajectoryRewardsResponse":{"properties":{"training_run_id":{"type":"string","title":"Training Run Id","description":"Training run whose trajectory rewards are returned."},"step":{"type":"integer","title":"Step","description":"Training step used to select trajectories."},"trajectory_rewards":{"items":{"$ref":"#/components/schemas/TrajectoryReward"},"type":"array","title":"Trajectory Rewards","description":"Per-trajectory rewards recorded for the selected training step."}},"type":"object","required":["training_run_id","step","trajectory_rewards"],"title":"TrainingTrajectoryRewardsResponse"},"Trajectory":{"properties":{"trajectory_id":{"type":"string","title":"Trajectory Id"},"organization_id":{"type":"string","title":"Organization Id"},"dataset_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dataset Id"},"dataset_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dataset Name"},"dataset_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dataset Source"},"dataset_gcs_prefix":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dataset Gcs Prefix"},"trace_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Trace Id"},"model_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model Id"},"model_association_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model Association Source"},"model_association_metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Model Association Metadata"},"source":{"type":"string","title":"Source"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"reward":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Reward"},"num_steps":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Num Steps"},"created_at":{"type":"string","title":"Created At"},"gcs_blob_uri":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gcs Blob Uri"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"},"steps":{"items":{"$ref":"#/components/schemas/Step"},"type":"array","title":"Steps"}},"type":"object","required":["trajectory_id","organization_id","source","created_at"],"title":"Trajectory"},"TrajectoryMetadata":{"properties":{"trajectory_id":{"type":"string","title":"Trajectory Id"},"organization_id":{"type":"string","title":"Organization Id"},"dataset_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dataset Id"},"dataset_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dataset Name"},"dataset_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dataset Source"},"dataset_gcs_prefix":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dataset Gcs Prefix"},"trace_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Trace Id"},"model_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model Id"},"model_association_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model Association Source"},"model_association_metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Model Association Metadata"},"source":{"type":"string","title":"Source"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"reward":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Reward"},"num_steps":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Num Steps"},"created_at":{"type":"string","title":"Created At"}},"type":"object","required":["trajectory_id","organization_id","source","created_at"],"title":"TrajectoryMetadata"},"TrajectoryReward":{"properties":{"trajectory_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Trajectory Id","description":"Trajectory identifier, when one was recorded."},"reward":{"type":"number","title":"Reward","description":"Reward assigned to the trajectory."}},"type":"object","required":["reward"],"title":"TrajectoryReward"},"TrajectoryUploadItem":{"properties":{"request_index":{"type":"integer","title":"Request Index","description":"Zero-based index of this trajectory in the request."},"conversation_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Conversation Id","description":"Caller-provided conversation id from task.conversation_id."},"trace_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Trace Id","description":"Caller-owned correlation key shared by telemetry and this trajectory."},"trajectory_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Trajectory Id","description":"Stored trajectory id assigned by the backend."},"model_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model Id","description":"Internal model id associated with this trajectory, when known."},"model_association_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model Association Source","description":"How the trajectory was associated with a model."},"status":{"type":"string","enum":["uploaded","skipped","error"],"title":"Status","description":"Upload status for this trajectory: uploaded, skipped, or error."},"failure":{"anyOf":[{"$ref":"#/components/schemas/BatchItemFailure"},{"type":"null"}],"description":"Structured trajectory-specific failure, if any."}},"type":"object","required":["request_index","status"],"title":"TrajectoryUploadItem"},"TrajectoryUploadRequest":{"properties":{"dataset":{"type":"string","maxLength":256,"minLength":1,"title":"Dataset","description":"Dataset name to upload these trajectories into."},"trajectories":{"items":{"additionalProperties":true,"type":"object"},"type":"array","maxItems":100000,"title":"Trajectories","description":"Trajectory payloads to validate, store, and index."}},"type":"object","required":["dataset"],"title":"TrajectoryUploadRequest"},"TrajectoryUploadResponse":{"properties":{"uploaded":{"type":"integer","title":"Uploaded","description":"Number of trajectories accepted for storage."},"skipped":{"type":"integer","title":"Skipped","description":"Number of trajectories skipped by validation or deduplication."},"failures":{"items":{"$ref":"#/components/schemas/BatchItemFailure"},"type":"array","title":"Failures","description":"Structured batch-level upload failures, if any."},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message","description":"Human-readable upload summary."},"partial_success":{"type":"boolean","title":"Partial Success","description":"True when some trajectories uploaded but one or more errors occurred.","default":false},"trajectories":{"items":{"$ref":"#/components/schemas/TrajectoryUploadItem"},"type":"array","title":"Trajectories","description":"Per-trajectory upload mapping for correlating caller ids to trajectory ids."}},"type":"object","required":["uploaded","skipped"],"title":"TrajectoryUploadResponse"},"UndeployResponse":{"properties":{"deployment_id":{"type":"string","title":"Deployment Id"},"row_deleted":{"type":"boolean","title":"Row Deleted"}},"type":"object","required":["deployment_id","row_deleted"],"title":"UndeployResponse"},"UpdateBenchmarkRequest":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"}},"type":"object","title":"UpdateBenchmarkRequest"},"UpdateOrganizationMemberRoleRequest":{"properties":{"role":{"$ref":"#/components/schemas/OrganizationRole","description":"New role to assign. Granting OWNER or modifying an existing OWNER row requires the caller to be OWNER."}},"type":"object","required":["role"],"title":"UpdateOrganizationMemberRoleRequest"},"UpdateOrganizationMemberRoleResponse":{"properties":{"organization_id":{"type":"string","title":"Organization Id","description":"Organization containing the membership."},"email":{"type":"string","title":"Email","description":"Email of the member whose role was updated."},"role":{"$ref":"#/components/schemas/OrganizationRole","description":"Role now assigned to the member."}},"type":"object","required":["organization_id","email","role"],"title":"UpdateOrganizationMemberRoleResponse"},"UploadFilesRequest":{"properties":{"files":{"items":{"$ref":"#/components/schemas/BenchmarkUploadFile"},"type":"array","title":"Files","description":"Files to sign upload URLs for, one URL returned per declared path."}},"type":"object","required":["files"],"title":"UploadFilesRequest","description":"One batch of files to sign PUT urls for; the owning id comes from the path or is minted."},"Usage":{"properties":{"prompt_tokens":{"type":"integer","title":"Prompt Tokens"},"completion_tokens":{"type":"integer","title":"Completion Tokens"},"total_tokens":{"type":"integer","title":"Total Tokens"}},"additionalProperties":true,"type":"object","required":["prompt_tokens","completion_tokens","total_tokens"],"title":"Usage"},"UsageGranularity":{"type":"string","enum":["day","hour"],"title":"UsageGranularity"},"UsageResponse":{"properties":{"summary":{"$ref":"#/components/schemas/UsageSummary"},"by_model":{"items":{"$ref":"#/components/schemas/ModelUsage"},"type":"array","title":"By Model"},"series":{"items":{"$ref":"#/components/schemas/UsageSeriesPoint"},"type":"array","title":"Series"},"start_date":{"type":"string","title":"Start Date"},"end_date":{"type":"string","title":"End Date"},"granularity":{"$ref":"#/components/schemas/UsageGranularity"}},"type":"object","required":["summary","start_date","end_date","granularity"],"title":"UsageResponse"},"UsageSeriesPoint":{"properties":{"period_start":{"type":"string","title":"Period Start"},"request_count":{"type":"integer","title":"Request Count"},"input_tokens":{"type":"integer","title":"Input Tokens"},"output_tokens":{"type":"integer","title":"Output Tokens"},"total_tokens":{"type":"integer","title":"Total Tokens"}},"type":"object","required":["period_start","request_count","input_tokens","output_tokens","total_tokens"],"title":"UsageSeriesPoint"},"UsageSummary":{"properties":{"request_count":{"type":"integer","title":"Request Count"},"total_input_tokens":{"type":"integer","title":"Total Input Tokens"},"total_output_tokens":{"type":"integer","title":"Total Output Tokens"},"total_cached_tokens":{"type":"integer","title":"Total Cached Tokens"},"total_tokens":{"type":"integer","title":"Total Tokens"}},"type":"object","required":["request_count","total_input_tokens","total_output_tokens","total_cached_tokens","total_tokens"],"title":"UsageSummary"},"UserDetailResponse":{"properties":{"user":{"$ref":"#/components/schemas/AdminUser","description":"The requested user."},"memberships":{"items":{"$ref":"#/components/schemas/AdminUserMembership"},"type":"array","title":"Memberships","description":"All organization memberships for this user."}},"type":"object","required":["user","memberships"],"title":"UserDetailResponse"},"UserListResponse":{"properties":{"users":{"items":{"$ref":"#/components/schemas/AdminUser"},"type":"array","title":"Users","description":"All users in the system."}},"type":"object","required":["users"],"title":"UserListResponse"},"WakeRequest":{"properties":{"model_id":{"type":"string","title":"Model Id"}},"type":"object","required":["model_id"],"title":"WakeRequest"},"WakeResponse":{"properties":{"ok":{"type":"boolean","title":"Ok"}},"type":"object","required":["ok"],"title":"WakeResponse"},"ApiErrorBody":{"properties":{"type":{"$ref":"#/components/schemas/ErrorType"},"code":{"title":"Code","type":"string"},"message":{"title":"Message","type":"string"},"param":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Param"},"doc_url":{"title":"Doc Url","type":"string"},"context":{"additionalProperties":true,"title":"Context","type":"object"}},"required":["type","code","message","doc_url","context"],"title":"ApiErrorBody","type":"object"},"ErrorType":{"enum":["invalid_request_error","authentication_error","permission_error","conflict_error","rate_limit_error","dependency_error","api_error"],"title":"ErrorType","type":"string"},"ApiErrorEnvelope":{"properties":{"error":{"$ref":"#/components/schemas/ApiErrorBody"}},"required":["error"],"title":"ApiErrorEnvelope","type":"object"}},"securitySchemes":{"InferenceAuthorization":{"type":"http","scheme":"bearer"}},"headers":{"RequestId":{"schema":{"type":"string"}},"TrajectoryShouldRetry":{"schema":{"type":"boolean"}},"RetryAfter":{"schema":{"type":"string"}}},"responses":{"ApiErrorResponse":{"description":"Common API error. Possible codes: `authentication_required`, `permission_denied`, `validation_error`, `rate_limited`, `internal_error`, `service_unavailable`.","headers":{"X-Request-ID":{"$ref":"#/components/headers/RequestId"},"Trajectory-Should-Retry":{"$ref":"#/components/headers/TrajectoryShouldRetry"},"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}}