Skip to content

FPP 5.0 API Migration

Greg Hormann edited this page Feb 7, 2021 · 83 revisions

FPP 5.0 API Migration Documentation

With FPP 5.0, the FPP will be deprecating the fppjson.php and fppxml.php APIs. Relevant end points will be ported to the REST api which is already documented on every FPP instance using /apihelp.php page. This document is being used to track progress. Where known, this also describes where external systems like xLights or older multi-sync interfaces depend on the legacy end point. Going forward, the follow conventions will be used for the REST API

  • GET - Fetch value
  • PUT - Update a value
  • POST - Create new (or replace full)
  • DELETE - Remove record

Parameters

  • Required parameters will appear as /api/base/:parm1/:parm2
  • Optional parameters will be implemented as /api/base?parm1=val&parm2=val

Conversion Status

  • PROPOSED : Will be replaced by not designed yet
  • PROPOSED : New Endpoint Proposed
  • DESIGNED : End point agreed to by dev team but not yet implemented.
  • API READY : End point implemented, but UI not updated to use it everywhere.
  • COMPLETE : New Endpoint in Master and FPP Endpoint updated to use it.
  • KEPT LEGACY : New Endpoint in Master and FPP Endpoint updated to use it but old API kept for backwards compatibility.

fppjson.php

Old Endpoint New End Point Used Externally by Status
getOutputProcessors GET /api/outputProcessors NONE PROPOSED
setOutputProcessors POST /api/outputProcessors (still full JSON) NONE PROPOSED
getChannelOutputs GET /api/channelOutputs xLights (ALL) PROPOSED
setChannelOutputs POST /api/channelOutputs (still full JSON) xLights (ALL) PROPOSED
setUniverses Remove? Not sure why this can't be UI only NONE PROPOSED
getDNSInfo GET /api/network/dns NONE PROPOSED
setDNSInfo POST /api/network/dns NONE PROPOSED
getFPPDUptime Add to existing GET api/fppd/status NONE COMPLETE
applyInterfaceInfo POST /api/network/restart NONE PROPOSED
getInterfaceInfo GET /api/network/interface/:interface NONE PROPOSED
setInterfaceInfo POST /api/network/interface/:interface NONE PROPOSED
getFPPSystems Merge with Existing GET /api/fppd/multiSyncSystems xLights (ALL), MultiSync (<5.0) PROPOSED
getFPPstatus GET /api/fppd/status MultiSync (<5.0)??? API READY
getSetting GET /api/settings/:SettingName NONE API READY
setSetting POST /api/settings/:SettingName xLights (ALL) PROPOSED
startSequence GET /api/sequence/:SequenceName/start
(repeat is optional param)
NONE PROPOSED
stopSequence GET /api/sequence/:SequenceName/stop NONE PROPOSED
toggleSequencePause GET /api/sequence/:SequenceName/pause (also /resume)
If if already paused will resume (still a toggle)
NONE PROPOSED
singleStepSequence GET /api/sequence/:SequenceName/step
(only valid when paused)
NONE PROPOSED
singleStepSequenceBack GET /api/sequence/:SequenceName/stepback
(only valid when paused)
NONE PROPOSED
getPlayListEntries Enhance Existing GET /api/playlist/:PlaylistName
mergeSubs and fromMemory are options
NONE PROPOSED
getSequenceInfo Enhance GET /api/sequence/:SequenceName/meta NONE PROPOSED
getMediaDuration Existing GET /media/:MediaName/duration NONE PROPOSED
getFileSize GET /api/file/:name/meta
(May return more than size)
NONE PROPOSED
copyFile GET /api/file/:name/copy/:newName NONE PROPOSED
renameFile GET /api/file/:name/rename/:newName NONE PROPOSED
getPluginSetting GET /api/plugin/:plugin/setting/:key Plugins PROPOSED
setPluginSetting POST /api/plugin/:plugin/setting/:key Plugins PROPOSED
getPluginJSON GET /api/plugin/:plugin/json Plugins PROPOSED
setPluginJSON POST /api/plugin/:plugin/json Plugins PROPOSED
saveScript POST /api/file/:Name NONE PROPOSED
setTestMode POST /api/testmode NONE PROPOSED
getTestMode GET /api/testmode NONE PROPOSED
setupExtGPIO POST /api/GPIOSetup/:pin
(mode is in payload)
NONE PROPOSED
extGPIO POST /api/GPIO/:pin
(mode and value in payload)
NONE PROPOSED
getSysInfo Enhance GET /api/fppd/status xLights(ALL), MultiSync PROPOSED
getHostNameInfo Enhance GET /api/fppd/status MultiSync PROPOSED
clearPersistentNetNames DELETE /api/network/presisentNames NONE COMPLETE
createPersistentNetNames POST /api/network/presisentNames NONE COMPLETE

