@urixen/ptero-connect
    Preparing search index...

    Class ApplicationApi

    import { ApplicationApi } from "@urixen/ptero-connect";

    export const api = new ApplicationApi(
    "Pterodactyl.example.com", // The Pterodactyl panel url
    "ptr_00000000000000" // The Pterodactyl panel application api key
    )

    nehxurai

    Index

    Constructors

    • Parameters

      • panelUrl: string

        The base URL of the panel API.

      • apiKey: string

        The API key for authentication.

      • OptionalcustomHeaders: Record<string, string>

        Optional custom headers to include in requests.

      Returns ApplicationApi

    Methods

    • Parameters

      • nodeId: number
      • allocationData: { alias: string; ip: string; ports: number[] }

      Returns Promise<boolean>

    • Parameters

      • locationData: { long?: string; short: string }

      Returns Promise<Allocation>

    • Parameters

      • nodeData: {
            behind_proxy?: boolean;
            daemon_base?: string;
            daemon_listen?: number;
            daemon_sftp?: number;
            description?: string;
            disk: number;
            disk_overallocate?: number;
            fqdn: string;
            location_id: number;
            maintenance_mode?: boolean;
            memory: number;
            memory_overallocate?: number;
            name: string;
            public?: boolean;
            scheme?: string;
            upload_size?: boolean;
        }

      Returns Promise<Node>

    • create a server

      Parameters

      Returns Promise<false | { created: boolean; data: Promise<any> }>

    • Create a new database

      POST /api/application/servers/{id}/databases

      Parameters

      • id: number

        server id

      • dataDB: { database: string; host: string; remote: string }

        database details

      Returns Promise<ServerDatabase>

      database

    • Create a new user

      import { api } from "./ApplicationApi.example";

      // create a user

      const userData = {
      email: "test@example.com", // email of the user
      username: "test", // username of the user
      first_name: "test", // first name of the user
      last_name: "example", // last name of the User
      password: "example" // (optional) password of the user
      }
      api.createUser(userData).then(data => {
      console.log(data) // log the output
      })
      .catch(err => {
      console.error(err) // log error if occurs
      })

      Parameters

      Returns Promise<UserData>

    • Parameters

      • locationId: number

      Returns Promise<boolean>

    • Parameters

      • nodeId: number

      Returns Promise<boolean>

    • Delete a server

      DELETE /api/application/servers/{id}

      Parameters

      • id: number

        server id

      • force: boolean = false

        force delete server (may damage wings)

      Returns Promise<boolean>

      boolean

    • delete a database from server

      DELETE /api/application/servers/{id}/databases/{dbID}

      Parameters

      • id: number

        server id

      • dbID: number

        database id

      Returns Promise<boolean>

      boolean

    • Delete a user by ID

      import { api } from "./ApplicationApi.example";

      api.deleteUser(1 /* user id */).then(data => {
      if(data) {
      console.log("user 1 deleted successfully")
      } else {
      console.error("failed to delete user 1")
      }
      }).catch(err => {
      console.error("error deleting user 1", err)
      })

      Parameters

      • id: number

        User ID

      Returns Promise<Boolean>

    • get a egg

      Parameters

      • nestId: number

        nest id

      • eggId: number

        egg id

      Returns Promise<Egg>

    • get all eggs

      Parameters

      • nestId: number

        nest id

      Returns Promise<Egg[]>

    • get all nests

      Parameters

      • options: {} = {}

        additional options

      Returns Promise<Nest[]>

    • Parameters

      • options: {} = {}

      Returns Promise<Node[]>

    • Get all Servers

      Parameters

      • Optionalfilter: string

        set a filter

      • Optionalvalue: any

        set value of the filter

      Returns Promise<Server[]>

    • Get all users from panel

      import { api } from "./ApplicationApi.example" // import the class from the file

      // fetch all users from panel
      api.getAllUser().then(data => {
      console.log(data) // log output data
      }).catch(err => {
      console.error(err) // log error if occurs
      })

      Returns Promise<UserData[]>

    • get a nest

      Parameters

      • nestId: number

        nest id

      Returns Promise<Nest>

    • Retrieve detailed information about a specific server.

      Parameters

      • id: number

        Server Id

      • Optionalinclude: string

        Include relationships (allocations, user, subusers, pack, nest, egg, variables, location, node, databases, backups)

      Returns Promise<Server>

    • Get a user by email

      import { api } from "./ApplicationApi.example" // import the class from the file

      // fetch user by there email from panel
      api.getAUserByEmail("test@example.com").then(data => {
      console.log(data) // log output data
      }).catch(err => {
      console.error(err) // log error if occurs
      })

      Parameters

      • email: string

        User's email

      Returns Promise<UserData>

    • Get a user by ID

      import { api } from "./ApplicationApi.example";

      // get a user by there id from panel
      api
      .getAUserById(1)
      .then((data) => console.log(data) /*Log the data*/)
      .catch((err) => console.error(err) /*log if any error occurs */);

      Parameters

      • id: number

        User's ID

      Returns Promise<UserData>

    • Get a user by username

      import { api } from "./ApplicationApi.example";

      // get a user by there username from panel
      api
      .getAUserByUsername("example")
      .then((data) => console.log(data) /*Log the data*/)
      .catch((err) => console.error(err) /*log if any error occurs */);

      Parameters

      • username: string

        User's username

      Returns Promise<UserData>

    • Parameters

      • eggId: number

      Returns void

    • Parameters

      • locationId: number

      Returns Promise<LocationWithNode>

    • Parameters

      • locationId: number

      Returns void

    • get a server's database details

      GET /api/application/servers/{id}/databases/{dbId}

      Parameters

      • id: number

        server id

      • dbID: number

        database id

      Returns Promise<ServerDatabase>

      database details

    • get corresponding server databases

      GET /api/application/servers/{id}/databases

      Parameters

      • id: number

        server id

      Returns Promise<ServerDatabase[]>

      server databases

    • Reinstall the corresponding server

      POST /api/application/servers/{id}/reinstall

      Parameters

      • id: number

        Server Id

      Returns Promise<boolean>

      boolean

    • Suspend a server

      Parameters

      • id: number

        Server id

      Returns Promise<boolean>

    • Remove suspension from a server to allow it to start.

      Parameters

      • id: number

        Server id

      Returns Promise<boolean>

    • Parameters

      • locationId: number
      • updateData: { long?: string; short?: string }

      Returns Promise<Location>

    • Update Server Build Configuration Update server resource limits and feature limits.

      PATCH /api/application/servers/{server}/build

      Parameters

      • id: number

        Server ID

      • buildData: {
            add_allocations?: number[];
            allocation: number;
            cpu: number;
            disk: number;
            feature_limits: { allocations: number; backups: number; databases: number };
            io: number;
            memory: number;
            oom_disabled?: boolean;
            remove_allocations?: number[];
            swap: number;
            threads?: string;
        }

        Build configuration object

      Returns Promise<any>

      Updated server object

    • update server database details

      PATCH /api/application/servers/{id}/databases/{dbID}

      Parameters

      • id: number

        server id

      • dbID: number

        database id

      • dataDB: { remote?: string }

        data to be updated

      Returns Promise<ServerDatabase>

      database details

    • Updates a server's details via the panel API.

      Parameters

      • id: number

        The ID of the server to update.

      • updatedData: { description?: string; external_id?: string; name?: string; user?: number }

        An object containing the updated server fields.

      Returns Promise<ServerUp>

      The updated server object.

      Will throw an error if the request fails.

    • Updates server start up settings

      PATCH /api/application/servers/{id}/startup

      Parameters

      • id: number

        Server id

      • updatedData: {
            egg: number;
            enviroment: object;
            image?: string;
            skip_scripts?: boolean;
            startup: string;
        }

        updated server start up settings

      Returns Promise<Server>

      updated Server setting data

    • Update a user

      import { api } from "./ApplicationApi.example";

      // update a user details

      const updatedData = {
      // data to be updated
      first_name: "example",
      };

      api
      .updateUser(
      1, // user id
      updatedData
      )
      .then((data) => console.log(data))
      .catch((err) => {
      console.log(err);
      });

      Parameters

      Returns Promise<UserData>