PUDs
A PUD (pickup-and-delivery) is what we call a booking at Gire Mobility.
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 a Pud
Company API key
Specify ID of company to place booking
90sdfjs09fdsComment
This is a commentHyre booking id
123456Reference number
123456Pud created
id
Status of the trip
completedPossible values: Comment
Please check the fuel levelPickup code
eb9fCreated at
Updated at
Admin comment
The company which the pud belongs to
The name of the company which the pud belongs to
Addons for this trip
["temporaryPlates","booster","carWash"]Missed trip reason
Car did not startHyre booking id
Reference number
INVALID_BOOKING_INTERVAL
VALIDATION_ERROR
UNAUTHORIZED
BOOKING_BAN
BOOKING_BLOCKED
Unprocessable entity, multiple error types possible. See examples.
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 a Pud by id. If Pud is part of an immediate return Pud, both legs will be cancelled.
Company API key
Pud successfully cancelled
id
Status of the trip
completedPossible values: Comment
Please check the fuel levelPickup code
eb9fCreated at
Updated at
Admin comment
The company which the pud belongs to
The name of the company which the pud belongs to
Addons for this trip
["temporaryPlates","booster","carWash"]Missed trip reason
Car did not startHyre booking id
Reference number
UNAUTHORIZED
NOT_FOUND
CANNOT_CANCEL_PUD
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 a Pud by id
Company API key
Comment
Please handle with careReference number
REF123456Hyre booking id
123456Pud updated
id
Status of the trip
completedPossible values: Comment
Please check the fuel levelPickup code
eb9fCreated at
Updated at
Admin comment
The company which the pud belongs to
The name of the company which the pud belongs to
Addons for this trip
["temporaryPlates","booster","carWash"]Missed trip reason
Car did not startHyre booking id
Reference number
VALIDATION_ERROR
UNAUTHORIZED
NOT_FOUND
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 by id
Company API key
Pud found
id
Status of the trip
completedPossible values: Comment
Please check the fuel levelPickup code
eb9fCreated at
Updated at
Admin comment
The company which the pud belongs to
The name of the company which the pud belongs to
Addons for this trip
["temporaryPlates","booster","carWash"]Missed trip reason
Car did not startHyre booking id
Reference number
UNAUTHORIZED
NOT_FOUND
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 for a company
Narrow results to specific companies within the key's scope (comma-separated or repeated). Omit to return everything the key can see.
["68a1f0c2e4b0a1c2d3e4f5a6"]The page number to return
1Example: 1The number of items to return per page
10Example: 10The date to filter by pickup date from
2025-01-01T00:00:00.000ZThe date to filter by pickup date to
2025-12-01T00:00:00.000ZThe search query to filter by
123456The status to filter by
completedThe field to sort by
createdAtExample: createdAtThe direction to sort by
descExample: descCompany API key
Pud list
VALIDATION_ERROR
UNAUTHORIZED
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": [
[]
]
}Get Puds for a company
Company API key
Puds found
id
Status of the trip
completedPossible values: Comment
Please check the fuel levelPickup code
eb9fCreated at
Updated at
Admin comment
The company which the pud belongs to
The name of the company which the pud belongs to
Addons for this trip
["temporaryPlates","booster","carWash"]Missed trip reason
Car did not startHyre booking id
Reference number
UNAUTHORIZED
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"
}
]Upload a PDF attachment to a Pud by id
Company API key
PDF file to attach to the Pud
Pud attachment uploaded
Attachment id
1234-qwerty-5678Original file name
job-document.pdfPublic file URL
https://files.giremobility.com/job_attachments/1234/file.pdfNo file uploaded, unsupported file type, or file too large
UNAUTHORIZED
NOT_FOUND
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"
}Last updated

