> ## 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.

# Get started with Box AI

> Create a platform app, enable the AI scope, and generate a developer token to start using the Box AI API.

export const SignupCTA = ({children}) => {
  return <div className="flex flex-wrap items-center gap-4 p-5 rounded-lg border border-gray-200 dark:border-gray-700 my-6" style={{
    background: "linear-gradient(135deg, rgba(0, 97, 213, 0.06), rgba(0, 97, 213, 0.02))"
  }}>
      <div className="flex-1 text-sm leading-relaxed text-gray-700 dark:text-gray-300" style={{
    minWidth: "280px"
  }}>
        {children}
      </div>
      <div className="flex flex-col items-center gap-2">
        <a href="https://account.box.com/signup/developer#ty9l3" className="signup-cta-button inline-flex items-center whitespace-nowrap px-5 py-2 text-sm font-semibold text-white no-underline">
          Get started for free
        </a>
        <a href="https://account.box.com/developers/console" className="signup-cta-login text-xs text-gray-500 dark:text-gray-400 no-underline whitespace-nowrap">
          Already have an account? Log in
        </a>
      </div>
    </div>;
};

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 = href;
  return <a href={localizedHref} className={className} {...props}>
      {children}
    </a>;
};

To implement Box AI API in your solutions, you need
to make sure you have access to the functionality.
You will also need a platform application with
enabled Box AI scope, and a developer token to
authenticate your calls.

<SignupCTA>
  A free developer account gives you access to the Box AI API. Try document summarization, question answering, and metadata extraction through the API.
</SignupCTA>

<Note>
  To use Box AI API, make sure it is enabled by an
  admin in the Admin Console. If you want to use
  the Box AI APIs in your sandbox, request access
  from the Box AI team using [this form][form].
</Note>

## Create a platform application

First you need to create a platform application
you will use to make calls. To create
an application, follow the guide
on <Link href="/guides/applications/platform-apps/create">creating platform apps</Link>.

## Enable Box AI API access

To interact with Box AI API,
you need the `ai.readwrite` <Link href="/guides/api-calls/permissions-and-errors/scopes">scope</Link>
added for your application.
Before you add the scope,
make sure that the Box Admin has granted you
the access to Box AI API. If you can't see the
**Manage AI** option in your app configuration
settings, contact your admin.

To add a scope:

1. Open your application in Developer Console.

2. Go to **Configuration** > **Required Access Scopes** > **Content Actions**

3. Select the **Manage AI** scope. Box Platform will automatically include the scope when making the call. If you are added as an collaborator for a given app, but do not have Box AI API access, you will see the **Manage AI** scope checked and grayed out. This means the app owner has the AI scope enabled but you cannot change this setting.

   <Frame>
     <img src="https://mintcdn.com/box/KBEcg4yicgc_HMRY/images/guides/box-ai/box-ai-app-scopes.png?fit=max&auto=format&n=KBEcg4yicgc_HMRY&q=85&s=198f62c04ae718688e66e947591147fc" alt="box ai scopes" width="2144" height="842" data-path="images/guides/box-ai/box-ai-app-scopes.png" />
   </Frame>

4. Submit your app for <Link href="/guides/authorization">authorization or enablement</Link>. If you want to enable Box AI API for an existing application, you must <Link href="/guides/authorization/platform-app-approval#re-authorization-on-changes">re-authorize</Link> it.

## Generate a developer token

You need a developer token
to authenticate your app when sending requests.

To generate a token:

1. Go to **Developer Console** > **My Platform Apps**.
2. Click the **Options menu** button (…) on the right.
3. Select **Generate Developer Token**. The token will be automatically generated and saved to clipboard.

<Frame>
  <img src="https://mintcdn.com/box/KBEcg4yicgc_HMRY/images/guides/box-ai/developer-token.png?fit=max&auto=format&n=KBEcg4yicgc_HMRY&q=85&s=1e783b973c86e54ec9e89da50962a89b" alt="generate token" width="1205" height="456" data-path="images/guides/box-ai/developer-token.png" />
</Frame>

You can also open your app, go to
**Configuration** > **Developer Token**
and generate the token.

<Note>
  A developer token is only valid for one hour.
</Note>

For additional details, see <Link href="/guides/authentication/tokens/developer-tokens">developer token</Link>.
After you generate the token, you can use it in cURL
or other clients, such as <Link href="/guides/tooling/postman">Postman</Link>, to make
calls.

[oauthscopes]: /guides/api-calls/permissions-and-errors/scopes#scopes-oauth-2-authorization

[form]: https://forms.gle/Nsh3TwM3W8qg4U35A

<RelatedLinks
  title="RELATED GUIDES"
  items={[
{ 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 (freeform)"), href: "/guides/box-ai/ai-tutorials/extract-metadata", badge: "GUIDE" },
{ label: translate("Extract metadata from file (structured)"), href: "/guides/box-ai/ai-tutorials/extract-metadata-structured", badge: "GUIDE" }
]}
/>
