Shiftmove Vehicle assignments API

The Vehicle assignments API from Shiftmove — 4 operation(s) for vehicle assignments.

OpenAPI Specification

shiftmove-vehicle-assignments-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  version: 1.2.3
  title: Fleet API Specifications Custom fields Vehicle assignments API
  x-logo:
    url: logo.svg
  description: "# Introduction\nThe Avrios Fleet-API allows syncing fleet data with our system. The provided API allows you to persist, update, delete and query various entities. Refer to the current [Release Notes](release-notes.html) for relevant changes in the API. \n# Access and usage\n## Authorization\nIn order to use the API a basic auth header must be set on each request: `Authorization: Basic {base64 of username:password}`.\n## Rate limiting\nRequests are limited to 300 requests per minute.\n## Response objects \nIn all API responses, only populated fields will be returned - `null` fields are stripped from the response object.\n## Update endpoints\nWhen updating existing entities, unless otherwise specified we will only update properties sent in the request, and all properties are optional. Clearing a property can be performed by explicitly sending `null`.\n## Date interpretation \nFor consistency with the Avrios UI, some APIs accept dates in the format `yyyy-MM-dd` rather than timestamps. If these are used for filtering or business logic, they will be interpreted as the first second of the day in the company timezone (e.g. `2020-01-01` in CET becomes `2019-12-31T23:00:00Z)`."
host: api.avrios.com
schemes:
- https
tags:
- name: Vehicle assignments
paths:
  /v1/vehicles/{uuid}/assignments:
    get:
      tags:
      - Vehicle assignments
      summary: GET vehicle assignments
      description: Get all driver assignments of a specific vehicle.
      operationId: findVehicleAssignments
      produces:
      - application/json
      parameters:
      - name: uuid
        in: path
        required: true
        type: string
        format: uuid
      - name: limit
        in: query
        description: Number of items in a page
        required: false
        type: integer
        maximum: 100
        minimum: 1
      - name: pageNumber
        in: query
        description: Number of the page
        required: false
        type: integer
        minimum: 1
      - name: sortBy
        in: query
        description: Sorting key
        required: false
        type: string
        enum:
        - uuid
        - vehicleUuid
        - driverUuid
        - duration_startDate
        - duration_endDate
        - active
      - name: reverse
        in: query
        description: Sorting order
        required: false
        type: boolean
        enum:
        - 'false'
        - 'true'
      responses:
        '200':
          description: Successful operation.
          schema:
            $ref: '#/definitions/ApiPageAssignmentDto'
        '400':
          description: Bad request - information on the invalid fields will be provided in the response body
        '404':
          description: Vehicle not found.
    post:
      tags:
      - Vehicle assignments
      summary: ASSIGN a specified driver to this vehicle
      description: Assign a driver (specified in the request body) to the vehicle under this url.
      operationId: createVehicleAssignment
      produces:
      - application/json
      parameters:
      - name: uuid
        in: path
        required: true
        type: string
        format: uuid
      - in: body
        name: body
        required: false
        schema:
          $ref: '#/definitions/CreateAssignmentByVehicleRequest'
      responses:
        '200':
          description: Successful operation.
          schema:
            $ref: '#/definitions/AssignmentDto'
        '400':
          description: Bad request - information on the invalid fields will be provided in the response body
        '404':
          description: Vehicle or driver not found.
        '409':
          description: The new assignment conflicts with one or more other assignments. The conflicting assignments will be returned in an error response.
  /v1/vehicles/{uuid}/assignments/query:
    post:
      tags:
      - Vehicle assignments
      summary: QUERY vehicle assignments
      description: Query driver assignments of a specific vehicle.
      operationId: queryVehicleAssignments
      produces:
      - application/json
      parameters:
      - name: uuid
        in: path
        required: true
        type: string
        format: uuid
      - in: body
        name: body
        required: false
        schema:
          $ref: '#/definitions/VehicleAssignmentQueryApiParams'
      - name: limit
        in: query
        description: Number of items in a page
        required: false
        type: integer
        maximum: 100
        minimum: 1
      - name: pageNumber
        in: query
        description: Number of the page
        required: false
        type: integer
        minimum: 1
      - name: sortBy
        in: query
        description: Sorting key
        required: false
        type: string
        enum:
        - uuid
        - vehicleUuid
        - driverUuid
        - duration_startDate
        - duration_endDate
        - active
      - name: reverse
        in: query
        description: Sorting order
        required: false
        type: boolean
        enum:
        - 'false'
        - 'true'
      responses:
        '200':
          description: Successful operation.
          schema:
            $ref: '#/definitions/ApiPageAssignmentDto'
        '400':
          description: Bad request - information on the invalid fields will be provided in the response body
        '404':
          description: Vehicle not found.
  /v1/vehicles/{uuid}/assignments/{assignmentUuid}:
    delete:
      tags:
      - Vehicle assignments
      summary: DELETE vehicle assignment
      description: Delete driver to vehicle assignment identified by uuid path parameter.
      operationId: deleteVehicleAssignment
      produces:
      - application/json
      parameters:
      - name: uuid
        in: path
        required: true
        type: string
        format: uuid
      - name: assignmentUuid
        in: path
        required: true
        type: string
        format: uuid
      responses:
        '200':
          description: successful operation
          schema:
            $ref: '#/definitions/Void'
        '204':
          description: Successful operation - no content is expected.
        '400':
          description: Bad request - information on the invalid fields will be provided in the response body
        '404':
          description: Vehicle not found or this assignment was not found for this vehicle.
  /v1/vehicles/{uuid}/assignments/{assignmentUuid}/duration:
    post:
      tags:
      - Vehicle assignments
      summary: UPDATE the duration of an existing assignment
      description: Change the timing of a specific assignment. Body is a map of fields to update.
      operationId: updateVehicleAssignment
      produces:
      - application/json
      parameters:
      - name: uuid
        in: path
        required: true
        type: string
        format: uuid
      - name: assignmentUuid
        in: path
        required: true
        type: string
        format: uuid
      - in: body
        name: body
        required: false
        schema:
          $ref: '#/definitions/DurationUpdateApiParams'
      responses:
        '200':
          description: Successful operation.
          schema:
            $ref: '#/definitions/AssignmentDto'
        '400':
          description: Bad request - information on the invalid fields will be provided in the response body
        '404':
          description: Vehicle or assignment not found.
        '409':
          description: The new assignment timing conflicts with one or multiple ones. The conflicting assignments will be returned in an error response.
