Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Published by Scroll Versions from this space and version 8.0.0

Resources

Warning
ProVision's APIv1 system has been replaced by APIv2, and is now considered deprecated. 

Table of Contents

get

URL/api/v1/api.php?target=resource&action=get
DescriptionGet a resource or resources
ReturnsExamples:
SUCCESSFUL: {"success":1,"message":"Search successful","data":[{"id":"57","name":"2nd Email","slug":"6c-contact-email2","type":"field","parent_id":"1","category_id":null,"attr":[]}]}
ERROR: {"success":0,"message":"Search failed"}
Optional Parameters


General Parameters:

NameTypeNotes/Example
nameSTRINGName of the resource. Example: 6Connect, Inc.
slugSTRINGThe unique URL friendly name of the resource. Example: 6connect-inc
typeSTRINGType of resource (eg. entry, field, category, dnsmodule)
searchSTRING

Search the resource system for the provided term. Performs a "LIKE" search to return similar results. Similar to GET Resource SEARCH call.

search_columnSTRINGColumn to perform a 'search' on.
permissions__trueSTRINGSet the permissions that must be true. Typically only used for UI / Gadget permissions.
permissions__falseSTRING

Set the permissions that must be false. Typically only used for UI / Gadget permissions.

getFromBackupINTEGERUse data from the resource_archive table instead of the standard resource table, used with "orig_id" identifying parameter.


Limit Results by ID:

HTML
<div id="google_translate_element"></div>
<script type="text/javascript">
function googleTranslateElementInit() {
  new google.translate.TranslateElement({pageLanguage: 'en'}, 'google_translate_element');
}
</script>
<script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>

 

Table of Contents

Resources

