API to Update Settings / [General, Design, etc]

Ghost : ghost:2.23.2-alpine
MySQL : mysql:5.7.26

Hi,

Is there some API to update the ghost settings (like title & description) and the other parts that can be seen from the ghost admin screen?

Thanks,
Franz

There is, though it’s not listed in the docs, so I’m not sure how stable it is. It’s the /settings/ endpoint of the admin api

Thanks @vikaspotluri123. I tried that. But seems to work only via session-based auth and not via token.

$ curl 'http://localhost:2368/ghost/api/v2/admin/settings/' -X PUT -H 'Content-Type: application/json' -H 'Authorization: Ghost jwt.token.here' --data '{...data here...}' 
{"errors":[{"message":"The server does not support the functionality required to fulfill the request.","context":null,"type":"NotImplementedError","details":null,"property":null,"help":null,"code":null,"id":"67d2e540-962d-11e9-b646-fd0a999aa195"}]}

And in ghost …

ghost_1     | [2019-06-24 03:08:21] ERROR "PUT /ghost/api/v2/admin/settings/" 501 22ms
ghost_1     | 
ghost_1     | The server does not support the functionality required to fulfill the request.
ghost_1     | 
ghost_1     | Error ID:
ghost_1     |     5265aa80-962d-11e9-b646-fd0a999aa195
ghost_1     | 
ghost_1     | ----------------------------------------
ghost_1     | 
ghost_1     | NotImplementedError: The server does not support the functionality required to fulfill the request.
ghost_1     |     at new GhostError (/var/lib/ghost/versions/2.23.2/core/server/lib/common/errors.js:10:26)
ghost_1     |     at notImplemented (/var/lib/ghost/versions/2.23.2/core/server/web/api/v2/admin/middleware.js:37:10)
ghost_1     |     at Layer.handle [as handle_request] (/var/lib/ghost/versions/2.23.2/node_modules/express/lib/router/layer.js:95:5)
ghost_1     |     at next (/var/lib/ghost/versions/2.23.2/node_modules/express/lib/router/route.js:137:13)
ghost_1     |     at uncapitalise (/var/lib/ghost/versions/2.23.2/core/server/web/shared/middlewares/uncapitalise.js:54:5)
ghost_1     |     at Layer.handle [as handle_request] (/var/lib/ghost/versions/2.23.2/node_modules/express/lib/router/layer.js:95:5)
ghost_1     |     at next (/var/lib/ghost/versions/2.23.2/node_modules/express/lib/router/route.js:137:13)
ghost_1     |     at slashes (/var/lib/ghost/versions/2.23.2/node_modules/connect-slashes/lib/connect-slashes.js:81:9)
ghost_1     |     at Layer.handle [as handle_request] (/var/lib/ghost/versions/2.23.2/node_modules/express/lib/router/layer.js:95:5)
ghost_1     |     at next (/var/lib/ghost/versions/2.23.2/node_modules/express/lib/router/route.js:137:13)
ghost_1     |     at Object._private.redirect (/var/lib/ghost/versions/2.23.2/core/server/web/shared/middlewares/url-redirects.js:111:5)
ghost_1     |     at adminRedirect (/var/lib/ghost/versions/2.23.2/core/server/web/shared/middlewares/url-redirects.js:123:14)
ghost_1     |     at Layer.handle [as handle_request] (/var/lib/ghost/versions/2.23.2/node_modules/express/lib/router/layer.js:95:5)
ghost_1     |     at next (/var/lib/ghost/versions/2.23.2/node_modules/express/lib/router/route.js:137:13)
ghost_1     |     at /var/lib/ghost/versions/2.23.2/node_modules/cors/lib/index.js:228:13
ghost_1     |     at handleCORS (/var/lib/ghost/versions/2.23.2/core/server/web/shared/middlewares/api/cors.js:73:16)
ghost_1     |     at corsMiddleware (/var/lib/ghost/versions/2.23.2/node_modules/cors/lib/index.js:204:7)
ghost_1     |     at Layer.handle [as handle_request] (/var/lib/ghost/versions/2.23.2/node_modules/express/lib/router/layer.js:95:5)
ghost_1     |     at next (/var/lib/ghost/versions/2.23.2/node_modules/express/lib/router/route.js:137:13)
ghost_1     |     at updateUserLastSeenMiddleware (/var/lib/ghost/versions/2.23.2/core/server/web/shared/middlewares/update-user-last-seen.js:5:16)
ghost_1     |     at Layer.handle [as handle_request] (/var/lib/ghost/versions/2.23.2/node_modules/express/lib/router/layer.js:95:5)
ghost_1     |     at next (/var/lib/ghost/versions/2.23.2/node_modules/express/lib/router/route.js:137:13)
ghost_1     | 
ghost_1     | [2019-06-24 03:08:57] ERROR "PUT /ghost/api/v2/admin/settings/" 501 8ms
ghost_1     | 
ghost_1     | The server does not support the functionality required to fulfill the request.
ghost_1     | 
ghost_1     | Error ID:
ghost_1     |     67d2e540-962d-11e9-b646-fd0a999aa195
ghost_1     | 
ghost_1     | ----------------------------------------
ghost_1     | 
ghost_1     | NotImplementedError: The server does not support the functionality required to fulfill the request.
ghost_1     |     at new GhostError (/var/lib/ghost/versions/2.23.2/core/server/lib/common/errors.js:10:26)
ghost_1     |     at notImplemented (/var/lib/ghost/versions/2.23.2/core/server/web/api/v2/admin/middleware.js:37:10)
ghost_1     |     at Layer.handle [as handle_request] (/var/lib/ghost/versions/2.23.2/node_modules/express/lib/router/layer.js:95:5)
ghost_1     |     at next (/var/lib/ghost/versions/2.23.2/node_modules/express/lib/router/route.js:137:13)
ghost_1     |     at uncapitalise (/var/lib/ghost/versions/2.23.2/core/server/web/shared/middlewares/uncapitalise.js:54:5)
ghost_1     |     at Layer.handle [as handle_request] (/var/lib/ghost/versions/2.23.2/node_modules/express/lib/router/layer.js:95:5)
ghost_1     |     at next (/var/lib/ghost/versions/2.23.2/node_modules/express/lib/router/route.js:137:13)
ghost_1     |     at slashes (/var/lib/ghost/versions/2.23.2/node_modules/connect-slashes/lib/connect-slashes.js:81:9)
ghost_1     |     at Layer.handle [as handle_request] (/var/lib/ghost/versions/2.23.2/node_modules/express/lib/router/layer.js:95:5)
ghost_1     |     at next (/var/lib/ghost/versions/2.23.2/node_modules/express/lib/router/route.js:137:13)
ghost_1     |     at Object._private.redirect (/var/lib/ghost/versions/2.23.2/core/server/web/shared/middlewares/url-redirects.js:111:5)
ghost_1     |     at adminRedirect (/var/lib/ghost/versions/2.23.2/core/server/web/shared/middlewares/url-redirects.js:123:14)
ghost_1     |     at Layer.handle [as handle_request] (/var/lib/ghost/versions/2.23.2/node_modules/express/lib/router/layer.js:95:5)
ghost_1     |     at next (/var/lib/ghost/versions/2.23.2/node_modules/express/lib/router/route.js:137:13)
ghost_1     |     at /var/lib/ghost/versions/2.23.2/node_modules/cors/lib/index.js:228:13
ghost_1     |     at handleCORS (/var/lib/ghost/versions/2.23.2/core/server/web/shared/middlewares/api/cors.js:73:16)
ghost_1     |     at corsMiddleware (/var/lib/ghost/versions/2.23.2/node_modules/cors/lib/index.js:204:7)
ghost_1     |     at Layer.handle [as handle_request] (/var/lib/ghost/versions/2.23.2/node_modules/express/lib/router/layer.js:95:5)
ghost_1     |     at next (/var/lib/ghost/versions/2.23.2/node_modules/express/lib/router/route.js:137:13)
ghost_1     |     at updateUserLastSeenMiddleware (/var/lib/ghost/versions/2.23.2/core/server/web/shared/middlewares/update-user-last-seen.js:5:16)
ghost_1     |     at Layer.handle [as handle_request] (/var/lib/ghost/versions/2.23.2/node_modules/express/lib/router/layer.js:95:5)
ghost_1     |     at next (/var/lib/ghost/versions/2.23.2/node_modules/express/lib/router/route.js:137:13)

@Franz_Allan_See the settings endpoint is only writeable by a user with the Administrator role, it’s not open to 3rd party integrations via API Key auth. What is your use-case for needing to write settings?

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.