Skip to content

API

General

LinuFy is available by a Rest-API. This API is accessible to https://api.linufy.app/1.0/ with authentication.

All results are formatted with JSON and are available with: - status: Status code with 200 (Success) or 100 (Error) - message: Human message for printing a success or error - data: All data returned if available - id: ID of POST request if available

If you exceed the limit of requests, this API return "429 Too Many Requests".

This header is required for use this API : Content-type: application/x-www-form-urlencoded

Authentication

For authenticate your application to API use /authenticationApp

All informations are available in your Profile Page on the Manager and your application are the same permissions that the user owns the secret key.

Type: GET (Get if current token is valid)

  • Endpoint: /authenticationApp
  • Required parameters:
    • token: The current token
  • Result:
    • Success:
      • status: 200
      • message: Invalid token

Type: POST (Authentication)

  • Endpoint: /authenticationApp
  • Required parameters:
    • organizationKey: This key is global to your organization
    • secretKey: This key is secret to your application
  • Result:
    • Success:
      • status: 200
      • data:
        • token: Token necessary for all requests
        • groupId: Group ID of current user in LinuFy application
        • userId: ID of current user in LinuFy application
        • expiration: The expiration datetime for your token
    • Error:
      • status: 100
      • message: Authentication failure

Groups

Your can access to all groups with /groups

Type: GET (Get all groups)

  • Endpoint: /groups
  • Required parameters:
    • token: Token necessary for all requests
  • Result:
    • Success:
      • status: 200
      • data: Array with all groups
        • id: ID of group
        • name: Name of group
        • note: informations of group
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access

Type: GET (Get specific group)

  • Endpoint: /groups/{id}
  • Required parameters:
    • token: Token necessary for all requests
    • id: ID of specific group
  • Result:
    • Success:
      • status: 200
      • data:
        • id: ID of group
        • name: Name of group
        • note: informations of group
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access

Type: POST (Create group)

  • Endpoint: /groups
  • Required parameters:
    • token: Token necessary for all requests
    • name: Name of group
    • note: informations of group
  • Result:
    • Success:
      • status: 200
      • message: Group successfully added
      • id: ID of group
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access or Unknown Error

Type: PUT (Edit specific group)

  • Endpoint: /groups/{id}
  • Required parameters:
    • token: Token necessary for all requests
    • id: ID of specific group
    • name: Name of group
    • note: informations of group
  • Result:
    • Success:
      • status: 200
      • message: Group successfully edited
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access or Unknown Error

Type: DELETE (Delete specific group)

  • Endpoint: /groups/{id}
  • Required parameters:
    • token: Token necessary for all requests
    • id: ID of specific group
  • Result:
    • Success:
      • status: 200
      • message: Group successfully deleted
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access or Cannot delete current group

Users

Type: GET (Get all users)

  • Endpoint: /users
  • Required parameters:
    • token: Token necessary for all requests
  • Result:
    • Success:
      • status: 200
      • data: array
        • id: User ID
        • name: Name of user group
        • username: Username of user
        • languageId : Language used by user
        • status: User account is actived or not actived
        • 2fa: Multi-factor authentication is enabled of not enabled
        • email: Email user
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access or Invalid token

Type: GET (Get specific user)

  • Endpoint: /users/{id}
  • Required parameters:
    • token: Token necessary for all requests
    • id: ID of specific user
  • Result:
    • Success:
      • status: 200
      • data:
        • groupId: ID of user group
        • username: Username of user
        • languageId : Language used by user
        • status: User account is actived or not actived
        • 2fa: Multi-factor authentication is enabled of not enabled
        • email: Email user
        • organizationKey: Organization Key of user
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access or Invalid token

Type: PUT (Edit specific user)

  • Endpoint: /users/{id}
  • Required parameters:
    • token: Token necessary for all requests
    • id: ID of specific user
    • email: New email of user
    • groupId: New group ID of user
  • Result:
    • Success:
      • status: 200
      • message: User successfully updated
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access or Unable to change group of current user or Unknown error or Invalid email address

Type: DELETE (Delete specific user)

  • Endpoint: /users/{id}
  • Required parameters:
    • token: Token necessary for all requests
    • id: ID of specific user
  • Result:
    • Success:
      • status: 200
      • message: User successfully deleted
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access or Cannot delete current user

Is Authorized

