---
title: "Link a P2 user to their Microsoft 365 account for calendar integration. Validates the UPN exists in Azure AD and stores it. The multi-year Outlook pull and webhook subscription are queued and run one user at a time."
method: POST
path: "/api/v1/Admin/Users/{userId}/MicrosoftLink"
tags: ["Admin"]
---

# Link a P2 user to their Microsoft 365 account for calendar integration. Validates the UPN exists in Azure AD and stores it. The multi-year Outlook pull and webhook subscription are queued and run one user at a time.

`POST /api/v1/Admin/Users/{userId}/MicrosoftLink`

## Request

- Base URL: `https://api.fireserviceusa.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.fireserviceusa.com/api/v1/Admin/Users/{userId}/MicrosoftLink`
- Auth: none declared

## Path parameters

- `userId` integer, required

## Request body

- LinkMicrosoftAccountVm
  - `UserPrincipalName` string, nullable

## Response `200`

Success

---

[API](https://skmtc.dev/fireserviceusa/apis/fireservice-usa-p2-api.md) - [All operations](https://skmtc.dev/fireserviceusa/apis/fireservice-usa-p2-api/llms.txt) - [OpenAPI document](https://skmtc.dev/fireserviceusa/apis/fireservice-usa-p2-api/revisions/96ea2ea68d87?raw)
