openapi: 3.1.0 info: title: LangSmith access_policies optimization-jobs API description: 'The LangSmith API is used to programmatically create and manage LangSmith resources. ## Host https://api.smith.langchain.com ## Authentication To authenticate with the LangSmith API, set the `X-Api-Key` header to a valid [LangSmith API key](https://docs.langchain.com/langsmith/create-account-api-key#create-an-api-key). ' version: 0.1.0 servers: - url: / tags: - name: optimization-jobs paths: /api/v1/repos/{owner}/{repo}/optimization-jobs: get: tags: - optimization-jobs summary: List Jobs description: List all prompt optimization jobs. operationId: list_jobs_api_v1_repos__owner___repo__optimization_jobs_get security: - API Key: [] - Tenant ID: [] - Bearer Auth: [] parameters: - name: repo in: path required: true schema: type: string title: Repo responses: '200': description: Successful Response content: application/json: schema: type: array items: $ref: '#/components/schemas/PromptOptimizationJob' title: Response List Jobs Api V1 Repos Owner Repo Optimization Jobs Get '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - optimization-jobs summary: Create Job description: Create a new prompt optimization job. operationId: create_job_api_v1_repos__owner___repo__optimization_jobs_post security: - API Key: [] - Tenant ID: [] - Bearer Auth: [] parameters: - name: repo in: path required: true schema: type: string title: Repo requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PromptOptimizationJobCreate' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/PromptOptimizationJob' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/v1/repos/{owner}/{repo}/optimization-jobs/{job_id}: get: tags: - optimization-jobs summary: Get Job description: Get a specific optimization job. operationId: get_job_api_v1_repos__owner___repo__optimization_jobs__job_id__get security: - API Key: [] - Tenant ID: [] - Bearer Auth: [] parameters: - name: job_id in: path required: true schema: type: string format: uuid title: Job Id responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/PromptOptimizationJobWithLogs' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' patch: tags: - optimization-jobs summary: Update Job description: Replace an existing prompt optimization job with a new, modified job. operationId: update_job_api_v1_repos__owner___repo__optimization_jobs__job_id__patch security: - API Key: [] - Tenant ID: [] - Bearer Auth: [] parameters: - name: job_id in: path required: true schema: type: string format: uuid title: Job Id requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PromptOptimizationJobUpdate' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/PromptOptimizationJob' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - optimization-jobs summary: Delete Job description: Delete a prompt optimization job. operationId: delete_job_api_v1_repos__owner___repo__optimization_jobs__job_id__delete security: - API Key: [] - Tenant ID: [] - Bearer Auth: [] parameters: - name: job_id in: path required: true schema: type: string format: uuid title: Job Id responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/v1/repos/{owner}/{repo}/optimization-jobs/{job_id}/logs: get: tags: - optimization-jobs summary: List Job Logs description: List all logs for a specific prompt optimization job. operationId: list_job_logs_api_v1_repos__owner___repo__optimization_jobs__job_id__logs_get security: - API Key: [] - Tenant ID: [] - Bearer Auth: [] parameters: - name: job_id in: path required: true schema: type: string format: uuid title: Job Id responses: '200': description: Successful Response content: application/json: schema: type: array items: $ref: '#/components/schemas/PromptOptimizationJobLog' title: Response List Job Logs Api V1 Repos Owner Repo Optimization Jobs Job Id Logs Get '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - optimization-jobs summary: Create Log description: Create a new log entry for a prompt optimization job. operationId: create_log_api_v1_repos__owner___repo__optimization_jobs__job_id__logs_post security: - API Key: [] - Tenant ID: [] - Bearer Auth: [] parameters: - name: job_id in: path required: true schema: type: string format: uuid title: Job Id requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PromptOptimizationJobLogCreate' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/PromptOptimizationJobLog' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/v1/repos/{owner}/{repo}/optimization-jobs/{job_id}/logs/{log_id}: get: tags: - optimization-jobs summary: Get Log description: Get a specific prompt optimization job log. operationId: get_log_api_v1_repos__owner___repo__optimization_jobs__job_id__logs__log_id__get security: - API Key: [] - Tenant ID: [] - Bearer Auth: [] parameters: - name: log_id in: path required: true schema: type: string format: uuid title: Log Id responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/PromptOptimizationJobLog' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - optimization-jobs summary: Delete Log description: Delete a prompt optimization job log. operationId: delete_log_api_v1_repos__owner___repo__optimization_jobs__job_id__logs__log_id__delete security: - API Key: [] - Tenant ID: [] - Bearer Auth: [] parameters: - name: log_id in: path required: true schema: type: string format: uuid title: Log Id responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' components: schemas: PromptOptimizationJobLog: properties: log_type: $ref: '#/components/schemas/EPromptOptimizationJobLogType' message: type: string title: Message data: anyOf: - additionalProperties: true type: object - type: 'null' title: Data id: type: string format: uuid title: Id job_id: type: string format: uuid title: Job Id created_at: type: string format: date-time title: Created At type: object required: - log_type - message - id - job_id - created_at title: PromptOptimizationJobLog HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError DemoConfig: properties: message_index: type: integer title: Message Index metaprompt: additionalProperties: true type: object title: Metaprompt examples: items: additionalProperties: true type: object type: array title: Examples overall_feedback: anyOf: - type: string - type: 'null' title: Overall Feedback type: object required: - message_index - metaprompt - examples - overall_feedback title: DemoConfig PromptOptimizationResult: properties: timestamp: type: string format: date-time title: Timestamp x: type: number title: X y: type: number title: Y type: object required: - timestamp - x - y title: PromptOptimizationResult ValidationError: properties: loc: items: anyOf: - type: string - type: integer type: array title: Location msg: type: string title: Message type: type: string title: Error Type type: object required: - loc - msg - type title: ValidationError EPromptOptimizationAlgorithm: type: string enum: - promptim - demo title: EPromptOptimizationAlgorithm EPromptOptimizationJobLogType: type: string enum: - info - result - error - link title: EPromptOptimizationJobLogType PromptimConfig: properties: message_index: type: integer title: Message Index task_description: type: string title: Task Description dataset_name: type: string title: Dataset Name train_split: anyOf: - type: string - type: 'null' title: Train Split dev_split: anyOf: - type: string - type: 'null' title: Dev Split test_split: anyOf: - type: string - type: 'null' title: Test Split evaluators: items: type: string format: uuid type: array title: Evaluators num_epochs: type: integer title: Num Epochs auto_commit: type: boolean title: Auto Commit type: object required: - message_index - task_description - dataset_name - train_split - dev_split - test_split - evaluators - num_epochs - auto_commit title: PromptimConfig EPromptOptimizationJobStatus: type: string enum: - created - running - successful - failed title: EPromptOptimizationJobStatus PromptOptimizationJobUpdate: properties: status: anyOf: - $ref: '#/components/schemas/EPromptOptimizationJobStatus' - type: 'null' result: anyOf: - $ref: '#/components/schemas/PromptOptimizationResult' - type: 'null' type: object title: PromptOptimizationJobUpdate PromptOptimizationJobWithLogs: properties: id: type: string format: uuid title: Id repo_id: type: string format: uuid title: Repo Id status: $ref: '#/components/schemas/EPromptOptimizationJobStatus' tenant_id: type: string format: uuid title: Tenant Id algorithm: $ref: '#/components/schemas/EPromptOptimizationAlgorithm' config: anyOf: - $ref: '#/components/schemas/PromptimConfig' - $ref: '#/components/schemas/DemoConfig' title: Config results: items: $ref: '#/components/schemas/PromptOptimizationResult' type: array title: Results created_at: type: string format: date-time title: Created At updated_at: type: string format: date-time title: Updated At logs: items: $ref: '#/components/schemas/PromptOptimizationJobLog' type: array title: Logs type: object required: - id - repo_id - status - tenant_id - algorithm - config - created_at - updated_at - logs title: PromptOptimizationJobWithLogs PromptOptimizationJob: properties: id: type: string format: uuid title: Id repo_id: type: string format: uuid title: Repo Id status: $ref: '#/components/schemas/EPromptOptimizationJobStatus' tenant_id: type: string format: uuid title: Tenant Id algorithm: $ref: '#/components/schemas/EPromptOptimizationAlgorithm' config: anyOf: - $ref: '#/components/schemas/PromptimConfig' - $ref: '#/components/schemas/DemoConfig' title: Config results: items: $ref: '#/components/schemas/PromptOptimizationResult' type: array title: Results created_at: type: string format: date-time title: Created At updated_at: type: string format: date-time title: Updated At type: object required: - id - repo_id - status - tenant_id - algorithm - config - created_at - updated_at title: PromptOptimizationJob PromptOptimizationJobCreate: properties: algorithm: $ref: '#/components/schemas/EPromptOptimizationAlgorithm' config: anyOf: - $ref: '#/components/schemas/PromptimConfig' - $ref: '#/components/schemas/DemoConfig' title: Config type: object required: - algorithm - config title: PromptOptimizationJobCreate PromptOptimizationJobLogCreate: properties: log_type: $ref: '#/components/schemas/EPromptOptimizationJobLogType' message: type: string title: Message data: anyOf: - additionalProperties: true type: object - type: 'null' title: Data type: object required: - log_type - message title: PromptOptimizationJobLogCreate securitySchemes: API Key: type: apiKey in: header name: X-API-Key Tenant ID: type: apiKey in: header name: X-Tenant-Id Bearer Auth: type: http description: Bearer tokens are used to authenticate from the UI. Must also specify x-tenant-id or x-organization-id (for org scoped apis). scheme: bearer Organization ID: type: apiKey in: header name: X-Organization-Id