You can check if the needed module is authorized for your application with /isAuthorized

Type: GET (Get if current token is valid)

  • Endpoint: /isAuthorized
  • Required parameters:
    • token: The current token
    • module: Name of module
  • Result:
    • Success:
      • status: 200
      • data: True (This module is available) or False (This module is not available)

Permissions

Type: GET (Get all permissions of specific group)

  • Endpoint: /permissions/{id}
  • Required parameters:
    • token: The current token
    • id: ID of specific group
  • Result:
    • Success:
      • status: 200
      • data: array
        • moduleId: Module ID
        • view: Can view data in module
        • creation: Can create data in module
        • edition: Can edit data in module
        • deletion: Can delete data in module
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access

Type: POST (Set permission of specifid group)

  • Endpoint: /permissions
  • Required parameters:
    • token: The current token
    • moduleId: Module ID
    • groupId: Group ID
    • creation: Add creation permission
    • edition: Add edition permission
    • deletion: Add deletion permission
  • Result:
    • Success:
      • status: 200
      • id: ID of new permission
      • message: Permissions successfully added
    • Error:
      • status: 100
      • message: You can not edit your group or Unknown error or Invalid Token or Unauthorized access

Type: DELETE (Delete all permissions of specific group)

  • Endpoint: /permissions/{id}
  • Required parameters:
    • token: The current token
    • id: ID of specific group
  • Result:
    • Success:
      • status: 200
      • message: Permission successfully deleted
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access or You can not edit your group

Regions

Type: GET (Get all regions)

  • Endpoint: /regions
  • Required parameters:
    • token: The current token
  • Result:
    • Success:
      • status: 200
      • data: array
        • id: ID for this region
        • name: name for this region
        • note: description for this region
        • countryCode: Country code in respect of ISO 3166-1 - Alpha-2
        • regionKey: Public Key for this region
        • regionSecret: Secret Key for this region
        • masterServerId: ID of master server for this region
        • countryName: Name of country
        • agentVersion: Version of agent installed in this region
        • updateRequired: Update is available for this agent (Yes or No)
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access

Type: GET (Get specific region)

  • Endpoint: /regions/{id}
  • Required parameters:
    • token: The current token
    • id: ID of specific region
  • Result:
    • Success:
      • status: 200
      • data: array
        • id: ID for this region
        • name: name for this region
        • note: description for this region
        • countryCode: Country code in respect of ISO 3166-1 - Alpha-2
        • regionKey: Public Key for this region
        • regionSecret: Secret Key for this region
        • masterServerId: ID of master server for this region
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access or This region does not exist

Type: POST (Create new region)

  • Endpoint: /regions
  • Required parameters:
    • token: The current token
    • name: The name of new region
    • note: The description of new region
    • countryCode: The country code in respect of ISO 3166-1 - Alpha-2 or new region
  • Result:
    • Success:
      • status: 200
      • id: ID of new region
      • message: The region has been successfully created
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access or Unknown error or Parameters are missing to create the new region or This country does not exist or Error in region creation

Type: PUT (Edit specific region)

  • Endpoint: /regions/{id}
  • Required parameters:
    • token: The current token
    • id: ID of specific region
    • name: The name of new region
    • note: The description of new region
    • countryCode: The country code in respect of ISO 3166-1 - Alpha-2 or new region
  • Result:
    • Success:
      • status: 200
      • message: Region successfully edited
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access or Unknown error or Unauthorized region

Type: DELETE (Delete specific region)

  • Endpoint: /regions/{id}
  • Required parameters:
    • token: The current token
    • id: ID of specific region
  • Result:
    • Success:
      • status: 200
      • message: Region successfully deleted
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access or Unknown error or This region manages the servers. Please remove the servers before deleting the region

Type: POST (Generate new API Keys for this region)

  • Endpoint: /regions/generate/{id}
  • Required parameters:
    • token: The current token
    • id: ID of specific region
  • Result:
    • Success:
      • status: 200
      • message: The new keys has been generated
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access or Unauthorized region

Type: GET (Get permissions for specific region)

  • Endpoint: /regions/permissions/{id}
  • Required parameters:
    • token: The current token
    • id: ID of specific region
  • Result:
    • Success:
      • status: 200
      • data: array
        • groupId: ID of group allowed for this region
        • groupName: Name of group allowed for this region
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access or Invalid region

