# 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"}}}}}}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.genlogs.io/carrier/onboarded-carriers/delete-onboarded-carrier-bulk.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
