# API: Microsoft Teams

| Method | Path | What it does | Scope |
|---|---|---|---|
| GET | `/v1/integrations/microsoft-teams` | Whether Teams is set up on this deployment, the linked tenants, and how many teammates are matched | `connections:read` |
| POST | `/v1/integrations/microsoft-teams/link-code` | A one-time code (15 minutes) to send to the bot in Teams ("link <code>") from the tenant to link (owner) (web app only) | `integrations:write` |
| DELETE | `/v1/integrations/microsoft-teams/tenants/:tenant` | Unlink a Microsoft 365 tenant (owner) | `integrations:write` |

## Examples

### GET /v1/integrations/microsoft-teams

Whether Teams is set up on this deployment, the linked tenants, and how many teammates are matched

```bash
curl -s "https://api.closefinch.com/v1/integrations/microsoft-teams" \
  -H "Authorization: Bearer $RA_API_KEY"
```

```js
const res = await fetch(`https://api.closefinch.com/v1/integrations/microsoft-teams`, {
  method: "GET",
  headers: { authorization: `Bearer ${process.env.RA_API_KEY}` },
});
const data = await res.json();
```

### DELETE /v1/integrations/microsoft-teams/tenants/$TENANT

Unlink a Microsoft 365 tenant (owner)

```bash
curl -s -X DELETE "https://api.closefinch.com/v1/integrations/microsoft-teams/tenants/$TENANT" \
  -H "Authorization: Bearer $RA_API_KEY"
```

```js
const res = await fetch(`https://api.closefinch.com/v1/integrations/microsoft-teams/tenants/${tenant}`, {
  method: "DELETE",
  headers: { authorization: `Bearer ${process.env.RA_API_KEY}` },
});
const data = await res.json();
```

Request and response schemas: [https://www.closefinch.com/openapi.json](https://www.closefinch.com/openapi.json). All resources: [API reference](https://www.closefinch.com/docs/api).
