For the complete documentation index, see llms.txt. This page is also available as Markdown.

PUDs

A PUD (pickup-and-delivery) is what we call a booking at Gire Mobility.

Create a test account to get started.

Test Account Setup

Create a PUD

To create a PUD you must specify the interval you wish to use. The opposite interval will then be calculated based on the estimated driving and handling time.

Create Pud

post

Create a Pud

Header parameters
x-api-tokenstringRequired

Company API key

Body
companyIdstringOptional

Specify ID of company to place booking

Example: 90sdfjs09fds
commentstringOptional

Comment

Example: This is a comment
hyreBookingIdstringOptional

Hyre booking id

Example: 123456
referenceNumberstringOptional

Reference number

Example: 123456
Responses
201

Pud created

application/json
idstringRequired

id

statusstring · enumRequired

Status of the trip

Example: completedPossible values:
commentstringRequired

Comment

Example: Please check the fuel level
pickupCodestringRequired

Pickup code

Example: eb9f
createdAtstring · date-timeRequired

Created at

updatedAtstring · date-timeRequired

Updated at

adminCommentstringRequired

Admin comment

companyIdstringRequired

The company which the pud belongs to

companyNamestringRequired

The name of the company which the pud belongs to

addonsstring[]Required

Addons for this trip

Example: ["temporaryPlates","booster","carWash"]
missedTripReasonstringOptional

Missed trip reason

Example: Car did not start
hyreBookingIdstringOptional

Hyre booking id

referenceNumberstringOptional

Reference number

