Generate/Regenerate api_key for a user API not working

I m trying to get an API key . for a user , but return me 404,

my other APIs work fine, so not the header issue. I also checked the backend setup. no problem…

https://docs.discourse.org/#tag/Admin%2Fpaths%2F~1admin~1users~1{id}~1generate_api_key%2Fpost

1 Like

The endpoint to create a new API key has changed - we’re working on updating the documentation ASAP. You can now create a new API key like this:

curl -X POST http://localhost:3000/admin/api/keys \
  -H "Content-Type: multipart/form-data;" \
  -H "Api-Key: $api_key" \
  -H "Api-Username: system" \
  -F "key[description]=testing" \
  -F "key[username]=bobby"

I would be interested to know why you are creating new API keys… using an API key. It seems a little circular, and I wonder if we can come up with a better solution for your problem?

7 Likes

I have created a new user via API. (with admin API and KEY)
now I need to post a post or topic for this user.

But seems no API for me to do that… So I think maybe I should create a API for this user, then I switch my header with this new API… then I can make a post or topic on behalf of this new user…

1 Like

Rather than creating a key for each user, you can use an “all users” key, then change the Api-Username header on the request. There is an example at the top of https://docs.discourse.org/

3 Likes

great man! thanks. that works perfectly !

1 Like