[Index]
Model ref.: relation/PRSSwitchREL
The full URL would include the host-proxy name: https://[host-proxy].
Variables are enclosed in square brackets.
{ "$schema": "http://json-schema.org/draft-03/schema", "type": "object", "properties": { "name": { "title": "Server Name", "type": "string", "maxLength": 64, "required": true, "readonly": false, "is_password": false }, "description": { "title": "Description", "type": "string", "maxLength": 128, "required": true, "readonly": false, "is_password": false }, "version": { "title": "Version", "type": "string", "maxLength": 128, "required": true, "readonly": false, "is_password": false, "choices": [ { "value": "1.0.0", "title": "1.0.0" } ] }, "typeDeploymentMode": { "title": "Deployment Mode", "type": "string", "maxLength": 1024, "required": true, "readonly": false, "is_password": false, "choices": [ { "value": "HCS", "title": "HCS" }, { "value": "Standalone", "title": "Standalone" } ] }, "cucm": { "title": "HCS CUCM", "type": "array", "minItems": 0, "maxItems": 16, "required": false, "items": { "type": "object", "properties": { "hcsCucm": { "title": "CUCM", "type": "string" } } } }, "virtualMachine": { "title": "Virtual Machine", "type": "string", "maxLength": 1024, "required": false, "readonly": false, "is_password": false }, "ntpServer": { "title": "NTP Server for phones", "type": "string", "maxLength": 1024, "required": true, "readonly": false, "is_password": false }, "application_space": { "title": "Application Space", "type": "string", "maxLength": 1024, "required": false, "readonly": false, "is_password": false }, "backup_application_space": { "title": "Backup Application Space", "type": "string", "maxLength": 1024, "required": false, "readonly": false, "is_password": false }, "credentials": { "title": "Credentials", "type": "array", "minItems": 0, "required": false, "readonly": false, "is_password": false, "displayable": false, "items": { "type": "object", "is_password": false, "properties": { "description": { "title": "Description", "type": "string", "maxLength": 128, "required": false, "readonly": false, "displayable": false, "is_password": false }, "typeCredential": { "title": "Type Credential", "type": "string", "maxLength": 1024, "required": true, "readonly": false, "is_password": false, "choices": [ { "value": "API", "title": "API" }, { "value": "CLI", "title": "CLI" } ] }, "userID": { "title": "User ID", "type": "string", "maxLength": 256, "required": false, "readonly": false, "is_password": false }, "password": { "title": "Password", "type": "string", "maxLength": 512, "required": false, "readonly": false, "is_password": true, "store_encrypted": true } } } }, "networkAddresses": { "title": "Network Addresses", "type": "array", "minItems": 0, "required": false, "readonly": false, "is_password": false, "displayable": false, "items": { "type": "object", "is_password": false, "properties": { "typeAddressSpace": { "title": "Type Address Space", "type": "string", "maxLength": 1024, "required": true, "readonly": false, "is_password": false, "choices": [ { "value": "APPLICATION_SPACE", "title": "APPLICATION_SPACE" }, { "value": "SERVICE_PROVIDER_SPACE", "title": "SERVICE_PROVIDER_SPACE" }, { "value": "CUSTOMER_SPACE", "title": "CUSTOMER_SPACE" }, { "value": "BACKUP_APPLICATION_SPACE", "title": "BACKUP_APPLICATION_SPACE" } ] }, "description": { "title": "Description", "type": "string", "maxLength": 128, "required": false, "readonly": false, "is_password": false }, "iPAddrV4": { "title": "IP Addr V4", "type": "string", "maxLength": 64, "required": false, "readonly": false, "is_password": false } } } }, "connParms": { "title": "Conn Parms", "type": "object", "properties": { "name": { "required": true, "type": "string", "description": "Name for this instance of generic driver connection details.", "title": "Name" }, "description": { "required": true, "type": "string", "description": "Description for this instance of generic driver connection details.", "title": "Description" }, "version": { "description": "Version of models to use.", "title": "Version", "pattern": "^[0-9]+?(\\.[0-9]+?)+?$", "required": true, "type": "string" }, "auth_method": { "description": "Type of authentication to use when interfacing to the external service.", "title": "Authentication Method", "required": true, "choices": [ { "value": "BASIC", "title": "HTTP Basic Authentication" }, { "value": "OAUTH", "title": "OAuth(OApen Authorization)" }, { "value": "SESSION", "title": "Session Based Authentication" }, { "value": "OCIP", "title": "Broadsoft OCIP socket based authentication protocol" } ], "type": "string" }, "username": { "required": false, "type": "string", "description": "Username to use with specified authentication method.", "title": "Username" }, "password": { "is_password": true, "description": "Password to use with specified authentication method.", "title": "Password", "required": false, "store_encrypted": true, "type": "string" }, "token": { "is_password": true, "description": "Token to use with specified authentication method.", "title": "Token", "required": false, "store_encrypted": true, "type": "string" }, "test_connection_uri": { "type": "string", "description": "URI to use when testing connection to external service, e.g. https://service.domain/api/health, {{ driver_parameters.host_base }}/status", "title": "Test Connection URI" }, "secure_driver_parameters": { "items": { "type": "object", "properties": { "name": { "required": true, "type": "string", "description": "Name of additional secure driver parameter.", "title": "Name" }, "value": { "is_password": true, "description": "Value of additional secure driver parameter.", "title": "Value", "required": true, "store_encrypted": true, "type": "string" } } }, "type": "array", "description": "Additional secure parameters for the driver", "title": "Secure Driver Parameters" }, "driver_parameters": { "items": { "type": "object", "properties": { "name": { "required": true, "type": "string", "description": "Name of additional driver parameter.", "title": "Name" }, "value": { "required": true, "type": "string", "description": "Value of additional driver parameter.", "title": "Value" } } }, "type": "array", "description": "Additional parameters for the driver", "title": "Driver Parameters" }, "default_request_headers": { "items": { "type": "object", "properties": { "name": { "required": true, "type": "string", "description": "Name of HTTP request header, e.g. Accept.", "title": "Name" }, "value": { "required": true, "type": "string", "description": "Value of HTTP request header, e.g. text/plain.", "title": "Value" } } }, "type": "array", "description": "Default HTTP request headers to send with all device model API operation requests. Defaults specified here will be overriden by request headers specified on individual device model API operation definitions.", "title": "Default Request Headers" }, "default_response_handlers": { "items": { "type": "object", "properties": { "condition": { "required": true, "type": "string", "description": "Jinja template which if evaluation results in a value of True will cause the specified handler type to be executed, e.g. {{ status_code == 429 }}.", "title": "Condition" }, "type": { "description": "Response handler type to execute if specified condition evaluates to True, e.g. Backoff & Retry.", "title": "Type", "required": true, "choices": [ { "value": "backoff_retry", "title": "Backoff & Retry" }, { "value": "failure_duplicate", "title": "Failure - Duplicate" }, { "value": "invalid_session", "title": "Invalid Session" } ], "type": "string" } } }, "type": "array", "description": "Default handlers to execute on all API operation responses. Only those response handlers' which condition evaluates to True are executed.", "title": "Default Response Handlers" }, "session_based_auth_request": { "type": "object", "description": "Describes the API request required to obtain a valid auth token.", "title": "Session Based Auth Request", "properties": { "login_uri": { "type": "string", "description": "URI for the initial Login request. This is a jinja template with custom functions and driver parameter context available.", "title": "Login URI" }, "login_http_method": { "description": "HTTP method for initial login request.", "title": "Login HTTP Method", "default": "POST", "choices": [ { "value": "GET", "title": "GET" }, { "value": "POST", "title": "POST" } ], "type": "string" }, "login_request_headers": { "items": { "type": "object", "properties": { "session_header_name": { "type": "string", "description": "Name of session request header, e.g. Cookie.", "title": "Header Name" }, "session_header_value": { "type": "string", "description": "Value of session request header, e.g. session=12345. This is a jinja template with custom functions and driver parameter context available.", "title": "Header Value" } } }, "type": "array", "description": "Request headers for the initial login request.", "title": "Login Request Headers" }, "request_template": { "type": "string", "description": "Request body for the initial login request if the method is POST. This is a jinja template with custom functions and driver parameter context available.", "title": "Login Request Body Template (POST)" }, "session_expire_minutes": { "type": "integer", "description": "The amount of time a session is valid specified in minutes.", "title": "Session Expire Time (min)" }, "session_headers": { "items": { "type": "object", "properties": { "session_header_name": { "type": "string", "description": "Name of session request header, e.g. Cookie.", "title": "Header Name" }, "session_header_value": { "type": "string", "description": "Value of session request header, e.g. session=12345. This is a jinja template with custom functions and response body, header & cookie context available.", "title": "Header Value" } } }, "type": "array", "description": "Session headers to capture from the login response and include for requests after the initial login.", "title": "Headers To Cache" } } }, "common_actions": { "items": { "type": "object", "properties": { "action": { "required": true, "type": "string", "description": "Name of the device model operation for e.g. add", "title": "Action" }, "uri": { "type": "string", "description": "URI for the API request", "title": "URI" }, "target": { "description": "Target of this operation", "title": "Target", "default": "HTTP", "required": false, "choices": [ { "value": "HTTP", "title": "HTTP" }, { "value": "Browser", "title": "Browser" }, { "value": "SOAP", "title": "SOAP" }, { "value": "Socket", "title": "Socket" }, { "value": "winrm", "title": "winrm" } ], "type": "string" }, "request_format": { "description": "Request format", "title": "Request Format", "default": "JSON", "required": false, "choices": [ { "value": "JSON", "title": "JSON" }, { "value": "XML", "title": "XML" }, { "value": "string", "title": "string" } ], "type": "string" }, "response_format": { "description": "Response format", "title": "Response Format", "default": "JSON", "required": false, "choices": [ { "value": "JSON", "title": "JSON" }, { "value": "XML", "title": "XML" } ], "type": "string" }, "http_method": { "description": "HTTP method for API request", "title": "HTTP Method", "default": "get", "choices": [ { "value": "GET", "title": "GET" }, { "value": "POST", "title": "POST" }, { "value": "PATCH", "title": "PATCH" }, { "value": "PUT", "title": "PUT" }, { "value": "DELETE", "title": "DELETE" } ], "type": "string" }, "response_code_template": { "type": "string", "description": "Jinja template for mapping API endpoint specific error/status response", "title": "Response Code Template" }, "request_headers": { "items": { "type": "object", "properties": { "name": { "required": true, "type": "string", "description": "Name of HTTP request header, e.g. Accept.", "title": "Name" }, "value": { "required": true, "type": "string", "description": "Value of HTTP request header, e.g. text/plain.", "title": "Value" } } }, "type": "array", "description": "HTTP request headers to send with API operation request. Takes precedence over default request headers specified on related Connection Parameters Type instance.", "title": "Request Headers" }, "response_handlers": { "items": { "type": "object", "properties": { "condition": { "required": true, "type": "string", "description": "Jinja template which if evaluation results in a value of True will cause the specified handler type to be executed, e.g. {{ status_code == 429 }}.", "title": "Condition" }, "type": { "description": "Response handler type to execute if specified condition evaluates to True, e.g. Backoff & Retry.", "title": "Type", "required": true, "choices": [ { "value": "backoff_retry", "title": "Backoff & Retry" }, { "value": "failure_duplicate", "title": "Failure - Duplicate" } ], "type": "string" } } }, "type": "array", "description": "Handlers to execute on API responses. Only those response handlers' which condition evaluate to True are executed.", "title": "Response Handlers" }, "variables": { "items": { "type": "object", "properties": { "name": { "type": "string", "description": "Context variable name. This will appear in the context as 'variables.<name>'", "title": "Name" }, "value": { "type": "string", "description": "Value of this variable. This field supports Macros", "title": "Value" } } }, "type": "array", "description": "List of context variables availble to template rendering (supports Macros)", "title": "Variables" }, "pre_request_calls": { "items": { "type": "string" }, "type": "array", "description": "List of API calls to make before making this request", "title": "Pre-request Calls" }, "post_request_calls": { "items": { "type": "string" }, "type": "array", "description": "List of API calls to make after making this request", "title": "Post-request Calls" }, "request_template": { "type": "string", "description": "Jinja template for API request. Maps system schema to external application schema.", "title": "Request Template" }, "response_template": { "type": "string", "description": "Jinja template for API response. Maps external application schema to system schema.", "title": "Response Template" } } }, "type": "array", "description": "Actions used identically by many device models", "title": "Common Actions" } } } }, "schema_version": "2.4" }
Task | Call | URL | Parameters | Response |
---|---|---|---|---|
Get the GUI Add form. | GET | /api/relation/PRSSwitchREL/add/ |
|
The GUI Add form of relation/PRSSwitchREL as JSON |
The API call to the /add/ URL can only be made from a hierarchy that allows the model type to be added. The actions in the response shows the url for the POST API call to create an instance.
Task | Call | URL | Parameters | Payload |
---|---|---|---|---|
Create | POST | /api/relation/PRSSwitchREL | hierarchy=[hierarchy] |
|
tool/Transaction/[trans pkid]to inspect the created resource and its instance pkid.
Task | Call | URL | Parameters | Payload |
---|---|---|---|---|
Bulk delete [pkid1],[pkid2]... | DELETE | /api/relation/PRSSwitchREL/ | hierarchy=[hierarchy] | {"hrefs":["/api/relation/PRSSwitchREL/[pkid1]", "/api/relation/PRSSwitchREL/[pkid2]", ...]} |
GET http://[host-proxy]/api/relation/PRSSwitchREL/?hierarchy=[hierarchy]&format=json
Task | Call | URL | Parameters | Payload |
---|---|---|---|---|
Get a selected [export_format] of the schema and instances [pkid1], [pkid2],... of relation/PRSSwitchREL; optionally with tag_version at [version] and Configuration Template as [configtemplate]. | POST | /api/relation/PRSSwitchREL/export/ |
|
{ "hrefs":["/api/relation/PRSSwitchREL/[pkid1]", "/api/relation/PRSSwitchREL/[pkid2]",...]}} |
For export_format=json, the response is a time stamped zip file of data in JSON as in the system database. Item properties such as strings that are empty or Boolean values that are not set, are not included. The filename in the response is of the format as the example:
Content-Disposition: attachment; filename=export_2013-05-17_14:20:19.186444.json.zip Content-Language:en Content-Type:application/x-zip
For export_format=raw_xlsx, the response is a MS Excel spreadsheet with columns corresponding to the JSON format export and a response filename format:
Content-Disposition: attachment; filename=<resource_type>_<resource_name>_exportedsheet_CCYY-MM-DD_HH-MM-SS.xlsx Content-Language:en Content-Type:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
For export_format=xlsx, the response is a MS Excel spreadsheet, arranged by any Field Display Policies that apply. The columns correspond with those of a Bulk Load Template export sheet. The response filename format is:
Content-Disposition: attachment; filename=<resource_type>_<resource_name>_exportedsheet_formatted_CCYY-MM-DD_HH-MM-SS.xlsx Content-Language:en Content-Type:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
The XLSX format can be used to bulk load instances of relation/PRSSwitchREL and the JSON format can be used to import instances of relation/PRSSwitchREL.
GET http://[host-proxy]/api/relation/PRSSwitchREL/?hierarchy=[hierarchy]
Task | Call | URL | Parameters | Response |
---|---|---|---|---|
Get a compressed format of the Bulk Load spreadsheet template for relation/PRSSwitchREL | POST | /api/relation/PRSSwitchREL/export_bulkload_template/ |
|
The response is an attachment of the format: filetype_bulkloadsheet.xlsx.gz |
Task | Call | URL | Parameters | Response |
---|---|---|---|---|
List | GET | /api/relation/PRSSwitchREL/ |
|
The relation/PRSSwitchREL schema and all instances as JSON. |
(The list will return 0 to 3 relation/PRSSwitchREL instances)
{ "pagination": { "skip": 0, "limit": 3, "maximum_limit": 2000, "total": 0, "total_limit": null, "order_by": "name", "direction": "asc", "current": "/api/relation/PRSSwitchREL/?skip=0&limit=3&order_by=name&direction=asc&traversal=down" }, "operations": [ "list", "help", "field_display_policy", "get", "configuration_template", "update", "bulk_update", "remove", "add", "export", "export_bulkload_template" ], "meta": { "model_type": "relation/PRSSwitchREL", "summary_attrs": [ { "name": "name", "title": "Server Name" }, { "name": "hierarchy_friendly_name", "title": "Located At", "allow_filtering": true } ], "tagged_versions": [], "tags": [], "title": "", "business_key": {}, "api_version": "21.2", "cached": true, "references": { "children": [], "parent": [ { "href": "/api/data/HierarchyNode/6t0ggef2c0deab00hb595101", "pkid": "6t0ggef2c0deab00hb595101" } ], "device": [ { "href": "", "pkid": "" } ], "foreign_key": [], "self": [ { "href": "/api/relation/PRSSwitchREL/None/", "pkid": null } ] }, "model_specific_actions": [ "list", "help", "get", "update", "remove", "add", "export", "export_bulkload_template" ], "schema_version": "2.4", "actions": [ { "add": { "method": "GET", "class": "add", "href": "/api/relation/PRSSwitchREL/add/?hierarchy=[hierarchy]", "support_async": false, "title": "Add" } }, { "remove": { "method": "DELETE", "class": "delete", "href": "/api/relation/PRSSwitchREL/?hierarchy=[hierarchy]", "support_async": true, "title": "Delete" } }, { "export": { "method": "POST", "class": "export", "href": "/api/relation/PRSSwitchREL/export/?hierarchy=[hierarchy]", "support_async": false, "title": "Export", "view": "/api/view/ExportData/add/?auth_token=[authtoken], "submit": "payload" } }, { "export_bulkload_template": { "method": "POST", "class": "bulkload_template", "href": "/api/relation/PRSSwitchREL/export_bulkload_template/?hierarchy=[hierarchy]", "support_async": false, "title": "Export Bulk Load Template" } }, { "list": { "method": "GET", "class": "list", "href": "/api/relation/PRSSwitchREL/?hierarchy=[hierarchy]", "support_async": false, "title": "List" } }, { "help": { "method": "GET", "class": "help", "href": "/api/relation/PRSSwitchREL/help?hierarchy=[hierarchy]", "support_async": false, "title": "Help" } } ] }, "resources": [] }
Task | Call | URL | Parameters | Response |
---|---|---|---|---|
Get the on-line Help for relation/PRSSwitchREL. | GET | /api/relation/PRSSwitchREL/help | hierarchy=[hierarchy] | On-line help of Model ref.: relation/PRSSwitchREL as HTML |
Task | Call | URL | Parameters | Payload |
---|---|---|---|---|
Modify | PUT | /api/relation/PRSSwitchREL/[pkid] | hierarchy=[hierarchy] | (For payload specification) |
For Bulk modification, refer to the Bulk Modify section.
Task | Call | URL | Parameters | Response |
---|---|---|---|---|
Delete | DELETE | /api/relation/PRSSwitchREL/[pkid] | hierarchy=[hierarchy] |
Task | Call | URL | Parameters | Response |
---|---|---|---|---|
Get a selected [export_format] of the schema and a single instance with [pkid] of relation/PRSSwitchREL; optionally with tag_version at [version] and Configuration Template as [configtemplate]. | GET | /api/relation/PRSSwitchREL/[pkid]/export |
|
The response is an attachment. Refer to the list below. |
For export_format=raw_xlsx, the response is a "raw" MS Excel spreadsheet with columns corresponding to the JSON format export and a response format:
Content-Disposition: attachment; filename=<resource_type>_<resource_name>_exportedsheet_CCYY-MM-DD_HH-MM-SS.xlsx Content-Language:en Content-Type:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
For export_format=xlsx, the response is a MS Excel spreadsheet, formatted to show all columns and a response format:
Content-Disposition: attachment; filename=<resource_type>_<resource_name>_exportedsheet_formatted_CCYY-MM-DD_HH-MM-SS.xlsx Content-Language:en Content-Type:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
For export_format=json, the response is a time stamped zip file of data in JSON and a response format:
Content-Disposition: attachment; filename=export_2013-05-17_14:20:19.186444.json.zip Content-Language:en Content-Type:application/x-zip
The XLSX format can be used to bulk load instances of relation/PRSSwitchREL and the JSON format can be used to import instances of relation/PRSSwitchREL.
For Bulk Export, refer to the Bulk Export section.
Task | Call | URL | Parameters | Response |
---|---|---|---|---|
Get | GET | /api/relation/PRSSwitchREL/[pkid] | hierarchy=[hierarchy] | The relation/PRSSwitchREL instance with [pkid]. |
Task | Call | URL | Parameters | Response |
---|---|---|---|---|
Help | GET | /api/relation/PRSSwitchREL/[pkid]/help | hierarchy=[hierarchy] | The on-line Help for relation/PRSSwitchREL. |