> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs-staging.you.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs-staging.you.com/_mcp/server.

# 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.
<Info>The call only returns when the agent has finished fully responding to the input question.</Info>
## 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. <Warning>Privacy settings can only be managed by You.com Enterprise or team admins.</Warning>

Reference: https://docs-staging.you.com/docs/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.

        <Info>The call only returns when the agent has finished fully responding
        to the input question.</Info>

        ## 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. <Warning>Privacy settings can only be managed by You.com
        Enterprise or team admins.</Warning>
      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
    description: Production
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

```

## Examples

**Request**

```json
{
  "agent": "63773261-b4de-4d8f-9dfd-cff206a5cb51",
  "input": "What is the capital of France?",
  "stream": false
}
```

**Response**

```json
{
  "agent": "63773261-b4de-4d8f-9dfd-cff206a5cb51",
  "input": [
    {
      "role": "user",
      "content": "What is the capital of France?"
    }
  ],
  "output": [
    {
      "type": "web_search.results",
      "content": [
        {
          "source_type": "web_search",
          "citation_uri": "https://en.wikipedia.org/wiki/Paris",
          "title": "Paris - Wikipedia",
          "snippet": "Paris is the capital and largest city of France, with an estimated city center population of 2,048,472, and a metropolitan population of 13,171,056 as of ...",
          "url": "https://en.wikipedia.org/wiki/Paris",
          "provider": null,
          "thumbnail_url": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSuabbjyTSQdm08in1kajd3LW1841TxBxaHjERnGccFRjyxmT-SCDF4Ces&s"
        }
      ]
    },
    {
      "type": "message.answer",
      "text": "#### Capital of France\n\nThe capital of France is **Paris**. It is not only the capital but also the most populous city in the country. Paris is situated on the Seine River in the northern part of France, within the Île-de-France region. It serves as the main cultural, economic, and political center of France [[1]](https://www.coe.int/en/web/interculturalcities/paris)[[2]](https://en.wikipedia.org/wiki/Paris)."
    }
  ]
}
```

**SDK Code**

```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 <token>")
	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<String> response = Unirest.post("https://api.you.com/v1/agents/runs")
  .header("Authorization", "Bearer <token>")
  .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 <token>");
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 <token>",
  "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()
```