# Delete Onboarded Carrier Bulk

### **Authentication**

* Include your **`Access-Token`** in the header of your requests.
* Include your **`x-api-key`** The API key provided by GenLogs. This header must be included in the request.

### Permissions

The `external-api-delete-onboarded-carrier-contact` permission is required to access this endpoint.

### **Endpoint**

* **URL:**  `https://api.genlogs.io/onboarded-carrier/bulk/contacts`
* **Method:** `DELETE`

### **Headers**

* **Access-Token**:  (string, required): Access token obtained from the "Create Access Token" endpoint.
* **X-Api-Key** (string, required): The API key provided by GenLogs.

### Request body

* **contact\_ids** (list, UUID format str,  required): Existent contact ID list, to be deleted.

### Request Example:

```shell
curl --location --request DELETE 'https://api.genlogs.io/onboarded-carrier/bulk/contacts' \
--header 'access-token: <your-api-access-token>' \
--header 'x-api-key: <your-x-api-key>' \
--header 'Content-Type: application/json' \
--data '{
    "contact_ids": [
        "11111111-2222-3333-4444-555555555555",
        "11111111-2222-3333-4444-555555555556",
        "11111111-2222-3333-4444-555555555557"
    ]
}'
```

### **Response:**

* **200 OK:** A JSON object containing a list of deleted carrier contact(s).
* **400 Bad Request:** If required parameters are missing or invalid.
* **401 Unauthorized:** If the authentication credentials (Access-Token) is missing or incorrect.
* **403 Forbidden**: If the permission has not been added to your user.
* **404 Not Found**: If one or more of the provided `contact_ids` doesn't exist or are not created.
* **500 Internal Server Error:** If there is an issue on the server that prevents processing the request.

### **Response Body:**

200 OK – Contacts Deleted Successfully

```json
{
    "contacts": [
        {"id": "11111111-2222-3333-4444-555555555555", "deleted": true},
        {"id": "11111111-2222-3333-4444-555555555556", "deleted": true},
        {"id": "11111111-2222-3333-4444-555555555557", "deleted": true} 
    ]
}
```

400 Bad Request

Returned when:

* The provided contact id list is malformed or missing

```json
{
    "detail": "Missing required field: contact_ids"
}
```

```json
{
    "detail": "Value error, contact_ids must not be empty"
}
```

401 Unauthorized

* When access-token is missing or expired

```json
{
    "detail": "Token is missing!"
}
```

```json
{
    "detail": "Token is expired!"
}
```

403 Forbidden

```json
{
    "detail": "User not allowed to access this endpoint"
}
```

404 Not Found

```json
{
    "detail": "One or more contacts were not found or do not belong to the customer."
}
```

## Bulk delete onboarded carrier contacts

> Deletes multiple onboarded carrier contacts for the authenticated customer in a single request. All provided contact IDs must exist and belong to the authenticated customer. The operation follows the same authorization, repository, caching, and deletion logic as the single-contact delete flow.<br>

```json
{"openapi":"3.0.3","info":{"title":"Onboarded Carrier Contacts API","version":"1.1.0"},"servers":[{"url":"https://api.genlogs.io"}],"security":[{"AccessTokenAuth":[],"ApiKeyAuth":[]}],"paths":{"/onboarded-carrier/bulk/contacts":{"delete":{"summary":"Bulk delete onboarded carrier contacts","description":"Deletes multiple onboarded carrier contacts for the authenticated customer in a single request. All provided contact IDs must exist and belong to the authenticated customer. The operation follows the same authorization, repository, caching, and deletion logic as the single-contact delete flow.\n","tags":["Onboarded Carriers"],"requestBody":{"required":true,"description":"List of onboarded carrier contact identifiers to delete. At least one contact_id must be provided.\n","content":{"application/json":{"schema":{"type":"object","required":["contact_ids"],"properties":{"contact_ids":{"type":"array","minItems":1,"description":"List of contact UUIDs to delete.","items":{"type":"string","format":"uuid"}}}}}}},"responses":{"200":{"description":"Contacts deleted successfully.","content":{"application/json":{"schema":{"type":"object","properties":{"contacts":{"type":"array","description":"List of deleted contacts.","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"deleted":{"type":"boolean"}}}}}}}}},"400":{"description":"Bad Request – Invalid request body.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"401":{"description":"Unauthorized – Invalid or missing Access-Token.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"403":{"description":"Forbidden – Missing required permission.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"404":{"description":"One or more contacts not found or not owned by the customer.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"500":{"description":"Internal Server Error.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}}}}}}}
```