post/api/v3/puds
POST /api/v3/puds HTTP/1.1
x-api-token: text
Content-Type: application/json
Accept: */*
Content-Length: 856

{
  "companyId": "90sdfjs09fds",
  "pickup": {
    "address": "Møllergata 6",
    "postalCode": "0159",
    "comment": "Please collect keys at the reception.",
    "contactName": "John Doe",
    "contactPhone": "+4712345678",
    "contactEmail": "john.doe@example.com",
    "notifyViaSMS": true
  },
  "delivery": {
    "address": "Møllergata 6",
    "postalCode": "0159",
    "comment": "Please collect keys at the reception.",
    "contactName": "John Doe",
    "contactPhone": "+4712345678",
    "contactEmail": "john.doe@example.com",
    "notifyViaSMS": true
  },
  "interval": {
    "start": "2021-08-13T12:00:00Z",
    "end": "2021-08-13T14:00:00Z",
    "type": "pickup"
  },
  "vehicle": {
    "model": "Volkswagen Passat",
    "regNumber": "AB12345",
    "temporaryPlates": true
  },
  "customer": {
    "name": "John Doe",
    "phone": "+4712345678",
    "email": "johndoe@example.com"
  },
  "addons": [
    "temporaryPlates",
    "booster",
    "carWash"
  ],
  "comment": "This is a comment",
  "hyreBookingId": "123456",
  "referenceNumber": "123456"
}
{
  "id": "text",
  "pickup": {
    "address": "Møllergata 6",
    "postalCode": "0159",
    "comment": "Please collect keys at the reception.",
    "contactName": "John Doe",
    "contactPhone": "+4712345678",
    "contactEmail": "john.doe@example.com",
    "notifyViaSMS": true,
    "interval": {
      "start": "2021-08-13T12:00:00Z",
      "end": "2021-08-13T14:00:00Z"
    }
  },
  "delivery": {
    "address": "Møllergata 6",
    "postalCode": "0159",
    "comment": "Please collect keys at the reception.",
    "contactName": "John Doe",
    "contactPhone": "+4712345678",
    "contactEmail": "john.doe@example.com",
    "notifyViaSMS": true,
    "interval": {
      "start": "2021-08-13T12:00:00Z",
      "end": "2021-08-13T14:00:00Z"
    }
  },
  "vehicle": {
    "model": "Volkswagen Passat",
    "regNumber": "AB12345",
    "temporaryPlates": true
  },
  "driver": {
    "name": "The Stig",
    "phone": "+4712345678",
    "photo": "https://example-bucket.s3.eu-north-1.amazonaws.com/driver-photos/abc/photo.jpg?X-Amz-Expires=3600&..."
  },
  "price": {
    "price": 1234,
    "currency": "NOK",
    "outOfArea": false
  },
  "customer": {
    "name": "John Doe",
    "phone": "+4712345678",
    "email": "johndoe@example.com"
  },
  "tripDetails": {
    "preDrive": {
      "comment": "Car required a jump start",
      "mileage": 12345,
      "photos": [
        {
          "original": "https://example.com/original.jpg",
          "thumbnail": "https://example.com/thumbnail.jpg"
        }
      ]
    },
    "postDrive": {
      "comment": "Car required a jump start",
      "mileage": 12345,
      "photos": [
        {
          "original": "https://example.com/original.jpg",
          "thumbnail": "https://example.com/thumbnail.jpg"
        }
      ]
    },
    "startedAt": "2021-08-13T12:00:00Z",
    "endedAt": "2021-08-13T12:00:00Z"
  },
  "status": "completed",
  "comment": "Please check the fuel level",
  "pickupCode": "eb9f",
  "createdAt": "2026-01-01T00:00:00.000Z",
  "updatedAt": "2026-01-01T00:00:00.000Z",
  "adminComment": "text",
  "companyId": "text",
  "companyName": "text",
  "addons": [
    "temporaryPlates",
    "booster",
    "carWash"
  ],
  "missedTripReason": "Car did not start",
  "hyreBookingId": "text",
  "referenceNumber": "text"
}

Cancel a PUD

You can cancel a PUD as long as it isn't in progress. However, you will only receive a refund if the cancellation happens more than 12 hours before the pickup time. Cancellations after this point are considered missed trips.

Cancel Pud

delete

Cancel a Pud by id. If Pud is part of an immediate return Pud, both legs will be cancelled.

Path parameters
idstringRequired
Header parameters
x-api-tokenstringRequired

Company API key

Responses
200

Pud successfully cancelled

application/json
idstringRequired

id

statusstring · enumRequired

Status of the trip

Example: completedPossible values:
commentstringRequired

Comment

Example: Please check the fuel level
pickupCodestringRequired

Pickup code

Example: eb9f
createdAtstring · date-timeRequired

Created at

updatedAtstring · date-timeRequired

Updated at

adminCommentstringRequired

Admin comment

companyIdstringRequired

The company which the pud belongs to

companyNamestringRequired

The name of the company which the pud belongs to

addonsstring[]Required

Addons for this trip

Example: ["temporaryPlates","booster","carWash"]
missedTripReasonstringOptional

Missed trip reason

Example: Car did not start
hyreBookingIdstringOptional

Hyre booking id

referenceNumberstringOptional

Reference number

delete/api/v3/puds/{id}
DELETE /api/v3/puds/{id} HTTP/1.1
x-api-token: text
Accept: */*
{
  "id": "text",
  "pickup": {
    "address": "Møllergata 6",
    "postalCode": "0159",
    "comment": "Please collect keys at the reception.",
    "contactName": "John Doe",
    "contactPhone": "+4712345678",
    "contactEmail": "john.doe@example.com",
    "notifyViaSMS": true,
    "interval": {
      "start": "2021-08-13T12:00:00Z",
      "end": "2021-08-13T14:00:00Z"
    }
  },
  "delivery": {
    "address": "Møllergata 6",
    "postalCode": "0159",
    "comment": "Please collect keys at the reception.",
    "contactName": "John Doe",
    "contactPhone": "+4712345678",
    "contactEmail": "john.doe@example.com",
    "notifyViaSMS": true,
    "interval": {
      "start": "2021-08-13T12:00:00Z",
      "end": "2021-08-13T14:00:00Z"
    }
  },
  "vehicle": {
    "model": "Volkswagen Passat",
    "regNumber": "AB12345",
    "temporaryPlates": true
  },
  "driver": {
    "name": "The Stig",
    "phone": "+4712345678",
    "photo": "https://example-bucket.s3.eu-north-1.amazonaws.com/driver-photos/abc/photo.jpg?X-Amz-Expires=3600&..."
  },
  "price": {
    "price": 1234,
    "currency": "NOK",
    "outOfArea": false
  },
  "customer": {
    "name": "John Doe",
    "phone": "+4712345678",
    "email": "johndoe@example.com"
  },
  "tripDetails": {
    "preDrive": {
      "comment": "Car required a jump start",
      "mileage": 12345,
      "photos": [
        {
          "original": "https://example.com/original.jpg",
          "thumbnail": "https://example.com/thumbnail.jpg"
        }
      ]
    },
    "postDrive": {
      "comment": "Car required a jump start",
      "mileage": 12345,
      "photos": [
        {
          "original": "https://example.com/original.jpg",
          "thumbnail": "https://example.com/thumbnail.jpg"
        }
      ]
    },
    "startedAt": "2021-08-13T12:00:00Z",
    "endedAt": "2021-08-13T12:00:00Z"
  },
  "status": "completed",
  "comment": "Please check the fuel level",
  "pickupCode": "eb9f",
  "createdAt": "2026-01-01T00:00:00.000Z",
  "updatedAt": "2026-01-01T00:00:00.000Z",
  "adminComment": "text",
  "companyId": "text",
  "companyName": "text",
  "addons": [
    "temporaryPlates",
    "booster",
    "carWash"
  ],
  "missedTripReason": "Car did not start",
  "hyreBookingId": "text",
  "referenceNumber": "text"
}

