- POST to create new information
- GET to read/retrieve information
- PUT to update (existing) information
- DELETE to delete (existing) information
- API input should be formatted as JSON.
- API output is depending on content negotiation (Accept header).
- Plain HTTP Basic Authentication may be used for GET operations.
- All operations (GET/POST/PUT/DELETE) may be authenticated using an Authorization header of type Token (similar to HTTP Basic Authentication, with "Basic" replaced with "Token").
- Use access key indentifier as username and secret access key as password.
Domains have a fully qualified domain name (e.g. 'example.com'), as well as a shorter domain tag (e.g. 'example') and a description. Each domain is assigned zero or more TSM servers.
GET https://hostname/tsm/v1/domains
Returns a list of href, domain and tag for all domains.
GET https://hostname/tsm/v1/domains/DOMAIN
Returns a 200 OK response containing the following information:
- domain - fully qualified domain name (e.g., 'example.com')
- tag - short version of the domain name (e.g. 'example')
- description - domain description
- servers - list of TSM servers
- deduplication - percent of data not stored due to deduplication (weighted average across all TSM servers used by the domain)
POST https://hostname/tsm/v1/domains
Required Parameters:
- domain - fully qualified domain name (e.g., 'example.com')
- tag - short version of the domain name (e.g. 'example')
- description - domain description
Optional Parameters:
- servers
Returns a 201 Created response, with a Location header pointing to the created resources.
DELETE https://hostname/tsm/v1/domains/DOMAIN
PUT https://hostname/tsm/v1/domains/DOMAIN
Optional Parameters:
- description - domain description
- servers - list of TSM servers
List all users or users in a single domain. Optionally display domain administrators only.
GET https://hostname/tsm/v1/users
GET https://hostname/tsm/v1/domains/DOMAIN/users
GET https://hostname/tsm/v1/domains/DOMAIN/users?admin_domain=1
Returns a list of href, domain and identity for all users.
GET https://hostname/tsm/v1/users/IDENTITY
Returns a 200 OK response containing the following information:
- identity - federated identity
- domain - fully qualified domain name (e.g., 'example.com')
- authorized_keys
- cost_centers - list of cost centers users is authorized to use
- admin_global - user is global administrator
- admin_domain - user is domain administrator
POST https://hostname/tsm/v1/users
Required Parameters:
- identity - federated identity
Optional Parameters:
- cost_centers - list of cost centers users is authorized to use
- admin_global - user is global administrator
- admin_domain - user is domain administrator
Returns a 201 Created response, with a Location header pointing to the created resources.
DELETE https://hostname/tsm/v1/users/IDENTITY
PUT https://hostname/tsm/v1/users/IDENTITY
Optional Parameters:
- cost_centers - list of cost centers users is authorized to use
- admin_global - set if user is global administrator
- admin_domain - set if user is domain administrator
GET https://hostname/tsm/v1/keys
GET https://hostname/tsm/v1/users/IDENTITY/keys
GET https://hostname/tsm/v1/keys/ACCESS-KEY-ID
- access_key_id
- identity - federated identity
- description - key description
- impersonator - key may be used to impersonate anyone
- readonly - key may only be used to read information
- enroller - key may only be used to enroll nodes
- enroller_count - key is limited to enroll this may nodes
POST https://hostname/tsm/v1/keys
Optional Parameters:
- description - key description
- readonly - key may only be used to read information
- enroller - key may only be used to enroll nodes
- enroller_count - key is limited to enroll this may nodes
Returns a 201 Created response, with a Location header pointing to the created resources, as well as the following data:
- access_key_id
- secret_access_key
DELETE https://hostname/tsm/v1/keys/ACCESS-KEY-ID
List all nodes, nodes in a specific domain or nodes owned by a specific user. Optionally filter by hostname.
GET https://hostname/tsm/v1/nodes
GET https://hostname/tsm/v1/nodes?hostname=HOSTNAME
GET https://hostname/tsm/v1/users/IDENTITY/nodes
GET https://hostname/tsm/v1/users/IDENTITY/nodes?hostname=HOSTNAME
GET https://hostname/tsm/v1/domains/DOMAIN/nodes
GET https://hostname/tsm/v1/domains/DOMAIN/nodes?hostname=HOSTNAME
GET https://hostname/tsm/v1/nodes/NODENAME
- nodename - TSM nodename
- hostname - node hostname
- mail - email address of node contact
- description - node description
- identity - node owner identity
- domain - node domain
- server - TSM server
- platform - node platform (operating system)
- application - node application (use)
- cost_center - node cost center
- locked_by_user - node is locked by the user
- locked_by_service - node is locked by the provider
- encryption - data should be encrypted before backup
- deduplication - data deduplication is enabled
- compression - data compression is enabled
- allow_backup_delete - backup delete allowed
- activated - node has ever contacted the server
- schedules - list of associated backup schedules
- policy - node backup policy
- last_hostname - Last hostname reported via TSM
- last_ip_address - Last IP address reported via TSM
- last_mac_address - Last MAC address reported via TSM
- last_access_time - Last known contact reported via TSM
POST https://hostname/tsm/v1/nodes
Required Parameters:
- cost_center - node cost center
Optional Parameters:
- hostname - node hostname
- mail - email address of node contact
- description - node description
- encryption - data should be encrypted before backup
- deduplication - data deduplication is enabled
- compression - data compression is enabled
- allow_backup_delete - backup delete allowed
- platform - node platform (operating system)
- application - node application (use)
Returns a 201 Created response, with a Location header pointing to the created resources.
- nodename - TSM nodename
- password - TSM password
- server - TSM server
DELETE https://hostname/tsm/v1/nodes/NODENAME
PUT https://hostname/tsm/v1/nodes/NODENAME
Optional Parameters:
- identity - node owner identity
- schedules - list of associated backup schedules
- policy - node backup policy
- hostname - node hostname
- mail - email address of node contact
- platform - node platform (operating system)
- description - node description
- cost_center - node cost center
- locked_by_user - node is locked by the user
- locked_by_service - node is locked by the provider
- allow_backup_delete - backup delete allowed
POST https://hostname/tsm/v1/nodes/NODENAME/rekey
- nodename - TSM nodename
- password - TSM password
GET https://hostname/tsm/v1/nodes/NODENAME/config
An zip archive (application/zip) containing TSM configuration for the node.
GET https://hostname/tsm/v1/nodes/NODENAME/software
A file containing TSM software for the node.
GET https://hostname/tsm/v1/nodes/NODENAME/schedules
- name - schedule name
- description - schedule description
GET https://hostname/tsm/v1/nodes/NODENAME/policies
- name - backup policy name
- description - backup policy description
GET https://hostname/tsm/v1/platforms
- name - platform name
- description - platform description
GET https://hostname/tsm/v1/applications
- name - application name
- description - application description
GET https://hostname/tsm/v1/servers
- hostname - server hostname (FQDN)
- description - server description
- utilization - percent full (of maximum capacity)