I haven't seen it mentioned anywhere, but the application bundle on macOS hints at a pretty robust scripting API using Javascript. The functionality doesn't seem to be exposed from what I can see in the app.
/Applications/Affinity.app/Contents/Resources/JSLib
├── application.js
├── artboardinterface.js
├── artboardproperties.js
├── baseboxinterface.js
├── brushfillinterface.js
├── buffer.js
├── collection.js
├── colours.js
...
├── units.js
├── vectorbrush.js
└── visibilityinterface.js replies(2):