3 Star 11 Fork 6

Gitee 极速下载/Traccar

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
此仓库是为了提升国内下载速度的镜像仓库,每日同步一次。 原始仓库: https://github.com/traccar/traccar
克隆/下载
openapi.yaml 60.93 KB
一键复制 编辑 原始数据 按行查看 历史
Anton Tananaev 提交于 2025-06-02 04:14 +08:00 . Update version number
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426
openapi: 3.1.0
info:
title: Traccar
description: Traccar GPS tracking server API documentation. To use the API you need to have a server instance. For testing purposes you can use one of free [demo servers](https://www.traccar.org/demo-server/). For production use you can install your own server or get a [subscription service](https://www.traccar.org/product/tracking-server/).
contact:
name: Traccar Support
url: https://www.traccar.org/
email: support@traccar.org
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0.html
version: '6.7.2'
servers:
- url: https://demo.traccar.org/api
description: Demo Server 1
- url: https://demo2.traccar.org/api
description: Demo Server 2
- url: https://demo3.traccar.org/api
description: Demo Server 3
- url: https://demo4.traccar.org/api
description: Demo Server 4
- url: https://server.traccar.org/api
description: Subscription Server
- url: http://{host}:{port}/api
description: Other Server
variables:
host:
default: localhost
port:
enum:
- '8082'
- '80'
default: '8082'
security:
- BasicAuth: []
- ApiKey: []
tags:
- name: Server
description: Server information
- name: Session
description: User session management
- name: Devices
description: Device management
- name: Groups
description: Group management
- name: Users
description: User management
- name: Permissions
description: User permissions and other object linking
- name: Positions
description: Retrieving raw location information
- name: Events
description: Retrieving event information
- name: Reports
description: Reports generation
- name: Notifications
description: User notifications management
- name: Geofences
description: Geofence management
- name: Commands
description: Sending commands to devices and stored command management
- name: Attributes
description: Computed attributes management
- name: Drivers
description: Drivers management
- name: Maintenance
description: Maintenance management
- name: Calendars
description: Calendar management
- name: Statistics
description: Retrieving server statistics
paths:
/commands:
get:
summary: Fetch a list of Saved Commands
tags:
- Commands
description: Without params, it returns a list of Saved Commands the user has access to
parameters:
- name: all
in: query
description: Can only be used by admins or managers to fetch all entities
schema:
type: boolean
- name: userId
in: query
description: Standard users can use this only with their own _userId_
schema:
type: integer
- name: deviceId
in: query
description: Standard users can use this only with _deviceId_s, they have access to
schema:
type: integer
- name: groupId
in: query
description: >-
Standard users can use this only with _groupId_s, they have access
to
schema:
type: integer
- name: refresh
in: query
schema:
type: boolean
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Command'
post:
summary: Create a Saved Command
tags:
- Commands
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Command'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Command'
x-codegen-request-body-name: body
/commands/{id}:
put:
summary: Update a Saved Command
tags:
- Commands
parameters:
- name: id
in: path
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Command'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Command'
x-codegen-request-body-name: body
delete:
summary: Delete a Saved Command
tags:
- Commands
parameters:
- name: id
in: path
required: true
schema:
type: integer
responses:
'204':
description: No Content
content: {}
/commands/send:
get:
summary: Fetch a list of Saved Commands supported by Device at the moment
description: >-
Return a list of saved commands linked to Device and its groups,
filtered by current Device protocol support
tags:
- Commands
parameters:
- name: deviceId
in: query
description: >-
Standard users can use this only with _deviceId_s, they have access
to
schema:
type: integer
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Command'
'400':
description: Could happen when the user doesn't have permission for the device
content: {}
post:
summary: Dispatch commands to device
description: Dispatch a new command or Saved Command if _body.id_ set
tags:
- Commands
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Command'
required: true
responses:
'200':
description: Command sent
content:
application/json:
schema:
$ref: '#/components/schemas/Command'
'202':
description: Command queued
content:
application/json:
schema:
$ref: '#/components/schemas/Command'
'400':
description: >-
Could happen when the user doesn't have permission or an incorrect
command _type_ for the device
content: {}
x-codegen-request-body-name: body
/commands/types:
get:
summary: >-
Fetch a list of available Commands for the Device or all possible
Commands if Device ommited
tags:
- Commands
parameters:
- name: deviceId
in: query
description: >-
Internal device identifier. Only works if device has already
reported some locations
schema:
type: integer
- name: protocol
in: query
description: Protocol name. Can be used instead of device id
schema:
type: string
- name: textChannel
in: query
description: >-
When `true` return SMS commands. If not specified or `false` return
data commands
schema:
type: boolean
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CommandType'
'400':
description: >-
Could happen when trying to fetch from a device the user does not
have permission
content: {}
/devices:
get:
summary: Fetch a list of Devices
description: Without any params, returns a list of the user's devices
tags:
- Devices
parameters:
- name: all
in: query
description: Can only be used by admins or managers to fetch all entities
schema:
type: boolean
- name: userId
in: query
description: Standard users can use this only with their own _userId_
schema:
type: integer
- name: id
in: query
description: >-
To fetch one or more devices. Multiple params can be passed like
`id=31&id=42`
schema:
type: integer
- name: uniqueId
in: query
description: >-
To fetch one or more devices. Multiple params can be passed like
`uniqueId=333331&uniqieId=44442`
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Device'
'400':
description: No permission
content: {}
post:
summary: Create a Device
tags:
- Devices
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Device'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Device'
x-codegen-request-body-name: body
/devices/{id}:
put:
summary: Update a Device
tags:
- Devices
parameters:
- name: id
in: path
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Device'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Device'
x-codegen-request-body-name: body
delete:
summary: Delete a Device
tags:
- Devices
parameters:
- name: id
in: path
required: true
schema:
type: integer
responses:
'204':
description: No Content
content: {}
/devices/{id}/accumulators:
put:
summary: Update total distance and hours of the Device
tags:
- Devices
parameters:
- name: id
in: path
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DeviceAccumulators'
required: true
responses:
'204':
description: No Content
content: {}
x-codegen-request-body-name: body
/groups:
get:
summary: Fetch a list of Groups
description: Without any params, returns a list of the Groups the user belongs to
tags:
- Groups
parameters:
- name: all
in: query
description: Can only be used by admins or managers to fetch all entities
schema:
type: boolean
- name: userId
in: query
description: Standard users can use this only with their own _userId_
schema:
type: integer
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Group'
post:
summary: Create a Group
tags:
- Groups
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Group'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Group'
'400':
description: No permission
content: {}
x-codegen-request-body-name: body
/groups/{id}:
put:
summary: Update a Group
tags:
- Groups
parameters:
- name: id
in: path
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Group'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Group'
x-codegen-request-body-name: body
delete:
summary: Delete a Group
tags:
- Groups
parameters:
- name: id
in: path
required: true
schema:
type: integer
responses:
'204':
description: No Content
content: {}
/permissions:
post:
summary: Link an Object to another Object
tags:
- Permissions
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Permission'
required: true
responses:
'204':
description: No Content
content: {}
'400':
description: No permission
content: {}
x-codegen-request-body-name: body
delete:
summary: Unlink an Object from another Object
tags:
- Permissions
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Permission'
required: true
responses:
'204':
description: No Content
content: {}
x-codegen-request-body-name: body
/positions:
get:
summary: Fetches a list of Positions
description: >-
We strongly recommend using [Traccar WebSocket
API](https://www.traccar.org/traccar-api/) instead of periodically
polling positions endpoint. Without any params, it returns a list of
last known positions for all the user's Devices. _from_ and _to_ fields
are not required with _id_.
tags:
- Positions
parameters:
- name: deviceId
in: query
description: >-
_deviceId_ is optional, but requires the _from_ and _to_ parameters
when used
schema:
type: integer
- name: from
in: query
description: in ISO 8601 format. eg. `1963-11-22T18:30:00Z`
schema:
type: string
format: date-time
- name: to
in: query
description: in ISO 8601 format. eg. `1963-11-22T18:30:00Z`
schema:
type: string
format: date-time
- name: id
in: query
description: >-
To fetch one or more positions. Multiple params can be passed like
`id=31&id=42`
schema:
type: integer
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Position'
text/csv:
schema:
type: array
items:
$ref: '#/components/schemas/Position'
application/gpx+xml:
schema:
type: array
items:
$ref: '#/components/schemas/Position'
delete:
summary: Deletes all the Positions of a device in the time span specified
description: ''
tags:
- Positions
parameters:
- name: deviceId
in: query
description: ''
schema:
type: integer
required: true
- name: from
in: query
description: in ISO 8601 format. eg. `1963-11-22T18:30:00Z`
schema:
type: string
format: date-time
required: true
- name: to
in: query
description: in ISO 8601 format. eg. `1963-11-22T18:30:00Z`
schema:
type: string
format: date-time
required: true
responses:
'204':
description: No Content
content: {}
'400':
description: Bad Request
content: {}
/positions/{id}:
delete:
summary: Delete a Position
tags:
- Positions
parameters:
- name: id
in: path
required: true
schema:
type: integer
responses:
'204':
description: No Content
content: {}
'404':
description: Not Found
content: {}
/server:
get:
summary: Fetch Server information
tags:
- Server
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Server'
put:
summary: Update Server information
tags:
- Server
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Server'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Server'
x-codegen-request-body-name: body
/session:
get:
summary: Fetch Session information
tags:
- Session
parameters:
- name: token
in: query
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/User'
'404':
description: Not Found
content: {}
post:
summary: Create a new Session
tags:
- Session
requestBody:
content:
application/x-www-form-urlencoded:
schema:
required:
- email
- password
properties:
email:
type: string
password:
type: string
format: password
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/User'
'401':
description: Unauthorized
content: {}
delete:
summary: Close the Session
tags:
- Session
responses:
'204':
description: No Content
content: {}
/session/openid/auth:
get:
summary: Fetch Session information
tags:
- Session
responses:
'303':
description: Redirect to OpenID Connect identity provider
content: {}
/session/openid/callback:
get:
summary: OpenID Callback
tags:
- Session
responses:
'303':
description: Successful authentication, redirect to homepage
content: {}
/users:
get:
summary: Fetch a list of Users
tags:
- Users
parameters:
- name: userId
in: query
description: Can only be used by admin or manager users
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/User'
'400':
description: No Permission
content: {}
post:
summary: Create a User
tags:
- Users
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/User'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/User'
x-codegen-request-body-name: body
/users/{id}:
put:
summary: Update a User
tags:
- Users
parameters:
- name: id
in: path
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/User'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/User'
x-codegen-request-body-name: body
delete:
summary: Delete a User
tags:
- Users
parameters:
- name: id
in: path
required: true
schema:
type: integer
responses:
'204':
description: No Content
content: {}
/notifications:
get:
summary: Fetch a list of Notifications
description: >-
Without params, it returns a list of Notifications the user has access
to
tags:
- Notifications
parameters:
- name: all
in: query
description: Can only be used by admins or managers to fetch all entities
schema:
type: boolean
- name: userId
in: query
description: Standard users can use this only with their own _userId_
schema:
type: integer
- name: deviceId
in: query
description: >-
Standard users can use this only with _deviceId_s, they have access
to
schema:
type: integer
- name: groupId
in: query
description: >-
Standard users can use this only with _groupId_s, they have access
to
schema:
type: integer
- name: refresh
in: query
schema:
type: boolean
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Notification'
post:
summary: Create a Notification
tags:
- Notifications
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Notification'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Notification'
x-codegen-request-body-name: body
/notifications/{id}:
put:
summary: Update a Notification
tags:
- Notifications
parameters:
- name: id
in: path
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Notification'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Notification'
x-codegen-request-body-name: body
delete:
summary: Delete a Notification
tags:
- Notifications
parameters:
- name: id
in: path
required: true
schema:
type: integer
responses:
'204':
description: No Content
content: {}
/notifications/types:
get:
summary: Fetch a list of available Notification types
tags:
- Notifications
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/NotificationType'
/notifications/test:
post:
summary: Send test notification to current user via Email and SMS
tags:
- Notifications
responses:
'204':
description: Successful sending
content: {}
'400':
description: Could happen if sending has failed
content: {}
/geofences:
get:
summary: Fetch a list of Geofences
description: Without params, it returns a list of Geofences the user has access to
tags:
- Geofences
parameters:
- name: all
in: query
description: Can only be used by admins or managers to fetch all entities
schema:
type: boolean
- name: userId
in: query
description: Standard users can use this only with their own _userId_
schema:
type: integer
- name: deviceId
in: query
description: >-
Standard users can use this only with _deviceId_s, they have access
to
schema:
type: integer
- name: groupId
in: query
description: >-
Standard users can use this only with _groupId_s, they have access
to
schema:
type: integer
- name: refresh
in: query
schema:
type: boolean
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Geofence'
post:
summary: Create a Geofence
tags:
- Geofences
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Geofence'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Geofence'
x-codegen-request-body-name: body
/geofences/{id}:
put:
summary: Update a Geofence
tags:
- Geofences
parameters:
- name: id
in: path
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Geofence'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Geofence'
x-codegen-request-body-name: body
delete:
summary: Delete a Geofence
tags:
- Geofences
parameters:
- name: id
in: path
required: true
schema:
type: integer
responses:
'204':
description: No Content
content: {}
/events/{id}:
get:
tags:
- Events
parameters:
- name: id
in: path
required: true
schema:
type: integer
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Event'
/reports/route:
get:
summary: >-
Fetch a list of Positions within the time period for the Devices or
Groups
description: At least one _deviceId_ or one _groupId_ must be passed
tags:
- Reports
parameters:
- name: deviceId
in: query
style: form
explode: true
schema:
type: array
items:
type: integer
- name: groupId
in: query
style: form
explode: true
schema:
type: array
items:
type: integer
- name: from
in: query
description: in ISO 8601 format. eg. `1963-11-22T18:30:00Z`
required: true
schema:
type: string
format: date-time
- name: to
in: query
description: in ISO 8601 format. eg. `1963-11-22T18:30:00Z`
required: true
schema:
type: string
format: date-time
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Position'
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet:
schema:
type: array
items:
$ref: '#/components/schemas/Position'
/reports/events:
get:
summary: Fetch a list of Events within the time period for the Devices or Groups
description: At least one _deviceId_ or one _groupId_ must be passed
tags:
- Reports
parameters:
- name: deviceId
in: query
style: form
explode: true
schema:
type: array
items:
type: integer
- name: groupId
in: query
style: form
explode: true
schema:
type: array
items:
type: integer
- name: type
in: query
description: '% can be used to return events of all types'
style: form
explode: false
schema:
type: array
items:
type: string
- name: from
in: query
description: in ISO 8601 format. eg. `1963-11-22T18:30:00Z`
required: true
schema:
type: string
format: date-time
- name: to
in: query
description: in ISO 8601 format. eg. `1963-11-22T18:30:00Z`
required: true
schema:
type: string
format: date-time
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Event'
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet:
schema:
type: array
items:
$ref: '#/components/schemas/Event'
/reports/summary:
get:
summary: >-
Fetch a list of ReportSummary within the time period for the Devices or
Groups
description: At least one _deviceId_ or one _groupId_ must be passed
tags:
- Reports
parameters:
- name: deviceId
in: query
style: form
explode: true
schema:
type: array
items:
type: integer
- name: groupId
in: query
style: form
explode: true
schema:
type: array
items:
type: integer
- name: from
in: query
description: in ISO 8601 format. eg. `1963-11-22T18:30:00Z`
required: true
schema:
type: string
format: date-time
- name: to
in: query
description: in ISO 8601 format. eg. `1963-11-22T18:30:00Z`
required: true
schema:
type: string
format: date-time
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ReportSummary'
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet:
schema:
type: array
items:
$ref: '#/components/schemas/ReportSummary'
/reports/trips:
get:
summary: >-
Fetch a list of ReportTrips within the time period for the Devices or
Groups
description: At least one _deviceId_ or one _groupId_ must be passed
tags:
- Reports
parameters:
- name: deviceId
in: query
style: form
explode: true
schema:
type: array
items:
type: integer
- name: groupId
in: query
style: form
explode: true
schema:
type: array
items:
type: integer
- name: from
in: query
description: in ISO 8601 format. eg. `1963-11-22T18:30:00Z`
required: true
schema:
type: string
format: date-time
- name: to
in: query
description: in ISO 8601 format. eg. `1963-11-22T18:30:00Z`
required: true
schema:
type: string
format: date-time
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ReportTrips'
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet:
schema:
type: array
items:
$ref: '#/components/schemas/ReportTrips'
/reports/stops:
get:
summary: >-
Fetch a list of ReportStops within the time period for the Devices or
Groups
description: At least one _deviceId_ or one _groupId_ must be passed
tags:
- Reports
parameters:
- name: deviceId
in: query
style: form
explode: true
schema:
type: array
items:
type: integer
- name: groupId
in: query
style: form
explode: true
schema:
type: array
items:
type: integer
- name: from
in: query
description: in ISO 8601 format. eg. `1963-11-22T18:30:00Z`
required: true
schema:
type: string
format: date-time
- name: to
in: query
description: in ISO 8601 format. eg. `1963-11-22T18:30:00Z`
required: true
schema:
type: string
format: date-time
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ReportStops'
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet:
schema:
type: array
items:
$ref: '#/components/schemas/ReportStops'
/statistics:
get:
summary: Fetch server Statistics
tags:
- Statistics
parameters:
- name: from
in: query
description: in ISO 8601 format. eg. `1963-11-22T18:30:00Z`
required: true
schema:
type: string
format: date-time
- name: to
in: query
description: in ISO 8601 format. eg. `1963-11-22T18:30:00Z`
required: true
schema:
type: string
format: date-time
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Statistics'
/calendars:
get:
summary: Fetch a list of Calendars
description: Without params, it returns a list of Calendars the user has access to
tags:
- Calendars
parameters:
- name: all
in: query
description: Can only be used by admins or managers to fetch all entities
schema:
type: boolean
- name: userId
in: query
description: Standard users can use this only with their own _userId_
schema:
type: integer
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Calendar'
post:
summary: Create a Calendar
tags:
- Calendars
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Calendar'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Calendar'
x-codegen-request-body-name: body
/calendars/{id}:
put:
summary: Update a Calendar
tags:
- Calendars
parameters:
- name: id
in: path
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Calendar'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Calendar'
x-codegen-request-body-name: body
delete:
summary: Delete a Calendar
tags:
- Calendars
parameters:
- name: id
in: path
required: true
schema:
type: integer
responses:
'204':
description: No Content
content: {}
/attributes/computed:
get:
summary: Fetch a list of Attributes
description: Without params, it returns a list of Attributes the user has access to
tags:
- Attributes
parameters:
- name: all
in: query
description: Can only be used by admins or managers to fetch all entities
schema:
type: boolean
- name: userId
in: query
description: Standard users can use this only with their own _userId_
schema:
type: integer
- name: deviceId
in: query
description: >-
Standard users can use this only with _deviceId_s, they have access
to
schema:
type: integer
- name: groupId
in: query
description: >-
Standard users can use this only with _groupId_s, they have access
to
schema:
type: integer
- name: refresh
in: query
schema:
type: boolean
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Attribute'
post:
summary: Create an Attribute
tags:
- Attributes
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Attribute'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Attribute'
x-codegen-request-body-name: body
/attributes/computed/{id}:
put:
summary: Update an Attribute
tags:
- Attributes
parameters:
- name: id
in: path
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Attribute'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Attribute'
x-codegen-request-body-name: body
delete:
summary: Delete an Attribute
tags:
- Attributes
parameters:
- name: id
in: path
required: true
schema:
type: integer
responses:
'204':
description: No Content
content: {}
/drivers:
get:
summary: Fetch a list of Drivers
description: Without params, it returns a list of Drivers the user has access to
tags:
- Drivers
parameters:
- name: all
in: query
description: Can only be used by admins or managers to fetch all entities
schema:
type: boolean
- name: userId
in: query
description: Standard users can use this only with their own _userId_
schema:
type: integer
- name: deviceId
in: query
description: >-
Standard users can use this only with _deviceId_s, they have access
to
schema:
type: integer
- name: groupId
in: query
description: >-
Standard users can use this only with _groupId_s, they have access
to
schema:
type: integer
- name: refresh
in: query
schema:
type: boolean
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Driver'
post:
summary: Create a Driver
tags:
- Drivers
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Driver'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Driver'
x-codegen-request-body-name: body
/drivers/{id}:
put:
summary: Update a Driver
tags:
- Drivers
parameters:
- name: id
in: path
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Driver'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Driver'
x-codegen-request-body-name: body
delete:
summary: Delete a Driver
tags:
- Drivers
parameters:
- name: id
in: path
required: true
schema:
type: integer
responses:
'204':
description: No Content
content: {}
/maintenance:
get:
summary: Fetch a list of Maintenance
description: Without params, it returns a list of Maintenance the user has access to
tags:
- Maintenance
parameters:
- name: all
in: query
description: Can only be used by admins or managers to fetch all entities
schema:
type: boolean
- name: userId
in: query
description: Standard users can use this only with their own _userId_
schema:
type: integer
- name: deviceId
in: query
description: >-
Standard users can use this only with _deviceId_s, they have access
to
schema:
type: integer
- name: groupId
in: query
description: >-
Standard users can use this only with _groupId_s, they have access
to
schema:
type: integer
- name: refresh
in: query
schema:
type: boolean
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Maintenance'
post:
summary: Create a Maintenance
tags:
- Maintenance
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Maintenance'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Maintenance'
x-codegen-request-body-name: body
/maintenance/{id}:
put:
summary: Update a Maintenance
tags:
- Maintenance
parameters:
- name: id
in: path
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Maintenance'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Maintenance'
x-codegen-request-body-name: body
delete:
summary: Delete a Maintenance
tags:
- Maintenance
parameters:
- name: id
in: path
required: true
schema:
type: integer
responses:
'204':
description: No Content
content: {}
components:
schemas:
Position:
type: object
properties:
id:
type: integer
format: int64
deviceId:
type: integer
format: int64
protocol:
type: string
deviceTime:
type: string
description: in ISO 8601 format. eg. `1963-11-22T18:30:00Z`
format: date-time
fixTime:
type: string
description: in ISO 8601 format. eg. `1963-11-22T18:30:00Z`
format: date-time
serverTime:
type: string
description: in ISO 8601 format. eg. `1963-11-22T18:30:00Z`
format: date-time
outdated:
type: boolean
valid:
type: boolean
latitude:
type: number
longitude:
type: number
altitude:
type: number
speed:
type: number
description: in knots
course:
type: number
address:
type: string
accuracy:
type: number
network:
type: object
properties: {}
geofenceIds:
type: array
items:
type: integer
attributes:
type: object
properties: {}
User:
type: object
properties:
id:
type: integer
format: int64
name:
type: string
email:
type: string
phone:
type: string
nullable: true
readonly:
type: boolean
administrator:
type: boolean
map:
type: string
nullable: true
latitude:
type: number
longitude:
type: number
zoom:
type: integer
password:
type: string
coordinateFormat:
type: string
nullable: true
disabled:
type: boolean
expirationTime:
type: string
description: in ISO 8601 format. eg. `1963-11-22T18:30:00Z`
format: date-time
nullable: true
deviceLimit:
type: integer
userLimit:
type: integer
deviceReadonly:
type: boolean
limitCommands:
type: boolean
fixedEmail:
type: boolean
poiLayer:
type: string
nullable: true
attributes:
type: object
properties: {}
Server:
type: object
properties:
id:
type: integer
format: int64
registration:
type: boolean
readonly:
type: boolean
deviceReadonly:
type: boolean
limitCommands:
type: boolean
map:
type: string
bingKey:
type: string
mapUrl:
type: string
poiLayer:
type: string
latitude:
type: number
longitude:
type: number
zoom:
type: integer
version:
type: string
forceSettings:
type: boolean
coordinateFormat:
type: string
openIdEnabled:
type: boolean
openIdForce:
type: boolean
attributes:
type: object
properties: {}
Command:
type: object
properties:
id:
type: integer
format: int64
deviceId:
type: integer
format: int64
description:
type: string
type:
type: string
attributes:
type: object
properties: {}
Device:
type: object
properties:
id:
type: integer
format: int64
name:
type: string
uniqueId:
type: string
status:
type: string
disabled:
type: boolean
lastUpdate:
type: string
description: in ISO 8601 format. eg. `1963-11-22T18:30:00Z`
format: date-time
nullable: true
positionId:
type: integer
format: int64
nullable: true
groupId:
type: integer
format: int64
nullable: true
phone:
type: string
nullable: true
model:
type: string
nullable: true
contact:
type: string
nullable: true
category:
type: string
nullable: true
attributes:
type: object
properties: {}
Group:
type: object
properties:
id:
type: integer
format: int64
name:
type: string
groupId:
type: integer
format: int64
attributes:
type: object
properties: {}
Permission:
type: object
properties:
userId:
type: integer
format: int64
description: User id, can be only first parameter
deviceId:
type: integer
format: int64
description: >-
Device id, can be first parameter or second only in combination with
userId
groupId:
type: integer
format: int64
description: >-
Group id, can be first parameter or second only in combination with
userId
geofenceId:
type: integer
format: int64
description: Geofence id, can be second parameter only
notificationId:
type: integer
format: int64
description: Notification id, can be second parameter only
calendarId:
type: integer
format: int64
description: >-
Calendar id, can be second parameter only and only in combination
with userId
attributeId:
type: integer
format: int64
description: Computed attribute id, can be second parameter only
driverId:
type: integer
format: int64
description: Driver id, can be second parameter only
managedUserId:
type: integer
format: int64
description: >-
User id, can be second parameter only and only in combination with
userId
commandId:
type: integer
format: int64
description: Saved command id, can be second parameter only
description: >-
This is a permission map that contain two object indexes. It is used to
link/unlink objects. Order is important. Example: { deviceId:8,
geofenceId: 16 }
CommandType:
type: object
properties:
type:
type: string
Geofence:
type: object
properties:
id:
type: integer
format: int64
name:
type: string
description:
type: string
area:
type: string
calendarId:
type: integer
format: int64
attributes:
type: object
properties: {}
Notification:
type: object
properties:
id:
type: integer
format: int64
type:
type: string
description:
type: string
nullable: true
always:
type: boolean
commandId:
type: integer
format: int64
notificators:
type: string
calendarId:
type: integer
format: int64
attributes:
type: object
properties: {}
NotificationType:
type: object
properties:
type:
type: string
Event:
type: object
properties:
id:
type: integer
format: int64
type:
type: string
eventTime:
type: string
description: in ISO 8601 format. eg. `1963-11-22T18:30:00Z`
format: date-time
deviceId:
type: integer
format: int64
positionId:
type: integer
format: int64
geofenceId:
type: integer
format: int64
maintenanceId:
type: integer
attributes:
type: object
properties: {}
ReportSummary:
type: object
properties:
deviceId:
type: integer
format: int64
deviceName:
type: string
maxSpeed:
type: number
description: in knots
averageSpeed:
type: number
description: in knots
distance:
type: number
description: in meters
spentFuel:
type: number
description: in liters
engineHours:
type: integer
ReportTrips:
type: object
properties:
deviceId:
type: integer
format: int64
deviceName:
type: string
maxSpeed:
type: number
description: in knots
averageSpeed:
type: number
description: in knots
distance:
type: number
description: in meters
spentFuel:
type: number
description: in liters
duration:
type: integer
startTime:
type: string
description: in ISO 8601 format. eg. `1963-11-22T18:30:00Z`
format: date-time
startAddress:
type: string
startLat:
type: number
startLon:
type: number
endTime:
type: string
description: in ISO 8601 format. eg. `1963-11-22T18:30:00Z`
format: date-time
endAddress:
type: string
endLat:
type: number
endLon:
type: number
driverUniqueId:
type: string
driverName:
type: string
ReportStops:
type: object
properties:
deviceId:
type: integer
format: int64
deviceName:
type: string
duration:
type: integer
startTime:
type: string
description: in ISO 8601 format. eg. `1963-11-22T18:30:00Z`
format: date-time
address:
type: string
lat:
type: number
lon:
type: number
endTime:
type: string
description: in ISO 8601 format. eg. `1963-11-22T18:30:00Z`
format: date-time
spentFuel:
type: number
description: in liters
engineHours:
type: integer
Statistics:
type: object
properties:
captureTime:
type: string
description: in ISO 8601 format. eg. `1963-11-22T18:30:00Z`
format: date-time
activeUsers:
type: integer
activeDevices:
type: integer
requests:
type: integer
messagesReceived:
type: integer
messagesStored:
type: integer
DeviceAccumulators:
type: object
properties:
deviceId:
type: integer
format: int64
totalDistance:
type: number
description: in meters
hours:
type: number
Calendar:
type: object
properties:
id:
type: integer
format: int64
name:
type: string
data:
type: string
description: base64 encoded in iCalendar format
attributes:
type: object
properties: {}
Attribute:
type: object
properties:
id:
type: integer
format: int64
description:
type: string
attribute:
type: string
expression:
type: string
type:
type: string
description: String|Number|Boolean
Driver:
type: object
properties:
id:
type: integer
format: int64
name:
type: string
uniqueId:
type: string
attributes:
type: object
properties: {}
Maintenance:
type: object
properties:
id:
type: integer
format: int64
name:
type: string
type:
type: string
start:
type: number
period:
type: number
attributes:
type: object
properties: {}
parameters:
entityId:
name: id
in: path
required: true
schema:
type: integer
format: int64
all:
name: all
in: query
description: Can only be used by admins or managers to fetch all entities
schema:
type: boolean
refresh:
name: refresh
in: query
schema:
type: boolean
userId:
name: userId
in: query
description: Standard users can use this only with their own _userId_
schema:
type: integer
format: int64
deviceId:
name: deviceId
in: query
description: Standard users can use this only with _deviceId_s, they have access to
schema:
type: integer
format: int64
groupId:
name: groupId
in: query
description: Standard users can use this only with _groupId_s, they have access to
schema:
type: integer
format: int64
deviceIdArray:
name: deviceId
in: query
style: form
explode: true
schema:
type: array
items:
type: integer
format: int64
groupIdArray:
name: groupId
in: query
style: form
explode: true
schema:
type: array
items:
type: integer
format: int64
fromTime:
name: from
in: query
description: in ISO 8601 format. eg. `1963-11-22T18:30:00Z`
required: true
schema:
type: string
format: date-time
toTime:
name: to
in: query
description: in ISO 8601 format. eg. `1963-11-22T18:30:00Z`
required: true
schema:
type: string
format: date-time
requestBodies:
Device:
content:
application/json:
schema:
$ref: '#/components/schemas/Device'
required: true
Permission:
content:
application/json:
schema:
$ref: '#/components/schemas/Permission'
required: true
Group:
content:
application/json:
schema:
$ref: '#/components/schemas/Group'
required: true
User:
content:
application/json:
schema:
$ref: '#/components/schemas/User'
required: true
Geofence:
content:
application/json:
schema:
$ref: '#/components/schemas/Geofence'
required: true
Calendar:
content:
application/json:
schema:
$ref: '#/components/schemas/Calendar'
required: true
Attribute:
content:
application/json:
schema:
$ref: '#/components/schemas/Attribute'
required: true
Driver:
content:
application/json:
schema:
$ref: '#/components/schemas/Driver'
required: true
Command:
content:
application/json:
schema:
$ref: '#/components/schemas/Command'
required: true
Notification:
content:
application/json:
schema:
$ref: '#/components/schemas/Notification'
required: true
Maintenance:
content:
application/json:
schema:
$ref: '#/components/schemas/Maintenance'
required: true
securitySchemes:
BasicAuth:
type: http
scheme: basic
ApiKey:
type: http
scheme: bearer
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/mirrors/Traccar.git
git@gitee.com:mirrors/Traccar.git
mirrors
Traccar
Traccar
master

搜索帮助