# Member

## Method & Permission

| API           | GET                                              | POST                 | PUT | PATCH                | DELETE               |
| ------------- | ------------------------------------------------ | -------------------- | --- | -------------------- | -------------------- |
| Member List   | Admin, Project Admin, Project Edit, Project View | Admin, Project Admin | -   | -                    | -                    |
| Member Detail | Admin, Project Admin, Project Edit, Project View | -                    | -   | Admin, Project Admin | Admin, Project Admin |

## Project Member List

<mark style="color:blue;">`GET`</mark> `{{ base_url }} /projects/member/list/{level}/{sid}/{serializer}/`

#### Path Parameters

| Name       | Type   | Description      |
| ---------- | ------ | ---------------- |
| level      | string | organization     |
| sid        | string | organization sid |
| serializer | string |                  |

#### Query Parameters

| Name           | Type   | Description |
| -------------- | ------ | ----------- |
| project\_\_sid | string |             |

#### Headers

| Name  | Type   | Description |
| ----- | ------ | ----------- |
| token | string |             |

{% tabs %}
{% tab title="200 " %}

```yaml
# serializer = name
{
    "page_size": 10,
    "page_number": 1,
    "page_count": 1,
    "count": 3,
    "next": null,
    "previous": null,
    "add_permission": true,
    "results": [
        {
            "sid": "xxx",
            "name": "xxx"
        },
    ]
}
# serializer = list
{
    "page_size": 10,
    "page_number": 1,
    "page_count": 1,
    "count": 3,
    "next": null,
    "previous": null,
    "add_permission": true,
    "results": [
        {
            "sid": "xxx",
            "team": null,
            "personnel": {
                "sid": "xxx",
                "name": "xxx"
            },
            "project": {
                "sid": "xxx",
                "name": "xxx"
            },
            "permission": "Admin",
            "is_archived": false,
            "change_permission": true
        },
    ]
}
# serializer = detail
{
    "page_size": 10,
    "page_number": 1,
    "page_count": 1,
    "count": 3,
    "next": null,
    "previous": null,
    "add_permission": true,
    "results": [
        {
            "sid": "xxx",
            "name": "xxx",
            "team": null,
            "personnel": {
                "sid": "xxx",
                "name": "xxx"
            },
            "project": {
                "sid": "xxx",
                "name": "xxx"
            },
            "permission": "Admin",
            "is_archived": false,
            "change_permission": true
        },
    ]
}
```

{% endtab %}
{% endtabs %}

## Project Member List

<mark style="color:green;">`POST`</mark> `{{ base_url }} /projects/member/list/{level}/{sid}/{serializer}/`

#### Path Parameters

| Name       | Type   | Description      |
| ---------- | ------ | ---------------- |
| level      | string | organization     |
| sid        | string | organization sid |
| serializer | string |                  |

#### Query Parameters

| Name           | Type   | Description |
| -------------- | ------ | ----------- |
| project\_\_sid | string |             |

#### Headers

| Name  | Type   | Description |
| ----- | ------ | ----------- |
| token | string |             |

#### Request Body

| Name         | Type   | Description |
| ------------ | ------ | ----------- |
| member       | array  |             |
| team         | array  |             |
| permission   | string |             |
| is\_archived | string |             |

{% tabs %}
{% tab title="201 " %}

```yaml
{
    "sid": "xxx",
    "name": "xxx",
    "team": null,
    "personnel": {
        "sid": "xxx",
        "name": "xxx"
    },
    "project": {
        "sid": "xxx",
        "name": "xxx"
    },
    "permission": "Admin",
    "is_archived": false,
    "change_permission": true
}
```

{% endtab %}
{% endtabs %}

## Project Member Detail

<mark style="color:blue;">`GET`</mark> `{{ base_url }} /projects/projectmember/detail/{sid}/`

#### Path Parameters

| Name | Type   | Description |
| ---- | ------ | ----------- |
| sid  | string |             |

#### Headers

| Name  | Type   | Description |
| ----- | ------ | ----------- |
| token | string |             |

{% tabs %}
{% tab title="200 " %}

```yaml
{
    "sid": "xxx",
    "name": "xxx",
    "team": null,
    "personnel": {
        "sid": "xxx",
        "name": "xxx"
    },
    "project": {
        "sid": "xxx",
        "name": "xxx"
    },
    "permission": "Admin",
    "is_archived": false,
    "change_permission": true
}
```

{% endtab %}
{% endtabs %}

## Project Member Detail

<mark style="color:purple;">`PATCH`</mark> `{{ base_url }} /projects/projectmember/detail/{sid}/`

#### Path Parameters

| Name | Type   | Description |
| ---- | ------ | ----------- |
| sid  | string |             |

#### Headers

| Name  | Type   | Description |
| ----- | ------ | ----------- |
| token | string |             |

#### Request Body

| Name         | Type    | Description |
| ------------ | ------- | ----------- |
| team         | object  |             |
| member       | object  |             |
| permission   | string  |             |
| is\_archived | boolean |             |

{% tabs %}
{% tab title="200 " %}

```yaml
{
    "sid": "xxx",
    "name": "xxx",
    "team": null,
    "personnel": {
        "sid": "xxx",
        "name": "xxx"
    },
    "project": {
        "sid": "xxx",
        "name": "xxx"
    },
    "permission": "Admin",
    "is_archived": false,
    "change_permission": true
}
```

{% endtab %}
{% endtabs %}

## Project Member Detail

<mark style="color:red;">`DELETE`</mark> `{{ base_url }} /projects/projectmember/detail/{sid}/`

#### Path Parameters

| Name | Type   | Description |
| ---- | ------ | ----------- |
| sid  | string |             |

#### Headers

| Name  | Type   | Description |
| ----- | ------ | ----------- |
| token | string |             |

{% tabs %}
{% tab title="204 " %}

```
{}
```

{% endtab %}
{% endtabs %}
