# Read the Azure DevOps connector

> Page: https://docs.plotwork.dev/api/get-orgs-org-connectors-azure-devops. Index of every page: https://docs.plotwork.dev/llms.txt

Whether this server can connect Azure DevOps, whether the plan has it, and who connected which Microsoft account and when.

`GET /orgs/{org}/connectors/azure-devops`

## TL;DR

| Question | Answer |
|---|---|
| What does it do? | Read the Azure DevOps connector. |
| What does it take? | `org` in the path. |
| What does it return? | Status 200 with a body of type [`OrgAzureDevopsConnector`](https://docs.plotwork.dev/api/schemas.md#orgazuredevopsconnector). |
| What can go wrong? | `401` not signed in; `403` not the owner or an admin (`orgs.forbidden`), or the plan has no trusted publishers (`plan.trusted_publishers_not_included`); `404` no such organisation, or the caller is not a member of it; `429` too many requests; `503` organisations are not available on this server (`orgs.unavailable`), or it has no Microsoft Entra app for the connector (`azure_devops.not_configured`). Every failure uses the one error envelope. |

## What it does

Whether this server can connect Azure DevOps, whether the plan has it, and who connected which Microsoft account and when. Never the token. The owner and the admins.

## Path parameters

| Field | Type | Required | Description |
|---|---|---|---|
| `org` | `string` | yes | The organisation's id or its slug. |

## Responses

| Status | Meaning | Body |
|---|---|---|
| 200 | The connector. | [`OrgAzureDevopsConnector`](https://docs.plotwork.dev/api/schemas.md#orgazuredevopsconnector) |
| 401 | Not signed in. | [`ErrorResponse`](https://docs.plotwork.dev/api/schemas.md#errorresponse) |
| 403 | Not the owner or an admin (`orgs.forbidden`), or the plan has no trusted publishers (`plan.trusted_publishers_not_included`). | [`ErrorResponse`](https://docs.plotwork.dev/api/schemas.md#errorresponse) |
| 404 | No such organisation, or the caller is not a member of it. | [`ErrorResponse`](https://docs.plotwork.dev/api/schemas.md#errorresponse) |
| 429 | Too many requests. | [`ErrorResponse`](https://docs.plotwork.dev/api/schemas.md#errorresponse) |
| 503 | Organisations are not available on this server (`orgs.unavailable`), or it has no Microsoft Entra app for the connector (`azure_devops.not_configured`). | [`ErrorResponse`](https://docs.plotwork.dev/api/schemas.md#errorresponse) |

## Response body

A 200 answer has the type [`OrgAzureDevopsConnector`](https://docs.plotwork.dev/api/schemas.md#orgazuredevopsconnector).

| Field | Type | Required | Description |
|---|---|---|---|
| `configured` | `boolean` | yes | Whether this server has the Microsoft Entra app the connector signs in with. When false, the trusted publisher form keeps its typed fields. |
| `available` | `boolean` | yes | Whether the plan has trusted publishers, which the connector serves: Pro and Enterprise. |
| `plan` | `string` | yes |  |
| `connection` | `object \| null` | yes | The sign-in, or null when nobody has connected Azure DevOps. The token is never answered. |
| `connection.accountLabel` | `string \| null` | yes | The Microsoft account's address or display name, whose access the lists use. |
| `connection.connectedBy` | `object \| null` | yes | The Plotwork account that connected it, or null when that account is gone. |
| `connection.connectedBy.id` | `string` | yes |  |
| `connection.connectedBy.email` | `string` | yes |  |
| `connection.connectedBy.name` | `string \| null` | yes |  |
| `connection.connectedAt` | `integer` | yes |  |

## See also

| Doc | Why |
|---|---|
| [API reference](https://docs.plotwork.dev/api/reference.md) | Every endpoint, and the error envelope |
| [Schemas](https://docs.plotwork.dev/api/schemas.md) | Every request and response type |
| [Tool reference](https://docs.plotwork.dev/mcp/tools.md) | The operations as callable tools |
