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

Client API documentation #7

Open
devnote-dev opened this issue Jun 3, 2023 · 11 comments
Open

Client API documentation #7

devnote-dev opened this issue Jun 3, 2023 · 11 comments
Labels
coverage This covers undocumented APIs enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed

Comments

@devnote-dev
Copy link
Owner

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.

@devnote-dev devnote-dev added enhancement New feature or request help wanted Extra attention is needed good first issue Good for newcomers coverage This covers undocumented APIs labels Jun 3, 2023
@bellatrick
Copy link
Contributor

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

@devnote-dev
Copy link
Owner Author

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
Copy link
Contributor

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
Copy link
Owner Author

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
Copy link
Contributor

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
Copy link
Owner Author

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
Copy link
Contributor

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
Copy link
Contributor

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

@bellatrick
Copy link
Contributor

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
Copy link

Tarlsie commented Jul 7, 2023

Hi do you need help with your API documentation?

@devnote-dev
Copy link
Owner Author

Yes, any help is appreciated!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
coverage This covers undocumented APIs enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

4 participants