Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .spelling
Original file line number Diff line number Diff line change
Expand Up @@ -368,3 +368,5 @@ cybersecurity
SObject
WatsonX
400k
Autofilling
Autofilling
76 changes: 76 additions & 0 deletions content/guides/applications/app-types/platform-apps-create.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
---
rank: 10
related_endpoints: []
related_guides:
- authentication/select
required_guides: []
related_resources: []
alias_paths:
- /docs/use-case-recipes
- /v2/docs/box-api-recipes
---

# Create a Platform App

A Platform App allows for interaction with our 150+ endpoints.
For example, downloading/uploading, searching, applying metadata, and more.

## Prerequisites

Access to the [Developer Console][dev-console].

## Create a Platform App

1. Navigate to the [Developer Console][dev-console].
2. Select **Create Platform App**.
3. Provide a name for your app.
4. Select the authentication method you want to use.
5. Click **Create App**.

## Configure application settings

After you create a Platform App, the settings screen is displayed.

### General settings

- **App Name** — the name you set up during the app creation. You can change it here if needed.
- **App Description** — provide a description for your app (optional).
- **Contact Email** — this is set to the developer of the application by default.

Keep in mind that once you publish your app, this email is publicly visible to Box users
who view your app in the [Integrations][integrations]. We recommend changing it to a
support email address so users can reach out in case of any issues with the integration.

### Configuration

- **Purpose** — select the purpose of your app from the drop-down list.
Depending on the option you choose, you might need to specify further details.

| Purpose | Details |
|------|---------|
| **Automation**, **Custom Portal** | Specify if the app is built by a customer or partner. |
| **Integration** | Specify the integration category, the external system name (if applicable), and whether the app is built by a customer or partner. |
| *Other* | Specify the app purpose and whether it is built by a customer or partner. |

- **Authentication Method** — choose how your app will authenticate to the Box APIs.

Depending on the authentication method you choose, you need to specify further details.

| Authentication Method | Details |
|------|---------|
| **OAuth 2.0** | Specify the client ID and client secret. |
| **JWT** | Add a public key or generate a public/private key pair. Choose the app access level. |
| **Client Credentials Grant** | Specify the client ID and client secret. Choose the app access level. |

- **Developer Token** — a developer token is created automatically when you create a Platform App.
- **Application Scopes** — choose the scopes you want to grant to your app. See the [scopes guide][scopes] for detailed information on each option.
- **Advanced Features** — enable the advanced features your application requires.
- **CORS Domains** — add the domains you want to allow requests from.

## Related guides

- **[Select Auth Method](https://developer.box.com/guides/authentication/select/)**

[dev-console]: https://app.box.com/developers/console
[integrations]: /guides/applications/integrations
[scopes]: /guides/api-calls/permissions-and-errors/scopes
72 changes: 72 additions & 0 deletions content/guides/applications/app-types/platform-apps-index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
---
rank: 20
alias_paths:
- /docs/custom-applications
- /docs/custom-integrations
- /docs/partner-integrations
- /docs/getting-started-box-platform
- /docs/box-platform
- /guides/applications/custom-apps
related_guides:
- authentication/oauth2
- authentication/jwt
- authentication/client-credentials
---

# Platform App

Platform App typically presents Box functionality to a user through a
custom interface. Box offers pre-built, customizable user interface components,
known as [UI Elements][uie], for functionalities like browsing, searching, and
previewing content.

## Authentication methods

Platform Apps support [OAuth 2.0][oauth2], [JWT][jwt], and
[Client Credentials Grant][cc] authentication methods.

👉 **[Learn more about authentication methods](https://staging.developer.box.com/guides/authentication/select/)**

## When to use

Use a Platform App when you want to:

- Use [OAuth 2.0][oauth2], [JWT][jwt] or [Client Credentials Grant][cc] for authentication
- Upload and download files
- Access both your own files and files owned by [managed or external users][users]
- List the application in the Box Integrations
- Provide integration into the Box Web App

## Use cases

Example use cases include:

- A file vault in an application that allows an end user to access files that have been shared with them, while also providing access for employees to the same files through the Box Web app.

An example of this is a financial advisor sharing statements and investment
prospectuses with investors that can be viewed and commented on within a
platform application.

- A file upload feature in an application that allows an end user to submit and upload files from within a custom-built application to Box. These uploads then initiate a business process with the Box Web app.

An example of this is a candidate submitting a PDF of a resume to a
recruiting portal, which can then be routed to an appropriate employee for
review.

## Approval

Platform Apps may require approval before use.

👉 **[Learn how to approve Platform Apps](https://developer.box.com/guides/authorization/platform-app-approval/)**

## Related guides

- **[OAuth 2.0 Auth](https://developer.box.com/guides/authentication/oauth2/)**
- **[JWT Auth](https://developer.box.com/guides/authentication/jwt/)**
- **[Client Credentials Grant](https://developer.box.com/guides/authentication/client-credentials/index)**

[oauth2]: /guides/authentication/oauth2
[jwt]: /guides/authentication/jwt
[cc]: /guides/authentication/client-credentials
[uie]: /guides/embed/ui-elements
[users]: /platform/user-types/#managed-users/
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ alias_paths:
With Box AI API, you can extract metadata from the provided file
and get the result in the form of key-value pairs.
As input, you can either create a structure using the `fields` parameter, or use an already defined metadata template.
To learn more about creating templates, see [Creating metadata templates in the Admin Console][templates-console] or use the [metadata template API][templates-api].
To learn more about creating templates, see [Creating metadata templates in the Admin Console][templates-console] or use the [metadata template API][templates-api]. There is also information available for [Autofilling Metadata in Templates][autofill-metadata].

## Supported file formats

Expand Down Expand Up @@ -275,4 +275,5 @@ print(f"box_ai_response: {box_ai_response.answer}")
[changelog]: page://changelog
[blog]: https://medium.com/box-developer-blog
[inline-field]: #use-fields-parameter
[metadata-template]: #use-metadata-template
[metadata-template]: #use-metadata-template
[autofill-metadata]: https://support.box.com/hc/en-us/articles/360044196173-Using-Metadata#h_01JJSRYKDKXHGJT9ZHCW1E9RX5
Loading