Gire Public API
  • Gire Public API (v3)
    • PUDs
      • Booking restrictions
      • Idempotent requests
    • Price
    • Webhooks
    • Errors
    • Test Account Setup
  • Gire Public API (v2)
Powered by GitBook
On this page
  1. Gire Public API (v3)

PUDs

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

PreviousGire Public API (v3)NextBooking restrictions

Last updated 4 days ago

Create a test account to get started.

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.

Immediate return bookings are eligible for a 25% discount:

For an immediate return PUD, the interval type specified is for the first leg of the trip.


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.


Update a PUD

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


Get PUD

You can retrieve

A-B-A bookings

A-B-C bookings (within standard delivery area)

A-B-C bookings (one or more locations outside standard delivery area)

✅
✅
❌
Booking restrictions
Test Account Setup

Get Pud count

get

Get Pud count for a company

Header parameters
x-api-tokenstringRequired

Company API key

Responses
200
Pud count
application/json
Responsenumber
401
Unauthorized
application/json
get
GET /api/v3/puds/count HTTP/1.1
Host: 
x-api-token: text
Accept: */*
1

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
400
Unable to cancel Pud
application/json
401
Unauthorized
application/json
404
Pud not found
application/json
delete
DELETE /api/v3/puds/{id} HTTP/1.1
Host: 
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",
    "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",
    "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.com/photo.jpg"
  },
  "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",
  "pickupCode": "ej8f",
  "createdAt": "2025-05-24T22:21:51.493Z",
  "updatedAt": "2025-05-24T22:21:51.493Z",
  "hyreBookingId": "text",
  "referenceNumber": "text"
}

Get Pud

get

Get Pud by id

Path parameters
idstringRequired
Header parameters
x-api-tokenstringRequired

Company API key

Responses
200
Pud found
application/json
401
Unauthorized
application/json
404
Pud not found
application/json
get
GET /api/v3/puds/{id} HTTP/1.1
Host: 
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",
    "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",
    "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.com/photo.jpg"
  },
  "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",
  "pickupCode": "ej8f",
  "createdAt": "2025-05-24T22:21:51.493Z",
  "updatedAt": "2025-05-24T22:21:51.493Z",
  "hyreBookingId": "text",
  "referenceNumber": "text"
}

Get Puds

get

Get Puds for a company

Header parameters
x-api-tokenstringRequired

Company API key

Responses
200
Puds found
application/json
401
Unauthorized
application/json
get
GET /api/v3/puds HTTP/1.1
Host: 
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",
      "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",
      "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.com/photo.jpg"
    },
    "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",
    "pickupCode": "ej8f",
    "createdAt": "2025-05-24T22:21:51.493Z",
    "updatedAt": "2025-05-24T22:21:51.493Z",
    "hyreBookingId": "text",
    "referenceNumber": "text"
  }
]

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
401
Unauthorized
application/json
404
Pud not found
application/json
patch
PATCH /api/v3/puds/{id} HTTP/1.1
Host: 
x-api-token: text
Content-Type: application/json
Accept: */*
Content-Length: 469

{
  "customer": {
    "name": "John Doe",
    "phone": "+4712345678",
    "email": "johndoe@example.com"
  },
  "pickup": {
    "comment": "Please collect keys at the reception.",
    "contactName": "John Doe",
    "contactPhone": "+4712345678"
  },
  "delivery": {
    "comment": "Please collect keys at the reception.",
    "contactName": "John Doe",
    "contactPhone": "+4712345678"
  },
  "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",
    "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",
    "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.com/photo.jpg"
  },
  "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",
  "pickupCode": "ej8f",
  "createdAt": "2025-05-24T22:21:51.493Z",
  "updatedAt": "2025-05-24T22:21:51.493Z",
  "hyreBookingId": "text",
  "referenceNumber": "text"
}
  • Create a PUD
  • POSTCreate Pud
  • POSTCreate immediate return Pud
  • Cancel a PUD
  • DELETECancel Pud
  • Update a PUD
  • PATCHUpdate Pud
  • Get PUD
  • GETGet Pud
  • GETGet Puds
  • GETGet Pud count

Create Pud

post