Update a PUD

You can update certain information about a PUD, like contact and vehicle information.

Update Pud

patch

Update a Pud by id

Path parameters
idstringRequired
Header parameters
x-api-tokenstringRequired

Company API key

Body
commentstringOptional

Comment

Example: Please handle with care
referenceNumberstringOptional

Reference number

Example: REF123456
hyreBookingIdstringOptional

Hyre booking id

Example: 123456
Responses
200

Pud updated

application/json
idstringRequired

id

statusstring · enumRequired

Status of the trip

Example: completedPossible values:
commentstringRequired

Comment

Example: Please check the fuel level
pickupCodestringRequired

Pickup code

Example: eb9f
createdAtstring · date-timeRequired

Created at

updatedAtstring · date-timeRequired

Updated at

adminCommentstringRequired

Admin comment

companyIdstringRequired

The company which the pud belongs to

companyNamestringRequired

The name of the company which the pud belongs to

addonsstring[]Required

Addons for this trip

Example: ["temporaryPlates","booster","carWash"]
missedTripReasonstringOptional

Missed trip reason

Example: Car did not start
hyreBookingIdstringOptional

Hyre booking id

referenceNumberstringOptional

Reference number

patch/api/v3/puds/{id}
PATCH /api/v3/puds/{id} HTTP/1.1
x-api-token: text
Content-Type: application/json
Accept: */*
Content-Length: 585

{
  "customer": {
    "name": "John Doe",
    "phone": "+4712345678",
    "email": "johndoe@example.com"
  },
  "pickup": {
    "comment": "Please collect keys at the reception.",
    "contactName": "John Doe",
    "contactPhone": "+4712345678",
    "contactEmail": "john.doe@example.com",
    "notifyViaSMS": true
  },
  "delivery": {
    "comment": "Please collect keys at the reception.",
    "contactName": "John Doe",
    "contactPhone": "+4712345678",
    "contactEmail": "john.doe@example.com",
    "notifyViaSMS": true
  },
  "vehicle": {
    "model": "Volkswagen Passat",
    "regNumber": "AB12345"
  },
  "comment": "Please handle with care",
  "referenceNumber": "REF123456",
  "hyreBookingId": "123456"
}
{
  "id": "text",
  "pickup": {
    "address": "Møllergata 6",
    "postalCode": "0159",
    "comment": "Please collect keys at the reception.",
    "contactName": "John Doe",
    "contactPhone": "+4712345678",
    "contactEmail": "john.doe@example.com",
    "notifyViaSMS": true,
    "interval": {
      "start": "2021-08-13T12:00:00Z",
      "end": "2021-08-13T14:00:00Z"
    }
  },
  "delivery": {
    "address": "Møllergata 6",
    "postalCode": "0159",
    "comment": "Please collect keys at the reception.",
    "contactName": "John Doe",
    "contactPhone": "+4712345678",
    "contactEmail": "john.doe@example.com",
    "notifyViaSMS": true,
    "interval": {
      "start": "2021-08-13T12:00:00Z",
      "end": "2021-08-13T14:00:00Z"
    }
  },
  "vehicle": {
    "model": "Volkswagen Passat",
    "regNumber": "AB12345",
    "temporaryPlates": true
  },
  "driver": {
    "name": "The Stig",
    "phone": "+4712345678",
    "photo": "https://example-bucket.s3.eu-north-1.amazonaws.com/driver-photos/abc/photo.jpg?X-Amz-Expires=3600&..."
  },
  "price": {
    "price": 1234,
    "currency": "NOK",
    "outOfArea": false
  },
  "customer": {
    "name": "John Doe",
    "phone": "+4712345678",
    "email": "johndoe@example.com"
  },
  "tripDetails": {
    "preDrive": {
      "comment": "Car required a jump start",
      "mileage": 12345,
      "photos": [
        {
          "original": "https://example.com/original.jpg",
          "thumbnail": "https://example.com/thumbnail.jpg"
        }
      ]
    },
    "postDrive": {
      "comment": "Car required a jump start",
      "mileage": 12345,
      "photos": [
        {
          "original": "https://example.com/original.jpg",
          "thumbnail": "https://example.com/thumbnail.jpg"
        }
      ]
    },
    "startedAt": "2021-08-13T12:00:00Z",
    "endedAt": "2021-08-13T12:00:00Z"
  },
  "status": "completed",
  "comment": "Please check the fuel level",
  "pickupCode": "eb9f",
  "createdAt": "2026-01-01T00:00:00.000Z",
  "updatedAt": "2026-01-01T00:00:00.000Z",
  "adminComment": "text",
  "companyId": "text",
  "companyName": "text",
  "addons": [
    "temporaryPlates",
    "booster",
    "carWash"
  ],
  "missedTripReason": "Car did not start",
  "hyreBookingId": "text",
  "referenceNumber": "text"
}

Get PUD

You can retrieve

Get Pud

get

Get Pud by id

Path parameters
idstringRequired
Header parameters
x-api-tokenstringRequired

Company API key

Responses
200

Pud found

application/json
idstringRequired

id

statusstring · enumRequired

Status of the trip

Example: completedPossible values:
commentstringRequired

Comment

Example: Please check the fuel level
pickupCodestringRequired

Pickup code

Example: eb9f
createdAtstring · date-timeRequired

Created at

updatedAtstring · date-timeRequired

Updated at

adminCommentstringRequired

Admin comment

companyIdstringRequired

The company which the pud belongs to

companyNamestringRequired

The name of the company which the pud belongs to

addonsstring[]Required

Addons for this trip

Example: ["temporaryPlates","booster","carWash"]
missedTripReasonstringOptional

Missed trip reason

Example: Car did not start
hyreBookingIdstringOptional

Hyre booking id

referenceNumberstringOptional

Reference number

get/api/v3/puds/{id}
GET /api/v3/puds/{id} HTTP/1.1
x-api-token: text
Accept: */*
{
  "id": "text",
  "pickup": {
    "address": "Møllergata 6",
    "postalCode": "0159",
    "comment": "Please collect keys at the reception.",
    "contactName": "John Doe",
    "contactPhone": "+4712345678",
    "contactEmail": "john.doe@example.com",
    "notifyViaSMS": true,
    "interval": {
      "start": "2021-08-13T12:00:00Z",
      "end": "2021-08-13T14:00:00Z"
    }
  },
  "delivery": {
    "address": "Møllergata 6",
    "postalCode": "0159",
    "comment": "Please collect keys at the reception.",
    "contactName": "John Doe",
    "contactPhone": "+4712345678",
    "contactEmail": "john.doe@example.com",
    "notifyViaSMS": true,
    "interval": {
      "start": "2021-08-13T12:00:00Z",
      "end": "2021-08-13T14:00:00Z"
    }
  },
  "vehicle": {
    "model": "Volkswagen Passat",
    "regNumber": "AB12345",
    "temporaryPlates": true
  },
  "driver": {
    "name": "The Stig",
    "phone": "+4712345678",
    "photo": "https://example-bucket.s3.eu-north-1.amazonaws.com/driver-photos/abc/photo.jpg?X-Amz-Expires=3600&..."
  },
  "price": {
    "price": 1234,
    "currency": "NOK",
    "outOfArea": false
  },
  "customer": {
    "name": "John Doe",
    "phone": "+4712345678",
    "email": "johndoe@example.com"
  },
  "tripDetails": {
    "preDrive": {
      "comment": "Car required a jump start",
      "mileage": 12345,
      "photos": [
        {
          "original": "https://example.com/original.jpg",
          "thumbnail": "https://example.com/thumbnail.jpg"
        }
      ]
    },
    "postDrive": {
      "comment": "Car required a jump start",
      "mileage": 12345,
      "photos": [
        {
          "original": "https://example.com/original.jpg",
          "thumbnail": "https://example.com/thumbnail.jpg"
        }
      ]
    },
    "startedAt": "2021-08-13T12:00:00Z",
    "endedAt": "2021-08-13T12:00:00Z"
  },
  "status": "completed",
  "comment": "Please check the fuel level",
  "pickupCode": "eb9f",
  "createdAt": "2026-01-01T00:00:00.000Z",
  "updatedAt": "2026-01-01T00:00:00.000Z",
  "adminComment": "text",
  "companyId": "text",
  "companyName": "text",
  "addons": [
    "temporaryPlates",
    "booster",
    "carWash"
  ],
  "missedTripReason": "Car did not start",
  "hyreBookingId": "text",
  "referenceNumber": "text"
}