definitions:
  VehicleAssignmentQueryApiParams:
    type: object
    properties:
      driverUuid:
        type: string
        format: uuid
      when:
        description: Date range assignments active within. Cannot have a value when `starting` or `ending` have a value.
        $ref: '#/definitions/InstantRangeApiParams'
      starting:
        $ref: '#/definitions/InstantRangeApiParams'
      ending:
        $ref: '#/definitions/InstantRangeApiParams'
  ApiPageInformation:
    type: object
    properties:
      pageNumber:
        type: integer
        format: int32
      limit:
        type: integer
        format: int32
  AssignmentDto:
    type: object
    properties:
      uuid:
        type: string
        format: uuid
      vehicleUuid:
        type: string
        format: uuid
      driverUuid:
        type: string
        format: uuid
      duration:
        $ref: '#/definitions/DurationDto'
      active:
        type: boolean
  Void:
    type: object
  DurationUpdateApiParams:
    type: object
    properties:
      startDate:
        type: string
        nullable: false
        format: date-time
      endDate:
        type: string
        nullable: true
        format: date-time
  InstantRangeApiParams:
    type: object
    properties:
      atOrAfter:
        type: string
        format: date-time
      before:
        type: string
        format: date-time
  CreateAssignmentByVehicleRequest:
    type: object
    properties:
      driverUuid:
        type: string
        format: uuid
      duration:
        $ref: '#/definitions/DurationDto'
  ApiPageAssignmentDto:
    type: object
    properties:
      items:
        type: array
        items:
          $ref: '#/definitions/AssignmentDto'
      page:
        $ref: '#/definitions/ApiPageInformation'
      totalItems:
        type: integer
        format: int64
  DurationDto:
    type: object
    properties:
      startDate:
        type: string
        format: date-time
      endDate:
        type: string
        format: date-time
x-tagGroups:
- name: Vehicles
  tags:
  - Vehicles
  - Vehicle license plates
  - Vehicle assignments
  - Vehicle usages
  - Vehicle custom fields
  - Vehicle financing
- name: Drivers
  tags:
  - Drivers
  - Driver assignments
  - Driver custom fields
- name: Other
  tags:
  - Custom fields
  - Invoices
  - Organizations