Type: POST (Create permission for specific region)

  • Endpoint: /regions/permissions/{id}
  • Required parameters:
    • token: The current token
    • id: ID of specific region
    • groupId: ID of group allowed in this region
  • Result:
    • Success:
      • status: 200
      • message: Group successfully added to the region
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access or Invalid region or Invalid argument or Already existing

Type: DELETE (Delete permission for specific region)

  • Endpoint: /regions/permissions/{id}/{groupId}
  • Required parameters:
    • token: The current token
    • id: ID of specific region
    • groupId: ID of group allowed in this region
  • Result:
    • Success:
      • status: 200
      • message: Group successfully removed to the region
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access or Invalid region or Invalid argument or You can not remove your permissions

Type: PUT (Push new agent version to this specific region)

  • Endpoint: /regions/update/{id}
  • Required parameters:
    • token: The current token
    • id: ID of specific region
  • Result:
    • Success:
      • status: 200
      • message: The update has been sent successfully
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access or Unauthorized region

Servers

Type: GET (Get all servers managed by LinuFy)

  • Endpoint: /servers
  • Required parameters:
    • token: The current token
  • Result:
    • Success:
      • status: 200
      • data: array
        • id: ID of server
        • organizationId : ID of organization
        • name: Name of server
        • regionId : ID of region
        • isAlive: This server was accessed less than two minutes ago
        • ipAddress: IP address used for connect to this server
        • operatingSystem: Operating system used to this server
        • versionOS: Version of operating system used to this server
        • architecture: Processor architecture used to this server
        • regionName: Region name
        • searchDomain: Configured domain search to this server
        • nameServer1: Name server n°1 used by this server if available
        • nameServer2: Name server n°2 used by this server if available
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access

Type: GET (Get specific server managed by LinuFy)

  • Endpoint: /servers/{id}
  • Required parameters:
    • token: The current token
    • id: ID of specific server
  • Result:
    • Success:
      • status: 200
      • data: array
        • id: ID of server
        • organizationId : ID of organization
        • name: Name of server
        • lastSync: Date of last synchronization with region agent
        • regionId : ID of region
        • isAlive: This server was accessed less than two minutes ago
        • ipAddress: IP address used for connect to this server
        • operatingSystem: Operating system used to this server
        • versionOS: Version of operating system used to this server
        • architecture: Processor architecture used to this server
        • regionName: Region name
        • searchDomain: Configured domain search to this server
        • nameServer1: Name server n°1 used by this server if available
        • nameServer2: Name server n°2 used by this server if available
        • uptime: Uptime of this server
        • systemManufacturer: Manufacturer of hardware used by this server
        • systemProductName: More details of manufacturer of hardware used by this server
        • cpuModel: Model of CPU used in this server
        • 1avg: Average of system at 1 minute
        • 5avg: Average of system at 5 minute
        • 15avg: Average of system at 15 minute
        • selinux: Status of SE Linux
        • kernel : Kernel version
        • rebootRequired: Reboot is required by this server (True of False)
        • minionVersion: Salt minion version deployed in this server (used for LinuFy)
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access

Type: GET (Get the list of DNS servers)

  • Endpoint: /servers/dns
  • Required parameters:
    • token: The current token
  • Result:
    • Success:
      • status: 200
      • data: array
        • id: ID of server
        • name: Name of server
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access

Type: GET (Get domains for specific DNS servers)

  • Endpoint: /servers/{id}/dns
  • Required parameters:
    • token: The current token
    • id: ID of server
  • Result:
    • Success:
      • status: 200
      • data: array
        • id: ID of domain
        • domain: Domain name
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access or Unknown error

Type: POST (Create new domain to specific DNS server)

  • Endpoint: /servers/{id}/dns
  • Required parameters:
    • token: The current token
    • id: ID of server
    • domain: New domain name
    • ns1: Name server 1 for new domain name
    • ns2: Name server 1 for new domain name
  • Result:
    • Success:
      • status: 200
      • id: ID of new domain
      • message: New domain successfully added
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access or Unknown error or This server is not referenced or Please set all parameters or Domain is already used on this server or Domain name is not valid or Server name 1 is not valid or Server name 2 is not valid

