# LitmusEdgeManager 2.31.x API Documentation/Edge Lifecycle Management/Jobs - LE, LEM, LUNS API Docs

## Device Jobs

**GET** `{{LEM_URL}}/api/v1/batchdm/jobs?projectId={{project_id}}`

# Device Jobs

Returns the device-job records for the project. A **job** is a batched set of `commands[]` (e.g. `GENERATE_LICENSE`, `REBOOT`) applied across `deviceIds[]` or `tags[]`.
## Endpoint

```http
GET {{LEM_URL}}/api/v1/batchdm/jobs?projectId={{project_id}}
```
## Authentication

HTTP Basic Auth. **Username** is your API token, **password** is empty. Tokens are managed under `System > Access Control > Tokens`.
## Errors

| HTTP status         | When it happens                                                                |
|---------------------|--------------------------------------------------------------------------------|
| `400 Bad Request`   | Missing or malformed query/body parameter.                                     |
| `401 Unauthorized`  | Missing or invalid credentials.                                                |
| `403 Forbidden`     | Token lacks permission for this operation.                                     |
| `404 Not Found`     | Target entity does not exist.                                                  |
| `5xx`               | Service is unreachable, restarting, or internally errored. Inspect device logs under `System > Support`. |

> **TLS note**: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.


### Response

**Status**: 200 OK

```json
[
    {
        "projectId": "462j1mq70mph31wa100t1yuxa",
        "jobId": "1eqkvep9i2uc63jfnenl9lkbl",
        "tags": [],
        "deviceIds": [
            "1a5wiavluwxuhwai5leb1v0hc"
        ],
        "commands": [
            {
                "projectId": "462j1mq70mph31wa100t1yuxa",
                "jobId": "1eqkvep9i2uc63jfnenl9lkbl",
                "commandId": "sw792j23q6pfbbux49e6tleb",
                "type": "GENERATE_LICENSE",
                "object": 0,
                "instance": null,
                "resource": 0,
                "action": "READ",
                "value": null,
                "rawPayload": "eyJyZXF1ZXN0RW50cnlJRCI6MywicHJvamVjdElkIjoiNDYyajFtcTcwbXBoMzF3YTEwMHQxeXV4YSIsImRldmljZUlkIjoiMWE1d2lhdmx1d3h1aHdhaTVsZWIxdjBoYyIsImxpY2Vuc2VLZXkiOiIxMDk1LTA1ODgtNjU2NC03ODY0IiwiaG9zdGlkIjoiOTRjNjkxMWI5Yzc3IiwidGVtcGxhdGVOYW1lcyI6bnVsbCwicHJvdmlzaW9uRGVmYXVsdFBhc3N3b3JkUG9saWN5Ijp0cnVlfQ==",
                "name": "Generate license",
                "descr": null,
                "usingBy": [
                    {
                        "jobId": "1eqkvep9i2uc63jfnenl9lkbl",
                        "name": "Provision job for device `1a5wiavluwxuhwai5leb1v0hc`"
                    }
                ],
                "qos": 1,
                "num": 0
            },
            {
                "projectId": "462j1mq70mph31wa100t1yuxa",
                "jobId": "1eqkvep9i2uc63jfnenl9lkbl",
                "commandId": "dpcuaumno4qn929jr1i8kv8qv",
                "type": "PROVISION_LICENSE",
                "object": 0,
                "instance": null,
                "resource": 0,
                "action": "READ",
                "value": null,
                "rawPayload": "eyJyZXF1ZXN0RW50cnlJRCI6MywicHJvamVjdElkIjoiNDYyajFtcTcwbXBoMzF3YTEwMHQxeXV4YSIsImRldmljZUlkIjoiMWE1d2lhdmx1d3h1aHdhaTVsZWIxdjBoYyIsImxpY2Vuc2VLZXkiOiIxMDk1LTA1ODgtNjU2NC03ODY0IiwiaG9zdGlkIjoiOTRjNjkxMWI5Yzc3IiwidGVtcGxhdGVOYW1lcyI6bnVsbCwicHJvdmlzaW9uRGVmYXVsdFBhc3N3b3JkUG9saWN5Ijp0cnVlfQ==",
                "name": "Provision license",
                "descr": null,
                "usingBy": [
                    {
                        "jobId": "1eqkvep9i2uc63jfnenl9lkbl",
                        "name": "Provision job for device `1a5wiavluwxuhwai5leb1v0hc`"
                    }
                ],
                "qos": 1,
                "num": 1
            }
        ],
        "type": "RUN_ONCE",
        "cronExpression": "",
        "status": "ACTIVE",
        "instanceCount": 1,
        "lastExecTime": 1691104195000,
        "nextExecTime": 0,
        "name": "Provision job for device `1a5wiavluwxuhwai5leb1v0hc`",
        "descr": ""
    },
    {
        "projectId": "462j1mq70mph31wa100t1yuxa",
        "jobId": "da9oe1q42grsdpb9azw12kxuk",
        "tags": [],
        "deviceIds": [
            "1a5wiavluwxuhwai5leb1v0hc"
        ],
        "commands": [],
        "type": "RUN_ONCE",
        "cronExpression": "",
        "status": "NOT_ACTIVE",
        "instanceCount": 0,
        "lastExecTime": 0,
        "nextExecTime": 1691104195000,
        "name": "Provision job for device `1a5wiavluwxuhwai5leb1v0hc`",
        "descr": ""
    }
]
```

---

