---
title: "Manage the associations of a Policy Group"
method: POST
path: "/policygroups/{group_id}/associations"
tags: ["Graph", "Policy Group Associations", "Policy Groups"]
---

# Manage the associations of a Policy Group

`POST /policygroups/{group_id}/associations`

## Request

- Base URL: `https://console.jumpcloud.com/api/v2`
- URL: `https://console.jumpcloud.com/api/v2/policygroups/{group_id}/associations`
- Auth: API key in header `x-api-key`
- TypeScript: <https://skmtc.dev/jumpcloud/apis/jumpcloud-api-2/docs/policygroups/:group_id/associations/post.ts> (a function with typed inputs; its response is checked against the schema)

This endpoint manages the _direct_ associations of this Policy Group.

A direct association can be a non-homogeneous relationship between 2 different objects, for example Policy Groups and Policies.


#### Sample Request
```
curl -X POST https://console.jumpcloud.com/api/v2/policygroups/{GroupID}/associations \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -d '{
    "op": "add",
    "type": "system",
    "id": "{SystemID}"
  }'
```

## Headers

- `x-org-id` string

## Request body

- GraphOperationPolicyGroup
  - `id` string, required: The ObjectID of graph object being added or removed as an association.
  - `op` 'add' | 'remove' | 'update', required: How to modify the graph connection.
  - `attributes` GraphAttributes, nullable: The graph attributes.
  - `type` 'system' | 'system_group' | 'user' | 'user_group', required: Targets which a "policy_group" can be associated to.

## Response `204`

OK

---

[API](https://skmtc.dev/jumpcloud/apis/jumpcloud-api-2.md) - [All operations](https://skmtc.dev/jumpcloud/apis/jumpcloud-api-2/llms.txt) - [OpenAPI document](https://skmtc.dev/jumpcloud/apis/jumpcloud-api-2/revisions/3f09fe63caaa?raw)
