OpenAPI Specification
openapi: 3.0.3
info:
title: Dott GBFS Discovery API
version: '2.3'
description: Dott's implementation of the General Bikeshare Feed Specification (GBFS) 2.3 for its shared e-scooter and e-bike fleets across European and Middle Eastern cities. The public feed set exposes real-time system information, vehicle types, pricing plans, free-floating vehicle status, geofencing zones, and (where operated as docked) station information and status. City is a path segment; the discovery document at /public/v2/gbfs.json lists every available city and feed. Partner integrators use an authenticated variant of the same feeds that carries stable (non-rotating) vehicle IDs.
contact:
name: Dott Partner Integrations
url: https://ridedott.dev/docs/services/gbfs/introduction/
license:
name: GBFS (Creative Commons / MobilityData)
url: https://github.com/MobilityData/gbfs/blob/v2.3/gbfs.md
servers:
- url: https://gbfs.api.ridedott.com/public/v2
description: Public GBFS 2.3 feeds (open, rotating vehicle IDs)
tags:
- name: Discovery
description: Auto-discovery of available feeds and cities
paths:
/gbfs.json:
get:
tags:
- Discovery
operationId: getGbfsDiscovery
summary: GBFS auto-discovery document
description: Lists every published feed URL for every available city, grouped by language.
responses:
'200':
description: Discovery document
content:
application/json:
schema:
$ref: '#/components/schemas/GbfsDiscovery'
/gbfs_versions.json:
get:
tags:
- Discovery
operationId: getGbfsVersions
summary: Supported GBFS versions
responses:
'200':
description: Versions list
content:
application/json:
schema:
$ref: '#/components/schemas/GbfsFeed'
components:
schemas:
GbfsFeed:
allOf:
- $ref: '#/components/schemas/GbfsEnvelope'
GbfsDiscovery:
allOf:
- $ref: '#/components/schemas/GbfsEnvelope'
- type: object
properties:
data:
type: object
additionalProperties:
type: object
properties:
feeds:
type: array
items:
type: object
properties:
name:
type: string
url:
type: string
format: uri
GbfsEnvelope:
type: object
description: Common GBFS envelope wrapping every feed response.
required:
- last_updated
- ttl
- version
- data
properties:
last_updated:
type: integer
description: POSIX timestamp of last data refresh
ttl:
type: integer
description: Seconds the response can be cached before refetching
version:
type: string
example: '2.3'
data:
type: object