> For the complete documentation index, see [llms.txt](https://docs.podkrepi.bg/development/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.podkrepi.bg/development/rest-api/endpoints/support-request.md).

# Support Request

## Create support request

<mark style="color:green;">`POST`</mark> `https://api.podkrepi.localhost/api/v1/support-request`

#### Request Body

| Name          | Type   | Description |
| ------------- | ------ | ----------- |
| person        | object |             |
| support\_data | object |             |

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

```javascript
{
  "id": "d1451c92-0e86-463a-bf1c-2e4554a77f30",
  "person": {
    "email": "test@example.com",
    "name": "John Doe",
    "phone": "+3598777777777",
    "address": "6 John Doe Str",
    "terms": true,
    "newsletter": true
  },
  "support_data": {
    "roles": {
      "benefactor": true,
      "partner": true,
      "associationMember": false,
      "promoter": false,
      "volunteer": true
    },
    "benefactor": {
      "campaignBenefactor": true,
      "platformBenefactor": false
    },
    "partner": {
      "npo": false,
      "bussiness": true,
      "other": false,
      "otherText": "aaaaa"
    },
    "volunteer": {
      "backend": false,
      "frontend": true,
      "marketing": false,
      "designer": true,
      "projectManager": false,
      "devOps": true,
      "financesAndAccounts": true,
      "lawyer": false,
      "qa": false
    },
    "associationMember": {
      "isMember": true
    },
    "promoter": {
      "mediaPartner": false,
      "ambassador": false,
      "other": true,
      "otherText": "bbbbb"
    }
  },
  "createdAt": "2021-04-07T12:57:09.42898025Z",
  "updatedAt": "2021-04-07T12:57:09.42898025Z",
  "deletedAt": null
}
```

{% endtab %}

{% tab title="400 " %}

```javascript
{
  "statusCode": 400,
  "error": "Person.email: non zero value required;Person.name: non zero value required;Person.phone: non zero value required",
  "validation": [
    {
      "field": "Person.email",
      "message": "Person.email: non zero value required",
      "validator": "required",
      "customMessage": false
    },
    {
      "field": "Person.name",
      "message": "Person.name: non zero value required",
      "validator": "required",
      "customMessage": false
    },
    {
      "field": "Person.phone",
      "message": "Person.phone: non zero value required",
      "validator": "required",
      "customMessage": false
    }
  ]
}
```

{% endtab %}
{% endtabs %}

## Fetch support requests

<mark style="color:blue;">`GET`</mark> `https://api.podkrepi.localhost/api/v1/support-request`

This endpoint allows you to get free cakes.

#### Headers

| Name           | Type   | Description                                                    |
| -------------- | ------ | -------------------------------------------------------------- |
| Authentication | string | Authentication token to track down who is emptying our stocks. |

{% tabs %}
{% tab title="200 List of contact requests successfully retrieved." %}

```javascript
[
  {
    "id": "17222da9-b550-4e82-a6c6-88100bf54675",
    "person": {
      "email": "",
      "name": "",
      "phone": "",
      "address": "",
      "terms": false,
      "newsletter": false
    },
    "support_data": {
      "roles": {
        "benefactor": false,
        "partner": false,
        "associationMember": false,
        "promoter": false,
        "volunteer": false
      },
      "benefactor": {
        "campaignBenefactor": false,
        "platformBenefactor": false
      },
      "partner": {
        "npo": false,
        "bussiness": false,
        "other": false,
        "otherText": ""
      },
      "volunteer": {
        "backend": false,
        "frontend": false,
        "marketing": false,
        "designer": false,
        "projectManager": false,
        "devOps": false,
        "financesAndAccounts": false,
        "lawyer": false,
        "qa": false
      },
      "associationMember": {
        "isMember": false
      },
      "promoter": {
        "mediaPartner": false,
        "ambassador": false,
        "other": false,
        "otherText": ""
      }
    },
    "createdAt": "2021-04-07T09:16:28.026936Z",
    "updatedAt": "2021-04-07T09:16:28.026936Z",
    "deletedAt": null
  }
]
```

{% endtab %}
{% endtabs %}

## Fetch specific support request

<mark style="color:blue;">`GET`</mark> `https://api.podkrepi.localhost/api/v1/support-request/:id`

#### Path Parameters

| Name | Type   | Description |
| ---- | ------ | ----------- |
| ID   | string |             |

#### Headers

| Name           | Type   | Description |
| -------------- | ------ | ----------- |
| Authentication | string |             |

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

```javascript
{
  "id": "17222da9-b550-4e82-a6c6-88100bf54675",
  "person": {
    "email": "",
    "name": "",
    "phone": "",
    "address": "",
    "terms": false,
    "newsletter": false
  },
  "support_data": {
    "roles": {
      "benefactor": false,
      "partner": false,
      "associationMember": false,
      "promoter": false,
      "volunteer": false
    },
    "benefactor": {
      "campaignBenefactor": false,
      "platformBenefactor": false
    },
    "partner": {
      "npo": false,
      "bussiness": false,
      "other": false,
      "otherText": ""
    },
    "volunteer": {
      "backend": false,
      "frontend": false,
      "marketing": false,
      "designer": false,
      "projectManager": false,
      "devOps": false,
      "financesAndAccounts": false,
      "lawyer": false,
      "qa": false
    },
    "associationMember": {
      "isMember": false
    },
    "promoter": {
      "mediaPartner": false,
      "ambassador": false,
      "other": false,
      "otherText": ""
    }
  },
  "createdAt": "2021-04-07T09:16:28.026936Z",
  "updatedAt": "2021-04-07T09:16:28.026936Z",
  "deletedAt": null
}
```

{% endtab %}

{% tab title="404 " %}

```javascript
{
  "error": "No support request found",
  "status": 404
}
```

{% endtab %}
{% endtabs %}

## Delete support request

<mark style="color:red;">`DELETE`</mark> `https://api.podkrepi.localhost/api/v1/support-request/:id`

#### Path Parameters

| Name | Type   | Description |
| ---- | ------ | ----------- |
| id   | string |             |

#### Headers

| Name           | Type   | Description |
| -------------- | ------ | ----------- |
| Authentication | string |             |

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

```javascript
{
  "status": 200
}
```

{% endtab %}

{% tab title="404 " %}

```javascript
{
  "status": 404
}
```

{% endtab %}
{% endtabs %}
