> For the complete documentation index, see [llms.txt](https://docs.foundryosd.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.foundryosd.com/foundry-osd/autopilot/json-profile.md).

# JSON profile

**JSON profile** places a Windows Autopilot profile in the installed Windows, as the file `AutopilotConfigurationFile.json`. Foundry does not upload the hardware hash in this mode: the device is not added to the Windows Autopilot devices of your tenant.

<figure><img src="https://64695594-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fdn0pr5zia6oG2DU1R1Pn%2Fuploads%2Fgit-blob-2e4cfd01c2957bd938db1951b8260756bbc5c321%2Ffoundry-osd-autopilot-json-profile-01-import.png?alt=media" alt="JSON profile page of Foundry OSD with the command bar above the profiles table and its Default column"><figcaption><p>Import or download profiles, then choose the default one.</p></figcaption></figure>

## Before you start

* Have a profile to add, from one of two sources:
  * a `.json` profile file on the PC;
  * an account that can read the Windows Autopilot deployment profiles of your tenant. **Download from tenant** signs you in and asks for the Microsoft Graph permissions `DeviceManagementServiceConfig.Read.All` and `User.Read`.
* Decide whether the profiles may be readable on the media. They are stored as readable files unless **Password protection** is on. See [Password protection](/foundry-osd/general.md#password-protection).

## Configure the profiles

1. Open **Windows Autopilot > JSON profile** and select **Enable**. The buttons of the page stay unavailable until you do.
2. Add profiles from the command bar:
   * **Import profile**: choose a `.json` file. Foundry accepts a file that is not empty, is valid JSON and contains only ASCII characters. It does not check that the content is an Autopilot profile.
   * **Download from tenant**: complete the sign-in in the browser. In **Select Autopilot profiles**, select the profiles to keep, then **Import**.
3. Check the profiles table: **Name**, **Source** (**Manual import** or **Tenant download**), **Imported**, **Folder** and **Default**.
4. The profile that Foundry Deploy preselects reads **Yes** under **Default**. To choose another one, select its row, then **Set as default**. While the table has profiles, one of them is always the default.
5. Remove what must not travel with the media: select the rows, then **Remove selected**. Every profile in the table is copied to the media, not only the default one.
6. Create or update the deployment media from [Start](/foundry-osd/media.md).

An imported file is named after its `Comment_File` value. Without one, it takes the file name, or the name of its folder when the file is called `AutopilotConfigurationFile.json`.

To replace a profile, download it again: the new copy replaces the old one. A file you changed and import again is added as a second entry, so remove the old entry.

## What the technician sees

Foundry Deploy shows an **Autopilot** step with a **Profile** list. The default profile is preselected and the technician can choose any other profile of the media. The deployment then runs the step **Copy Autopilot profile**. See [Windows Autopilot step](/foundry-deploy/autopilot.md).

## Check the result

* On **Start**, the **JSON profile** row of the **Windows Autopilot** card reads "Enabled: \<name> (\<folder>)". A row marked **Needs attention** gives the reason: see [Start blocks media creation for a Windows Autopilot reason](/troubleshooting/autopilot.md#start-blocked).
* On a deployed device, the profile chosen in Foundry Deploy is in `C:\Windows\Provisioning\Autopilot\AutopilotConfigurationFile.json`.

## Limits

* A profile file with a non-ASCII character, such as an accented letter in a comment, is refused.
* A profile downloaded from the tenant is written by Foundry from the settings of the tenant profile. It can differ from a file produced by another tool for the same profile.
* The device is not registered: a group tag and **Upload computer name to Autopilot** do not apply to this mode.
* The rules shared by the three modes are on [Windows Autopilot](/foundry-osd/autopilot.md).

## Related

* [Windows Autopilot step](/foundry-deploy/autopilot.md)
* [Password protection](/foundry-osd/general.md#password-protection)
* [Windows Autopilot troubleshooting](/troubleshooting/autopilot.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.foundryosd.com/foundry-osd/autopilot/json-profile.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
