devnote-dev / ptero-notes

Markdown files documenting Pterodactyl and Wings APIs & internals
31 stars 5 forks source link

Client API documentation #7

Open devnote-dev opened 1 year ago

devnote-dev commented 1 year ago

Full coverage of the client API is the goal here, there have been attempts here and from the original documentation but ideally this repo should have full coverage of all of the entire API.

bellatrick commented 1 year ago

Hello, I would love to work on this issue. How do i get started?

devnote-dev commented 1 year ago

Hi, thanks for wanting to contribute! For the client API the majority of endpoints have been somewhat documented in the old Dashflo documentation, but a lot of these endpoints have incorrect or outdated information. Assuming you have access to a Pterodactyl instance, you can check the individual endpoints or you can read the client API source code (requests and controllers). The PteroJS API library may also be of help if you're confused about specific objects or typings.

In terms of structure and formatting, each endpoint scope must have it's own file in the pterodactyl/client/ directory. For example, account endpoints would be under pterodactyl/client/account/account.md, server file endpoints would be under pterodactyl/client/servers/files.md, etc.). Ideally the format used in the wings/ directory is preferable but this can always be changed later on.

Feel free to message here if you need help with anything. 👍

bellatrick commented 1 year ago

Hi, thanks for wanting to contribute! For the client API the majority of endpoints have been somewhat documented in the old Dashflo documentation, but a lot of these endpoints have incorrect or outdated information. Assuming you have access to a Pterodactyl instance, you can check the individual endpoints or you can read the client API source code (requests and controllers). The PteroJS API library may also be of help if you're confused about specific objects or typings.

In terms of structure and formatting, each endpoint scope must have it's own file in the pterodactyl/client/ directory. For example, account endpoints would be under pterodactyl/client/account/account.md, server file endpoints would be under pterodactyl/client/servers/files.md, etc.). Ideally the format used in the wings/ directory is preferable but this can always be changed later on.

Feel free to message here if you need help with anything. 👍

Awesome! I have gone through the code and the old documentation. How'd like to know how to get the API key to test the endpoints. The URL provided in the documentation is currently not available.

devnote-dev commented 1 year ago

It would be the URLs in the documentation but with your domain name instead of pterodactyl.test. To get a client API key you need to go to <your.domain>/account/api and create one.

bellatrick commented 1 year ago

It would be the URLs in the documentation but with your domain name instead of pterodactyl.test. To get a client API key you need to go to <your.domain>/account/api and create one.

I can't figure out how to do this. I am assuming I'd have to run the Pterodactyl panel locally on my PC right? I'm currently stuck here. image

If I can't test the endpoints, will going through the source code be sufficient for the documentation?

devnote-dev commented 1 year ago

You'd need to get the panel logs to debug the issue, but that may be more effort than it's worth. Reading the source code would still be sufficient and possibly more useful if you need specific details about certain requests like validation rules, exceptions, etc.

bellatrick commented 1 year ago

You'd need to get the panel logs to debug the issue, but that may be more effort than it's worth. Reading the source code would still be sufficient and possibly more useful if you need specific details about certain requests like validation rules, exceptions, etc.

Alright 👍. Will do that

real2two commented 1 year ago

Here's a useful resource if you need it: https://github.com/pterodactyl/panel/blob/develop/routes/api-client.php (source code)

bellatrick commented 1 year ago

Here's a useful resource if you need it: https://github.com/pterodactyl/panel/blob/develop/routes/api-client.php (source code)

Thank you. This will be very helpful

Tarlsie commented 1 year ago

Hi do you need help with your API documentation?

devnote-dev commented 1 year ago

Yes, any help is appreciated!