Type: DELETE (Delete domain to specific DNS server)

  • Endpoint: /servers/{id}/dns/{domain}
  • Required parameters:
    • token: The current token
    • id: ID of server
    • domain: New domain name
  • Result:
    • Success:
      • status: 200
      • id: ID of action
      • message: Domain successfully deleted
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access or Unknown error or This server is not referenced or Please set all parameters or Domain is not used on this server or Domain is not valid

Type: GET (Get all records for specific domain in specific server)

  • Endpoint: /servers/{id}/dns/{domain}/records
  • Required parameters:
    • token: The current token
    • id: ID of server
    • domain: New domain name
  • Result:
    • Success:
      • status: 200
      • data: array
        • id: ID of record
        • name: Subdomain
        • type: Type of DNS record
        • ttl: Time To Live of DNS record
        • target: Target of DNS record
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access or Unknown error or This server is not referenced or This domain is not referenced

Type: POST (Create or edit new record for specific domain in specific server)

  • Endpoint: /servers/{id}/dns/{domain}/records
  • Required parameters:
    • token: The current token
    • id: ID of server
    • domain: New domain name
    • subdomain: Subdomain of DNS record
    • type: Type of DNS record
    • ttl: Time To Live of DNS record
    • target: Target of DNS record
  • Result:
    • Success:
      • status: 200
      • id: ID of new record
      • message: New record successfully added
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access or Unknown error or This server is not referenced or This domain is not referenced or This record is already referenced

Type: DELETE (Delete record for specific domain in specific server)

  • Endpoint: /servers/{id}/dns/{domain}/records
  • Required parameters:
    • token: The current token
    • id: ID of server
    • domain: New domain name
    • subdomain: Subdomain of DNS record
    • type: Type of DNS record
    • ttl: Time To Live of DNS record
    • target: Target of DNS record
  • Result:
    • Success:
      • status: 200
      • id: ID of new record
      • message: Record successfully deleted
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access or Unknown error or This server is not referenced or This domain is not referenced or This record is not referenced

Type: GET (Reboot specific server)

  • Endpoint: /servers/{id}/reboot
  • Required parameters:
    • token: The current token
    • id: ID of server
  • Result:
    • Success:
      • status: 200
      • id: ID of new action
      • message: Server successfully rebooted
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access or Unknown error or This server is not referenced

Type: GET (Refresh the upgrade packages list to specific server)

  • Endpoint: /servers/{id}/upgrade
  • Required parameters:
    • token: The current token
    • id: ID of server
  • Result:
    • Success:
      • status: 200
      • id: ID of new action
      • message: Upgrade list successfully submitted
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access or Unknown error or This server is not referenced

Type: GET (Get the upgrade packages list to specific server)

  • Endpoint: /servers/{id}/upgrade/view
  • Required parameters:
    • token: The current token
    • id: ID of server
  • Result:
    • Success:
      • status: 200
      • data: array
        • result: List of packages available to upgrade
        • date: Date of last refresh packages upgrade list
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access or Unknown error or This server is not referenced or No report found

Type: GET (Execute upgrade to specific server)

  • Endpoint: /servers/{id}/upgrade/apply
  • Required parameters:
    • token: The current token
    • id: ID of server
  • Result:
    • Success:
      • status: 200
      • id: ID of new action
      • message: Server upgrade successfully submitted
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access or Unknown error or This server is not referenced

Type: GET (Refresh system security audit)

  • Endpoint: /servers/{id}/startSystemAudit
  • Required parameters:
    • token: The current token
    • id: ID of server
  • Result:
    • Success:
      • status: 200
      • id: ID of new action
      • message: Security audit successfully submitted
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access or Unknown error or This server is not referenced

Type: GET (Get report of system security audit)

  • Endpoint: /servers/{id}/getReportSystemAudit
  • Required parameters:
    • token: The current token
    • id: ID of server
  • Result:
    • Success:
      • status: 200
      • id: ID of new action
      • data: array
        • suggestion: List of suggestion for harden specific server
        • testsDone: Score of check successfully passed
        • hardeningIndex: Number of executed check
        • hardeningIndexPercent: Percent of successfully passed check
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access or Unknown error or This server is not referenced or No report found

Type: GET (Get lists of system users for specific server)

  • Endpoint: /servers/{id}/users
  • Required parameters:
    • token: The current token
    • id: ID of server
  • Result:
    • Success:
      • status: 200
      • data: array
        • id: ID of user
        • name: Name of user
        • uid: Unix UID of user
        • gid: Unix GID of user
        • groupName: Group name of user
        • home: Home directory of user
        • shell: Unix shell of user
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access or Unknown error or This server is not referenced

Type: POST (Create new system user of specific server)

  • Endpoint: /servers/{id}/users
  • Required parameters:
    • token: The current token
    • id: ID of server
    • userName: User name of user
    • uid: UID of user
    • primaryGroup: Name of primary group of user
    • home: Home directory of user
    • shell: Unix shell of user
  • Result:
    • Success:
      • status: 200
      • id: ID of new action
      • message: New user successfully added
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access or Unknown error or This server is not referenced or Please set all parameters or UID is already used on this server or User name is already used on this server or Primary group not available on this server or This user identifier is not valid

Type: GET (Get specific user of specific server)

  • Endpoint: /servers/{id}/users/{userid}
  • Required parameters:
    • token: The current token
    • id: ID of server
  • Result:
    • Success:
      • status: 200
      • data: array
        • id: ID of user
        • name: Name of user
        • uid: Unix UID of user
        • gid: Unix GID of user
        • groupName: Group name of user
        • home: Home directory of user
        • shell: Unix shell of user
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access or Unknown error or This server is not referenced or This user is not referenced

Type: PUT (Edit specific user of specific server)

  • Endpoint: /servers/{id}/users/{userid}
  • Required parameters:
    • token: The current token
    • id: ID of server
    • uid: UID of user
    • primaryGroup: Name of primary group of user
    • home: Home directory of user
    • shell: Unix shell of user
  • Result:
    • Success:
      • status: 200
      • id: ID of new action
      • message: User successfully updated
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access or Unknown error or This server is not referenced or This user is not referenced or Unknown error

Type: DELETE (Delete specific user of specific server)

  • Endpoint: /servers/{id}/users/{userid}
  • Required parameters:
    • token: The current token
    • id: ID of server
  • Result:
    • Success:
      • status: 200
      • id: ID of new action
      • message: User successfully deleted
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access or Unknown error or This server is not referenced or This user is not referenced

Type: GET (Get lists of system groups for specific server)

  • Endpoint: /servers/{id}/groups
  • Required parameters:
    • token: The current token
    • id: ID of server
  • Result:
    • Success:
      • status: 200
      • data: array
        • id: ID of group
        • name: Name of group
        • gid: Unix GID of group
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access or Unknown error or This server is not referenced

Type: POST (Create new system group of specific server)

  • Endpoint: /servers/{id}/groups
  • Required parameters:
    • token: The current token
    • id: ID of server
    • groupName: Name of group
    • gid: Unix GID of group
  • Result:
    • Success:
      • status: 200
      • id: ID of new action
      • message: New group successfully added
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access or Unknown error or This server is not referenced or Please set all parameters or GID is already used on this server or Group name is already used on this server or This group identifier is not valid

Type: GET (Get specific system group for specific server)

  • Endpoint: /servers/{id}/groups/{groupId}
  • Required parameters:
    • token: The current token
    • id: ID of server
    • groupId: ID of group
  • Result:
    • Success:
      • status: 200
      • data: array
        • id: ID of group
        • name: Name of group
        • gid: Unix GID of group
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access or Unknown error or This server is not referenced or This group is not referenced

Type: PUT (Edit specific system group for specific server)

  • Endpoint: /servers/{id}/groups/{groupId}
  • Required parameters:
    • token: The current token
    • id: ID of server
    • groupId: ID of group
    • groupName: Name of group
    • gid: Unix GID of group
  • Result:
    • Success:
      • status: 200
      • id: ID of new action
      • message: New group successfully edited
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access or Unknown error or This server is not referenced or GID is not valid or This group identifier is not valid

Type: DELETE (Delete specific system group for specific server)

  • Endpoint: /servers/{id}/groups/{groupId}
  • Required parameters:
    • token: The current token
    • id: ID of server
    • groupId: ID of group
  • Result:
    • Success:
      • status: 200
      • id: ID of new action
      • message: New group successfully deleted
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access or Unknown error or This server is not referenced

Type: GET (Get usage of partitions for specific server)

  • Endpoint: /servers/{id}/partitionsUsage
  • Required parameters:
    • token: The current token
    • id: ID of server
  • Result:
    • Success:
      • status: 200
      • data: array
        • partitionName: Name of partition
        • available: Size available in partition
        • capacity: Percent capacity used in partition
        • filesystem: File system mapped on the system
        • used: Size used in partition
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access or Unknown error or This server is not referenced

Type: GET (Get disks for specific server)

  • Endpoint: /servers/{id}/disks
  • Required parameters:
    • token: The current token
    • id: ID of server
  • Result:
    • Success:
      • status: 200
      • data: array
        • name: Name of disk
        • type: Format type of disk
        • uuid: UUID of disk
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access or Unknown error or This server is not referenced

Type: GET (Get network interfaces for specific server)

  • Endpoint: /servers/{id}/interfaces
  • Required parameters:
    • token: The current token
    • id: ID of server
  • Result:
    • Success:
      • status: 200
      • data: array
        • id: ID of interface
        • name: Name of interface
        • macAddress: Mac address of interface
        • ipAddress: IP address of interface
        • netmask: Netmask of interface
        • status: Status of interface
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access or Unknown error or This server is not referenced

Type: GET (Get network routes for specific server)

  • Endpoint: /servers/{id}/routes
  • Required parameters:
    • token: The current token
    • id: ID of server
  • Result:
    • Success:
      • status: 200
      • data: array
        • id: ID of interface
        • interface: Interface name used for route
        • destination: Destination of route
        • netmask: Netmask of route
        • gateway: Gateway of route
        • flags: Flags of route
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access or Unknown error or This server is not referenced

Type: GET (Get result of traceroute for specific server)

  • Endpoint: /servers/{id}/traceroute
  • Required parameters:
    • token: The current token
    • id: ID of server
  • Result:
    • Success:
      • status: 200
      • result: array:
        • result: Result of traceroute
        • date: Date of last execution of traceroute
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access or Unknown error or This server is not referenced or No traceroute found

Type: POST (Execute new traceroute of specific server)

  • Endpoint: /servers/{id}/traceroute
  • Required parameters:
    • token: The current token
    • id: ID of server
    • traceroute: Target of traceroute
  • Result:
    • Success:
      • status: 200
      • id: ID of new action
      • message: Traceroute successfully submitted
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access or Unknown error or This server is not referenced or Traceroute argument not set

Add Remote Server

Type: POST (Add new server managed by LinuFy)

  • Endpoint: /addRemoteServer
  • Required parameters:
    • token: The current token
    • name: Name of this server
    • ipAddress: IP address used for connect to this server
    • sshPort: SSH Port used for connect to this server
    • rootPassword: Root password used for connect to this server (required only if rootKey not used)
    • rootKey: Root key used for connect to this server (required only if rootPassword not used)
    • isMasterRegionServer: This server is master server for this region (value: 0 or 1)
    • regionId: ID of region
  • Result:
    • Success:
      • status: 200
      • message: Server successfully submitted. It will be installed in a few moments
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access or Not root key or password or This region does not exist or Unable to connect to the server or You must deploy a master server before deploying slave servers or Can connect to the server but can not identify the OS or Authentication failed or A system error has occurred

Available Services

Type: GET (Get all available services)

  • Endpoint: /availableServices
  • Required parameters:
    • token: The current token
  • Result:
    • Success:
      • status: 200
      • data: array
        • id: ID of service
        • name: Name of service
        • description: Description of service
        • daemon: Daemon name of service
        • maintenance: Maintenance status (0: not in maintenance or 1: in maintenance). If service is in maintenance, it is read-only.
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access

Type: GET (Get specific available services)

  • Endpoint: /availableServices/{id}
  • Required parameters:
    • token: The current token
    • id: ID of specific available service
  • Result:
    • Success:
      • status: 200
      • data: array
        • id: ID of service
        • name: Name of service
        • description: Description of service
        • daemon: Daemon name of service
        • maintenance: Maintenance status (0: not in maintenance or 1: in maintenance). If service is in maintenance, it is read-only.
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access

Managed Services

Type: POST (Create new managed service)

  • Endpoint: /managedServices
  • Required parameters:
    • token: The current token
    • serverId: ID of server for add new managed service
    • serviceId: ID of available service
  • Result:
    • Success:
      • status: 200
      • id: ID of new managed service
      • message: Managed service successfully added
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access or Unknown Error or This server is not referenced

