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


---

# 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/alerts/mismatch-alerts/get-mismatch-alerts.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.