var data = {
     "type: "entry",
     "attributes": [
          {


Limit Results by Resource Link:

For resources for which exist a Resource Link, you may limit by resource link data:

get

URL/api/v1/api.php?target=resource&action=get
DescriptionGet a resource or resources
ReturnsExamples:
SUCCESSFUL: {"success":1,"message":"Search successful","data":[{"id":"57","name":"2nd Email","slug":"6c-contact-email2","type":"field","parent_id":"1","category_id":null,"attr":[]}]}
ERROR: {"success":0,"message":"Search failed"}
Optional Parameters
NameTypeNotes/Example
nameSTRINGName of the resource. Example: 6Connect, Inc.
slugSTRINGThe unique URL friendly name of the resource. Example: 6connect-inc
typeSTRINGType of resource (eg. entry, field, category)
 

At most, one of the following:

NameTypeNotes/Example
idINTEGERGet the resource which has this ID
resource
orig_
_in
id
ARRAY
INTEGER
Get any resource which has any
The resource id from the standard resource table, used in conjunction with 'getFromBackup'.
custom_idINTEGERThe resource custom id provided by the user for the resource.
resource__inARRAY

Get any resource which has any of these IDs

Syntax: &resource__in[]=1771&resource__in[]=14238 (Each resource id you wish to search over gets its own phrase.)

resource__not_inARRAY

Get all the resources which do not have any of these IDs

Syntax: &resource__not_in[]=1771&resource__not_in[]=14238 (Each resource id you wish to exclude gets its own phrase.)

 


At most, one of the following:

NameTypeNotes/Example
parent_idINTEGERGet the resources whose parent has this ID
parent__inARRAY

Get any resource whose parents have any of these IDs.

Syntax: &parent__in[]=162&parent__in[]=299 (Each parent id you wish to search over gets its own phrase.)

parent__not_inARRAY

Get all resources whose parents do not have any of these IDs

Syntax: &parent__not_in[]=1771&parent__not_in[]=14238 (Each parent id you wish to exclude gets its own phrase.)

 


At most, one of the following:

NameTypeNotes/Example
category_idINTEGERGet the resources of the category that has this ID
category__inARRAY

Get any resources whose categories have any of these IDs.

Syntax: &category__in[]=11002&category__in[]=11003 (Each category id you wish to search over gets its own phrase.)

category__not_inARRAY

Get the resources of all the categories that do not have any of these IDs

Syntax: &parent__not_in[]=11002&parent__not_in[]=11003 (Each category id you wish to exclude gets its own phrase.)

You can set the order of the results by setting the STRING value of the parameter orderby to one of the following :

  • none
  • id
  • name (default)
  • slug
  • type
  • parent_id
  • date
  • resource__in (preserve order given in the resource__in array)

 

You can set the direction of the ordering of the results by setting the STRING value of the parameter order to one of the following :

  • ASC  (default)
  • DESC

 

You can further limit the results based on attributes the resources may have:

NameTypeNotes/Example
attr_keySTRINGThe name of the attribute. Example: network-fqdn
attr_valueSTRINGThe value of any attribute, or if attr_key is specified, the value of the attribute defined in attr_key.
attr_compareSTRING

If both attr_key and attr_value are given, the results are by default compared based on the value given as attr_value being equal to the value stored in the database. You can optionally change this by setting the STRING value of attr_compare to one of the following:

  • =  (default)
  • !=
  • ﹥=
  • ﹤=
  • LIKE
  • NOT LIKE
  • IN
  • NOT IN
  • BETWEEN
  • NOT BETWEEN
Note

When attr_compare is set to IN, NOT IN, BETWEEN, NOT BETWEEN, then attr_value must either be an array or a comma separated string.

 

You can search on multiple attributes by including an array of attribute options:

NameTypeNotes/Example
attributesARRAY
NameTypeNotes/Example
resource_link_typeSTRING

The resource linkage relation name. Valid values include:

For type = dnsmodule:

Valid ValueNotes
dnsViewACLLinks a ACL and a Group. The View (Group) must be resource1, resource id and the ACL resource must be resource2 in the linkage table
dnsViewServerLinks a View (Group) with Server (DNS Connector), and the Group resource must be as resource1 and DNS Module as resource2. Used for attaching DNS servers to DNS Groups.
dnsZoneMasterLinks a DNS Zone resource with the Server that will be exported as Master. The DNS Zone must be in resource1 and the server as resource2. Used for Directly attaching zones to servers.
dnsZoneSlaveLinks a DNS Zone resource with the Server that will be exported as Slave. The DNS Zone must be in resource1 and the server as resource2. Used for Directly attaching zones to servers.
dnsZoneServer

Links a DNS Zone resource with a Server resource. The DNS Zone must be in resource1 and the server as resource2. Used to directly attach servers to zones.

dnsZoneViewLinks a DNS Zone resource with a Group. The DNS Zone must be resource1, the Group resource as resource 2.


resource_link_columnINTEGER

The column to be used for the parameter in "resource_link_value". Valid integer values are:

'1' = to use resource1 in the first column

'2' = to use resource2 in the second column

resource_link_valueINTEGERThe resource id for the resource_linkage table to search (Example: "10697")


Limit Results by Attributes:

You can further limit the results based on attributes the resources may have:

NameTypeNotes/Example
attributesARRAY

You can search on multiple attributes by including an array of attribute options:

var data = {
     "type: "entry",
     "attributes": [
         
"attr_key": "
 {
               "attr_key": "_section",
               "attr_value": "105",
          },
          {
               "attr_key": "address-mail-state",
               "attr_value": "CA",
          }
     ],
     "resources_per_page: 10
}

 

You can restrict the range of the resources returned.

NameTypeNotes/Example
resources_per_pageINTEGERHow many resources to return.
offsetINTEGERHow many resources to offset (the initial resource is 0, not 1).
pagedINTEGERThe page to return (starts at 1, not 0). This parameter is provided for convenience and is used to calculate the offset where: offset=(paged-1)*resources_per_page
Example URL/api/v1/api.php?target=resource&action=get&id=7

add

URL/api/v1/api.php?target=resource&action=addDescriptionAdd a resource.
attr_keySTRINGThe name of the attribute. Example: network-fqdn
attr_valueSTRINGThe value of any attribute, or if attr_key is specified, the value of the attribute defined in attr_key.
attr_compareSTRING

If both attr_key and attr_value are given, the results are by default compared based on the value given as attr_value being equal to the value stored in the database. You can optionally change this by setting the STRING value of attr_compare to one of the following:

  • = (default)
  • !=
  • ﹥=
  • ﹤=
  • LIKE
  • NOT LIKE
  • IN
  • NOT IN
  • BETWEEN
  • NOT BETWEEN

    Note

    When attr_compare is set to IN, NOT IN, BETWEEN, NOT BETWEEN, then attr_value must either be an array or a comma separated string.


attr_loadBOOL

Load resource attributes along with the resource entry


Result Ordering:

NameTypeNotes/Example
orderSTRING

Set the direction of the ordering of the results by ascending or descending order. Valid values are:

  • ASC  (default)
  • DESC
orderbySTRING

The parameter to order results by. Valid values include:

  • none
  • id
  • name (default)
  • slug
  • type
  • parent_id
  • date
  • resource__in (preserve order given in the resource__in array)


Range Selection / Paging:

You can restrict the range of the resources returned.

NameTypeNotes/Example
resources_per_pageINTEGERHow many resources to return per page, e.g.: '10' .
offsetINTEGERHow many resources to offset from the initial resource, to use as the first resource provided in the return list (the initial resource is 0, not 1).
pagedINTEGERThe page to return (starts at 1, not 0). This parameter is provided for convenience and is used to calculate the offset where: offset=(paged-1)*resources_per_page


Example URLReturns

Examples:

/api/v1/api.php?target=resource&action=add&meta[name]=apitest&meta[type]=entry&meta[section]=firewall&fields[network-fqdn][]=www.example.com

SUCCESSFUL: {"success":1,"message":"Resource added","data":{"id":1077,"name":"apitest","slug":"apitest","type":"entry","parent_id":1,"category_id":"NULL","attr":{"_section":"70","network-fqdn":"www.example.com"},"section":{"id":"70","name":"Firewall","slug":"firewall","type":"section","parent_id":"1","category_id":null,"attr":{}}}}/api/v1/api.php?target=resource&action=get&id=7


One of the following:

add

URL/api/v1/api.php?target=resource&action=add
DescriptionAdd a resource.
Returns

Examples:

/api/v1/api.php?target=resource&action=add&meta[name]=apitest&meta[type]=entry&meta[section]=firewalladd&meta[name]=apitest&meta[type]=entry&fields[network-fqdn][]=www.example.com

ERRORSUCCESSFUL: {"success":01,"message":"Entries must be assigned to a section"}

Required Parameters
NameTypeNotes/Example
meta[name]STRINGName of the resource
meta[type]STRINGType of resource (entry, section, field, etc.)
Optional Parameters
NameTypeNotes/Example
meta[parent_id]INTEGERID of the parent resource
meta[category_id]INTEGERID of the category

Required Parameters

(meta[type] = entry)

NameTypeNotes/Example
meta[section_id]INTEGERID of the section that the entry will be assigned to
meta[section]STRINGSlug of the section that the entry will be assigned to

Resource added","data":{"id":1077,"name":"apitest","slug":"apitest","type":"entry","parent_id":1,"category_id":"NULL","attr":{"_section":"70","network-fqdn":"www.example.com"},"section":{"id":"70","name":"Firewall","slug":"firewall","type":"section","parent_id":"1","category_id":null,"attr":{}}}}

/api/v1/api.php?target=resource&action=add&meta[name]=apitest&meta[type]=entry&fields[network-fqdn][]=www.example.com

ERROR:{"success":0,"message":"Entries must be assigned to a section"}

Required Parameters


NameTypeNotes/Example
meta[name]STRINGName of the resource
meta[type]STRINGType of resource (entry, section, field, etc.)


Optional Parameters


NameTypeNotes/Example
meta[parent_id]INTEGERID of the parent resource
meta[category_id]INTEGERID of the category


Required Parameters

(meta[type] = entry)


One of the following:

NameTypeNotes/Example
meta[section_id]INTEGERID of the section that the entry will be assigned to
meta[section]STRINGSlug of the section that the entry will be assigned to


Optional Parameters

(meta[type] = entry)


NameTypeNotes/Example
fields[]ARRAY

Entry field values (for fields that have already been assigned to the section) can be populated when the entry is created.

The format is field[field-slug][field-instance]. If the field instance is left blank, it will simply be the next value in the instance array. For example:

fields[network-fqdn][]=example.com&fields[network-fqdn][]=test.com

would be written in JSON as

var fields = {
     "network-fqdn": [
          "example.com",
          "test.com"
     ]
}

Please note that the Field Slug might differ from the Field Name! To find the correct slug to use in adding resources with field values go the Section of the Resource you are adding, click 'Edit', then click the name of the Fields you will be populating. An Edit Field box will pop up which displays the Field's slug.

A field can be added to a section multiple times. The field instance is used to keep track of which field occurrence we are referring. In this example, the network-fqdn field had been added twice to the section so we were able to store two values for it.

meta[custom_id]STRINGA custom ID for the entry. In the past this has been called the Resource Holder ID or Customer ID. Most recently it was implemented as a text field with the slug "6c-resourceholder-id." Now it is a fundamental part the entry type resources.


Required Parameters

(meta[type] = field)


NameTypeNotes/Example
meta[field_type]STRING

Type of field

  • text
  • textarea
  • radios
  • checkboxes
  • choicebox


Optional Parameters

(meta[type] = field

Optional Parameters

(meta[type] = entry)

NameTypeNotes/Example
fields[]ARRAY

Entry field values (for fields that have already been assigned to the section) can be populated when the entry is created.

The format is field[field-slug][field-instance]. If the field instance is left blank, it will simply be the next value in the instance array. For example:

fields[network-fqdn][]=example.com&fields[network-fqdn][]=test.com

would be written in JSON as

var fields = {
     "network-fqdn": [
          "example.com",
          "test.com"
     ]
}

Please note that the Field Slug might differ from the Field Name! To find the correct slug to use in adding resources with field values go the Section of the Resource you are adding, click 'Edit', then click the name of the Fields you will be populating. An Edit Field box will pop up which displays the Field's slug.

A field can be added to a section multiple times. The field instance is used to keep track of which field occurrence we are referring. In this example, the network-fqdn field had been added twice to the section so we were able to store two values for it.

meta[custom_id]STRINGA custom ID for the entry. In the past this has been called the Resource Holder ID or Customer ID. Most recently it was implemented as a text field with the slug "6c-resourceholder-id." Now it is a fundamental part the entry type resources.

Required Parameters

(meta[type] = field)

NameTypeNotes/Example
meta[field_type]STRING

Type of field

  • text
  • textarea
  • radios
  • checkboxes
  • choicebox

Optional Parameters

(meta[type] = field)

NameTypeNotes/Example
meta[help_block]STRINGFields can have a line of text under them with instructions
meta[options]ARRAY

Fields of type radios, checkboxes, or choicebox can have multiple options. This could be multiple radio buttons or a choicebox (dropdown) with several options. For example:

meta[type]=field&meta[name]=Colors&meta[field_type]=choicebox&meta[options][]=Blue&meta[options][]=Green

Will create a choicebox with dropdown options of Blue and Green.

Required Parameters

(meta[type] = gadgets)


gadgets[x][uuid
NameTypeNotes/Example
meta[help_block]INTEGER

x: The nth gadget being described in the call ('0' for the first gadget, '1' for the second, and so on).

uuid: User-generated ID of the gadget to be created.

gadgets[x][code]STRING

x: The nth gadget being described in the call ('0' for the first gadget, '1' for the second, and so on).

code: Slug of the gadget code to be created.

List of valid Gadget codes:

  • Contact Info: "_contact_info"
  • Contacts: "_contacts"
  • DHCP Server: "_dhcp_server"
  • DNS: "_dns"
  • Document Storage: "_document_storage"
  • IPAM: "_ipam"
  • Peer Groups: "_peering_peer_groups"
  • Peering Sessions: "_peering_sessions"
  • VRFs: "_peering_vrfs"
  • Resource Linkage: "_resource_linkage"
  • Resource View: "_resource_view"
  • Reverse API Console: "_reverse_api"
  • Tech Info: "_tech_info"

Example - Adding the IPAM Gadget to a Section:

api.php?target=resource&action=add&meta[type]=section&meta[name]=TestSection_1&meta[parent_id]=1&gadgets[0][uuid]=uuid-586dbd260d6ef&gadgets[0][code]=_ipam