# Maintenance

Part of the [GeoDynamics API](/api/geodynamics/index.md). Host: `https://api.geodynamics.dev`.

## GET /intellitracer/v2/maintenance?page={page}&search={search}

`https://api.geodynamics.dev/intellitracer/v2/maintenance?page={page}&search={search}`

Privilege required: `Api: Maintenance Overview`

Get maintenance overview

Returns a paged list of maintenance tasks per vehicle.

### Path parameters

| Name | Type | Required | Example |
| --- | --- | --- | --- |
| `page` | number | required | `1` |
| `search` | string | required | `ABC` |

### Responses

#### 200: OK

| Field | Type |
| --- | --- |
| `Data` (default = null) | array |
| `PagingFilter` (default = null) | object |

```json
{
  "Data": [
    {
      "Vehicle": {
        "Id": "00000000-0000-0000-0000-000000000000",
        "Code": "012345",
        "Name": "Vehicle 1"
      },
      "State": 0,
      "Mileage": 48145,
      "RunningHours": 774,
      "Timestamp": "2021-01-10T11:16:51+01:00",
      "Tasks": [
        {
          "Id": "00000000-0000-0000-0000-000000000000",
          "Name": {
            "Id": "00000000-0000-0000-0000-000000000000",
            "Name": "Vehicle 1"
          },
          "Type": 0,
          "MileageConfig": {
            "FixedDeadline": 100000,
            "IntervalDeadline": 50000,
            "Warning": 1000
          },
          "RunningHoursConfig": {
            "FixedDeadline": 1000,
            "IntervalDeadline": 500,
            "Warning": 10
          },
          "DateConfig": {
            "FixedDeadline": "2021-06-30T00:00:00",
            "IntervalDeadline": {
              "Years": 1,
              "Months": 6,
              "Days": 30
            },
            "Warning": 30
          },
          "DeadlineNotificationRecurrence": 0,
          "WarningNotificationRecurrence": 0
        }
      ]
    }
  ],
  "PagingFilter": {
    "Page": 1,
    "Search": "ABC",
    "PageCount": 4,
    "TotalCount": 100,
    "Links": {
      "Base": "https://api.geodynamics.dev",
      "First": "/intellitracer/v2/asset?page=1",
      "Prev": "/intellitracer/v2/asset?page=2",
      "Next": "/intellitracer/v2/asset?page=4",
      "Last": "/intellitracer/v2/asset?page=4"
    }
  }
}
```

#### 401: Unauthorized

#### 403: Forbidden

## GET /intellitracer/v2/maintenance/{vehicleId}/task?page={page}&search={search}

`https://api.geodynamics.dev/intellitracer/v2/maintenance/{vehicleId}/task?page={page}&search={search}`

Privilege required: `Api: Maintenance Overview`

Get maintenance task by vehicle

Returns a paged list of maintenance tasks for a specific vehicle.

### Path parameters

| Name | Type | Required | Example |
| --- | --- | --- | --- |
| `vehicleId` | string | required | `00000000-0000-0000-0000-000000000000` |
| `page` | number | required | `1` |
| `search` | string | required | `ABC` |

### Responses

#### 200: OK

| Field | Type |
| --- | --- |
| `Data` (default = null) | array |
| `PagingFilter` (default = null) | object |

```json
{
  "Data": [
    {
      "Id": "00000000-0000-0000-0000-000000000000",
      "Name": {
        "Id": "00000000-0000-0000-0000-000000000000",
        "Name": "Vehicle 1"
      },
      "Type": 0,
      "MileageConfig": {
        "FixedDeadline": 100000,
        "IntervalDeadline": 50000,
        "Warning": 1000
      },
      "RunningHoursConfig": {
        "FixedDeadline": 1000,
        "IntervalDeadline": 500,
        "Warning": 10
      },
      "DateConfig": {
        "FixedDeadline": "2021-06-30T00:00:00",
        "IntervalDeadline": {
          "Years": 1,
          "Months": 6,
          "Days": 30
        },
        "Warning": 30
      },
      "DeadlineNotificationRecurrence": 0,
      "WarningNotificationRecurrence": 0
    }
  ],
  "PagingFilter": {
    "Page": 1,
    "Search": "ABC",
    "PageCount": 4,
    "TotalCount": 100,
    "Links": {
      "Base": "https://api.geodynamics.dev",
      "First": "/intellitracer/v2/asset?page=1",
      "Prev": "/intellitracer/v2/asset?page=2",
      "Next": "/intellitracer/v2/asset?page=4",
      "Last": "/intellitracer/v2/asset?page=4"
    }
  }
}
```

#### 401: Unauthorized

#### 403: Forbidden

#### 404: NotFound

#### 417: ExpectationFailed

## GET /intellitracer/v2/maintenance/type?page={page}&search={search}

`https://api.geodynamics.dev/intellitracer/v2/maintenance/type?page={page}&search={search}`

Privilege required: `Api: Maintenance Overview`

Get maintenance types

Returns a paged list of maintenance types.

### Path parameters

| Name | Type | Required | Example |
| --- | --- | --- | --- |
| `page` | number | required | `1` |
| `search` | string | required | `ABC` |

### Responses

#### 200: OK

```json
[
  {
    "Data": [
      {
        "Id": "00000000-0000-0000-0000-000000000000",
        "Name": "Vehicle 1"
      }
    ],
    "PagingFilter": {
      "Page": 1,
      "Search": "ABC",
      "PageCount": 4,
      "TotalCount": 100,
      "Links": {
        "Base": "https://api.geodynamics.dev",
        "First": "/intellitracer/v2/asset?page=1",
        "Prev": "/intellitracer/v2/asset?page=2",
        "Next": "/intellitracer/v2/asset?page=4",
        "Last": "/intellitracer/v2/asset?page=4"
      }
    }
  }
]
```

#### 401: Unauthorized

#### 403: Forbidden
