# Custom Agent POST https://api.you.com/v1/agents/runs Content-Type: application/json ## Description This endpoint lets you run an assistant you can configure within our web product at https://you.com/agents. The system supports both conversational inputs and advanced prompting techniques to define the agent’s behavior. The call only returns when the agent has finished fully responding to the input question. ## Enterprise Settings To maintain enterprise security, enable Zero Data Retention on your enterprise account. Manage this setting at [you.com/settings/privacy](https://you.com/settings/privacy). When enabled, we do not retain your data and do not use it for model training. Privacy settings can only be managed by You.com Enterprise or team admins. Reference: https://docs.you.com/custom-solutions/agents/custom-agent/custom-agent-runs ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: custom version: 1.0.0 paths: /v1/agents/runs: post: operationId: custom-agent-runs summary: Custom Agent description: >- ## Description This endpoint lets you run an assistant you can configure within our web product at https://you.com/agents. The system supports both conversational inputs and advanced prompting techniques to define the agent’s behavior. The call only returns when the agent has finished fully responding to the input question. ## Enterprise Settings To maintain enterprise security, enable Zero Data Retention on your enterprise account. Manage this setting at [you.com/settings/privacy](https://you.com/settings/privacy). When enabled, we do not retain your data and do not use it for model training. Privacy settings can only be managed by You.com Enterprise or team admins. tags: - '' parameters: - name: Authorization in: header description: Bearer authentication required: true schema: type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/type_:CustomAgentRunsBatchResponse' '400': description: The Authorization Bearer token was missing or invalid content: application/json: schema: $ref: '#/components/schemas/type_:AgentRuns400Response' '422': description: When the request data coming in is invalid content: application/json: schema: $ref: '#/components/schemas/type_:AgentRuns422Response' requestBody: content: application/json: schema: type: object properties: agent: type: string description: >- Your Custom Agent's ID. To obtain one you must have created a custom agent at https://you.com/agents. input: type: string description: The question you'd like to ask the agent stream: type: boolean enum: - false description: >- Must be `true` to stream the agent response as it's generated, and `false` to receive a response after the agent has finished. required: - agent - input - stream servers: - url: https://api.you.com components: schemas: type_:CustomAgentRunsBatchResponseInputItemRole: type: string enum: - user description: The access based role of the user title: CustomAgentRunsBatchResponseInputItemRole type_:CustomAgentRunsBatchResponseInputItem: type: object properties: role: $ref: '#/components/schemas/type_:CustomAgentRunsBatchResponseInputItemRole' description: The access based role of the user content: type: string description: The question populated in the request payload required: - role - content title: CustomAgentRunsBatchResponseInputItem type_:AgentRunsResponseOutputType: type: string enum: - message.answer - web_search.results description: >- The type of output. This can either be: * `message.answer` for text responses * `web_search.results` for output that contains web links. `web_search.results` only appear when you use the `research` tool title: AgentRunsResponseOutputType type_:AgentRunsResponseWebSearchResultSourceType: type: string enum: - web_search description: The type of content the agent can return outside a text response title: AgentRunsResponseWebSearchResultSourceType type_:AgentRunsResponseWebSearchResult: type: object properties: source_type: $ref: >- #/components/schemas/type_:AgentRunsResponseWebSearchResultSourceType description: The type of content the agent can return outside a text response citation_uri: type: string description: The web search result the agent returned along in its response provider: type: string description: This is currently unused title: type: string description: The title of the web site returned under url snippet: type: string description: A textual portion of the web site returned under url thumbnail_url: type: string description: The thumbnail image of the url url: type: string description: The web search result the agent returned along in its response required: - source_type - citation_uri - title - snippet - url description: >- The text response of the agent. This field only returns when the type is `web_search.results` title: AgentRunsResponseWebSearchResult type_:AgentRunsResponseOutput: type: object properties: text: type: string description: >- The text response of the agent. This field returns when `type == message.answer`. The response returns as markdown formatted text. For an overview of Markdown syntax, see the [Basic Syntax Markdown Guide](https://www.markdownguide.org/basic-syntax/) type: $ref: '#/components/schemas/type_:AgentRunsResponseOutputType' description: >- The type of output. This can either be: * `message.answer` for text responses * `web_search.results` for output that contains web links. `web_search.results` only appear when you use the `research` tool content: type: array items: $ref: '#/components/schemas/type_:AgentRunsResponseWebSearchResult' description: |- The text response of the agent. This field returns when `type == web_search.results` required: - type description: The response populated by the agent. title: AgentRunsResponseOutput type_:CustomAgentRunsBatchResponse: type: object properties: agent: type: string description: The id of the agent populated in the request. input: type: array items: $ref: '#/components/schemas/type_:CustomAgentRunsBatchResponseInputItem' description: The users access role and question you asked the agent output: type: array items: $ref: '#/components/schemas/type_:AgentRunsResponseOutput' description: The agent's response items required: - agent - input - output description: The id of the agent populated in the request. title: CustomAgentRunsBatchResponse type_:AgentRuns400Response: type: object properties: detail: type: string description: The message returned by the error title: AgentRuns400Response type_:AgentRuns422ResponseDetailItemLocItem: oneOf: - type: string - type: integer title: AgentRuns422ResponseDetailItemLocItem type_:AgentRuns422ResponseDetailItem: type: object properties: type: type: string loc: type: array items: $ref: '#/components/schemas/type_:AgentRuns422ResponseDetailItemLocItem' msg: type: string input: type: string required: - type - loc - msg - input title: AgentRuns422ResponseDetailItem type_:AgentRuns422Response: type: object properties: detail: type: array items: $ref: '#/components/schemas/type_:AgentRuns422ResponseDetailItem' title: AgentRuns422Response securitySchemes: bearerAuth: type: http scheme: bearer ``` ## SDK Code Examples ```python # Use our official Python SDK to get an agent response from youdotcom import You from youdotcom.models import CustomAgentRunsRequest, AgentRunsBatchResponse with You("api_key") as you: response = you.agents.runs.create( request=CustomAgentRunsRequest( agent="63773261-b4de-4d8f-9dfd-cff206a5cb51", input="What is the capital of France?", stream=False ) ) if isinstance(response, AgentRunsBatchResponse) and response.output: for output in response.output: if output.text: print(output.text) ``` ```typescript // Use our official TypeScript SDK to get an agent response import { You } from "@youdotcom-oss/sdk"; import type { CustomAgentRunsRequest } from "@youdotcom-oss/sdk/models"; const you = new You({ apiKeyAuth: "api_key" }); const request: CustomAgentRunsRequest = { agent: "63773261-b4de-4d8f-9dfd-cff206a5cb51", stream: false, input: "What is the capital of France?" }; const result = await you.agentsRuns(request); console.log(result); ``` ```javascript // Use our official JavaScript SDK to get an agent response import { You } from "@youdotcom-oss/sdk"; const you = new You({ apiKeyAuth: "api_key" }); const request = { agent: "63773261-b4de-4d8f-9dfd-cff206a5cb51", stream: false, input: "What is the capital of France?" }; const result = await you.agentsRuns(request); console.log(result); ``` ```go package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api.you.com/v1/agents/runs" payload := strings.NewReader("{\n \"agent\": \"63773261-b4de-4d8f-9dfd-cff206a5cb51\",\n \"input\": \"What is the capital of France?\",\n \"stream\": false\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("Authorization", "Bearer ") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api.you.com/v1/agents/runs") .header("Authorization", "Bearer ") .header("Content-Type", "application/json") .body("{\n \"agent\": \"63773261-b4de-4d8f-9dfd-cff206a5cb51\",\n \"input\": \"What is the capital of France?\",\n \"stream\": false\n}") .asString(); ``` ```csharp using RestSharp; var client = new RestClient("https://api.you.com/v1/agents/runs"); var request = new RestRequest(Method.POST); request.AddHeader("Authorization", "Bearer "); request.AddHeader("Content-Type", "application/json"); request.AddParameter("application/json", "{\n \"agent\": \"63773261-b4de-4d8f-9dfd-cff206a5cb51\",\n \"input\": \"What is the capital of France?\",\n \"stream\": false\n}", ParameterType.RequestBody); IRestResponse response = client.Execute(request); ``` ```swift import Foundation let headers = [ "Authorization": "Bearer ", "Content-Type": "application/json" ] let parameters = [ "agent": "63773261-b4de-4d8f-9dfd-cff206a5cb51", "input": "What is the capital of France?", "stream": false ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api.you.com/v1/agents/runs")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ```