Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v6: documentation on PUT /clients/ is not complete #1943

Closed
jojost1 opened this issue Mar 1, 2024 · 8 comments
Closed

v6: documentation on PUT /clients/ is not complete #1943

jojost1 opened this issue Mar 1, 2024 · 8 comments

Comments

@jojost1
Copy link

jojost1 commented Mar 1, 2024

Versions

  • Pi-hole: v5.17.3-288-g760f903d
  • AdminLTE: v5.19-700-gda7c0efb
  • FTL: vDev-bffd2bd
    Branch is development-v6

Platform

  • OS and version: Debian
  • Platform: Raspberry Pi

Expected behavior

The API states the only fields are 'comment' and 'groups'. However, it looks like the web interface also sends a field 'client' (unclear to me what this is) and 'enabled', like this:

{"client":"00360032003a00390043003a00310034003a00450033003a00310035003a00330045","groups":[1],"comment":"Test Device","enabled":false}

Actual behavior / bug

Without a correct client field, it looks like Pi-hole creates a new client instead of updating an existing one. It's also unclear what the 'enabled' field means that the web interface sends (could just be a bug?).

Furthermore, the GET /clients endpoint also returns a 'name' property for a client which is undocumented as well. I'm not sure if this has to be send for PUT requests as well.

Additional context

This issue is about the new v6 API.

@jojost1
Copy link
Author

jojost1 commented Mar 1, 2024

Additionally I found out that a call to delete a client is also not working for me (while e.g. deleting a group works fine). It's throwing a 404.

The web interface seems to use /clients:batchDelete always, so I can't check what's going on.

Copy link

github-actions bot commented Apr 1, 2024

This issue is stale because it has been open 30 days with no activity. Please comment or update this issue or it will be closed in 5 days.

@github-actions github-actions bot added the stale label Apr 1, 2024
@jojost1
Copy link
Author

jojost1 commented Apr 1, 2024

The issue is still there.

@github-actions github-actions bot removed the stale label Apr 1, 2024
Copy link

github-actions bot commented May 2, 2024

This issue is stale because it has been open 30 days with no activity. Please comment or update this issue or it will be closed in 5 days.

@github-actions github-actions bot added the stale label May 2, 2024
@jojost1
Copy link
Author

jojost1 commented May 2, 2024

I still have the issue

@github-actions github-actions bot removed the stale label May 2, 2024
@DL6ER DL6ER transferred this issue from pi-hole/pi-hole May 2, 2024
@DL6ER
Copy link
Member

DL6ER commented May 3, 2024

Sorry for this to have gone unnoticed for so long, I moved it into the correct repository now.

extra client field (PUT)

This is a left-over from API development, it isn't needed.

I'm not sure what you mean by

without the correct client field, it looks like Pi-hole creates a new client instead of updating an existing one.

The client to be modified has to be specified through the URI (and needs to be URI-encoded if that matters, e.g. for MAC addresses or IPv6 addresses : -> %3A )

A request may look like:

PUT https://pi.hole/api/clients/00%3A11%3A22%3A44%3A55%3A66

{"groups":[0],"comment":"ABC"}

which will edit the client 00:11:22:33:44:55 if it exists. I just confirmed this indeed works as expected and does not create a new client.

extra enabled field (PUT)

This is a copy-paste remnant from development as well and entirely ignored by the /clients endpoint

extra name field (GET)

This is a read-only field transmitted by the API in case it knows the host name connected too this IP/MAC address. It does not have to be sent in POST/PUT but is automatically populated by DNS data and contained in GET.

DELETE not working

Please check if you are correctly encoding the client (as above in no. 1), I can delete clients in a local test just fine.

Related changes

#1944

pi-hole/web#3016

@DL6ER
Copy link
Member

DL6ER commented May 9, 2024

The point you've mentioned have been fixed in the code. Feel free to reopen/comment if you find something we've talked about here not having been fixed.

@DL6ER DL6ER closed this as completed May 9, 2024
@jojost1
Copy link
Author

jojost1 commented May 25, 2024

Got it working, thanks for the reply!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants