ProVision can integrate with your existing tools and workflow through use of the API and CLI. The API allows you to access the data and functions of the web tools to run advanced commands in ProVision, and supports a wide variety of update and deletion conditions not available in the UI.
To use the API, you will need a basic understanding of object oriented programming in PHP and the right tools installed on your system.
Theming Customization
In addition to the standard Light / Dark Mode themes available in ProVision, several methods are available to customize the entire product, allowing for additional company branding and fine control over what areas of the product are visible and what are not.
Theming Customization includes:
-
Changing the instance logo and brand name
-
Customizing the visible tabs or subtabs instance-wide
-
Creation of fully custom themes to match company branding
Note: Theming customization requires read/write access on the instance's "assets" directory, and experience using vi or another text editor of your choice to edit options.
Creating a custom theme requires strong CSS knowledge, as well as access and write permissions to your instance's "assets" directory
API Overview
The API is a RESTful API to access your data in the ProVision tools. REST relies on stateless, client-server communication, and APIv2 is implemented using the HTTPS protocol. It is a simple and lightweight alternative to Web Services and can implemented in nearly any language. The API operates similarly to other popular REST APIs you may have worked with, such as Facebook or Twitter.
Here are some important details about our REST implementation:
-
The API only comes with the full IPAM product.
-
All transactions are over HTTPS (SSL - port 443) only. Any transaction not using SSL will be rejected, and you will have potentially exposed sensitive data.
-
All API results are formatted in JSON. XML support is coming soon.
-
APIv2 requests use standard HTTP methods such as GET, PUT, POST, PATCH, and DELETE. We suggest using POST if the length of data in the request is over 8KB.
-
You can use any language you would like to query the API.
API v2
APIv2 is ProVision's currently supported RESTful API version. APIv2 adds upgraded functionality over APIv1, through use of HTTPS authentication, additional HTTP methods (GET, PUT, POST, etc.), and JSON payloads.
Existing customers may access APIv2 Documentation from within their ProVision instance (Note: Access requires admin permissions).
Public APIv2 documentation is located at APIv2 Swagger page, and includes the following modules:
-
IPAM API: Includes actions for LIRs, IP aggregate and block management, VLAN, IP Rules, and SWIP.
-
Resource API: Includes actions for managing the Resource System.
The resource API provides CRUD endpoints for resources, resource attributes, resource attachments and resource backups. -
Resource View API: Provides CRUD endpoints for resource views.
-
DNS API: The DNS API allows you to manage DNS Zones, Records, Servers, Groups and ACLS.
-
Peering API: Allows you to manage routers and BGP sessions.
-
Contacts API: Allows you to manage contacts.
-
Users API: Includes actions for users, permissions and actions.
-
Usergroups API: Includes actions for groups, permissions and actions
-
Scheduler API: The Scheduler API Allows you to easily schedule tasks.
-
API Composer Platform: API Composer Platform (ACP) is an additional module to help automate frequently used combinations of calls.
-
SSH API: Includes actions for SSH credentials and SHH Routes.
Continue to APIv2 for details on using ProVision’s APIv2 system.
API v1 (Deprecated)
ProVision's APIv1 system has been replaced by APIv2, and is now considered deprecated.
It is highly recommended that any customer utilizing ProVision's API for custom scripting refer to APIv2 documentation instead, and consider upgrading existing APIv1 scripts to use APIv2.
However, APIv1 documentation will remain accessible in order to support legacy users.
Toolkit
Additional CLI modules are available for power users in the /tools directory.
Resource Concepts
A developer-oriented overview of the Resource System.