Get PUD list

get

Get PUD list for a company

Query parameters
companyIdsstring[]Optional

Narrow results to specific companies within the key's scope (comma-separated or repeated). Omit to return everything the key can see.

Example: ["68a1f0c2e4b0a1c2d3e4f5a6"]
pagenumberOptional

The page number to return

Default: 1Example: 1
pageSizenumberOptional

The number of items to return per page

Default: 10Example: 10
pickupDateFromstring · date-timeOptional

The date to filter by pickup date from

Example: 2025-01-01T00:00:00.000Z
pickupDateTostring · date-timeOptional

The date to filter by pickup date to

Example: 2025-12-01T00:00:00.000Z
searchstringOptional

The search query to filter by

Example: 123456
statusstringOptional

The status to filter by

Example: completed
sortBystringOptional

The field to sort by

Default: createdAtExample: createdAt
sortDirectionstringOptional

The direction to sort by

Default: descExample: desc
Header parameters
x-api-tokenstringRequired

Company API key

Responses
200

Pud list

application/json
get/api/v3/puds/list
GET /api/v3/puds/list HTTP/1.1
x-api-token: text
Accept: */*
{
  "metadata": {
    "total": 100,
    "search": "AB 98430",
    "status": "completed",
    "pickupDateFrom": "2025-01-01",
    "pickupDateTo": "2025-01-01",
    "page": 1,
    "pageSize": 10,
    "sortBy": "createdAt",
    "sortDirection": "desc"
  },
  "data": [
    []
  ]
}
Deprecated

Get Puds

get

Get Puds for a company

Header parameters
x-api-tokenstringRequired

Company API key

Responses
200

Puds found

application/json
idstringRequired

id

statusstring · enumRequired

Status of the trip

Example: completedPossible values:
commentstringRequired

Comment

Example: Please check the fuel level
pickupCodestringRequired

Pickup code

Example: eb9f
createdAtstring · date-timeRequired

Created at

updatedAtstring · date-timeRequired

Updated at

adminCommentstringRequired

Admin comment

companyIdstringRequired

The company which the pud belongs to

companyNamestringRequired

The name of the company which the pud belongs to

addonsstring[]Required

Addons for this trip

Example: ["temporaryPlates","booster","carWash"]
missedTripReasonstringOptional

Missed trip reason

Example: Car did not start
hyreBookingIdstringOptional

Hyre booking id

referenceNumberstringOptional

Reference number

get/api/v3/puds
GET /api/v3/puds HTTP/1.1
x-api-token: text
Accept: */*
[
  {
    "id": "text",
    "pickup": {
      "address": "Møllergata 6",
      "postalCode": "0159",
      "comment": "Please collect keys at the reception.",
      "contactName": "John Doe",
      "contactPhone": "+4712345678",
      "contactEmail": "john.doe@example.com",
      "notifyViaSMS": true,
      "interval": {
        "start": "2021-08-13T12:00:00Z",
        "end": "2021-08-13T14:00:00Z"
      }
    },
    "delivery": {
      "address": "Møllergata 6",
      "postalCode": "0159",
      "comment": "Please collect keys at the reception.",
      "contactName": "John Doe",
      "contactPhone": "+4712345678",
      "contactEmail": "john.doe@example.com",
      "notifyViaSMS": true,
      "interval": {
        "start": "2021-08-13T12:00:00Z",
        "end": "2021-08-13T14:00:00Z"
      }
    },
    "vehicle": {
      "model": "Volkswagen Passat",
      "regNumber": "AB12345",
      "temporaryPlates": true
    },
    "driver": {
      "name": "The Stig",
      "phone": "+4712345678",
      "photo": "https://example-bucket.s3.eu-north-1.amazonaws.com/driver-photos/abc/photo.jpg?X-Amz-Expires=3600&..."
    },
    "price": {
      "price": 1234,
      "currency": "NOK",
      "outOfArea": false
    },
    "customer": {
      "name": "John Doe",
      "phone": "+4712345678",
      "email": "johndoe@example.com"
    },
    "tripDetails": {
      "preDrive": {
        "comment": "Car required a jump start",
        "mileage": 12345,
        "photos": [
          {
            "original": "https://example.com/original.jpg",
            "thumbnail": "https://example.com/thumbnail.jpg"
          }
        ]
      },
      "postDrive": {
        "comment": "Car required a jump start",
        "mileage": 12345,
        "photos": [
          {
            "original": "https://example.com/original.jpg",
            "thumbnail": "https://example.com/thumbnail.jpg"
          }
        ]
      },
      "startedAt": "2021-08-13T12:00:00Z",
      "endedAt": "2021-08-13T12:00:00Z"
    },
    "status": "completed",
    "comment": "Please check the fuel level",
    "pickupCode": "eb9f",
    "createdAt": "2026-01-01T00:00:00.000Z",
    "updatedAt": "2026-01-01T00:00:00.000Z",
    "adminComment": "text",
    "companyId": "text",
    "companyName": "text",
    "addons": [
      "temporaryPlates",
      "booster",
      "carWash"
    ],
    "missedTripReason": "Car did not start",
    "hyreBookingId": "text",
    "referenceNumber": "text"
  }
]