Create a Pud

Header parameters
x-api-tokenstringRequired

Company API key

Body
commentstringOptional

Comment

Example: This is a comment
hyreBookingIdstringOptional

Hyre booking id

Example: 123456
referenceNumberstringOptional

Reference number

Example: 123456
Responses
201
Pud created
application/json
401
Unauthorized
application/json
post
POST /api/v3/puds HTTP/1.1
Host: 
x-api-token: text
Content-Type: application/json
Accept: */*
Content-Length: 704

{
  "pickup": {
    "address": "Møllergata 6",
    "postalCode": "0159",
    "comment": "Please collect keys at the reception.",
    "contactName": "John Doe",
    "contactPhone": "+4712345678",
    "notifyViaSMS": true
  },
  "delivery": {
    "address": "Møllergata 6",
    "postalCode": "0159",
    "comment": "Please collect keys at the reception.",
    "contactName": "John Doe",
    "contactPhone": "+4712345678",
    "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"
  },
  "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",
    "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",
    "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.com/photo.jpg"
  },
  "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",
  "pickupCode": "ej8f",
  "createdAt": "2025-05-24T22:21:51.493Z",
  "updatedAt": "2025-05-24T22:21:51.493Z",
  "hyreBookingId": "text",
  "referenceNumber": "text"
}

Create immediate return Pud

post

Create a Pud with immediate return. The interval type is for the outbound leg.

Header parameters
x-api-tokenstringRequired

Company API key

Body
commentstringOptional

Comment

Example: This is a comment
hyreBookingIdstringOptional

Hyre booking id

Example: 123456
referenceNumberstringOptional

Reference number

Example: 123456
Responses
201
Immediate return Pud created
application/json
401
Unauthorized
application/json
post
POST /api/v3/puds/immediate-return HTTP/1.1
Host: 
x-api-token: text
Content-Type: application/json
Accept: */*
Content-Length: 984

{
  "pickup": {
    "address": "Møllergata 6",
    "postalCode": "0159",
    "comment": "Please collect keys at the reception.",
    "contactName": "John Doe",
    "contactPhone": "+4712345678",
    "notifyViaSMS": true
  },
  "delivery": {
    "address": "Møllergata 6",
    "postalCode": "0159",
    "comment": "Please collect keys at the reception.",
    "contactName": "John Doe",
    "contactPhone": "+4712345678",
    "notifyViaSMS": true
  },
  "returnDelivery": {
    "address": "Møllergata 6",
    "postalCode": "0159",
    "comment": "Please collect keys at the reception.",
    "contactName": "John Doe",
    "contactPhone": "+4712345678",
    "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
  },
  "returnVehicle": {
    "model": "Volkswagen Passat",
    "regNumber": "AB12345",
    "temporaryPlates": true
  },
  "customer": {
    "name": "John Doe",
    "phone": "+4712345678",
    "email": "johndoe@example.com"
  },
  "comment": "This is a comment",
  "hyreBookingId": "123456",
  "referenceNumber": "123456"
}
{
  "outboundPud": {
    "id": "text",
    "pickup": {
      "address": "Møllergata 6",
      "postalCode": "0159",
      "comment": "Please collect keys at the reception.",
      "contactName": "John Doe",
      "contactPhone": "+4712345678",
      "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",
      "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.com/photo.jpg"
    },
    "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",
    "pickupCode": "ej8f",
    "createdAt": "2025-05-24T22:21:51.493Z",
    "updatedAt": "2025-05-24T22:21:51.493Z",
    "hyreBookingId": "text",
    "referenceNumber": "text"
  },
  "returnPud": {
    "id": "text",
    "pickup": {
      "address": "Møllergata 6",
      "postalCode": "0159",
      "comment": "Please collect keys at the reception.",
      "contactName": "John Doe",
      "contactPhone": "+4712345678",
      "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",
      "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.com/photo.jpg"
    },
    "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",
    "pickupCode": "ej8f",
    "createdAt": "2025-05-24T22:21:51.493Z",
    "updatedAt": "2025-05-24T22:21:51.493Z",
    "hyreBookingId": "text",
    "referenceNumber": "text"
  }
}