fppxml.php

Old Endpoint New End Point Used Externally by Status
changeGitBranch Use changebranch.php instead NONE COMPLETE
cloneUniverse Move to GUI NONE PROPOSED
deleteEffect DELETE /api/file/:Name NONE COMPLETE
deleteEvent DELETE /api/event/:Name NONE PROPOSED
deleteFile DELETE /api/file/:DirName/:Name NONE COMPLETE
deleteUniverse Move to GUI NONE PROPOSED
extGPIO POST /api/GPIO/:pin
(mode and value in payload)
NONE PROPOSED
getBridgeInputDelayBeforeBlack GET /api/settings/:SettingName NONE COMPLETE
getFiles GET /api/files/:type NONE COMPLETE
getFile GET /api/file/:name tail is optional parameter NONE COMPLETE
getFPPDmode GET api/settings/fppMode NONE COMPLETE
getFPPstatus GET /api/fppd/status NONE COMPLETE
getGitOriginLog GET /api/git/originLog NONE COMPLETE
getInterfaceInfo DROP -- Never Used NONE COMPLETE
getPixelnetDMXoutputs GET /api/output/PixelnetDMX NONE PROPOSED
getRunningEffects GET /api/effects/running NONE PROPOSED
getUniverseReceivedBytes GET /api/universes/bytes NONE PROPOSED
getUniverses GET /api/universes/ NONE PROPOSED
getVolume GET /api/fppd/status NONE COMPLETE
getZip GET /api/files/zip NONE PROPOSED
gitStatus GET /api/git/status NONE COMPLETE
installRemoteScript GET /api/script/install/:category/:filename NONE PROPOSED
isFPPDrunning GET /api/fppd/status NONE PROPOSED
moveFile GET /api/file/:name/rename/:newName xLights PROPOSED
playEffect DEPRECATED - Use Command API NONE PROPOSED
rebootPi GET /api/system/reboot MultiSync KEPT LEGACY
resetGit GET /api/git/reset NONE COMPLETE
restartFPPD GET /api/fppd/restart xLights(All), Multisync KEPT LEGACY
saveEvent POST /api/event/:major/:minor NONE PROPOSED
saveUSBDongle POST /api/settings/:SettingName NONE PROPOSED
setBridgeInputDelayBeforeBlack PUT /api/settings/:SettingName NONE COMPLETE
setFPPDmode POST api/settings/fppMode xLights(All), Multisync KEPT LEGACY
setUniverseCount DEPRECATE - Move to UI NONE PROPOSED
setupExtGPIO POST /api/GPIOSetup/:pin
(mode is in payload)
NONE PROPOSED
setVolume POST /api/audio/volume NONE PROPOSED
shutdownPi GET /api/system/shutdown Multisync KEPT LEGACY
startFPPD GET /api/system/fppd/start NONE COMPLETE
startPlaylist GET /api/playlist/:PlaylistName/start NONE PROPOSED
stopEffectByName DEPRECATE - Use Commands API NONE PROPOSED
stopEffect DEPRECATE - Use Commands API NONE PROPOSED
stopFPPD GET /api/fppd/stop NONE COMPLETE
stopGracefullyAfterLoop DEPRECATE - Use Commands API NONE PROPOSED
stopGracefully DEPRECATE - Use Commands API NONE PROPOSED
stopNow DEPRECATE - Use Commands API NONE PROPOSED
tailFile GET /api/file/:name tail is optional parameter NONE COMPLETE
triggerEvent DEPRECATE - Use Commands API xLights(all) PROPOSED
upgradeFPPVersion GET /api/system/upgradeFPP NONE PROPOSED
viewReleaseNotes GET /api/system/releaseNotes NONE PROPOSED
viewRemoteScript GET /api/script/view/:category/:filename NONE PROPOSED
Clone this wiki locally