> For the complete documentation index, see [llms.txt](https://docs.genlogs.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.genlogs.io/alerts/mismatch-alerts/get-mismatch-alerts.md).

# Get Mismatch Alerts

Lists trailer mismatch observation alerts for the authenticated customer.

### **Authentication**

* Include your **`Access-Token`** and **`x-api-key`** in the header of your requests.

### Permissions

The `external-api-mismatch-observations` or `admin` permission is required to access this endpoint.

### **Endpoint**

* **URL:** `https://api.genlogs.io/mismatch-observations`
* **Method:** GET

### **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 Example:

```bash
curl --location 'https://api.genlogs.io/mismatch-observations?page=1&page_size=5' \
--header 'access-token: <your-api-token>' \
--header 'x-api-key: <your-x-api-key>'
```

### **Response:**

* **200 OK:** A JSON object containing the list of paginated trailer mismatch alerts.
* **400 Bad Request:** If one of the provided parameters is incorrect.
* **401 Unauthorized:** If the authentication credentials (Access-Token) is missing or incorrect.
* **403 Forbidden**: If the permission has not been set to your user.
* **500 Internal Server Error:** If there is an issue on the server that prevents processing the request.

### **Response Body:**

200 OK

* `mismatch_observations` (**list**): list of trailer mismatch observations including related information.
  * `id` (**str**, UUID): unique identifier of the alert.
  * `name` (**str**, optional, nullable): alert display name. If not provided when the alert is created, it is set to `null`.
  * `usdot` (**str**, nullable): USDOT value associated with the mismatch observation. `null` when not applicable.
  * `mc` (**str**, nullable): MC value associated with the mismatch observation. `null` when not applicable.
  * `logos` (list): list of logos to filter in the mismatch observations
  * `is_disabled` (bool): indicates whether the mismatch alert is disabled.
  * `created_at` (str, date-time): creation timestamp in ISO-8601 format.
  * `last_run_at` (str, date-time, nullable): last run timestamp in ISO-8601 format.
* `page` (**int**): current page number (1-based).
* `page_size` (**int**): number of items returned per page.
* `total` (**int**): total number of mismatch observations available for the customer.

{% code expandable="true" %}

```json
{
    "mismatch_observations": [
        {
            "id": "b9291b70-2383-4e5d-9f33-ecd5808b96a2",
            "name": null,
            "usdot": null,
            "mc": "300000",
            "logos": [
                "logo_1",
                "logo_2"
            ],
            "is_disabled": false,
            "created_at": "2026-04-07T22:30:02.608190",
            "last_run_at": null
        },
        {
            "id": "3145720d-4c09-440b-89da-616d3b9adb4c",
            "name": "mismatch alert mc 4000",
            "usdot": null,
            "mc": "4000",
            "logos": [],
            "is_disabled": true,
            "created_at": "2026-04-07T22:29:54.563299",
            "last_run_at": null
        }
    ],
    "page": 1,
    "page_size": 2,
    "total": 10
}
```

{% endcode %}

400 Bad Request

```json
{
    "message": "Invalid request parameters: 'page_size'",
    "error_code": "VALIDATION_ERROR"
}
```

401 Forbidden

```json
{
  "detail": {
    "message": "Token is missing",
    "subcode": "TOKEN_MISSING"
  }
}
```

403 Forbidden

```json
{
    "detail": "User does not have the required permissions to access this resource"
}
```

## List mismatch observations

> Returns mismatch observations for the authenticated customer only, ordered from newest to oldest. Paginated; default page size is 50. Returns 200 with an empty \`mismatch\_observations\` array when none exist.<br>

```json
{"openapi":"3.0.3","info":{"title":"Mismatch observation alerts (external API)","version":"1.4.0"},"servers":[{"url":"https://api.genlogs.io"}],"security":[{"Access-Token":[],"X-Api-Key":[]}],"components":{"securitySchemes":{"Access-Token":{"type":"apiKey","in":"header","name":"Access-Token"}},"schemas":{"MismatchObservationsListResponse":{"type":"object","required":["mismatch_observations","page","page_size","total"],"properties":{"mismatch_observations":{"type":"array","items":{"$ref":"#/components/schemas/MismatchObservationItem"}},"page":{"type":"integer","minimum":1,"description":"Current page number."},"page_size":{"type":"integer","minimum":1,"maximum":500,"description":"Page size used for this response."},"total":{"type":"integer","minimum":0,"description":"Total number of observations for this customer (all pages)."}}},"MismatchObservationItem":{"type":"object","required":["id","usdot","mc","is_disabled"],"properties":{"id":{"type":"string","format":"uuid","description":"Alert row identifier."},"alert_name":{"type":"string","nullable":true,"description":"Optional display name; may be null if not set."},"usdot":{"type":"string","nullable":true,"description":"USDOT value from stored criteria."},"mc":{"type":"string","nullable":true,"description":"MC value from stored criteria."},"logos":{"type":"array","items":{"type":"string"},"description":"Trailer logos from `logos`, returned in normalized lowercase format. Empty when not configured.","default":[]},"is_disabled":{"type":"boolean","description":"Whether this mismatch observation alert is disabled."},"created_at":{"type":"string","format":"date-time","nullable":true,"description":"Creation timestamp when available."},"last_run_at":{"type":"string","format":"date-time","nullable":true,"description":"Last run timestamp in ISO-8601 format; null when not run yet."}}}}},"paths":{"/mismatch-observations":{"get":{"summary":"List mismatch observations","description":"Returns mismatch observations for the authenticated customer only, ordered from newest to oldest. Paginated; default page size is 50. Returns 200 with an empty `mismatch_observations` array when none exist.\n","tags":["Mismatch alerts"],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1},"description":"Page number (1-based)."},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":500,"default":50},"description":"Number of items per page (max 500)."}],"responses":{"200":{"description":"Paginated list of mismatch observations for the customer.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MismatchObservationsListResponse"}}}},"401":{"description":"Unauthorized – Invalid or missing Access-Token."},"403":{"description":"Forbidden – missing permission."}}}}}}
```