Type: GET (Get all managed service for specific server)

  • Endpoint: /managedServices/{id}
  • Required parameters:
    • token: The current token
    • id: ID of specific server
  • Result:
    • Success:
      • status: 200
      • data: array
        • id: ID of managed service
        • serverId : ID of specific server
        • serviceId: ID of available service
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access or This server is not referenced

Type: DELETE (Delete all manged service for specific server)

  • Endpoint: /managedServices/{id}
  • Required parameters:
    • token: The current token
    • id: ID of specific server
  • Result:
    • Success:
      • status: 200
      • message: Managed Services successfully deleted
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access

Action Services

Type: GET (Get last 250 history of actions)

  • Endpoint: /actionServices
  • Required parameters:
    • token: The current token
  • Result:
    • Success:
      • status: 200
      • data: array
        • id: ID of action
        • serverId: ID of the server on which the action was executed
        • serviceId: ID of service concerned (this value equal 0 if it's system action)
        • function: Name of executed function
        • parameters: Parameters of action is available
        • status: Status of action (values are PENDING or SUCCESS or ERROR)
        • result: Result of action (if action is executed)
        • created: Date of creation
        • executed: Date of execution (if action is executed)
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access

Type: GET (Get history for specific action)

  • Endpoint: /actionServices/{id}
  • Required parameters:
    • token: The current token
  • Result:
    • Success:
      • status: 200
      • data: array
        • id: ID of action
        • serverId: ID of the server on which the action was executed
        • serviceId: ID of service concerned (this value equal 0 if it's system action)
        • function: Name of executed function
        • parameters: Parameters of action is available
        • status: Status of action (values are PENDING or SUCCESS or ERROR)
        • result: Result of action (if action is executed)
        • created: Date of creation
        • executed: Date of execution (if action is executed)
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access

Type: POST (Create new action)

  • Endpoint: /actionServices
  • Required parameters:
    • token: The current token
    • serverId: ID of the server
    • serviceId: ID of service concerned (this value equal 0 if it's system action)
    • function: Name of executed function
    • parameters: Parameters of action is available
  • Result:
    • Success:
      • status: 200
      • id: ID of new action
      • message: Action successfully added
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access or Unknown error or This service is not referenced or This server is not referenced or This service is not enabled on this server or Unavailable service or Conditions not fulfilled to perform this action

Logs Managed Services

Type: GET (Get logs for specific service in specific server)

  • Endpoint: /logsManagedServices/{serverId}/{serviceId}
  • Required parameters:
    • token: The current token
    • serverId: ID of the server
    • serviceId: ID of service concerned (this value equal 0 if it's system action)
  • Result:
    • Success:
      • status: 200
      • data: array
        • id: ID of log
        • function: Name of executed function
        • status: Status of action (values are PENDING or SUCCESS or ERROR)
        • created: Date of creation
        • executed: Date of execution (if action is executed)
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access or Unauthorized server or Unavailable server or service

Type: GET (Get details for specific log)

  • Endpoint: /logsManagedServices/details/{id}
  • Required parameters:
    • token: The current token
    • id: ID of log
  • Result:
    • Success:
      • status: 200
      • data: Result of action
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access or Unauthorized server or Invalid event log or Task pending execution

Providers

GET (Get providers available)

  • Endpoint: /providers
  • Required parameters:
    • token: The current token
  • Result:
    • Success:
      • status: 200
      • data: List of managed cloud providers
    • Error:
      • status: 100
      • message: Invalid Token or Unknown Error

Type: GET (Get full parameters of specific provider)

  • Endpoint: /providers/{provider}
  • Required parameters:
    • token: The current token
    • provider: Cloud provider name
  • Result:
    • Success:
      • status: 200
      • data: List of parameters required for this provider
    • Error:
      • status: 100
      • message: Invalid Token or This provider is not managed

Type: GET (Get full options of specific provider)

  • Endpoint: /providers/fullDetail/{provider}
  • Required parameters:
    • token: The current token
    • provider: Cloud provider name
  • Result:
    • Success:
      • status: 200
      • data: Array of available options for specific parameters
    • Error:
      • status: 100
      • message: Invalid Token or This provider is not managed

Type: POST (Create new provider template)

  • Endpoint: /providers/{provider}
  • Required parameters:
    • token: The current token
    • provider: Cloud provider name
    • name: Name of your custom provider template
    • providerParameters: List of parameters (Get full parameters of specific provider) with your custom values. This parameter must be formatted in JSON and encoded in base64.
  • Result:
    • Success:
      • status: 200
      • id: ID of new template
      • message: Provider successfully added
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access or Unknown Error or Invalid parameters name or providerParameters

Type: GET (List of your template providers)

  • Endpoint: /providers/list
  • Required parameters:
    • token: The current token
  • Result:
    • Success:
      • status: 200
      • data: array
        • id: ID of template provider
        • providerName: Name of provider used for this template
        • templateName: Name of template
    • Error:
      • status: 100
      • message: Invalid Token or Unknown Error or Unauthorized access

Type: GET (Get details of specific template provider)

  • Endpoint: /providers/detail/{id}
  • Required parameters:
    • token: The current token
    • id: ID of template provider
  • Result:
    • Success:
      • status: 200
      • data: Array of parameters with your custom values for this template provider
    • Error:
      • status: 100
      • message: Invalid Token or Unknown Error or Unauthorized access

Type: PUT (Edit details of specific template provider)

  • Endpoint: /providers/detail/{id}
  • Required parameters:
    • token: The current token
    • id: ID of template provider
    • providerParameters: List of parameters (Get full parameters of specific provider) with your custom values. This parameter must be formatted in JSON and encoded in base64.
  • Result:
    • Success:
      • status: 200
      • message: Provider successfully edited
    • Error:
      • status: 100
      • message: Invalid Token or Unknown Error or Unauthorized access or Unknown provider configuration or Invalid parameters name or providerParameters

Type: DELETE (Delete specific template provider)

  • Endpoint: /providers/detail/{id}
  • Required parameters:
    • token: The current token
    • id: ID of template provider
  • Result:
    • Success:
      • status: 200
      • message: Provider successfully deleted
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access

TYPE: POST (Deploy new virtual machine of specific cloud provider with your custom template)

  • Endpoint: /providers/deploy/{provider}
  • Required parameters:
    • token: The current token
    • id: ID of template provider
    • hostname: Hostname of new virtual machine
    • regionId: ID of region used for deploy this new virtual machine
    • serverParameters: All parameters of your new virtual machine. This parameter must be formatted in JSON and encoded in base64.
    • providerId: ID of your template provider
  • Result:
    • Success:
      • status: 200
      • id: ID of your deployment action
      • message: Deployment in progress at the provider
    • Error:
      • status: 100
      • message: Invalid Token or Unknown Error or Unauthorized access or Invalid parameters name or providerParameters

Invoices

Type: GET (Get all invoices)

  • Endpoint: /invoices
  • Required parameters:
    • token: The current token
  • Result:
    • Success:
      • status: 200
      • data: array
        • id: ID of invoice
        • invoiceDate: Creation date of invoice
        • dueDate: Due date of invoice
        • note: Information of invoice
        • personalName: Recipient's name of invoice
        • address: Billing address
        • address_2: Additional billing address
        • postalCode: Postal code of address
        • city: City of address
        • country: Country of address
        • totalPrice: Total price of invoice
        • vat: VAT percent
        • status: Status of invoice (paid or unpaid)
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access

Type: GET (Get specific invoice)

  • Endpoint: /invoices/{id}
  • Required parameters:
    • token: The current token
    • id: ID of specific invoice
  • Result:
    • Success:
      • status: 200
      • data: array
        • id: ID of invoice
        • invoiceDate: Creation date of invoice
        • dueDate: Due date of invoice
        • note: Information of invoice
        • personalName: Recipient's name of invoice
        • address: Billing address
        • address_2: Additional billing address
        • postalCode: Postal code of address
        • city: City of address
        • country: Country of address
        • totalPrice: Total price of invoice
        • vat: VAT percent
        • status: Status of invoice (paid or unpaid)
        • details : array
          • description: Description of line
          • price: Unit price of line
          • quantity: Quantity of line
    • Error:
      • status: 100
      • message: Invalid Token or Unauthorized access

Security Advisory

Type: GET (Get 5 last security advisories)

  • Endpoint: /securityAdvisory
  • Required parameters:
    • token: The current token
  • Result:
    • Success:
      • status: 200
      • data: array
        • cveId : The CVE number
        • description: The description of security advisory
        • severity: The severity of security advisory