---
title: "Assign Kb Article Teams"
method: POST
path: "/api/psa/{team_key}/connection/{connection_key}/kb-articles/grants"
tags: ["psa"]
---

# Assign Kb Article Teams

`POST /api/psa/{team_key}/connection/{connection_key}/kb-articles/grants`

## Request

- Base URL: `https://api.superit.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.superit.ai/api/psa/{team_key}/connection/{connection_key}/kb-articles/grants`
- Auth: HTTP bearer

Grant or revoke managed-team access across imported KB articles.

## Path parameters

- `team_key` string, required
- `connection_key` string, required

## Request body

- AssignKbArticleTeamsRequest: Bulk grant change across articles. Only the teams the admin actually toggled are sent, so a tri-state (indeterminate) row is left untouched. `grant_all` is nullable for the same reason: None means "leave the wildcard as it is".
  - `articleKeys` string[], required
  - `addTeamKeys` string[]
  - `removeTeamKeys` string[]
  - `grantAll` boolean, nullable

## Response `200`

Successful Response

- AssignKbArticleTeamsResponse: Result of a bulk grant change.
  - `granted` integer, required
  - `revoked` integer, required

## Other responses

- `400`: Invalid input
- `401`: Not authenticated
- `403`: Forbidden
- `404`: Not found
- `405`: Method not allowed
- `409`: Conflict
- `422`: Validation Error

---

[API](https://skmtc.dev/superit/apis/super-it-api.md) - [All operations](https://skmtc.dev/superit/apis/super-it-api/llms.txt) - [OpenAPI document](https://skmtc.dev/superit/apis/super-it-api/revisions/4944d556c2bb?raw)