Get Pud count

get

Get Pud count for a company

Header parameters
x-api-tokenstringRequired

Company API key

Responses
200

Pud count

application/json
countnumberRequired

count

get/api/v3/puds/count
GET /api/v3/puds/count HTTP/1.1
x-api-token: text
Accept: */*
{
  "count": 1
}

Upload Pud attachment

post

Upload a PDF attachment to a Pud by id

Path parameters
idstringRequired
Header parameters
x-api-tokenstringRequired

Company API key

Body
filestring · binaryRequired

PDF file to attach to the Pud

Responses
201

Pud attachment uploaded

application/json
idstringRequired

Attachment id

Example: 1234-qwerty-5678
fileNamestringRequired

Original file name

Example: job-document.pdf
originstringRequired

Public file URL

Example: https://files.giremobility.com/job_attachments/1234/file.pdf
post/api/v3/puds/{id}/attachments
POST /api/v3/puds/{id}/attachments HTTP/1.1
x-api-token: text
Content-Type: multipart/form-data
Accept: */*
Content-Length: 17

{
  "file": "binary"
}
{
  "id": "1234-qwerty-5678",
  "fileName": "job-document.pdf",
  "origin": "https://files.giremobility.com/job_attachments/1234/file.pdf"
}
Booking restrictions

Last updated