> ## Documentation Index
> Fetch the complete documentation index at: https://developer.box.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create agents

> Create a custom AI agent using the Box AI Studio API.

export const MultiRelatedLinks = ({sections = []}) => {
  if (!sections || sections.length === 0) {
    return null;
  }
  return <div className="space-y-8">
      {sections.map((section, index) => <RelatedLinks key={index} title={section.title} items={section.items} />)}
    </div>;
};

export const RelatedLinks = ({title, items = []}) => {
  const getBadgeClass = badge => {
    if (!badge) return "badge-default";
    const badgeType = badge.toLowerCase().replace(/\s+/g, "-");
    return `badge-${badge === "ガイド" ? "guide" : badgeType}`;
  };
  if (!items || items.length === 0) {
    return null;
  }
  return <div className="my-8">
      {}
      <h3 className="text-sm font-bold uppercase tracking-wider mb-4">{title}</h3>

      {}
      <div className="flex flex-col gap-3">
        {items.map((item, index) => <a key={index} href={item.href} className="py-2 px-3 rounded related_link hover:bg-[#f2f2f2] dark:hover:bg-[#111827] flex items-center gap-3 group no-underline hover:no-underline border-b-0">
            {}
            <span className={`px-2 py-1 rounded-full text-xs font-semibold uppercase tracking-wide flex-shrink-0 ${getBadgeClass(item.badge)}`}>
              {item.badge}
            </span>

            {}
            <span className="text-base">{item.label}</span>
          </a>)}
      </div>
    </div>;
};

export const Link = ({href, children, className, ...props}) => {
  const localizedHref = localizeLink(href);
  return <a href={localizedHref} className={className} {...props}>
      {children}
    </a>;
};

<Warning>
  Box AI Studio is available only for Enterprise Advanced accounts.
</Warning>

The `POST /2.0/ai_agents` endpoint creates a new custom <Link href="/guides/box-ai/ai-agents/index">AI agent</Link> with configurable capabilities for asking questions, generating text, or extracting metadata.

## Before you start

Make sure you have completed the steps in <Link href="/guides/ai-studio/getting-started-ai-studio">Getting started with AI Studio</Link> to create a platform app and generate a developer token.

## Send a request

<CodeGroup>
  ```typescript Node/TypeScript v10 theme={null}
  await client.aiStudio.createAiAgent({
    name: agentName,
    accessState: 'enabled',
    ask: new AiStudioAgentAsk({ accessState: 'enabled', description: 'desc1' }),
  } satisfies CreateAiAgentInput);
  ```

  ```python Python v10 theme={null}
  client.ai_studio.create_ai_agent(
      agent_name,
      "enabled",
      ask=AiStudioAgentAsk(access_state="enabled", description="desc1"),
  )
  ```

  ```cs .NET v10 theme={null}
  await client.AiStudio.CreateAiAgentAsync(requestBody: new CreateAiAgent(name: agentName, accessState: "enabled") { Ask = new AiStudioAgentAsk(accessState: "enabled", description: "desc1") });
  ```

  ```swift Swift v10 theme={null}
  try await client.aiStudio.createAiAgent(requestBody: CreateAiAgent(name: agentName, accessState: "enabled", ask: AiStudioAgentAsk(accessState: "enabled", description: "desc1")))
  ```

  ```java Java v10 theme={null}
  client.getAiStudio().createAiAgent(new CreateAiAgent.Builder(agentName, "enabled").ask(new AiStudioAgentAsk("enabled", "desc1")).build())
  ```
</CodeGroup>

### Parameters

To make a call, you must pass the following parameters. Mandatory parameters are in **bold**.

| Parameter          | Description                                                                                                                                                                                                                                                                                                                                           | Example                                                                   |
| ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
| **`type`**         | The type of agent used to handle queries.                                                                                                                                                                                                                                                                                                             | `ai_agent`                                                                |
| **`name`**         | The name of the AI Agent.                                                                                                                                                                                                                                                                                                                             | `My AI Agent`                                                             |
| **`access_state`** | The state of the AI Agent. Value is one of `enabled` `disabled`.                                                                                                                                                                                                                                                                                      | `enabled`                                                                 |
| `icon_reference`   | The icon reference of the AI Agent. It should have format of the URL `https://cdn01.boxcdn.net/app-assets/aistudio/avatars/<file_name>` , where the possible values of `file_name` are: `logo_boxAi.png`,`logo_stamp.png`, `logo_legal.png`,`logo_finance.png`,`logo_config.png`,`logo_handshake.png` `logo_analytics.png`,`logo_classification.png`. | `https://cdn01.boxcdn.net/app-assets/aistudio/avatars/logo_analytics.svg` |
| `allowed_entities` | List of allowed users or groups.                                                                                                                                                                                                                                                                                                                      |                                                                           |
| `ask`              | The AI Agent to be used for ask.                                                                                                                                                                                                                                                                                                                      | `ask`                                                                     |
| `extract`          | The AI Agent to be used for extraction.                                                                                                                                                                                                                                                                                                               |                                                                           |
| `text_gen`         | The AI agent used for generating text.                                                                                                                                                                                                                                                                                                                |                                                                           |

<RelatedLinks
  title="RELATED GUIDES"
  items={[
{ label: translate("Developer Tokens"), href: "/guides/authentication/tokens/developer-tokens", badge: "GUIDE" },
{ label: translate("Ask questions to Box AI"), href: "/guides/box-ai/ai-tutorials/ask-questions", badge: "GUIDE" },
{ label: translate("Override AI model configuration"), href: "/guides/box-ai/ai-tutorials/default-agent-overrides", badge: "GUIDE" },
{ label: translate("Generate text with Box AI"), href: "/guides/box-ai/ai-tutorials/generate-text", badge: "GUIDE" },
{ label: translate("Extract metadata from file (structured)"), href: "/guides/box-ai/ai-tutorials/extract-metadata-structured", badge: "GUIDE" },
{ label: translate("Extract metadata from file (freeform)"), href: "/guides/box-ai/ai-tutorials/extract-metadata", badge: "GUIDE" }
]}
/>
