# SCIM Entity Group examples

## Operations

This page shows the functions that can be performed for the Entity Group object.

### List all

##### Request

```MarkDown
GET http://<your-domain>/soffid/webservice/scim2/v1/EntityGroup
```

##### Response 200 OK

```JSON
{
    "schemas": [
        "urn:ietf:params:scim:api:messages:2.0:ListResponse"
    ],
    "totalResults": 3,
    "startIndex": 1,
    "Resources": [
        {
            "meta": {
                "location": "http://demolab.soffid.pat.lab:8080/soffid/webservice/scim2/v1/EntityGroup/5462422",
                "resourceType": "EntityGroup"
            },
            "schemas": [
                "urn:soffid:com.soffid.iam.addons.federation.common.EntityGroup"
            ],
            "name": "test-demoIdP",
            "id": 5462422
        },
        {
            "meta": {
                "location": "http://demolab.soffid.pat.lab:8080/soffid/webservice/scim2/v1/EntityGroup/6725679",
                "resourceType": "EntityGroup"
            },
            "schemas": [
                "urn:soffid:com.soffid.iam.addons.federation.common.EntityGroup"
            ],
            "name": "Soffid",
            "id": 6725679
        },
        {
            "metadataUrl": "test-2",
            "meta": {
                "location": "http://demolab.soffid.pat.lab:8080/soffid/webservice/scim2/v1/EntityGroup/6780683",
                "resourceType": "EntityGroup"
            },
            "schemas": [
                "urn:soffid:com.soffid.iam.addons.federation.common.EntityGroup"
            ],
            "name": "test-2",
            "id": 6780683
        }
    ]
}
```

### List by filter

List all entity groups with a filter expression.

<p class="callout info">It is allowed to use pagination and sort the information, for more information visit the [Sorting](https://bookstack.soffid.com/link/116#bkmrk-sorting) and [Pagination](https://bookstack.soffid.com/link/116#bkmrk-pagination) information.</p>

##### Request

```MarkDown
GET http://<your-domain>/soffid/webservice/scim2/v1/EntityGroup?filter=name co "test"
```

##### Response 200 OK

```JSON
{
    "schemas": [
        "urn:ietf:params:scim:api:messages:2.0:ListResponse"
    ],
    "totalResults": 3,
    "startIndex": 1,
    "Resources": [
        {
            "meta": {
                "location": "http://demolab.soffid.pat.lab:8080/soffid/webservice/scim2/v1/EntityGroup/5462422",
                "resourceType": "EntityGroup"
            },
            "schemas": [
                "urn:soffid:com.soffid.iam.addons.federation.common.EntityGroup"
            ],
            "name": "test-demoIdP",
            "id": 5462422
        },
        {
            "meta": {
                "location": "http://demolab.soffid.pat.lab:8080/soffid/webservice/scim2/v1/EntityGroup/6725679",
                "resourceType": "EntityGroup"
            },
            "schemas": [
                "urn:soffid:com.soffid.iam.addons.federation.common.EntityGroup"
            ],
            "name": "Soffid",
            "id": 6725679
        },
        {
            "metadataUrl": "test-2",
            "meta": {
                "location": "http://demolab.soffid.pat.lab:8080/soffid/webservice/scim2/v1/EntityGroup/6780683",
                "resourceType": "EntityGroup"
            },
            "schemas": [
                "urn:soffid:com.soffid.iam.addons.federation.common.EntityGroup"
            ],
            "name": "test-2",
            "id": 6780683
        }
    ]
}
```

### Query by id

Query an entity group by its id (primary key).

##### Request

```MarkDown
GET http://<your-domain>/soffid/webservice/scim2/v1/EntityGroup/5462422
```

##### Response 200 OK

```JSON
{
    "meta": {
        "location": "http://demolab.soffid.pat.lab:8080/soffid/webservice/scim2/v1/EntityGroup/5462422",
        "resourceType": "EntityGroup"
    },
    "schemas": [
        "urn:soffid:com.soffid.iam.addons.federation.common.EntityGroup"
    ],
    "name": "test-demoIdP",
    "id": 5462422
}
```

### Create

#### Request

```XML
POST http://<your-domain>/soffid/webservice/scim2/v1/EntityGroup
```

**JSON**

```JSON
 {
    "metadataUrl": "test-3",
    "name": "test-3"
}
```

##### Response 201 Created

```JSON
{
    "metadataUrl": "test-3",
    "meta": {
        "location": "http://demolab.soffid.pat.lab:8080/soffid/webservice/scim2/v1/EntityGroup/6780695",
        "resourceType": "EntityGroup"
    },
    "schemas": [
        "urn:soffid:com.soffid.iam.addons.federation.common.EntityGroup"
    ],
    "name": "test-3",
    "id": 6780695
}
```

### Update partial

Only attributes with changes will be updated, the others will maintain the same value.

##### Request

```XML
PATCH http://<your-domain>/soffid/webservice/scim2/v1/EntityGroup/6780695
```

**JSON**

```JSON
 {
    "Operations" : [
        {
            "op" : "replace",
            "path" : "name",
            "value": "SP Cloud"
        },
        {
            "op" : "replace",
            "path" : "metadataUrl",
            "value": "SP Cloud"
        }
    ]
}
```

##### Response 200 OK

```JSON
{
    "metadataUrl": "SP Cloud",
    "meta": {
        "location": "http://demolab.soffid.pat.lab:8080/soffid/webservice/scim2/v1/EntityGroup/6780695",
        "resourceType": "EntityGroup"
    },
    "schemas": [
        "urn:soffid:com.soffid.iam.addons.federation.common.EntityGroup"
    ],
    "name": "SP Cloud",
    "id": 6780695
}
```

### Update all

This operation replaces all values in the entity group.

- Note that the attribute id is required to confirm that the resource "...EntityGroup/&lt;id&gt;" is the same that the JSON EntityGroup.
- Note that all the attributes not included in the request will be cleared in the EntityGroup and their data will be lost.
- Note that not all the attributes are updatable, for example, tag meta, avoid these tags. For more information see the [Resource data model](https://bookstack.soffid.com/books/addons/page/resource-data-model "Resource data model") page

##### Request

```XML
PUT http://<your-domain>/soffid/webservice/scim2/v1/EntityGroup/1976590
```

**JSON**

```JSON
{
    "metadataUrl": "SP Cloud Test",
    "schemas": [
        "urn:soffid:com.soffid.iam.addons.federation.common.EntityGroup"
    ],
    "name": "SP Cloud Test",
    "id": 6780695
}
```

##### Response 200 OK

```JSON
{
    "metadataUrl": "SP Cloud Test",
    "meta": {
        "location": "http://demolab.soffid.pat.lab:8080/soffid/webservice/scim2/v1/EntityGroup/6780695",
        "resourceType": "EntityGroup"
    },
    "schemas": [
        "urn:soffid:com.soffid.iam.addons.federation.common.EntityGroup"
    ],
    "name": "SP Cloud Test",
    "id": 6780695
}
```

### Delete

<p class="callout warning">Please note, after this deletion, the entity group has to be created again to use it in the following examples.</p>

##### Request

```MarkDown
DELETE http://<your-omain>/soffid/webservice/scim2/v1/EntityGroup/6780695
```

##### Response 204 No Content

```
204 No Content
```

### Error response

<p class="callout info">For more information about error response visit [https://bookstack.soffid.com/link/116#bkmrk-error-response](https://bookstack.soffid.com/link/116#bkmrk-error-response)</p>