6.1.0.3 - DSS 6 | Data Source Solutions Documentation

Documentation: 6.1.0.3 - DSS 6 | Data Source Solutions Documentation

6.1.0.3

Activate, Refresh, and Compare Interface

Click here to see all end points in this interface.

Check replication activation status of channels

GET /api/v6.1.0.3/hubs/{hub}/activate
Query parameter prototype:

'channels' ?: ( chn<ident>+ )
'locs' ?: ( loc<ident>+ )
No extra request headers
No request body
No extra response headers
Response body is JSON.
Prototype:

chn<str> *: {
    loc<ident> +: {
        'enroll' ?: {
            'found' : <bool>
            'missing' : <bool>
            'tstamp' ?: oldest<date_str_z>
            'lossy_reactivate' : <false>
            'activating' ?: jobstate<ident>
            'deactivating' ?: jobstate<ident>
        }
        'jobs' : {
            'found' : <bool>
            'missing' : <bool>
            'tstamp' ?: oldest<date_str_z>
            'lossy_reactivate' : <false>
            'activating' ?: jobstate<ident>
            'deactivating' ?: jobstate<ident>
            'running' ?: <bool>
            'active_refresh_target' ?: <true>
        }
        'router_files' : {
            'found' : <bool>
            'missing' : <bool>
            'tstamp' ?: scan_start<date_str_z>
            'lossy_reactivate' : <bool>
            'activating' ?: jobstate<ident>
            'deactivating' ?: jobstate<ident>
        }
        'state_tables' ?: {
            'lossy_reactivate' : <true>
            'activating' ?: jobstate<ident>
            'deactivating' ?: jobstate<ident>
        }
        'change_tables' ?: {
            'lossy_reactivate' : <bool>
            'activating' ?: jobstate<ident>
            'deactivating' ?: jobstate<ident>
        }
        'triggers' ?: {
            'lossy_reactivate' : <true>
            'activating' ?: jobstate<ident>
            'deactivating' ?: jobstate<ident>
        }
        'db_procs' ?: {
            'lossy_reactivate' : <bool>
            'activating' ?: jobstate<ident>
            'deactivating' ?: jobstate<ident>
        }
        'supplemental_logging' ?: {
            'lossy_reactivate' : <false>
            'activating' ?: jobstate<ident>
            'deactivating' ?: jobstate<ident>
        }
        'state_files' ?: {
            'lossy_reactivate' : <bool>
            'activating' ?: jobstate<ident>
            'deactivating' ?: jobstate<ident>
        }
    }
}
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
Required Permissions
  • ReadOnly access level on hub

Check replication activation status of channel

GET /api/v6.1.0.3/hubs/{hub}/channels/{channel}/activate
Query parameter prototype:

'locs' ?: ( loc<ident>+ )
No extra request headers
No request body
No extra response headers
Response body is JSON.
Prototype:

loc<ident> *: {
    'enroll' ?: {
        'found' : <bool>
        'missing' : <bool>
        'tstamp' ?: oldest<date_str_z>
        'lossy_reactivate' : <false>
        'activating' ?: jobstate<ident>
        'deactivating' ?: jobstate<ident>
    }
    'jobs' : {
        'found' : <bool>
        'missing' : <bool>
        'tstamp' ?: oldest<date_str_z>
        'lossy_reactivate' : <false>
        'activating' ?: jobstate<ident>
        'deactivating' ?: jobstate<ident>
        'running' ?: <bool>
        'active_refresh_target' ?: <true>
    }
    'router_files' : {
        'found' : <bool>
        'missing' : <bool>
        'tstamp' ?: scan_start<date_str_z>
        'lossy_reactivate' : <bool>
        'activating' ?: jobstate<ident>
        'deactivating' ?: jobstate<ident>
    }
    'state_tables' ?: {
        'lossy_reactivate' : <true>
        'activating' ?: jobstate<ident>
        'deactivating' ?: jobstate<ident>
    }
    'change_tables' ?: {
        'lossy_reactivate' : <bool>
        'activating' ?: jobstate<ident>
        'deactivating' ?: jobstate<ident>
    }
    'triggers' ?: {
        'lossy_reactivate' : <true>
        'activating' ?: jobstate<ident>
        'deactivating' ?: jobstate<ident>
    }
    'db_procs' ?: {
        'lossy_reactivate' : <bool>
        'activating' ?: jobstate<ident>
        'deactivating' ?: jobstate<ident>
    }
    'supplemental_logging' ?: {
        'lossy_reactivate' : <false>
        'activating' ?: jobstate<ident>
        'deactivating' ?: jobstate<ident>
    }
    'state_files' ?: {
        'lossy_reactivate' : <bool>
        'activating' ?: jobstate<ident>
        'deactivating' ?: jobstate<ident>
    }
}
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
Required Permissions
  • ReadOnly access level on hub

Post an Dss activate event

POST /api/v6.1.0.3/hubs/{hub}/channels/{channel}/activate
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'locs' ?: ( <ident>+ )
'tables' ?: ( <ident>+ )
'parallel_locs' ?: <int>
'components' ?: (
    'state_tables'
    | 'change_tables'
    | 'triggers'
    | 'db_procs'
    | 'router_files'
    | 'enroll'
    | 'supplemental_logging'
    | 'jobs'
    | 'state_files'+
)
'start_immediate' ?: <bool>
'replace_enroll' ?: <bool>
'rewind_scan_start' ?: {
                         'tstamp' : <date_str_z>
                     }
                     | {
                         'oldest_tx' : <true>
                     }
'rewind_emit' ?: {
                   'tstamp' : <date_str_z>
               }
               | {
                   'dss_tx_seq' : <str>
               }
               | {
                   'scn' : <int64_ascii>
               }
               | {
                   'integrate_point' : {
                       integloc<ident> +: {
                           'integ_dss_tx_seq' : <str>
                           'integ_dss_tx_countdown' ?: <int>
                           'burst_busy_table' ?: <ident>
                           'burst_busy_table_busy' ?: <true>
                           'burst_busy_tx_seq' ?: <str>
                       }
                   }
               }
'start_next_jobs' ?: ( task<ident>+ )
'start_next_ev_ids' ?: ( ev_id<date_str_usecs_z>+ )
No extra response headers
Response body is JSON.
Prototype:

'posted_ev_id' : <date_str_usecs_z>
'job' : <str>
'canceled_ev_ids' ?: ( <date_str_usecs_z>* )
HTTP Status Codes
  • STATUS 201 Created
  • STATUS 400 Bad Request
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Activate

'locs' ?: ( <ident>+ )
'tables' ?: ( <ident>+ )
'parallel_locs' ?: <int>
'components' ?: (
    'state_tables'
    | 'change_tables'
    | 'triggers'
    | 'db_procs'
    | 'router_files'
    | 'enroll'
    | 'supplemental_logging'
    | 'jobs'
    | 'state_files'+
)
'start_immediate' ?: <bool>
'replace_enroll' ?: <bool>
'rewind_scan_start' ?: {
                         'tstamp' : <date_str_z>
                     }
                     | {
                         'oldest_tx' : <true>
                     }
'rewind_emit' ?: {
                   'tstamp' : <date_str_z>
               }
               | {
                   'dss_tx_seq' : <str>
               }
               | {
                   'scn' : <int64_ascii>
               }
               | {
                   'integrate_point' : {
                       integloc<ident> +: {
                           'integ_dss_tx_seq' : <str>
                           'integ_dss_tx_countdown' ?: <int>
                           'burst_busy_table' ?: <ident>
                           'burst_busy_table_busy' ?: <true>
                           'burst_busy_tx_seq' ?: <str>
                       }
                   }
               }
'start_next_jobs' ?: ( task<ident>+ )
'start_next_ev_ids' ?: ( ev_id<date_str_usecs_z>+ )

Post Compare event and schedule a job for it

POST /api/v6.1.0.3/hubs/{hub}/channels/{channel}/compare
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'source_loc' : <ident>
'target_loc' : <ident>
'contexts' ?: ( <ident>+ )
'granularity' ?: 'bulk' | 'rowwise'
'difference_filter' ?: {
    'inserts' ?: <bool>
    'updates' ?: <bool>
    'deletes' ?: <bool>
}
'quota_run' ?: njobs<int :min=0>
'parallel_sessions' ?: <int :min=0>
'db_sequences' ?: <bool>
'slicing' ?: {
    table<str> *: {
        'type' : 'boundary'
               | 'count'
               | 'modulo'
               | 'series'
        'col' ?: <str>
        'slices' ?: <int>
        'str_boundaries' ?: ( vals<str>+ )
        'int_boundaries' ?: ( vals<int64_ascii>+ )
        'date_boundaries' ?: ( vals<date_str_z>+ )
        'series_values' ?: ( <str>+ )
        'selection' ?: ( <int>+ )
    }
}
'tables' ?: ( <str>+ )
'task' ?: <ident>
'context_variables' ?: {
    name<str> *: value<str>
}
'file_preread_subtasks' ?: <int>
'start_immediate' ?: <bool>
'online_compare' ?: 'diff_diff' | 'diff_cap'
'online_compare_sleep' ?: <int>
'select_moment' ?: <str>
'save_diff_file' ?: <bool>
'prereader_intermediate_files' ?: {
    'keep' ?: <bool>
    'reuse' ?: <bool>
}
No extra response headers
Response body is JSON.
Prototype:

'posted_ev_id' : <date_str_usecs_z>
'job' : <str>
'canceled_ev_ids' ?: ( <date_str_usecs_z>* )
HTTP Status Codes
  • STATUS 201 Created
  • STATUS 400 Bad Request
  • STATUS 403 Forbidden: User does not have Exec access
Required Permissions
  • ReadExec access level on hub
Events
Creates the following event
Compare

'channel' : <ident>
'source_loc' : <ident>
'target_loc' : <ident>
'contexts' ?: ( <ident>+ )
'granularity' ?: 'bulk' | 'rowwise'
'difference_filter' ?: {
    'inserts' ?: <bool>
    'updates' ?: <bool>
    'deletes' ?: <bool>
}
'quota_run' ?: njobs<int :min=0>
'parallel_sessions' ?: <int :min=0>
'db_sequences' ?: <bool>
'slicing' ?: {
    table<str> *: {
        'type' : 'boundary'
               | 'count'
               | 'modulo'
               | 'series'
        'col' ?: <str>
        'slices' ?: <int>
        'str_boundaries' ?: ( vals<str>+ )
        'int_boundaries' ?: ( vals<int64_ascii>+ )
        'date_boundaries' ?: ( vals<date_str_z>+ )
        'series_values' ?: ( <str>+ )
        'selection' ?: ( <int>+ )
    }
}
'tables' ?: ( <str>+ )
'task' ?: <ident>
'context_variables' ?: {
    name<str> *: value<str>
}
'file_preread_subtasks' ?: <int>
'start_immediate' ?: <bool>
'online_compare' ?: 'diff_diff' | 'diff_cap'
'online_compare_sleep' ?: <int>
'select_moment' ?: <str>
'save_diff_file' ?: <bool>
'prereader_intermediate_files' ?: {
    'keep' ?: <bool>
    'reuse' ?: <bool>
}

Get event ids for tables results of recent Compare

GET /api/v6.1.0.3/hubs/{hub}/channels/{channel}/compare/tables_results_ids
Query parameter prototype:

'result_pattern' ?: <str>
'source_loc' ?: <ident>
'target_loc' ?: <ident>
'table' ?: ( <ident>+ )
'ev_tstamp_begin' ?: <date_str_usecs_z>
'ev_tstamp_end' ?: <date_str_usecs_z>
No extra request headers
No request body
No extra response headers
Response body is JSON.
Prototype:

ev_id<date_str_usecs_z> *: ( table<ident>+ )
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
Required Permissions
  • ReadOnly access level on hub

Show contexts and context variables

GET /api/v6.1.0.3/hubs/{hub}/channels/{channel}/contexts
No query parameters
No extra request headers
No request body
No extra response headers
Response body is JSON.
Prototype:

'contexts' : ( <ident>* )
'context_variables' : ( varname<str>* )
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Channel does not exist
Required Permissions
  • ReadOnly access level on hub

Post an Dss deactivate event

POST /api/v6.1.0.3/hubs/{hub}/channels/{channel}/deactivate
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'locs' ?: ( <ident>+ )
'tables' ?: ( <ident>+ )
'parallel_locs' ?: <int>
'components' ?: (
    'state_tables'
    | 'change_tables'
    | 'triggers'
    | 'db_procs'
    | 'router_files'
    | 'enroll'
    | 'supplemental_logging'
    | 'jobs'
    | 'state_files'+
)
'start_immediate' ?: <bool>
No extra response headers
Response body is JSON.
Prototype:

'posted_ev_id' : <date_str_usecs_z>
'job' : <str>
'canceled_ev_ids' ?: ( <date_str_usecs_z>* )
HTTP Status Codes
  • STATUS 201 Created
  • STATUS 400 Bad Request
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Deactivate

'locs' ?: ( <ident>+ )
'tables' ?: ( <ident>+ )
'parallel_locs' ?: <int>
'components' ?: (
    'state_tables'
    | 'change_tables'
    | 'triggers'
    | 'db_procs'
    | 'router_files'
    | 'enroll'
    | 'supplemental_logging'
    | 'jobs'
    | 'state_files'+
)
'start_immediate' ?: <bool>

Show open transactions

GET /api/v6.1.0.3/hubs/{hub}/channels/{channel}/locs/{loc}/capture_open_tx
No query parameters
No extra request headers
No request body
No extra response headers
Response body is JSON.
Prototype:

'request_time' : <date_str_z>
'request_tx_seq' ?: <str>
'request_scn' ?: <int64_ascii>
'num_open_tx' : <int>
'oldest_open_tx_begin_tstamp' ?: <date_str_z>
'oldest_open_tx_begin_scn' ?: <int64_ascii>
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request: No capture tables defined or finding oldest transaction start time not possible
  • STATUS 404 Not Found: Channel or channel member not found
Required Permissions
  • ReadOnly access level on hub

Show integrate point

GET /api/v6.1.0.3/hubs/{hub}/channels/{channel}/locs/{loc}/integrate_point
Query parameter prototype:

'orig_channel' ?: <ident>
'orig_integ_loc' ?: <ident>
No extra request headers
No request body
No extra response headers
Response body is JSON.
Prototype:

caploc<ident> *: {
    'scan_start_tstamp' : <date_str_z>
    'integ_tstamp' : <date_str_z>
    'integ_dss_tx_seq' : <str>
    'integ_dss_tx_countdown' ?: <int64_ascii>
    'burst_busy_table' ?: <ident>
    'burst_busy_table_busy' ?: <true>
    'burst_busy_tx_seq' ?: <str>
}
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Channel or Location does not exist
Required Permissions
  • ReadOnly access level on hub

Suggest slicing, based on old table results and Oracle DBMS stats

POST /api/v6.1.0.3/hubs/{hub}/channels/{channel}/locs/{loc}/slicing_suggest
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'rows_per_slice' ?: <int64_ascii :min=1>
'max_slices_per_table' ?: <int :min=0>
'repeat_last_refresh_slicing' ?: <bool>
'repeat_last_compare_slicing' ?: <bool>
'suggest_from_last_refresh_rows' ?: <bool>
'suggest_from_last_compare_rows' ?: <bool>
'suggest_from_db_stats' ?: <bool>
'tables' ?: ( <str>+ )
No extra response headers
Response body is JSON.
Prototype:

table<str> *: {
    'based_on' : 'no_data'
               | 'repeat_last_refresh_slicing'
               | 'repeat_last_compare_slicing'
               | 'suggest_from_last_refresh_rows'
               | 'suggest_from_last_compare_rows'
               | 'suggest_from_db_stats'
    'ev_id' ?: <date_str_usecs_z>
    'row_estimate' ?: <int64_ascii>
    'no_slicing' ?: <true>
    'slicing' ?: {
        'type' : 'boundary'
               | 'count'
               | 'modulo'
               | 'series'
        'col' ?: <str>
        'slices' ?: <int>
        'str_boundaries' ?: ( vals<str>+ )
        'int_boundaries' ?: ( vals<int64_ascii>+ )
        'date_boundaries' ?: ( vals<date_str_z>+ )
        'series_values' ?: ( <str>+ )
    }
}
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Channel, location or table does not exist
Required Permissions
  • ReadOnly access level on hub
Events
Creates no events.

Suggest slicing boundaries based on Oracle DBMS stats. Can return empty

POST /api/v6.1.0.3/hubs/{hub}/channels/{channel}/locs/{loc}/tables/{table}/slicing_boundaries
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'col' : <str>
'slices' : <int :min=1>
No extra response headers
Response body is JSON.
Prototype:

'str_boundaries' ?: ( vals<str>+ )
'int_boundaries' ?: ( vals<int64_ascii>+ )
'date_boundaries' ?: ( vals<date_str_z>+ )
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Channel, location, table or column does not exist
Required Permissions
  • ReadOnly access level on hub
Events
Creates no events.

Post Refresh event and schedule a job for it

POST /api/v6.1.0.3/hubs/{hub}/channels/{channel}/refresh
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'source_loc' : <ident>
'target_loc' : <ident>
'contexts' ?: ( <ident>+ )
'granularity' ?: 'bulk' | 'rowwise'
'difference_filter' ?: {
    'inserts' ?: <bool>
    'updates' ?: <bool>
    'deletes' ?: <bool>
}
'quota_run' ?: njobs<int :min=0>
'parallel_sessions' ?: <int :min=0>
'db_sequences' ?: <bool>
'slicing' ?: {
    table<str> *: {
        'type' : 'boundary'
               | 'count'
               | 'modulo'
               | 'series'
        'col' ?: <str>
        'slices' ?: <int>
        'str_boundaries' ?: ( vals<str>+ )
        'int_boundaries' ?: ( vals<int64_ascii>+ )
        'date_boundaries' ?: ( vals<date_str_z>+ )
        'series_values' ?: ( <str>+ )
        'selection' ?: ( <int>+ )
    }
}
'tables' ?: ( <str>+ )
'task' ?: <ident>
'context_variables' ?: {
    name<str> *: value<str>
}
'file_preread_subtasks' ?: <int>
'start_immediate' ?: <bool>
'create_tables' ?: {
    'keep_structure' ?: <bool>
    'force_recreate' ?: <bool>
    'index' ?: <bool>
    'keep_existing_data' ?: <bool>
    'recreate_if_mismatch' ?: <bool>
}
'data_refresh' ?: <bool>
'fire_db_triggers' ?: <bool>
'foreign_keys' ?: 'ignore' | 'disable'
'select_moment' ?: <str>
'online_refresh' ?: 'read_write' | 'write_only' | 'no_skip'
'start_next_jobs' ?: ( 'cap' | 'integ'* )
No extra response headers
Response body is JSON.
Prototype:

'posted_ev_id' : <date_str_usecs_z>
'job' : <str>
'canceled_ev_ids' ?: ( <date_str_usecs_z>* )
HTTP Status Codes
  • STATUS 201 Created
  • STATUS 400 Bad Request
  • STATUS 403 Forbidden: User does not have Write or Refresh access
Required Permissions
  • ReadExecRefresh access level on hub
Events
Creates the following event
Refresh

'channel' : <ident>
'source_loc' : <ident>
'target_loc' : <ident>
'contexts' ?: ( <ident>+ )
'granularity' ?: 'bulk' | 'rowwise'
'difference_filter' ?: {
    'inserts' ?: <bool>
    'updates' ?: <bool>
    'deletes' ?: <bool>
}
'quota_run' ?: njobs<int :min=0>
'parallel_sessions' ?: <int :min=0>
'db_sequences' ?: <bool>
'slicing' ?: {
    table<str> *: {
        'type' : 'boundary'
               | 'count'
               | 'modulo'
               | 'series'
        'col' ?: <str>
        'slices' ?: <int>
        'str_boundaries' ?: ( vals<str>+ )
        'int_boundaries' ?: ( vals<int64_ascii>+ )
        'date_boundaries' ?: ( vals<date_str_z>+ )
        'series_values' ?: ( <str>+ )
        'selection' ?: ( <int>+ )
    }
}
'tables' ?: ( <str>+ )
'task' ?: <ident>
'context_variables' ?: {
    name<str> *: value<str>
}
'file_preread_subtasks' ?: <int>
'start_immediate' ?: <bool>
'create_tables' ?: {
    'keep_structure' ?: <bool>
    'force_recreate' ?: <bool>
    'index' ?: <bool>
    'keep_existing_data' ?: <bool>
    'recreate_if_mismatch' ?: <bool>
}
'data_refresh' ?: <bool>
'fire_db_triggers' ?: <bool>
'foreign_keys' ?: 'ignore' | 'disable'
'select_moment' ?: <str>
'online_refresh' ?: 'read_write' | 'write_only' | 'no_skip'
'start_next_jobs' ?: ( 'cap' | 'integ'* )

Get event ids for tables results of recent Refresh

GET /api/v6.1.0.3/hubs/{hub}/channels/{channel}/refresh/tables_results_ids
Query parameter prototype:

'result_pattern' ?: <str>
'source_loc' ?: <ident>
'target_loc' ?: <ident>
'table' ?: ( <ident>+ )
'ev_tstamp_begin' ?: <date_str_usecs_z>
'ev_tstamp_end' ?: <date_str_usecs_z>
No extra request headers
No request body
No extra response headers
Response body is JSON.
Prototype:

ev_id<date_str_usecs_z> *: ( table<ident>+ )
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
Required Permissions
  • ReadOnly access level on hub

Get event ids for tables results of recent Compare for all channels

GET /api/v6.1.0.3/hubs/{hub}/compare/tables_results_ids
Query parameter prototype:

'channel' ?: ( <ident>+ )
'result_pattern' ?: <str>
'source_loc' ?: <ident>
'target_loc' ?: <ident>
'table' ?: ( <ident>+ )
'ev_tstamp_begin' ?: <date_str_usecs_z>
'ev_tstamp_end' ?: <date_str_usecs_z>
No extra request headers
No request body
No extra response headers
Response body is JSON.
Prototype:

channel<ident> *: {
    ev_id<date_str_usecs_z> *: ( table<ident>+ )
}
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
Required Permissions
  • ReadOnly access level on hub

Check replication activation status of loc

GET /api/v6.1.0.3/hubs/{hub}/locs/{loc}/activate
No query parameters
No extra request headers
No request body
No extra response headers
Response body is JSON.
Prototype:

chn<str> *: {
    'enroll' ?: {
        'found' : <bool>
        'missing' : <bool>
        'tstamp' ?: oldest<date_str_z>
        'lossy_reactivate' : <false>
        'activating' ?: jobstate<ident>
        'deactivating' ?: jobstate<ident>
    }
    'jobs' : {
        'found' : <bool>
        'missing' : <bool>
        'tstamp' ?: oldest<date_str_z>
        'lossy_reactivate' : <false>
        'activating' ?: jobstate<ident>
        'deactivating' ?: jobstate<ident>
        'running' ?: <bool>
        'active_refresh_target' ?: <true>
    }
    'router_files' : {
        'found' : <bool>
        'missing' : <bool>
        'tstamp' ?: scan_start<date_str_z>
        'lossy_reactivate' : <bool>
        'activating' ?: jobstate<ident>
        'deactivating' ?: jobstate<ident>
    }
    'state_tables' ?: {
        'lossy_reactivate' : <true>
        'activating' ?: jobstate<ident>
        'deactivating' ?: jobstate<ident>
    }
    'change_tables' ?: {
        'lossy_reactivate' : <bool>
        'activating' ?: jobstate<ident>
        'deactivating' ?: jobstate<ident>
    }
    'triggers' ?: {
        'lossy_reactivate' : <true>
        'activating' ?: jobstate<ident>
        'deactivating' ?: jobstate<ident>
    }
    'db_procs' ?: {
        'lossy_reactivate' : <bool>
        'activating' ?: jobstate<ident>
        'deactivating' ?: jobstate<ident>
    }
    'supplemental_logging' ?: {
        'lossy_reactivate' : <false>
        'activating' ?: jobstate<ident>
        'deactivating' ?: jobstate<ident>
    }
    'state_files' ?: {
        'lossy_reactivate' : <bool>
        'activating' ?: jobstate<ident>
        'deactivating' ?: jobstate<ident>
    }
}
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
Required Permissions
  • ReadOnly access level on hub

Get event ids for tables results of recent Refresh for all channels

GET /api/v6.1.0.3/hubs/{hub}/refresh/tables_results_ids
Query parameter prototype:

'channel' ?: ( <ident>+ )
'result_pattern' ?: <str>
'source_loc' ?: <ident>
'target_loc' ?: <ident>
'table' ?: ( <ident>+ )
'ev_tstamp_begin' ?: <date_str_usecs_z>
'ev_tstamp_end' ?: <date_str_usecs_z>
No extra request headers
No request body
No extra response headers
Response body is JSON.
Prototype:

channel<ident> *: {
    ev_id<date_str_usecs_z> *: ( table<ident>+ )
}
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
Required Permissions
  • ReadOnly access level on hub

Agent Configuration Interface

Click here to see all end points in this interface.

Detect whether hub may (re)configure agent of existing location

GET /api/v6.1.0.3/hubs/{hub}/locs/{loc}/agent
No query parameters
No extra request headers
No request body
No extra response headers
Response body is JSON.
Prototype:

'setup_token' ?: name<str>
'setup_timed' ?: active<bool>
'auth_anon' ?: <true>
'auth_user_password' ?: <true>
'auth_kerberos' ?: <true>
'dss_version' : <str>
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: The requested hub or location does not exist
Required Permissions
  • ReadOnly access level on hub

Delete agent properties of existing location

POST /api/v6.1.0.3/hubs/{hub}/locs/{loc}/agent/props_delete
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'setup_token' ?: value<str>
'setup_timed' ?: <true>
'auth_user_password' ?: ( user<str> password<str> )
'agent_props' : ( <str>+ )
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Location does not exist
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Agent_Properties_Delete

'agent' : host_port<str>
'props' : ( [<str>]... )

Get agent properties of existing location

POST /api/v6.1.0.3/hubs/{hub}/locs/{loc}/agent/props_get
No query parameters
Request headers prototype:

X-Dss-Classified-Access : <str>
Request body is JSON.
Prototype:

'setup_token' ?: value<str>
'setup_timed' ?: <true>
'auth_user_password' ?: ( user<str> password<str> )
'fetch' ?: ( <str>+ )
Response headers prototype:

X-Dss-Classified-Transport-Key : <str>
X-Dss-Redacted-Storage : <str>
Response body is JSON.
Prototype:

prop<str> *: value<typeof_agent_prop>
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Location does not exist
Required Permissions
  • ReadWrite access level on hub
Events
Creates no events.

Update agent properties of existing location

POST /api/v6.1.0.3/hubs/{hub}/locs/{loc}/agent/props_patch
No query parameters
Request headers prototype:

X-Dss-Classified-Transport-Key : <str>
Request body is JSON.
Prototype:

'setup_token' ?: value<str>
'setup_timed' ?: <true>
'auth_user_password' ?: ( user<str> password<str> )
'agent_props' : {
    prop<str> *: value<null> | <typeof_agent_prop>
}
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Location does not exist
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Agent_Properties_Change

'agent' : host_port<str>
'props_after' : {
    prop<str> *: value<null> | <typeof_agent_prop>
}
'props_before' ?: {
    prop<str> *: value<typeof_agent_prop>
}

Set/reset agent properties of existing location

POST /api/v6.1.0.3/hubs/{hub}/locs/{loc}/agent/props_put
No query parameters
Request headers prototype:

X-Dss-Classified-Transport-Key : <str>
Request body is JSON.
Prototype:

'setup_token' ?: value<str>
'setup_timed' ?: <true>
'auth_user_password' ?: ( user<str> password<str> )
'agent_props' : {
    prop<str> *: value<typeof_agent_prop>
}
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Location does not exist
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Agent_Properties_Set

'agent' : host_port<str>
'props_after' : {
    prop<str> *: value<typeof_agent_prop>
}
'props_before' ?: {
    prop<str> *: value<typeof_agent_prop>
}

Discover agent loc props of existing location

POST /api/v6.1.0.3/hubs/{hub}/locs/{loc}/agent/test
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'setup_token' ?: value<str>
'setup_timed' ?: <true>
'auth_user_password' ?: ( user<str> password<str> )
No extra response headers
Response body is JSON.
Prototype:

'discovered_props' : {
    prop<str> *: value<typeof_loc_prop>
}
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Location does not exist
Required Permissions
  • ReadOnly access level on hub
Events
Creates no events.

Create user on agent for existing location

POST /api/v6.1.0.3/hubs/{hub}/locs/{loc}/agent/users
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'setup_token' ?: value<str>
'setup_timed' ?: <true>
'auth_user_password' ?: ( user<str> password<str> )
'user' : <str>
'authentication' : 'kerberos'
                 | 'local'
                 | 'pam'
                 | 'plugin'
                 | 'windows'
'password' ?: <str>
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Location does not exist
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Agent_User_Create

'agent' : host_port<str>
'user' : <str>

Delete user on agent for existing location

POST /api/v6.1.0.3/hubs/{hub}/locs/{loc}/agent/users_delete
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'setup_token' ?: value<str>
'setup_timed' ?: <true>
'auth_user_password' ?: ( user<str> password<str> )
'user' : <str>
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Location does not exist
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Agent_User_Delete

'agent' : host_port<str>
'user' : <str>

Get list of users on existing agent

POST /api/v6.1.0.3/hubs/{hub}/locs/{loc}/agent/users_get
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'setup_token' ?: value<str>
'setup_timed' ?: <true>
'auth_user_password' ?: ( user<str> password<str> )
'user' ?: <str>
No extra response headers
Response body is JSON.
Prototype:

user<str> *: {
    'authentication' : 'kerberos'
                     | 'local'
                     | 'pam'
                     | 'plugin'
                     | 'windows'
}
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Location does not exist
Required Permissions
  • ReadWrite access level on hub
Events
Creates no events.

Change password of local user on agent for existing location

POST /api/v6.1.0.3/hubs/{hub}/locs/{loc}/agent/users_password
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'setup_token' ?: value<str>
'setup_timed' ?: <true>
'auth_user_password' ?: ( user<str> password<str> )
'user' : <str>
'new_password' : <str>
'current_password' ?: <str>
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Location does not exist
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Agent_User_Password_Change

'agent' : host_port<str>
'user' : <str>

Delete agent properties of new location

POST /api/v6.1.0.3/hubs/{hub}/new_loc/agent/props_delete
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'loc_props_from' ?: loc<ident>
'loc_props' : {
    prop<str> *: value<null> | <typeof_loc_prop>
}
'setup_token' ?: value<str>
'setup_timed' ?: <true>
'auth_user_password' ?: ( user<str> password<str> )
'agent_props' : ( <str>+ )
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request: Error connecting to location specified by 'loc_props'
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Agent_Properties_Delete

'agent' : host_port<str>
'props' : ( [<str>]... )

Get agent properties of new location

POST /api/v6.1.0.3/hubs/{hub}/new_loc/agent/props_get
No query parameters
Request headers prototype:

X-Dss-Classified-Access : <str>
Request body is JSON.
Prototype:

'loc_props_from' ?: loc<ident>
'loc_props' : {
    prop<str> *: value<null> | <typeof_loc_prop>
}
'setup_token' ?: value<str>
'setup_timed' ?: <true>
'auth_user_password' ?: ( user<str> password<str> )
'fetch' ?: ( <str>+ )
Response headers prototype:

X-Dss-Classified-Transport-Key : <str>
X-Dss-Redacted-Storage : <str>
Response body is JSON.
Prototype:

prop<str> *: value<typeof_agent_prop>
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request: Error connecting to location specified by 'loc_props'
Required Permissions
  • ReadWrite access level on hub
Events
Creates no events.

Update agent properties of new location

POST /api/v6.1.0.3/hubs/{hub}/new_loc/agent/props_patch
No query parameters
Request headers prototype:

X-Dss-Classified-Transport-Key : <str>
Request body is JSON.
Prototype:

'loc_props_from' ?: loc<ident>
'loc_props' : {
    prop<str> *: value<null> | <typeof_loc_prop>
}
'setup_token' ?: value<str>
'setup_timed' ?: <true>
'auth_user_password' ?: ( user<str> password<str> )
'agent_props' : {
    prop<str> *: value<null> | <typeof_agent_prop>
}
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request: Error connecting to location specified by 'loc_props'
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Agent_Properties_Change

'agent' : host_port<str>
'props_after' : {
    prop<str> *: value<null> | <typeof_agent_prop>
}
'props_before' ?: {
    prop<str> *: value<typeof_agent_prop>
}

Set/reset agent properties of new location

POST /api/v6.1.0.3/hubs/{hub}/new_loc/agent/props_put
No query parameters
Request headers prototype:

X-Dss-Classified-Transport-Key : <str>
Request body is JSON.
Prototype:

'loc_props_from' ?: loc<ident>
'loc_props' : {
    prop<str> *: value<null> | <typeof_loc_prop>
}
'setup_token' ?: value<str>
'setup_timed' ?: <true>
'auth_user_password' ?: ( user<str> password<str> )
'agent_props' : {
    prop<str> *: value<typeof_agent_prop>
}
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request: Error connecting to location specified by 'loc_props'
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Agent_Properties_Set

'agent' : host_port<str>
'props_after' : {
    prop<str> *: value<typeof_agent_prop>
}
'props_before' ?: {
    prop<str> *: value<typeof_agent_prop>
}

Discover agent loc props of new location

POST /api/v6.1.0.3/hubs/{hub}/new_loc/agent/test
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'loc_props_from' ?: loc<ident>
'loc_props' : {
    prop<str> *: value<null> | <typeof_loc_prop>
}
'setup_token' ?: value<str>
'setup_timed' ?: <true>
'auth_user_password' ?: ( user<str> password<str> )
No extra response headers
Response body is JSON.
Prototype:

'discovered_props' : {
    prop<str> *: value<typeof_loc_prop>
}
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request: Error connecting to location specified by 'loc_props'
Required Permissions
  • ReadOnly access level on hub
Events
Creates no events.

Create user on agent for new location

POST /api/v6.1.0.3/hubs/{hub}/new_loc/agent/users
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'loc_props_from' ?: loc<ident>
'loc_props' : {
    prop<str> *: value<null> | <typeof_loc_prop>
}
'setup_token' ?: value<str>
'setup_timed' ?: <true>
'auth_user_password' ?: ( user<str> password<str> )
'user' : <str>
'authentication' : 'kerberos'
                 | 'local'
                 | 'pam'
                 | 'plugin'
                 | 'windows'
'password' ?: <str>
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request: Error connecting to location specified by 'loc_props'
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Agent_User_Create

'agent' : host_port<str>
'user' : <str>

Delete user on agent for new location

POST /api/v6.1.0.3/hubs/{hub}/new_loc/agent/users_delete
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'loc_props_from' ?: loc<ident>
'loc_props' : {
    prop<str> *: value<null> | <typeof_loc_prop>
}
'setup_token' ?: value<str>
'setup_timed' ?: <true>
'auth_user_password' ?: ( user<str> password<str> )
'user' : <str>
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request: Error connecting to location specified by 'loc_props'
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Agent_User_Delete

'agent' : host_port<str>
'user' : <str>

Get list of users on new agent

POST /api/v6.1.0.3/hubs/{hub}/new_loc/agent/users_get
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'loc_props_from' ?: loc<ident>
'loc_props' : {
    prop<str> *: value<null> | <typeof_loc_prop>
}
'setup_token' ?: value<str>
'setup_timed' ?: <true>
'auth_user_password' ?: ( user<str> password<str> )
'user' ?: <str>
No extra response headers
Response body is JSON.
Prototype:

user<str> *: {
    'authentication' : 'kerberos'
                     | 'local'
                     | 'pam'
                     | 'plugin'
                     | 'windows'
}
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request: Error connecting to location specified by 'loc_props'
Required Permissions
  • ReadWrite access level on hub
Events
Creates no events.

Change password of local user on agent for new location

POST /api/v6.1.0.3/hubs/{hub}/new_loc/agent/users_password
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'loc_props_from' ?: loc<ident>
'loc_props' : {
    prop<str> *: value<null> | <typeof_loc_prop>
}
'setup_token' ?: value<str>
'setup_timed' ?: <true>
'auth_user_password' ?: ( user<str> password<str> )
'user' : <str>
'new_password' : <str>
'current_password' ?: <str>
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request: Error connecting to location specified by 'loc_props'
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Agent_User_Password_Change

'agent' : host_port<str>
'user' : <str>

Detect whether hub may (re)configure agent of new location

POST /api/v6.1.0.3/hubs/{hub}/new_loc/agent_get
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'loc_props_from' ?: loc<ident>
'loc_props' : {
    prop<str> *: value<null> | <typeof_loc_prop>
}
No extra response headers
Response body is JSON.
Prototype:

'setup_token' ?: name<str>
'setup_timed' ?: active<bool>
'auth_anon' ?: <true>
'auth_user_password' ?: <true>
'auth_kerberos' ?: <true>
'dss_version' : <str>
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: The requested hub does not exist
Required Permissions
  • ReadOnly access level on hub
Events
Creates no events.

Alert Interface

Click here to see all end points in this interface.

List configured alerts

GET /api/v6.1.0.3/hubs/{hub}/alerts
No query parameters
No extra request headers
No request body
No extra response headers
Response body is JSON.
Prototype:
 alert<ident>*
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Hub not found
Required Permissions
  • ReadOnly access level on hub

Create alert configuration

POST /api/v6.1.0.3/hubs/{hub}/alerts
No query parameters
Request headers prototype:

X-Dss-Classified-Transport-Key : <str>
Request body is JSON.
Prototype:

'alert' : <ident>
'props' : {
    prop<str> *: value<typeof_alert_prop>
}
No extra response headers
No response body
HTTP Status Codes
  • STATUS 201 Created
  • STATUS 400 Bad Request: Alert already exists
  • STATUS 404 Not Found: Hub not found
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Alert_Create

'alert' : <ident>
'props' : {
    prop<str> *: value<typeof_alert_prop>
}

Delete alert configuration

DELETE /api/v6.1.0.3/hubs/{hub}/alerts/{alert}
No query parameters
No extra request headers
No request body
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Hub or Alert not found
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Alert_Delete

'alert' : <ident>

Clear alert state

POST /api/v6.1.0.3/hubs/{hub}/alerts/{alert}/clear
No query parameters
No extra request headers
No request body
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Hub or Alert not found
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Alert_Clear

'alert' : <ident>

Disable an alert configuration

POST /api/v6.1.0.3/hubs/{hub}/alerts/{alert}/disable
No query parameters
No extra request headers
No request body
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Hub or Alert not found
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Alert_Disable

'alert' : <ident>

Execute alert configuration now

POST /api/v6.1.0.3/hubs/{hub}/alerts/{alert}/execute
No query parameters
No extra request headers
No request body
No extra response headers
Response body is plain text
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Hub not found
Required Permissions
  • ReadExec access level on hub
Events
Creates the following event
Alert_Notification

'alert' : <ident>
'latency_sla' ?: {
    'over' : {
        job<str> *: {
            'latency' : <secs_int>
            'sla' : <secs_int>
        }
    }
    'under' : <int>
}
'error_summary' | 'warning_summary' ?: {
    err_id<ident> *: {
        'count' : <int>
        'first' : <date_str_z>
        'last' ?: <date_str_z>
    }
}
'scheduler_alive' : <bool>
'alert_errors' ?: ( <str>+ )

Get alert configuration properties

GET /api/v6.1.0.3/hubs/{hub}/alerts/{alert}/props
Query parameter prototype:

'fetch' ?: ( prop<str>+ )
Request headers prototype:

X-Dss-Classified-Access : <str>
No request body
Response headers prototype:

X-Dss-Classified-Transport-Key : <str>
X-Dss-Redacted-Storage : <str>
Response body is JSON.
Prototype:

prop<str> *: value<typeof_alert_prop>
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request: Specified property does not exist
  • STATUS 404 Not Found: Hub or Alert not found
Required Permissions
  • ReadOnly access level on hub

Modify alert configuration properties

PATCH /api/v6.1.0.3/hubs/{hub}/alerts/{alert}/props
No query parameters
Request headers prototype:

X-Dss-Classified-Transport-Key : <str>
Request body is JSON.
Prototype:

prop<str> *: value<null> | <typeof_alert_prop>
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Hub or Alert not found
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Alert_Property_Change

'alert' : <ident>
'props_after' : {
    prop<str> *: value<null> | <typeof_alert_prop>
}
'props_before' ?: {
    prop<str> *: value<typeof_alert_prop>
}

Replace all alert configuration properties

PUT /api/v6.1.0.3/hubs/{hub}/alerts/{alert}/props
No query parameters
Request headers prototype:

X-Dss-Classified-Transport-Key : <str>
Request body is JSON.
Prototype:

prop<str> *: value<null> | <typeof_alert_prop>
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Hub or Alert not found
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Alert_Property_Set

'alert' : <ident>
'props_after' : {
    prop<str> *: value<typeof_alert_prop>
}
'props_before' ?: {
    prop<str> *: value<typeof_alert_prop>
}

Delete alert configuration properties

POST /api/v6.1.0.3/hubs/{hub}/alerts/{alert}/props_delete
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'props' : ( prop<str>+ )
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Hub or Alert not found
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Alert_Property_Delete

'alert' : <ident>
'props' : ( prop<str>+ )

Send test alert notifications

POST /api/v6.1.0.3/hubs/{hub}/alerts/{alert}/test
No query parameters
No extra request headers
No request body
No extra response headers
Response body is plain text
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Hub not found
Required Permissions
  • ReadExec access level on hub
Events
Creates no events.

Control Message Interface

Click here to see all end points in this interface.

Get all control ids matched by the query

GET /api/v6.1.0.3/hubs/{hub}/channels/{channel}/controls
Query parameter prototype:

'task_name' ?: 'cap' | 'integ'
'loc_name' ?: ( <ident>+ )
'ctrl_name' ?: <ident>
'ctrl_id' ?: ( <str>+ )
No extra request headers
No request body
Response headers prototype:

X-Dss-Hidden-Files : <bool>
Response body is JSON.
Prototype:
 ctrl_id<str>*
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: not found hub or channel
Required Permissions
  • ReadOnly access level on hub

Get the control associated with the id

GET /api/v6.1.0.3/hubs/{hub}/channels/{channel}/controls/{ctrl_id}
No query parameters
No extra request headers
No request body
Response headers prototype:

X-Dss-Hidden-Files : <bool>
Response body is JSON.
Prototype:

'task_name' : 'cap' | 'integ'
'loc_name' : <ident>
'ctrl_name' : <ident>
'filters' ?: (
    {
        'tables' ?: ( <ident>+ )
        'where' ?: (
            {
                'col' : <str>
                'op' : '='
                     | '!='
                     | '<>'
                     | '>'
                     | '<'
                     | '>='
                     | '<='
                     | '>>'
                     | '<<'
                     | '%='
                'val_str' ?: ( <str>+ )
                'val_int' ?: ( <str>+ )
                'val_date' ?: ( <date_str_z>+ )
                'val_len' ?: ( <str>+ )
            }*
        )
        'force_failed_rows' ?: <true>
        'resilient' ?: <true>
        'skip_rows' ?: <true>
        'set_missing_cols' ?: ( col<str>* )
    }*
)
'eval' ?: <list>
'expiry_date' ?: <date_str_z>
'recv_expiry' ?: <date_str_z>
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: not found hub or channel or control
Required Permissions
  • ReadOnly access level on hub

Delete all the controls matched.

POST /api/v6.1.0.3/hubs/{hub}/channels/{channel}/controls_delete
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'ctrl_ids' : ( <str>+ )
No extra response headers
No response body
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: The control does not exist.
Required Permissions
  • ReadExec access level on hub
Events
Creates the following event
Control_Delete

'chn_name' : <ident>
'ctrl_ids' : ( <str>+ )

Send a new control file

POST /api/v6.1.0.3/hubs/{hub}/channels/{channel}/locs/{loc}/tasks/{task}/controls
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'ctrl_name' ?: <ident>
'filters' ?: (
    {
        'tables' ?: ( <ident>+ )
        'where' ?: (
            {
                'col' : <str>
                'op' : '='
                     | '!='
                     | '<>'
                     | '>'
                     | '<'
                     | '>='
                     | '<='
                     | '>>'
                     | '<<'
                     | '%='
                'val_str' ?: ( <str>+ )
                'val_int' ?: ( <str>+ )
                'val_date' ?: ( <date_str_z>+ )
                'val_len' ?: ( <str>+ )
            }*
        )
        'force_failed_rows' ?: <bool>
        'resilient' ?: <bool>
        'skip_rows' ?: <bool>
        'set_missing_cols' ?: ( col<str>+ )
    }*
)
'set_env' ?: (
    {
        'name' : <str>
        'value' : <str>
    }*
)
'journaling' ?: <bool>
'finish_after_cycle' ?: <bool>
'expiry_date' ?: <date_str_z>
'recv_expiry' ?: <date_str_z>
No extra response headers
Response body is JSON.
Prototype:

'ctrl_id' : <str>
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Control_Send

'chn_name' : <ident>
'task_name' : 'cap' | 'integ'
'loc_name' : <ident>
'ctrl_name' : <ident>
'filters' ?: (
    {
        'tables' ?: ( <ident>+ )
        'where' ?: (
            {
                'col' : <str>
                'op' : '='
                     | '!='
                     | '<>'
                     | '>'
                     | '<'
                     | '>='
                     | '<='
                     | '>>'
                     | '<<'
                     | '%='
                'val_str' ?: ( <str>+ )
                'val_int' ?: ( <str>+ )
                'val_date' ?: ( <date_str_z>+ )
                'val_len' ?: ( <str>+ )
            }*
        )
        'force_failed_rows' ?: <true>
        'resilient' ?: <true>
        'skip_rows' ?: <true>
        'set_missing_cols' ?: ( col<str>+ )
    }*
)
'set_env' ?: (
    {
        'name' : <str>
        'value' : <str>
    }*
)
'journaling' ?: <bool>
'finish_after_cycle' ?: <true>
'expiry_date' ?: <date_str_z>
'recv_expiry' ?: <date_str_z>
'ctrl_id' : <str>

Definition Interface

Click here to see all end points in this interface.

Fetch hub definition

GET /api/v6.1.0.3/hubs/{hub}/definition
Query parameter prototype:

'fetch' ?: (
    'locs'
    | 'loc_props'
    | 'loc_actions'
    | 'channels'
    | 'tables'
    | 'cols'
    | 'loc_groups'
    | 'members'
    | 'channel_actions'
    | 'hub_actions'+
)
'channel' ?: ( <ident>+ )
'loc' ?: ( <ident>+ )
'table' ?: ( <str>+ )
'action_type' ?: ( <str>+ )
'cache_view_tstamp' ?: <date_str_usecs_z>
Request headers prototype:

X-Dss-Classified-Access : <str>
No request body
Response headers prototype:

X-Dss-View-Tstamp : <date_str_usecs_z>
X-Dss-Reload-Cache : <bool>
X-Dss-Classified-Transport-Key : <str>
Response body is JSON.
Prototype:

'locs' ?: {
    locname<str> *: {
        'props' ?: {
            prop<str> *: value<typeof_loc_prop>
        }
        'actions' ?: (
            {
                'type' : <ident>
                'params' ?: {
                    param<str> *: val<scal>
                }
            }*
        )
    }
}
'channels' ?: {
    channel<ident> *: {
        'description' ?: <str>
        'loc_groups' ?: {
            groupname<str> *: {
                'members' ?: ( loc<str>* )
            }
        }
        'tables' ?: {
            tablename<str> *: {
                'base_name' ?: <str>
                'table_group' ?: <str>
                'cols' ?: {
                    colname<str> *: {
                        'sequence' : <int>
                        'key' ?: <int>
                        'distrib_key' ?: <int>
                        'data_type' : <str>
                        'attributes' ?: {
                            'encoding' ?: <str>
                            'nullable' ?: <bool>
                            'charlen' ?: <int64_ascii>
                            'bytelen' ?: <int64_ascii>
                            'prec' ?: <int>
                            'scale' ?: <int>
                            'timeprec' ?: <int>
                            'dayprec' ?: <int>
                            'yearprec' ?: <int>
                            'bitlen' ?: <int>
                        }
                    }
                }
            }
        }
        'actions' ?: (
            {
                'loc_scope' ?: <str>
                'table_scope' ?: <str>
                'type' : <ident>
                'params' ?: {
                    param<str> *: val<scal>
                }
            }*
        )
    }
}
'hub_actions' ?: (
    {
        'type' : <ident>
        'params' ?: {
            param<str> *: val<scal>
        }
    }*
)
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
Required Permissions
  • ReadOnly access level on hub

Modify scope or parameters of action

POST /api/v6.1.0.3/hubs/{hub}/definition/action_modify
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'type' : <ident>
'old' : {
    'channel' ?: <str>
    'loc_scope' ?: <str>
    'table_scope' ?: <str>
    'params' ?: {
        param<str> *: val<scal>
    }
}
'new' : {
    'channel' ?: <str>
    'loc_scope' ?: <str>
    'table_scope' ?: <str>
    'params' ?: {
        param<str> *: val<null> | <scal>
    }
}
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Action does not exist
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Definition_Change

'modify_action' : {
    'type' : <ident>
    'old' : {
        'channel' ?: <str>
        'loc_scope' ?: <str>
        'table_scope' ?: <str>
        'params' ?: {
            param<str> *: val<scal>
        }
    }
    'new' : {
        'channel' ?: <str>
        'loc_scope' ?: <str>
        'table_scope' ?: <str>
        'params' ?: {
            param<str> *: val<null> | <scal>
        }
    }
}

Replace action

POST /api/v6.1.0.3/hubs/{hub}/definition/action_replace
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'type' : <ident>
'old' : {
    'channel' ?: <str>
    'loc_scope' ?: <str>
    'table_scope' ?: <str>
    'params' ?: {
        param<str> *: val<scal>
    }
}
'new' : {
    'channel' ?: <str>
    'loc_scope' ?: <str>
    'table_scope' ?: <str>
    'params' ?: {
        param<str> *: val<scal>
    }
}
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Action does not exist
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Definition_Change

'replace_action' : {
    'type' : <ident>
    'old' : {
        'channel' ?: <str>
        'loc_scope' ?: <str>
        'table_scope' ?: <str>
        'params' ?: {
            param<str> *: val<scal>
        }
    }
    'new' : {
        'channel' ?: <str>
        'loc_scope' ?: <str>
        'table_scope' ?: <str>
        'params' ?: {
            param<str> *: val<scal>
        }
    }
}

Fetch definition changes from events

GET /api/v6.1.0.3/hubs/{hub}/definition/change/events
Query parameter prototype:

'direction' ?: 'redo' | 'undo'
'channel' ?: ( <ident>+ )
'loc' ?: ( <ident>+ )
'ev_tstamp_begin' ?: <date_str_usecs_z>
'ev_tstamp_end' ?: <date_str_usecs_z>
'ev_id' ?: ( <date_str_usecs_z>+ )
Request headers prototype:

X-Dss-Classified-Access : <str>
No request body
Response headers prototype:

X-Dss-Classified-Transport-Key : <str>
Response body is JSON.
Prototype:

'changes' : (
    {
        'add_loc' : {
            'loc' : <ident>
            'props' : {
                prop<str> *: value<typeof_loc_prop>
            }
            'actions' ?: (
                {
                    'type' : <ident>
                    'params' ?: {
                        param<str> *: val<scal>
                    }
                }*
            )
        }
    }
    | {
        'replace_loc' : {
            'loc' : <ident>
            'props' : {
                prop<str> *: value<typeof_loc_prop>
            }
            'actions' ?: (
                {
                    'type' : <ident>
                    'params' ?: {
                        param<str> *: val<scal>
                    }
                }*
            )
        }
    }
    | {
        'delete_loc' : {
            'loc' : <ident>
        }
    }
    | {
        'rename_loc' : {
            'loc' : <ident>
            'new_name' : <ident>
        }
    }
    | {
        'add_loc_props' : {
            'loc' ?: <ident>
            'props' : {
                prop<str> *: value<typeof_loc_prop>
            }
        }
    }
    | {
        'replace_loc_props' : {
            'loc' : <ident>
            'props' : {
                prop<str> *: value<typeof_loc_prop>
            }
        }
    }
    | {
        'modify_loc_props' : {
            'loc' : <ident>
            'props' : {
                prop<str> *: value<null> | <typeof_loc_prop>
            }
        }
    }
    | {
        'delete_loc_props' : {
            'loc' : <ident>
            'props' : ( <str>+ )
        }
    }
    | {
        'add_loc_actions' : {
            'loc' ?: <ident>
            'actions' : (
                {
                    'type' : <ident>
                    'params' ?: {
                        param<str> *: val<scal>
                    }
                }*
            )
        }
    }
    | {
        'replace_loc_action_list' : {
            'loc' : <ident>
            'actions' : (
                {
                    'type' : <ident>
                    'params' ?: {
                        param<str> *: val<scal>
                    }
                }*
            )
        }
    }
    | {
        'delete_loc_actions' : {
            'loc' : <ident>
            'actions' : (
                {
                    'type' : <ident>
                    'params' ?: {
                        param<str> *: val<scal>
                    }
                }*
            )
        }
    }
    | {
        'add_channel' : {
            'channel' : <ident>
            'description' ?: <str>
            'loc_groups' ?: {
                groupname<ident> *: {
                    'members' ?: ( loc<ident>* )
                }
            }
            'tables' ?: {
                tablename<ident> *: {
                    'base_name' ?: <str>
                    'table_group' ?: <ident>
                    'cols' ?: {
                        colname<str> *: {
                            'sequence' : <int>
                            'key' ?: <int>
                            'distrib_key' ?: <int>
                            'data_type' : <str>
                            'attributes' ?: {
                                'encoding' ?: <str>
                                'nullable' ?: <bool>
                                'charlen' ?: <int64_ascii>
                                'bytelen' ?: <int64_ascii>
                                'prec' ?: <int>
                                'scale' ?: <int>
                                'timeprec' ?: <int>
                                'dayprec' ?: <int>
                                'yearprec' ?: <int>
                                'bitlen' ?: <int>
                            }
                        }
                    }
                }
            }
            'actions' ?: (
                {
                    'loc_scope' ?: <str>
                    'table_scope' ?: <str>
                    'type' : <ident>
                    'params' ?: {
                        param<str> *: val<scal>
                    }
                }*
            )
        }
    }
    | {
        'replace_channel' : {
            'channel' : <ident>
            'description' ?: <str>
            'loc_groups' ?: {
                groupname<ident> *: {
                    'members' ?: ( loc<ident>* )
                }
            }
            'tables' ?: {
                tablename<ident> *: {
                    'base_name' ?: <str>
                    'table_group' ?: <ident>
                    'cols' ?: {
                        colname<str> *: {
                            'sequence' : <int>
                            'key' ?: <int>
                            'distrib_key' ?: <int>
                            'data_type' : <str>
                            'attributes' ?: {
                                'encoding' ?: <str>
                                'nullable' ?: <bool>
                                'charlen' ?: <int64_ascii>
                                'bytelen' ?: <int64_ascii>
                                'prec' ?: <int>
                                'scale' ?: <int>
                                'timeprec' ?: <int>
                                'dayprec' ?: <int>
                                'yearprec' ?: <int>
                                'bitlen' ?: <int>
                            }
                        }
                    }
                }
            }
            'actions' ?: (
                {
                    'loc_scope' ?: <str>
                    'table_scope' ?: <str>
                    'type' : <ident>
                    'params' ?: {
                        param<str> *: val<scal>
                    }
                }*
            )
        }
    }
    | {
        'modify_channel' : {
            'channel' : <ident>
            'description' : <str>
        }
    }
    | {
        'delete_channel' : {
            'channel' : <ident>
        }
    }
    | {
        'rename_channel' : {
            'channel' : <ident>
            'new_name' : <ident>
        }
    }
    | {
        'add_loc_group' : {
            'channel' ?: <ident>
            'loc_group' : <ident>
            'members' ?: ( loc<ident>* )
        }
    }
    | {
        'replace_loc_group' : {
            'channel' : <ident>
            'loc_group' : <ident>
            'members' ?: ( loc<ident>* )
        }
    }
    | {
        'delete_loc_group' : {
            'channel' : <ident>
            'loc_group' : <ident>
        }
    }
    | {
        'rename_loc_group' : {
            'channel' : <ident>
            'loc_group' : <ident>
            'new_name' : <ident>
        }
    }
    | {
        'add_loc_group_members' : {
            'channel' ?: <ident>
            'loc_group' : <ident>
            'members' : ( loc<ident>* )
        }
    }
    | {
        'replace_loc_group_member_list' : {
            'channel' : <ident>
            'loc_group' : <ident>
            'members' : ( loc<ident>* )
        }
    }
    | {
        'delete_loc_group_members' : {
            'channel' : <ident>
            'loc_group' : <ident>
            'members' : ( loc<ident>* )
        }
    }
    | {
        'add_tables' : {
            'channel' ?: <ident>
            'tables' : {
                tablename<ident> *: {
                    'base_name' ?: <str>
                    'table_group' ?: <ident>
                    'cols' ?: {
                        colname<str> *: {
                            'sequence' : <int>
                            'key' ?: <int>
                            'distrib_key' ?: <int>
                            'data_type' : <str>
                            'attributes' ?: {
                                'encoding' ?: <str>
                                'nullable' ?: <bool>
                                'charlen' ?: <int64_ascii>
                                'bytelen' ?: <int64_ascii>
                                'prec' ?: <int>
                                'scale' ?: <int>
                                'timeprec' ?: <int>
                                'dayprec' ?: <int>
                                'yearprec' ?: <int>
                                'bitlen' ?: <int>
                            }
                        }
                    }
                }
            }
        }
    }
    | {
        'modify_table_list' : {
            'channel' ?: <ident>
            'tables' : {
                tablename<ident> *: {
                    'base_name' ?: <str>
                    'table_group' ?: <ident>
                    'cols' ?: {
                        colname<str> *: {
                            'sequence' : <int>
                            'key' ?: <int>
                            'distrib_key' ?: <int>
                            'data_type' : <str>
                            'attributes' ?: {
                                'encoding' ?: <str>
                                'nullable' ?: <bool>
                                'charlen' ?: <int64_ascii>
                                'bytelen' ?: <int64_ascii>
                                'prec' ?: <int>
                                'scale' ?: <int>
                                'timeprec' ?: <int>
                                'dayprec' ?: <int>
                                'yearprec' ?: <int>
                                'bitlen' ?: <int>
                            }
                        }
                    }
                }
            }
        }
    }
    | {
        'replace_table_list' : {
            'channel' : <ident>
            'tables' : {
                tablename<ident> *: {
                    'base_name' ?: <str>
                    'table_group' ?: <ident>
                    'cols' ?: {
                        colname<str> *: {
                            'sequence' : <int>
                            'key' ?: <int>
                            'distrib_key' ?: <int>
                            'data_type' : <str>
                            'attributes' ?: {
                                'encoding' ?: <str>
                                'nullable' ?: <bool>
                                'charlen' ?: <int64_ascii>
                                'bytelen' ?: <int64_ascii>
                                'prec' ?: <int>
                                'scale' ?: <int>
                                'timeprec' ?: <int>
                                'dayprec' ?: <int>
                                'yearprec' ?: <int>
                                'bitlen' ?: <int>
                            }
                        }
                    }
                }
            }
        }
    }
    | {
        'add_table' : {
            'channel' ?: <ident>
            'table' : <ident>
            'base_name' ?: <str>
            'table_group' ?: <ident>
            'cols' ?: {
                colname<str> *: {
                    'sequence' : <int>
                    'key' ?: <int>
                    'distrib_key' ?: <int>
                    'data_type' : <str>
                    'attributes' ?: {
                        'encoding' ?: <str>
                        'nullable' ?: <bool>
                        'charlen' ?: <int64_ascii>
                        'bytelen' ?: <int64_ascii>
                        'prec' ?: <int>
                        'scale' ?: <int>
                        'timeprec' ?: <int>
                        'dayprec' ?: <int>
                        'yearprec' ?: <int>
                        'bitlen' ?: <int>
                    }
                }
            }
        }
    }
    | {
        'replace_table' : {
            'channel' : <ident>
            'table' : <ident>
            'base_name' ?: <str>
            'table_group' ?: <ident>
            'cols' ?: {
                colname<str> *: {
                    'sequence' : <int>
                    'key' ?: <int>
                    'distrib_key' ?: <int>
                    'data_type' : <str>
                    'attributes' ?: {
                        'encoding' ?: <str>
                        'nullable' ?: <bool>
                        'charlen' ?: <int64_ascii>
                        'bytelen' ?: <int64_ascii>
                        'prec' ?: <int>
                        'scale' ?: <int>
                        'timeprec' ?: <int>
                        'dayprec' ?: <int>
                        'yearprec' ?: <int>
                        'bitlen' ?: <int>
                    }
                }
            }
        }
    }
    | {
        'modify_table' : {
            'channel' : <ident>
            'table' : <ident>
            'base_name' ?: <str>
            'table_group' ?: <ident>
        }
    }
    | {
        'rename_table' : {
            'channel' : <ident>
            'table' : <ident>
            'new_name' : <ident>
        }
    }
    | {
        'delete_tables' : {
            'channel' : <ident>
            'tables' : ( <ident>+ )
        }
    }
    | {
        'add_cols' : {
            'channel' ?: <ident>
            'table' ?: <ident>
            'cols' : {
                colname<str> *: {
                    'sequence' : <int>
                    'key' ?: <int>
                    'distrib_key' ?: <int>
                    'data_type' : <str>
                    'attributes' ?: {
                        'encoding' ?: <str>
                        'nullable' ?: <bool>
                        'charlen' ?: <int64_ascii>
                        'bytelen' ?: <int64_ascii>
                        'prec' ?: <int>
                        'scale' ?: <int>
                        'timeprec' ?: <int>
                        'dayprec' ?: <int>
                        'yearprec' ?: <int>
                        'bitlen' ?: <int>
                    }
                }
            }
        }
    }
    | {
        'modify_col_list' : {
            'channel' ?: <ident>
            'table' ?: <ident>
            'cols' : {
                colname<str> *: {
                    'sequence' : <int>
                    'key' ?: <int>
                    'distrib_key' ?: <int>
                    'data_type' : <str>
                    'attributes' ?: {
                        'encoding' ?: <str>
                        'nullable' ?: <bool>
                        'charlen' ?: <int64_ascii>
                        'bytelen' ?: <int64_ascii>
                        'prec' ?: <int>
                        'scale' ?: <int>
                        'timeprec' ?: <int>
                        'dayprec' ?: <int>
                        'yearprec' ?: <int>
                        'bitlen' ?: <int>
                    }
                }
            }
        }
    }
    | {
        'replace_col_list' : {
            'channel' : <ident>
            'table' : <ident>
            'cols' : {
                colname<str> *: {
                    'sequence' : <int>
                    'key' ?: <int>
                    'distrib_key' ?: <int>
                    'data_type' : <str>
                    'attributes' ?: {
                        'encoding' ?: <str>
                        'nullable' ?: <bool>
                        'charlen' ?: <int64_ascii>
                        'bytelen' ?: <int64_ascii>
                        'prec' ?: <int>
                        'scale' ?: <int>
                        'timeprec' ?: <int>
                        'dayprec' ?: <int>
                        'yearprec' ?: <int>
                        'bitlen' ?: <int>
                    }
                }
            }
        }
    }
    | {
        'delete_cols' : {
            'channel' : <ident>
            'table' : <ident>
            'cols' : ( <str>+ )
        }
    }
    | {
        'add_channel_actions' : {
            'channel' ?: <ident>
            'actions' : (
                {
                    'loc_scope' ?: <str>
                    'table_scope' ?: <str>
                    'type' : <ident>
                    'params' ?: {
                        param<str> *: val<scal>
                    }
                }*
            )
        }
    }
    | {
        'replace_channel_action_list' : {
            'channel' : <ident>
            'actions' : (
                {
                    'loc_scope' ?: <str>
                    'table_scope' ?: <str>
                    'type' : <ident>
                    'params' ?: {
                        param<str> *: val<scal>
                    }
                }*
            )
        }
    }
    | {
        'delete_channel_actions' : {
            'channel' : <ident>
            'actions' : (
                {
                    'loc_scope' ?: <str>
                    'table_scope' ?: <str>
                    'type' : <ident>
                    'params' ?: {
                        param<str> *: val<scal>
                    }
                }*
            )
        }
    }
    | {
        'add_hub_actions' : {
            'actions' ?: (
                {
                    'type' : <ident>
                    'params' ?: {
                        param<str> *: val<scal>
                    }
                }*
            )
        }
    }
    | {
        'replace_hub_action_list' : {
            'actions' : (
                {
                    'type' : <ident>
                    'params' ?: {
                        param<str> *: val<scal>
                    }
                }*
            )
        }
    }
    | {
        'delete_hub_actions' : {
            'actions' : (
                {
                    'type' : <ident>
                    'params' ?: {
                        param<str> *: val<scal>
                    }
                }*
            )
        }
    }
    | {
        'modify_action' : {
            'type' : <ident>
            'old' : {
                'channel' ?: <str>
                'loc_scope' ?: <str>
                'table_scope' ?: <str>
                'params' ?: {
                    param<str> *: val<scal>
                }
            }
            'new' : {
                'channel' ?: <str>
                'loc_scope' ?: <str>
                'table_scope' ?: <str>
                'params' ?: {
                    param<str> *: val<null> | <scal>
                }
            }
        }
    }
    | {
        'replace_action' : {
            'type' : <ident>
            'old' : {
                'channel' ?: <str>
                'loc_scope' ?: <str>
                'table_scope' ?: <str>
                'params' ?: {
                    param<str> *: val<scal>
                }
            }
            'new' : {
                'channel' ?: <str>
                'loc_scope' ?: <str>
                'table_scope' ?: <str>
                'params' ?: {
                    param<str> *: val<scal>
                }
            }
        }
    }*
)
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
Required Permissions
  • ReadOnly access level on hub

Fetch channels from hub definition

GET /api/v6.1.0.3/hubs/{hub}/definition/channels
Query parameter prototype:

'fetch' ?: (
    'tables'
    | 'cols'
    | 'loc_groups'
    | 'members'
    | 'channel_actions'+
)
'channel' ?: ( <ident>+ )
'table' ?: ( <str>+ )
'action_type' ?: ( <str>+ )
'cache_view_tstamp' ?: <date_str_usecs_z>
No extra request headers
No request body
Response headers prototype:

X-Dss-View-Tstamp : <date_str_usecs_z>
X-Dss-Reload-Cache : <bool>
Response body is JSON.
Prototype:

channel<ident> *: {
    'description' ?: <str>
    'loc_groups' ?: {
        groupname<str> *: {
            'members' ?: ( loc<str>* )
        }
    }
    'tables' ?: {
        tablename<str> *: {
            'base_name' ?: <str>
            'table_group' ?: <str>
            'cols' ?: {
                colname<str> *: {
                    'sequence' : <int>
                    'key' ?: <int>
                    'distrib_key' ?: <int>
                    'data_type' : <str>
                    'attributes' ?: {
                        'encoding' ?: <str>
                        'nullable' ?: <bool>
                        'charlen' ?: <int64_ascii>
                        'bytelen' ?: <int64_ascii>
                        'prec' ?: <int>
                        'scale' ?: <int>
                        'timeprec' ?: <int>
                        'dayprec' ?: <int>
                        'yearprec' ?: <int>
                        'bitlen' ?: <int>
                    }
                }
            }
        }
    }
    'actions' ?: (
        {
            'loc_scope' ?: <str>
            'table_scope' ?: <str>
            'type' : <ident>
            'params' ?: {
                param<str> *: val<scal>
            }
        }*
    )
}
HTTP Status Codes
  • STATUS 200 OK: Channels fetched
  • STATUS 400 Bad Request
Required Permissions
  • ReadOnly access level on hub

Add channel

POST /api/v6.1.0.3/hubs/{hub}/definition/channels
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'channel' : <ident>
'description' ?: <str>
'loc_groups' ?: {
    groupname<ident> *: {
        'members' ?: ( loc<ident>* )
    }
}
'tables' ?: {
    tablename<ident> *: {
        'base_name' ?: <str>
        'table_group' ?: <ident>
        'cols' ?: {
            colname<str> *: {
                'sequence' : <int>
                'key' ?: <int>
                'distrib_key' ?: <int>
                'data_type' : <str>
                'attributes' ?: {
                    'encoding' ?: <str>
                    'nullable' ?: <bool>
                    'charlen' ?: <int64_ascii>
                    'bytelen' ?: <int64_ascii>
                    'prec' ?: <int>
                    'scale' ?: <int>
                    'timeprec' ?: <int>
                    'dayprec' ?: <int>
                    'yearprec' ?: <int>
                    'bitlen' ?: <int>
                }
            }
        }
    }
}
'actions' ?: (
    {
        'loc_scope' ?: <str>
        'table_scope' ?: <str>
        'type' : <ident>
        'params' ?: {
            param<str> *: val<scal>
        }
    }*
)
No extra response headers
No response body
HTTP Status Codes
  • STATUS 201 Created
  • STATUS 400 Bad Request: Channel already exists
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Definition_Change

'add_channel' : {
    'channel' : <ident>
    'description' ?: <str>
    'loc_groups' ?: ( <ident>+ )
    'tables' ?: ( <ident>+ )
    'actions' ?: ( <ident>+ )
}

Delete channel

DELETE /api/v6.1.0.3/hubs/{hub}/definition/channels/{channel}
No query parameters
No extra request headers
No request body
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Channel does not exist
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Definition_Change

'delete_channel' : {
    'channel' : <ident>
}

Fetch channel from hub definition

GET /api/v6.1.0.3/hubs/{hub}/definition/channels/{channel}
Query parameter prototype:

'fetch' ?: (
    'tables'
    | 'cols'
    | 'loc_groups'
    | 'members'
    | 'channel_actions'+
)
'table' ?: ( <str>+ )
'action_type' ?: ( <str>+ )
'cache_view_tstamp' ?: <date_str_usecs_z>
No extra request headers
No request body
Response headers prototype:

X-Dss-View-Tstamp : <date_str_usecs_z>
X-Dss-Reload-Cache : <bool>
Response body is JSON.
Prototype:

'description' ?: <str>
'loc_groups' ?: {
    groupname<str> *: {
        'members' ?: ( loc<str>* )
    }
}
'tables' ?: {
    tablename<str> *: {
        'base_name' ?: <str>
        'table_group' ?: <str>
        'cols' ?: {
            colname<str> *: {
                'sequence' : <int>
                'key' ?: <int>
                'distrib_key' ?: <int>
                'data_type' : <str>
                'attributes' ?: {
                    'encoding' ?: <str>
                    'nullable' ?: <bool>
                    'charlen' ?: <int64_ascii>
                    'bytelen' ?: <int64_ascii>
                    'prec' ?: <int>
                    'scale' ?: <int>
                    'timeprec' ?: <int>
                    'dayprec' ?: <int>
                    'yearprec' ?: <int>
                    'bitlen' ?: <int>
                }
            }
        }
    }
}
'actions' ?: (
    {
        'loc_scope' ?: <str>
        'table_scope' ?: <str>
        'type' : <ident>
        'params' ?: {
            param<str> *: val<scal>
        }
    }*
)
HTTP Status Codes
  • STATUS 200 OK: Channel fetched
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Channel does not exist
Required Permissions
  • ReadOnly access level on hub

Modify channel

PATCH /api/v6.1.0.3/hubs/{hub}/definition/channels/{channel}
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'description' : <str>
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Definition_Change

'modify_channel' : {
    'channel' : <ident>
    'description' : <str>
}

Add or replace channel

PUT /api/v6.1.0.3/hubs/{hub}/definition/channels/{channel}
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'description' ?: <str>
'loc_groups' ?: {
    groupname<ident> *: {
        'members' ?: ( loc<ident>* )
    }
}
'tables' ?: {
    tablename<ident> *: {
        'base_name' ?: <str>
        'table_group' ?: <ident>
        'cols' ?: {
            colname<str> *: {
                'sequence' : <int>
                'key' ?: <int>
                'distrib_key' ?: <int>
                'data_type' : <str>
                'attributes' ?: {
                    'encoding' ?: <str>
                    'nullable' ?: <bool>
                    'charlen' ?: <int64_ascii>
                    'bytelen' ?: <int64_ascii>
                    'prec' ?: <int>
                    'scale' ?: <int>
                    'timeprec' ?: <int>
                    'dayprec' ?: <int>
                    'yearprec' ?: <int>
                    'bitlen' ?: <int>
                }
            }
        }
    }
}
'actions' ?: (
    {
        'loc_scope' ?: <str>
        'table_scope' ?: <str>
        'type' : <ident>
        'params' ?: {
            param<str> *: val<scal>
        }
    }*
)
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Definition_Change

'add_channel' | 'replace_channel' : {
    'channel' : <ident>
    'description' ?: <str>
    'loc_groups' ?: ( <ident>+ )
    'tables' ?: ( <ident>+ )
    'actions' ?: ( <ident>+ )
}

Fetch channel actions from hub definition

GET /api/v6.1.0.3/hubs/{hub}/definition/channels/{channel}/actions
Query parameter prototype:

'action_type' ?: ( <str>+ )
'cache_view_tstamp' ?: <date_str_usecs_z>
No extra request headers
No request body
Response headers prototype:

X-Dss-View-Tstamp : <date_str_usecs_z>
X-Dss-Reload-Cache : <bool>
Response body is JSON.
Prototype:

{
    'loc_scope' ?: <str>
    'table_scope' ?: <str>
    'type' : <ident>
    'params' ?: {
        param<str> *: val<scal>
    }
}*
HTTP Status Codes
  • STATUS 200 OK: Definition info fetched
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Channel does not exist
Required Permissions
  • ReadOnly access level on hub

Add channel actions

PATCH /api/v6.1.0.3/hubs/{hub}/definition/channels/{channel}/actions
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'actions' : (
    {
        'loc_scope' ?: <str>
        'table_scope' ?: <str>
        'type' : <ident>
        'params' ?: {
            param<str> *: val<scal>
        }
    }*
)
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Channel does not exist
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Definition_Change

'add_channel_actions' : {
    'channel' : <ident>
    'actions' : (
        {
            'loc_scope' ?: <str>
            'table_scope' ?: <str>
            'type' : <ident>
            'params' ?: {
                param<str> *: val<scal>
            }
        }*
    )
}

Replace channel actions list

PUT /api/v6.1.0.3/hubs/{hub}/definition/channels/{channel}/actions
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'actions' : (
    {
        'loc_scope' ?: <str>
        'table_scope' ?: <str>
        'type' : <ident>
        'params' ?: {
            param<str> *: val<scal>
        }
    }*
)
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Channel does not exist
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Definition_Change

'replace_channel_action_list' : {
    'channel' : <ident>
    'actions' : (
        {
            'loc_scope' ?: <str>
            'table_scope' ?: <str>
            'type' : <ident>
            'params' ?: {
                param<str> *: val<scal>
            }
        }*
    )
}

Delete channel actions

POST /api/v6.1.0.3/hubs/{hub}/definition/channels/{channel}/actions_delete
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'actions' : (
    {
        'loc_scope' ?: <str>
        'table_scope' ?: <str>
        'type' : <ident>
        'params' ?: {
            param<str> *: val<scal>
        }
    }*
)
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Channel does not exist
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Definition_Change

'delete_channel_actions' : {
    'channel' : <ident>
    'actions' : (
        {
            'loc_scope' ?: <str>
            'table_scope' ?: <str>
            'type' : <ident>
            'params' ?: {
                param<str> *: val<scal>
            }
        }*
    )
}

Fetch location groups from hub definition

GET /api/v6.1.0.3/hubs/{hub}/definition/channels/{channel}/loc_groups
Query parameter prototype:

'fetch' ?: ( 'members'+ )
'cache_view_tstamp' ?: <date_str_usecs_z>
No extra request headers
No request body
Response headers prototype:

X-Dss-View-Tstamp : <date_str_usecs_z>
X-Dss-Reload-Cache : <bool>
Response body is JSON.
Prototype:

groupname<str> *: {
    'members' ?: ( loc<str>* )
}
HTTP Status Codes
  • STATUS 200 OK: Location groups fetched
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Channel does not exist
Required Permissions
  • ReadOnly access level on hub

Add location group

POST /api/v6.1.0.3/hubs/{hub}/definition/channels/{channel}/loc_groups
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'loc_group' : <ident>
'members' ?: ( loc<ident>* )
No extra response headers
No response body
HTTP Status Codes
  • STATUS 201 Created
  • STATUS 400 Bad Request: Location group already exists
  • STATUS 404 Not Found: Channel does not exist
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Definition_Change

'add_loc_group' : {
    'channel' : <ident>
    'loc_group' : <ident>
    'members' ?: ( loc<ident>+ )
}

Delete location group

DELETE /api/v6.1.0.3/hubs/{hub}/definition/channels/{channel}/loc_groups/{loc_group}
No query parameters
No extra request headers
No request body
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Channel or location group does not exist
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Definition_Change

'delete_loc_group' : {
    'channel' : <ident>
    'loc_group' : <ident>
}

Fetch location group from hub definition

GET /api/v6.1.0.3/hubs/{hub}/definition/channels/{channel}/loc_groups/{loc_group}
Query parameter prototype:

'fetch' ?: ( 'members'+ )
'cache_view_tstamp' ?: <date_str_usecs_z>
No extra request headers
No request body
Response headers prototype:

X-Dss-View-Tstamp : <date_str_usecs_z>
X-Dss-Reload-Cache : <bool>
Response body is JSON.
Prototype:

'members' ?: ( loc<str>* )
HTTP Status Codes
  • STATUS 200 OK: Location group fetched
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Channel or location group does not exist
Required Permissions
  • ReadOnly access level on hub

Add or replace location group

PUT /api/v6.1.0.3/hubs/{hub}/definition/channels/{channel}/loc_groups/{loc_group}
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'members' ?: ( loc<ident>* )
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Channel does not exist
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Definition_Change

'add_loc_group' | 'replace_loc_group' : {
    'channel' : <ident>
    'loc_group' : <ident>
    'members' ?: ( loc<ident>+ )
}

Fetch location group members from hub definition

GET /api/v6.1.0.3/hubs/{hub}/definition/channels/{channel}/loc_groups/{loc_group}/members
No query parameters
No extra request headers
No request body
Response headers prototype:

X-Dss-View-Tstamp : <date_str_usecs_z>
X-Dss-Reload-Cache : <bool>
Response body is JSON.
Prototype:
 loc<str>*
HTTP Status Codes
  • STATUS 200 OK: Location group members fetched
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Channel or location group does not exist
Required Permissions
  • ReadOnly access level on hub

Add location group members or move members from other location groups in channel

PATCH /api/v6.1.0.3/hubs/{hub}/definition/channels/{channel}/loc_groups/{loc_group}/members
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'members' : ( loc<ident>* )
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Channel or location group does not exist
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Definition_Change

'add_loc_group_members' : {
    'channel' : <ident>
    'loc_group' : <ident>
    'members' : ( loc<ident>+ )
}

Replace location group members list

PUT /api/v6.1.0.3/hubs/{hub}/definition/channels/{channel}/loc_groups/{loc_group}/members
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'members' : ( loc<ident>* )
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Channel or location group does not exist
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Definition_Change

'replace_loc_group_member_list' : {
    'channel' : <ident>
    'loc_group' : <ident>
    'members' : ( loc<ident>* )
}

Delete location group member

DELETE /api/v6.1.0.3/hubs/{hub}/definition/channels/{channel}/loc_groups/{loc_group}/members/{member}
No query parameters
No extra request headers
No request body
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Channel or location group does not exist
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Definition_Change

'delete_loc_group_members' : {
    'channel' : <ident>
    'loc_group' : <ident>
    'members' : ( loc<ident>* )
}

Delete location group members

POST /api/v6.1.0.3/hubs/{hub}/definition/channels/{channel}/loc_groups/{loc_group}/members_delete
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'members' : ( loc<str>* )
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Channel or location group does not exist
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Definition_Change

'delete_loc_group_members' : {
    'channel' : <ident>
    'loc_group' : <ident>
    'members' : ( loc<ident>* )
}

Rename location group

POST /api/v6.1.0.3/hubs/{hub}/definition/channels/{channel}/loc_groups/{loc_group}/rename
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'new_name' : <ident>
No extra response headers
No response body
HTTP Status Codes
  • STATUS 201 Created
  • STATUS 400 Bad Request: New location group already exists
  • STATUS 404 Not Found: Channel or old location group does not exist
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Definition_Change

'rename_loc_group' : {
    'channel' : <ident>
    'loc_group' : <ident>
    'new_name' : <ident>
}

Rename channel

POST /api/v6.1.0.3/hubs/{hub}/definition/channels/{channel}/rename
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'new_name' : <ident>
No extra response headers
No response body
HTTP Status Codes
  • STATUS 201 Created
  • STATUS 400 Bad Request: New channel already exists
  • STATUS 404 Not Found: Old channel does not exist
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Definition_Change

'rename_channel' : {
    'channel' : <ident>
    'new_name' : <ident>
}

Fetch tables from hub definition

GET /api/v6.1.0.3/hubs/{hub}/definition/channels/{channel}/tables
Query parameter prototype:

'fetch' ?: ( 'cols'+ )
'table' ?: ( <str>+ )
'cache_view_tstamp' ?: <date_str_usecs_z>
No extra request headers
No request body
Response headers prototype:

X-Dss-View-Tstamp : <date_str_usecs_z>
X-Dss-Reload-Cache : <bool>
Response body is JSON.
Prototype:

tablename<str> *: {
    'base_name' ?: <str>
    'table_group' ?: <str>
    'cols' ?: {
        colname<str> *: {
            'sequence' : <int>
            'key' ?: <int>
            'distrib_key' ?: <int>
            'data_type' : <str>
            'attributes' ?: {
                'encoding' ?: <str>
                'nullable' ?: <bool>
                'charlen' ?: <int64_ascii>
                'bytelen' ?: <int64_ascii>
                'prec' ?: <int>
                'scale' ?: <int>
                'timeprec' ?: <int>
                'dayprec' ?: <int>
                'yearprec' ?: <int>
                'bitlen' ?: <int>
            }
        }
    }
}
HTTP Status Codes
  • STATUS 200 OK: Tables fetched
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Channel does not exist
Required Permissions
  • ReadOnly access level on hub

Add and replace tables

PATCH /api/v6.1.0.3/hubs/{hub}/definition/channels/{channel}/tables
No query parameters
No extra request headers
Request body is JSON.
Prototype:

tablename<ident> *: {
    'base_name' ?: <str>
    'table_group' ?: <ident>
    'cols' ?: {
        colname<str> *: {
            'sequence' : <int>
            'key' ?: <int>
            'distrib_key' ?: <int>
            'data_type' : <str>
            'attributes' ?: {
                'encoding' ?: <str>
                'nullable' ?: <bool>
                'charlen' ?: <int64_ascii>
                'bytelen' ?: <int64_ascii>
                'prec' ?: <int>
                'scale' ?: <int>
                'timeprec' ?: <int>
                'dayprec' ?: <int>
                'yearprec' ?: <int>
                'bitlen' ?: <int>
            }
        }
    }
}
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Channel does not exist
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Definition_Change

'add_tables' | 'modify_table_list' : {
    'channel' : <ident>
    'tables' : ( <ident>+ )
}

Add table

POST /api/v6.1.0.3/hubs/{hub}/definition/channels/{channel}/tables
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'table' : <ident>
'base_name' ?: <str>
'table_group' ?: <ident>
'cols' ?: {
    colname<str> *: {
        'sequence' : <int>
        'key' ?: <int>
        'distrib_key' ?: <int>
        'data_type' : <str>
        'attributes' ?: {
            'encoding' ?: <str>
            'nullable' ?: <bool>
            'charlen' ?: <int64_ascii>
            'bytelen' ?: <int64_ascii>
            'prec' ?: <int>
            'scale' ?: <int>
            'timeprec' ?: <int>
            'dayprec' ?: <int>
            'yearprec' ?: <int>
            'bitlen' ?: <int>
        }
    }
}
No extra response headers
No response body
HTTP Status Codes
  • STATUS 201 Created
  • STATUS 400 Bad Request: Table already exists
  • STATUS 404 Not Found: Channel does not exist
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Definition_Change

'add_table' : {
    'channel' : <ident>
    'table' : <ident>
    'base_name' ?: <str>
    'table_group' ?: <ident>
    'cols' ?: ( <str>+ )
}

Replace tables list

PUT /api/v6.1.0.3/hubs/{hub}/definition/channels/{channel}/tables
No query parameters
No extra request headers
Request body is JSON.
Prototype:

tablename<ident> *: {
    'base_name' ?: <str>
    'table_group' ?: <ident>
    'cols' ?: {
        colname<str> *: {
            'sequence' : <int>
            'key' ?: <int>
            'distrib_key' ?: <int>
            'data_type' : <str>
            'attributes' ?: {
                'encoding' ?: <str>
                'nullable' ?: <bool>
                'charlen' ?: <int64_ascii>
                'bytelen' ?: <int64_ascii>
                'prec' ?: <int>
                'scale' ?: <int>
                'timeprec' ?: <int>
                'dayprec' ?: <int>
                'yearprec' ?: <int>
                'bitlen' ?: <int>
            }
        }
    }
}
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Channel does not exist
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Definition_Change

'replace_table_list' : {
    'channel' : <ident>
    'tables' : ( <ident>* )
}

Delete table

DELETE /api/v6.1.0.3/hubs/{hub}/definition/channels/{channel}/tables/{table}
No query parameters
No extra request headers
No request body
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Channel or table does not exist
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Definition_Change

'delete_tables' : {
    'channel' : <ident>
    'tables' : ( <ident>+ )
}

Fetch table from hub definition

GET /api/v6.1.0.3/hubs/{hub}/definition/channels/{channel}/tables/{table}
Query parameter prototype:

'fetch' ?: ( 'cols'+ )
'cache_view_tstamp' ?: <date_str_usecs_z>
No extra request headers
No request body
Response headers prototype:

X-Dss-View-Tstamp : <date_str_usecs_z>
X-Dss-Reload-Cache : <bool>
Response body is JSON.
Prototype:

'base_name' ?: <str>
'table_group' ?: <str>
'cols' ?: {
    colname<str> *: {
        'sequence' : <int>
        'key' ?: <int>
        'distrib_key' ?: <int>
        'data_type' : <str>
        'attributes' ?: {
            'encoding' ?: <str>
            'nullable' ?: <bool>
            'charlen' ?: <int64_ascii>
            'bytelen' ?: <int64_ascii>
            'prec' ?: <int>
            'scale' ?: <int>
            'timeprec' ?: <int>
            'dayprec' ?: <int>
            'yearprec' ?: <int>
            'bitlen' ?: <int>
        }
    }
}
HTTP Status Codes
  • STATUS 200 OK: Table fetched
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Channel or table does not exist
Required Permissions
  • ReadOnly access level on hub

Modify table

PATCH /api/v6.1.0.3/hubs/{hub}/definition/channels/{channel}/tables/{table}
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'base_name' ?: <str>
'table_group' ?: <ident>
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Channel does not exist
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Definition_Change

'modify_table' : {
    'channel' : <ident>
    'table' : <ident>
    'base_name' ?: <str>
    'table_group' ?: <ident>
}

Add or replace table

PUT /api/v6.1.0.3/hubs/{hub}/definition/channels/{channel}/tables/{table}
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'base_name' ?: <str>
'table_group' ?: <ident>
'cols' ?: {
    colname<str> *: {
        'sequence' : <int>
        'key' ?: <int>
        'distrib_key' ?: <int>
        'data_type' : <str>
        'attributes' ?: {
            'encoding' ?: <str>
            'nullable' ?: <bool>
            'charlen' ?: <int64_ascii>
            'bytelen' ?: <int64_ascii>
            'prec' ?: <int>
            'scale' ?: <int>
            'timeprec' ?: <int>
            'dayprec' ?: <int>
            'yearprec' ?: <int>
            'bitlen' ?: <int>
        }
    }
}
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Channel does not exist
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Definition_Change

'add_table' | 'replace_table' : {
    'channel' : <ident>
    'table' : <ident>
    'base_name' ?: <str>
    'table_group' ?: <ident>
    'cols' ?: ( <str>+ )
}

Fetch columns from hub definition

GET /api/v6.1.0.3/hubs/{hub}/definition/channels/{channel}/tables/{table}/cols
No query parameters
No extra request headers
No request body
Response headers prototype:

X-Dss-View-Tstamp : <date_str_usecs_z>
X-Dss-Reload-Cache : <bool>
Response body is JSON.
Prototype:

colname<str> *: {
    'sequence' : <int>
    'key' ?: <int>
    'distrib_key' ?: <int>
    'data_type' : <str>
    'attributes' ?: {
        'encoding' ?: <str>
        'nullable' ?: <bool>
        'charlen' ?: <int64_ascii>
        'bytelen' ?: <int64_ascii>
        'prec' ?: <int>
        'scale' ?: <int>
        'timeprec' ?: <int>
        'dayprec' ?: <int>
        'yearprec' ?: <int>
        'bitlen' ?: <int>
    }
}
HTTP Status Codes
  • STATUS 200 OK: Columns fetched
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Channel or table does not exist
Required Permissions
  • ReadOnly access level on hub

Add and replace columns

PATCH /api/v6.1.0.3/hubs/{hub}/definition/channels/{channel}/tables/{table}/cols
No query parameters
No extra request headers
Request body is JSON.
Prototype:

colname<str> *: {
    'sequence' : <int>
    'key' ?: <int>
    'distrib_key' ?: <int>
    'data_type' : <str>
    'attributes' ?: {
        'encoding' ?: <str>
        'nullable' ?: <bool>
        'charlen' ?: <int64_ascii>
        'bytelen' ?: <int64_ascii>
        'prec' ?: <int>
        'scale' ?: <int>
        'timeprec' ?: <int>
        'dayprec' ?: <int>
        'yearprec' ?: <int>
        'bitlen' ?: <int>
    }
}
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Channel or table does not exist
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Definition_Change

'add_cols' | 'modify_col_list' : {
    'channel' : <ident>
    'table' : <ident>
    'cols' : ( <str>+ )
}

Replace columns list

PUT /api/v6.1.0.3/hubs/{hub}/definition/channels/{channel}/tables/{table}/cols
No query parameters
No extra request headers
Request body is JSON.
Prototype:

colname<str> *: {
    'sequence' : <int>
    'key' ?: <int>
    'distrib_key' ?: <int>
    'data_type' : <str>
    'attributes' ?: {
        'encoding' ?: <str>
        'nullable' ?: <bool>
        'charlen' ?: <int64_ascii>
        'bytelen' ?: <int64_ascii>
        'prec' ?: <int>
        'scale' ?: <int>
        'timeprec' ?: <int>
        'dayprec' ?: <int>
        'yearprec' ?: <int>
        'bitlen' ?: <int>
    }
}
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Channel or table does not exist
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Definition_Change

'replace_col_list' : {
    'channel' : <ident>
    'table' : <ident>
    'cols' : ( <str>+ )
}

Delete columns

POST /api/v6.1.0.3/hubs/{hub}/definition/channels/{channel}/tables/{table}/cols_delete
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'cols' : ( col<str>* )
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Channel or table does not exist
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Definition_Change

'delete_cols' : {
    'channel' : <ident>
    'table' : <ident>
    'cols' : ( <str>+ )
}

Rename table

POST /api/v6.1.0.3/hubs/{hub}/definition/channels/{channel}/tables/{table}/rename
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'new_name' : <ident>
No extra response headers
No response body
HTTP Status Codes
  • STATUS 201 Created
  • STATUS 400 Bad Request: New table already exists
  • STATUS 404 Not Found: Channel or old table does not exist
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Definition_Change

'rename_table' : {
    'channel' : <ident>
    'table' : <ident>
    'new_name' : <ident>
}

Delete tables

POST /api/v6.1.0.3/hubs/{hub}/definition/channels/{channel}/tables_delete
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'tables' : ( table<str>* )
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Channel does not exist
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Definition_Change

'delete_tables' : {
    'channel' : <ident>
    'tables' : ( <ident>+ )
}

Fetch hub actions from definition

GET /api/v6.1.0.3/hubs/{hub}/definition/hub_actions
Query parameter prototype:

'action_type' ?: ( <str>+ )
'cache_view_tstamp' ?: <date_str_usecs_z>
No extra request headers
No request body
Response headers prototype:

X-Dss-View-Tstamp : <date_str_usecs_z>
X-Dss-Reload-Cache : <bool>
Response body is JSON.
Prototype:

{
    'type' : <ident>
    'params' ?: {
        param<str> *: val<scal>
    }
}*
HTTP Status Codes
  • STATUS 200 OK: Hub actions fetched
  • STATUS 400 Bad Request
Required Permissions
  • ReadOnly access level on hub

Add hub actions

PATCH /api/v6.1.0.3/hubs/{hub}/definition/hub_actions
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'actions' : (
    {
        'type' : <ident>
        'params' ?: {
            param<str> *: val<scal>
        }
    }*
)
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Definition_Change

'add_hub_actions' : {
    'actions' : (
        {
            'type' : <ident>
            'params' ?: {
                param<str> *: val<scal>
            }
        }*
    )
}

Replace hub actions list

PUT /api/v6.1.0.3/hubs/{hub}/definition/hub_actions
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'actions' : (
    {
        'type' : <ident>
        'params' ?: {
            param<str> *: val<scal>
        }
    }*
)
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Definition_Change

'replace_hub_action_list' : {
    'actions' : (
        {
            'type' : <ident>
            'params' ?: {
                param<str> *: val<scal>
            }
        }*
    )
}

Delete hub actions

POST /api/v6.1.0.3/hubs/{hub}/definition/hub_actions_delete
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'actions' : (
    {
        'type' : <ident>
        'params' ?: {
            param<str> *: val<scal>
        }
    }*
)
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Definition_Change

'delete_hub_actions' : {
    'actions' : (
        {
            'type' : <ident>
            'params' ?: {
                param<str> *: val<scal>
            }
        }*
    )
}

Import set of definition changes

POST /api/v6.1.0.3/hubs/{hub}/definition/import
No query parameters
Request headers prototype:

X-Dss-Classified-Transport-Key : <str>
Request body is JSON.
Prototype:

'export_header' ?: {
    'creator' : user<str>
    'tstamp' : <date_str_z>
    'dss_version' : <str>
    'description' : <str>
    'api_version' : <str>
    'original_hub' : <str>
    'type' : 'definition_changes'
}
'allowed_changes' ?: (
    'add_loc'
    | 'replace_loc'
    | 'delete_loc'
    | 'rename_loc'
    | 'add_loc_props'
    | 'replace_loc_props'
    | 'modify_loc_props'
    | 'delete_loc_props'
    | 'add_loc_actions'
    | 'replace_loc_action_list'
    | 'delete_loc_actions'
    | 'add_channel'
    | 'replace_channel'
    | 'modify_channel'
    | 'delete_channel'
    | 'rename_channel'
    | 'add_loc_group'
    | 'replace_loc_group'
    | 'delete_loc_group'
    | 'rename_loc_group'
    | 'add_loc_group_members'
    | 'replace_loc_group_member_list'
    | 'delete_loc_group_members'
    | 'add_tables'
    | 'modify_table_list'
    | 'replace_table_list'
    | 'add_table'
    | 'replace_table'
    | 'modify_table'
    | 'rename_table'
    | 'delete_tables'
    | 'add_cols'
    | 'modify_col_list'
    | 'replace_col_list'
    | 'delete_cols'
    | 'add_channel_actions'
    | 'replace_channel_action_list'
    | 'delete_channel_actions'
    | 'add_hub_actions'
    | 'replace_hub_action_list'
    | 'delete_hub_actions'
    | 'modify_action'
    | 'replace_action'+
)
'loc_context' ?: <ident>
'channel_context' ?: <ident>
'table_context' ?: <ident>
'on_add_exists' ?: 'replace' | 'rename' | 'abort'
'on_action_absent_loc' ?: 'loc_group' | 'discard' | 'abort'
'on_old_group_members' ?: 'keep' | 'remove'
'on_member_absent_loc' ?: 'remove' | 'abort'
'on_absent' ?: 'resilient' | 'abort'
'changes' : (
    {
        'add_loc' : {
            'loc' : <ident>
            'props' : {
                prop<str> *: value<typeof_loc_prop>
            }
            'actions' ?: (
                {
                    'type' : <ident>
                    'params' ?: {
                        param<str> *: val<scal>
                    }
                }*
            )
        }
    }
    | {
        'replace_loc' : {
            'loc' : <ident>
            'props' : {
                prop<str> *: value<typeof_loc_prop>
            }
            'actions' ?: (
                {
                    'type' : <ident>
                    'params' ?: {
                        param<str> *: val<scal>
                    }
                }*
            )
        }
    }
    | {
        'delete_loc' : {
            'loc' : <ident>
        }
    }
    | {
        'rename_loc' : {
            'loc' : <ident>
            'new_name' : <ident>
        }
    }
    | {
        'add_loc_props' : {
            'loc' ?: <ident>
            'props' : {
                prop<str> *: value<typeof_loc_prop>
            }
        }
    }
    | {
        'replace_loc_props' : {
            'loc' : <ident>
            'props' : {
                prop<str> *: value<typeof_loc_prop>
            }
        }
    }
    | {
        'modify_loc_props' : {
            'loc' : <ident>
            'props' : {
                prop<str> *: value<null> | <typeof_loc_prop>
            }
        }
    }
    | {
        'delete_loc_props' : {
            'loc' : <ident>
            'props' : ( <str>+ )
        }
    }
    | {
        'add_loc_actions' : {
            'loc' ?: <ident>
            'actions' : (
                {
                    'type' : <ident>
                    'params' ?: {
                        param<str> *: val<scal>
                    }
                }*
            )
        }
    }
    | {
        'replace_loc_action_list' : {
            'loc' : <ident>
            'actions' : (
                {
                    'type' : <ident>
                    'params' ?: {
                        param<str> *: val<scal>
                    }
                }*
            )
        }
    }
    | {
        'delete_loc_actions' : {
            'loc' : <ident>
            'actions' : (
                {
                    'type' : <ident>
                    'params' ?: {
                        param<str> *: val<scal>
                    }
                }*
            )
        }
    }
    | {
        'add_channel' : {
            'channel' : <ident>
            'description' ?: <str>
            'loc_groups' ?: {
                groupname<ident> *: {
                    'members' ?: ( loc<ident>* )
                }
            }
            'tables' ?: {
                tablename<ident> *: {
                    'base_name' ?: <str>
                    'table_group' ?: <ident>
                    'cols' ?: {
                        colname<str> *: {
                            'sequence' : <int>
                            'key' ?: <int>
                            'distrib_key' ?: <int>
                            'data_type' : <str>
                            'attributes' ?: {
                                'encoding' ?: <str>
                                'nullable' ?: <bool>
                                'charlen' ?: <int64_ascii>
                                'bytelen' ?: <int64_ascii>
                                'prec' ?: <int>
                                'scale' ?: <int>
                                'timeprec' ?: <int>
                                'dayprec' ?: <int>
                                'yearprec' ?: <int>
                                'bitlen' ?: <int>
                            }
                        }
                    }
                }
            }
            'actions' ?: (
                {
                    'loc_scope' ?: <str>
                    'table_scope' ?: <str>
                    'type' : <ident>
                    'params' ?: {
                        param<str> *: val<scal>
                    }
                }*
            )
        }
    }
    | {
        'replace_channel' : {
            'channel' : <ident>
            'description' ?: <str>
            'loc_groups' ?: {
                groupname<ident> *: {
                    'members' ?: ( loc<ident>* )
                }
            }
            'tables' ?: {
                tablename<ident> *: {
                    'base_name' ?: <str>
                    'table_group' ?: <ident>
                    'cols' ?: {
                        colname<str> *: {
                            'sequence' : <int>
                            'key' ?: <int>
                            'distrib_key' ?: <int>
                            'data_type' : <str>
                            'attributes' ?: {
                                'encoding' ?: <str>
                                'nullable' ?: <bool>
                                'charlen' ?: <int64_ascii>
                                'bytelen' ?: <int64_ascii>
                                'prec' ?: <int>
                                'scale' ?: <int>
                                'timeprec' ?: <int>
                                'dayprec' ?: <int>
                                'yearprec' ?: <int>
                                'bitlen' ?: <int>
                            }
                        }
                    }
                }
            }
            'actions' ?: (
                {
                    'loc_scope' ?: <str>
                    'table_scope' ?: <str>
                    'type' : <ident>
                    'params' ?: {
                        param<str> *: val<scal>
                    }
                }*
            )
        }
    }
    | {
        'modify_channel' : {
            'channel' : <ident>
            'description' : <str>
        }
    }
    | {
        'delete_channel' : {
            'channel' : <ident>
        }
    }
    | {
        'rename_channel' : {
            'channel' : <ident>
            'new_name' : <ident>
        }
    }
    | {
        'add_loc_group' : {
            'channel' ?: <ident>
            'loc_group' : <ident>
            'members' ?: ( loc<ident>* )
        }
    }
    | {
        'replace_loc_group' : {
            'channel' : <ident>
            'loc_group' : <ident>
            'members' ?: ( loc<ident>* )
        }
    }
    | {
        'delete_loc_group' : {
            'channel' : <ident>
            'loc_group' : <ident>
        }
    }
    | {
        'rename_loc_group' : {
            'channel' : <ident>
            'loc_group' : <ident>
            'new_name' : <ident>
        }
    }
    | {
        'add_loc_group_members' : {
            'channel' ?: <ident>
            'loc_group' : <ident>
            'members' : ( loc<ident>* )
        }
    }
    | {
        'replace_loc_group_member_list' : {
            'channel' : <ident>
            'loc_group' : <ident>
            'members' : ( loc<ident>* )
        }
    }
    | {
        'delete_loc_group_members' : {
            'channel' : <ident>
            'loc_group' : <ident>
            'members' : ( loc<ident>* )
        }
    }
    | {
        'add_tables' : {
            'channel' ?: <ident>
            'tables' : {
                tablename<ident> *: {
                    'base_name' ?: <str>
                    'table_group' ?: <ident>
                    'cols' ?: {
                        colname<str> *: {
                            'sequence' : <int>
                            'key' ?: <int>
                            'distrib_key' ?: <int>
                            'data_type' : <str>
                            'attributes' ?: {
                                'encoding' ?: <str>
                                'nullable' ?: <bool>
                                'charlen' ?: <int64_ascii>
                                'bytelen' ?: <int64_ascii>
                                'prec' ?: <int>
                                'scale' ?: <int>
                                'timeprec' ?: <int>
                                'dayprec' ?: <int>
                                'yearprec' ?: <int>
                                'bitlen' ?: <int>
                            }
                        }
                    }
                }
            }
        }
    }
    | {
        'modify_table_list' : {
            'channel' ?: <ident>
            'tables' : {
                tablename<ident> *: {
                    'base_name' ?: <str>
                    'table_group' ?: <ident>
                    'cols' ?: {
                        colname<str> *: {
                            'sequence' : <int>
                            'key' ?: <int>
                            'distrib_key' ?: <int>
                            'data_type' : <str>
                            'attributes' ?: {
                                'encoding' ?: <str>
                                'nullable' ?: <bool>
                                'charlen' ?: <int64_ascii>
                                'bytelen' ?: <int64_ascii>
                                'prec' ?: <int>
                                'scale' ?: <int>
                                'timeprec' ?: <int>
                                'dayprec' ?: <int>
                                'yearprec' ?: <int>
                                'bitlen' ?: <int>
                            }
                        }
                    }
                }
            }
        }
    }
    | {
        'replace_table_list' : {
            'channel' : <ident>
            'tables' : {
                tablename<ident> *: {
                    'base_name' ?: <str>
                    'table_group' ?: <ident>
                    'cols' ?: {
                        colname<str> *: {
                            'sequence' : <int>
                            'key' ?: <int>
                            'distrib_key' ?: <int>
                            'data_type' : <str>
                            'attributes' ?: {
                                'encoding' ?: <str>
                                'nullable' ?: <bool>
                                'charlen' ?: <int64_ascii>
                                'bytelen' ?: <int64_ascii>
                                'prec' ?: <int>
                                'scale' ?: <int>
                                'timeprec' ?: <int>
                                'dayprec' ?: <int>
                                'yearprec' ?: <int>
                                'bitlen' ?: <int>
                            }
                        }
                    }
                }
            }
        }
    }
    | {
        'add_table' : {
            'channel' ?: <ident>
            'table' : <ident>
            'base_name' ?: <str>
            'table_group' ?: <ident>
            'cols' ?: {
                colname<str> *: {
                    'sequence' : <int>
                    'key' ?: <int>
                    'distrib_key' ?: <int>
                    'data_type' : <str>
                    'attributes' ?: {
                        'encoding' ?: <str>
                        'nullable' ?: <bool>
                        'charlen' ?: <int64_ascii>
                        'bytelen' ?: <int64_ascii>
                        'prec' ?: <int>
                        'scale' ?: <int>
                        'timeprec' ?: <int>
                        'dayprec' ?: <int>
                        'yearprec' ?: <int>
                        'bitlen' ?: <int>
                    }
                }
            }
        }
    }
    | {
        'replace_table' : {
            'channel' : <ident>
            'table' : <ident>
            'base_name' ?: <str>
            'table_group' ?: <ident>
            'cols' ?: {
                colname<str> *: {
                    'sequence' : <int>
                    'key' ?: <int>
                    'distrib_key' ?: <int>
                    'data_type' : <str>
                    'attributes' ?: {
                        'encoding' ?: <str>
                        'nullable' ?: <bool>
                        'charlen' ?: <int64_ascii>
                        'bytelen' ?: <int64_ascii>
                        'prec' ?: <int>
                        'scale' ?: <int>
                        'timeprec' ?: <int>
                        'dayprec' ?: <int>
                        'yearprec' ?: <int>
                        'bitlen' ?: <int>
                    }
                }
            }
        }
    }
    | {
        'modify_table' : {
            'channel' : <ident>
            'table' : <ident>
            'base_name' ?: <str>
            'table_group' ?: <ident>
        }
    }
    | {
        'rename_table' : {
            'channel' : <ident>
            'table' : <ident>
            'new_name' : <ident>
        }
    }
    | {
        'delete_tables' : {
            'channel' : <ident>
            'tables' : ( <ident>+ )
        }
    }
    | {
        'add_cols' : {
            'channel' ?: <ident>
            'table' ?: <ident>
            'cols' : {
                colname<str> *: {
                    'sequence' : <int>
                    'key' ?: <int>
                    'distrib_key' ?: <int>
                    'data_type' : <str>
                    'attributes' ?: {
                        'encoding' ?: <str>
                        'nullable' ?: <bool>
                        'charlen' ?: <int64_ascii>
                        'bytelen' ?: <int64_ascii>
                        'prec' ?: <int>
                        'scale' ?: <int>
                        'timeprec' ?: <int>
                        'dayprec' ?: <int>
                        'yearprec' ?: <int>
                        'bitlen' ?: <int>
                    }
                }
            }
        }
    }
    | {
        'modify_col_list' : {
            'channel' ?: <ident>
            'table' ?: <ident>
            'cols' : {
                colname<str> *: {
                    'sequence' : <int>
                    'key' ?: <int>
                    'distrib_key' ?: <int>
                    'data_type' : <str>
                    'attributes' ?: {
                        'encoding' ?: <str>
                        'nullable' ?: <bool>
                        'charlen' ?: <int64_ascii>
                        'bytelen' ?: <int64_ascii>
                        'prec' ?: <int>
                        'scale' ?: <int>
                        'timeprec' ?: <int>
                        'dayprec' ?: <int>
                        'yearprec' ?: <int>
                        'bitlen' ?: <int>
                    }
                }
            }
        }
    }
    | {
        'replace_col_list' : {
            'channel' : <ident>
            'table' : <ident>
            'cols' : {
                colname<str> *: {
                    'sequence' : <int>
                    'key' ?: <int>
                    'distrib_key' ?: <int>
                    'data_type' : <str>
                    'attributes' ?: {
                        'encoding' ?: <str>
                        'nullable' ?: <bool>
                        'charlen' ?: <int64_ascii>
                        'bytelen' ?: <int64_ascii>
                        'prec' ?: <int>
                        'scale' ?: <int>
                        'timeprec' ?: <int>
                        'dayprec' ?: <int>
                        'yearprec' ?: <int>
                        'bitlen' ?: <int>
                    }
                }
            }
        }
    }
    | {
        'delete_cols' : {
            'channel' : <ident>
            'table' : <ident>
            'cols' : ( <str>+ )
        }
    }
    | {
        'add_channel_actions' : {
            'channel' ?: <ident>
            'actions' : (
                {
                    'loc_scope' ?: <str>
                    'table_scope' ?: <str>
                    'type' : <ident>
                    'params' ?: {
                        param<str> *: val<scal>
                    }
                }*
            )
        }
    }
    | {
        'replace_channel_action_list' : {
            'channel' : <ident>
            'actions' : (
                {
                    'loc_scope' ?: <str>
                    'table_scope' ?: <str>
                    'type' : <ident>
                    'params' ?: {
                        param<str> *: val<scal>
                    }
                }*
            )
        }
    }
    | {
        'delete_channel_actions' : {
            'channel' : <ident>
            'actions' : (
                {
                    'loc_scope' ?: <str>
                    'table_scope' ?: <str>
                    'type' : <ident>
                    'params' ?: {
                        param<str> *: val<scal>
                    }
                }*
            )
        }
    }
    | {
        'add_hub_actions' : {
            'actions' ?: (
                {
                    'type' : <ident>
                    'params' ?: {
                        param<str> *: val<scal>
                    }
                }*
            )
        }
    }
    | {
        'replace_hub_action_list' : {
            'actions' : (
                {
                    'type' : <ident>
                    'params' ?: {
                        param<str> *: val<scal>
                    }
                }*
            )
        }
    }
    | {
        'delete_hub_actions' : {
            'actions' : (
                {
                    'type' : <ident>
                    'params' ?: {
                        param<str> *: val<scal>
                    }
                }*
            )
        }
    }
    | {
        'modify_action' : {
            'type' : <ident>
            'old' : {
                'channel' ?: <str>
                'loc_scope' ?: <str>
                'table_scope' ?: <str>
                'params' ?: {
                    param<str> *: val<scal>
                }
            }
            'new' : {
                'channel' ?: <str>
                'loc_scope' ?: <str>
                'table_scope' ?: <str>
                'params' ?: {
                    param<str> *: val<null> | <scal>
                }
            }
        }
    }
    | {
        'replace_action' : {
            'type' : <ident>
            'old' : {
                'channel' ?: <str>
                'loc_scope' ?: <str>
                'table_scope' ?: <str>
                'params' ?: {
                    param<str> *: val<scal>
                }
            }
            'new' : {
                'channel' ?: <str>
                'loc_scope' ?: <str>
                'table_scope' ?: <str>
                'params' ?: {
                    param<str> *: val<scal>
                }
            }
        }
    }*
)
No extra response headers
Response body is JSON.
Prototype:

'change_counts' : {
    'add_loc' ?: <int>
    'replace_loc' ?: <int>
    'delete_loc' ?: <int>
    'rename_loc' ?: <int>
    'add_loc_props' ?: <int>
    'replace_loc_props' ?: <int>
    'modify_loc_props' ?: <int>
    'delete_loc_props' ?: <int>
    'add_loc_actions' ?: <int>
    'replace_loc_action_list' ?: <int>
    'delete_loc_actions' ?: <int>
    'add_channel' ?: <int>
    'replace_channel' ?: <int>
    'modify_channel' ?: <int>
    'delete_channel' ?: <int>
    'rename_channel' ?: <int>
    'add_loc_group' ?: <int>
    'replace_loc_group' ?: <int>
    'delete_loc_group' ?: <int>
    'rename_loc_group' ?: <int>
    'add_loc_group_members' ?: <int>
    'replace_loc_group_member_list' ?: <int>
    'delete_loc_group_members' ?: <int>
    'add_tables' ?: <int>
    'modify_table_list' ?: <int>
    'replace_table_list' ?: <int>
    'add_table' ?: <int>
    'replace_table' ?: <int>
    'modify_table' ?: <int>
    'rename_table' ?: <int>
    'delete_tables' ?: <int>
    'add_cols' ?: <int>
    'modify_col_list' ?: <int>
    'replace_col_list' ?: <int>
    'delete_cols' ?: <int>
    'add_channel_actions' ?: <int>
    'replace_channel_action_list' ?: <int>
    'delete_channel_actions' ?: <int>
    'add_hub_actions' ?: <int>
    'replace_hub_action_list' ?: <int>
    'delete_hub_actions' ?: <int>
    'modify_action' ?: <int>
    'replace_action' ?: <int>
}
'change_replay' ?: <bool>
'add_exists' ?: {
    'loc' ?: <int>
    'channel' ?: <int>
    'loc_group' ?: <int>
    'loc_group_member' ?: <int>
    'table' ?: <int>
    'col' ?: <int>
}
'rename_exists' ?: {
    'loc' ?: <int>
    'channel' ?: <int>
    'loc_group' ?: <int>
    'table' ?: <int>
}
'replace_absent' ?: {
    'loc' ?: <int>
    'channel' ?: <int>
    'loc_group' ?: <int>
    'table' ?: <int>
    'action' ?: <int>
}
'modify_absent' ?: {
    'channel' ?: <int>
    'table' ?: <int>
    'action' ?: <int>
}
'delete_absent' ?: {
    'loc' ?: <int>
    'loc_prop' ?: <int>
    'loc_action' ?: <int>
    'channel' ?: <int>
    'loc_group' ?: <int>
    'loc_group_member' ?: <int>
    'table' ?: <int>
    'col' ?: <int>
    'channel_action' ?: <int>
    'hub_action' ?: <int>
}
'rename_absent' ?: {
    'loc' ?: <int>
    'channel' ?: <int>
    'loc_group' ?: <int>
    'table' ?: <int>
}
'action_absent_loc' ?: ( loc<ident>+ )
'old_group_members' ?: ( loc<ident>+ )
'member_absent_loc' ?: ( loc<ident>+ )
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Definition_Change_Import

'changes' : (
    <str add_loc replace_loc delete_loc rename_loc add_loc_props replace_loc_props modify_loc_props delete_loc_props add_loc_actions replace_loc_action_list delete_loc_actions add_channel replace_channel modify_channel delete_channel rename_channel add_loc_group replace_loc_group delete_loc_group rename_loc_group add_loc_group_members replace_loc_group_member_list delete_loc_group_members add_tables modify_table_list replace_table_list add_table replace_table modify_table rename_table delete_tables add_cols modify_col_list replace_col_list delete_cols add_channel_actions replace_channel_action_list delete_channel_actions add_hub_actions replace_hub_action_list delete_hub_actions modify_action replace_action>*
)

Analyze set of definition changes for import

POST /api/v6.1.0.3/hubs/{hub}/definition/import/analyze
No query parameters
Request headers prototype:

X-Dss-Classified-Transport-Key : <str>
Request body is JSON.
Prototype:

'export_header' ?: {
    'creator' : user<str>
    'tstamp' : <date_str_z>
    'dss_version' : <str>
    'description' : <str>
    'api_version' : <str>
    'original_hub' : <str>
    'type' : 'definition_changes'
}
'allowed_changes' ?: (
    'add_loc'
    | 'replace_loc'
    | 'delete_loc'
    | 'rename_loc'
    | 'add_loc_props'
    | 'replace_loc_props'
    | 'modify_loc_props'
    | 'delete_loc_props'
    | 'add_loc_actions'
    | 'replace_loc_action_list'
    | 'delete_loc_actions'
    | 'add_channel'
    | 'replace_channel'
    | 'modify_channel'
    | 'delete_channel'
    | 'rename_channel'
    | 'add_loc_group'
    | 'replace_loc_group'
    | 'delete_loc_group'
    | 'rename_loc_group'
    | 'add_loc_group_members'
    | 'replace_loc_group_member_list'
    | 'delete_loc_group_members'
    | 'add_tables'
    | 'modify_table_list'
    | 'replace_table_list'
    | 'add_table'
    | 'replace_table'
    | 'modify_table'
    | 'rename_table'
    | 'delete_tables'
    | 'add_cols'
    | 'modify_col_list'
    | 'replace_col_list'
    | 'delete_cols'
    | 'add_channel_actions'
    | 'replace_channel_action_list'
    | 'delete_channel_actions'
    | 'add_hub_actions'
    | 'replace_hub_action_list'
    | 'delete_hub_actions'
    | 'modify_action'
    | 'replace_action'+
)
'loc_context' ?: <ident>
'channel_context' ?: <ident>
'table_context' ?: <ident>
'changes' : (
    {
        'add_loc' : {
            'loc' : <ident>
            'props' : {
                prop<str> *: value<typeof_loc_prop>
            }
            'actions' ?: (
                {
                    'type' : <ident>
                    'params' ?: {
                        param<str> *: val<scal>
                    }
                }*
            )
        }
    }
    | {
        'replace_loc' : {
            'loc' : <ident>
            'props' : {
                prop<str> *: value<typeof_loc_prop>
            }
            'actions' ?: (
                {
                    'type' : <ident>
                    'params' ?: {
                        param<str> *: val<scal>
                    }
                }*
            )
        }
    }
    | {
        'delete_loc' : {
            'loc' : <ident>
        }
    }
    | {
        'rename_loc' : {
            'loc' : <ident>
            'new_name' : <ident>
        }
    }
    | {
        'add_loc_props' : {
            'loc' ?: <ident>
            'props' : {
                prop<str> *: value<typeof_loc_prop>
            }
        }
    }
    | {
        'replace_loc_props' : {
            'loc' : <ident>
            'props' : {
                prop<str> *: value<typeof_loc_prop>
            }
        }
    }
    | {
        'modify_loc_props' : {
            'loc' : <ident>
            'props' : {
                prop<str> *: value<null> | <typeof_loc_prop>
            }
        }
    }
    | {
        'delete_loc_props' : {
            'loc' : <ident>
            'props' : ( <str>+ )
        }
    }
    | {
        'add_loc_actions' : {
            'loc' ?: <ident>
            'actions' : (
                {
                    'type' : <ident>
                    'params' ?: {
                        param<str> *: val<scal>
                    }
                }*
            )
        }
    }
    | {
        'replace_loc_action_list' : {
            'loc' : <ident>
            'actions' : (
                {
                    'type' : <ident>
                    'params' ?: {
                        param<str> *: val<scal>
                    }
                }*
            )
        }
    }
    | {
        'delete_loc_actions' : {
            'loc' : <ident>
            'actions' : (
                {
                    'type' : <ident>
                    'params' ?: {
                        param<str> *: val<scal>
                    }
                }*
            )
        }
    }
    | {
        'add_channel' : {
            'channel' : <ident>
            'description' ?: <str>
            'loc_groups' ?: {
                groupname<ident> *: {
                    'members' ?: ( loc<ident>* )
                }
            }
            'tables' ?: {
                tablename<ident> *: {
                    'base_name' ?: <str>
                    'table_group' ?: <ident>
                    'cols' ?: {
                        colname<str> *: {
                            'sequence' : <int>
                            'key' ?: <int>
                            'distrib_key' ?: <int>
                            'data_type' : <str>
                            'attributes' ?: {
                                'encoding' ?: <str>
                                'nullable' ?: <bool>
                                'charlen' ?: <int64_ascii>
                                'bytelen' ?: <int64_ascii>
                                'prec' ?: <int>
                                'scale' ?: <int>
                                'timeprec' ?: <int>
                                'dayprec' ?: <int>
                                'yearprec' ?: <int>
                                'bitlen' ?: <int>
                            }
                        }
                    }
                }
            }
            'actions' ?: (
                {
                    'loc_scope' ?: <str>
                    'table_scope' ?: <str>
                    'type' : <ident>
                    'params' ?: {
                        param<str> *: val<scal>
                    }
                }*
            )
        }
    }
    | {
        'replace_channel' : {
            'channel' : <ident>
            'description' ?: <str>
            'loc_groups' ?: {
                groupname<ident> *: {
                    'members' ?: ( loc<ident>* )
                }
            }
            'tables' ?: {
                tablename<ident> *: {
                    'base_name' ?: <str>
                    'table_group' ?: <ident>
                    'cols' ?: {
                        colname<str> *: {
                            'sequence' : <int>
                            'key' ?: <int>
                            'distrib_key' ?: <int>
                            'data_type' : <str>
                            'attributes' ?: {
                                'encoding' ?: <str>
                                'nullable' ?: <bool>
                                'charlen' ?: <int64_ascii>
                                'bytelen' ?: <int64_ascii>
                                'prec' ?: <int>
                                'scale' ?: <int>
                                'timeprec' ?: <int>
                                'dayprec' ?: <int>
                                'yearprec' ?: <int>
                                'bitlen' ?: <int>
                            }
                        }
                    }
                }
            }
            'actions' ?: (
                {
                    'loc_scope' ?: <str>
                    'table_scope' ?: <str>
                    'type' : <ident>
                    'params' ?: {
                        param<str> *: val<scal>
                    }
                }*
            )
        }
    }
    | {
        'modify_channel' : {
            'channel' : <ident>
            'description' : <str>
        }
    }
    | {
        'delete_channel' : {
            'channel' : <ident>
        }
    }
    | {
        'rename_channel' : {
            'channel' : <ident>
            'new_name' : <ident>
        }
    }
    | {
        'add_loc_group' : {
            'channel' ?: <ident>
            'loc_group' : <ident>
            'members' ?: ( loc<ident>* )
        }
    }
    | {
        'replace_loc_group' : {
            'channel' : <ident>
            'loc_group' : <ident>
            'members' ?: ( loc<ident>* )
        }
    }
    | {
        'delete_loc_group' : {
            'channel' : <ident>
            'loc_group' : <ident>
        }
    }
    | {
        'rename_loc_group' : {
            'channel' : <ident>
            'loc_group' : <ident>
            'new_name' : <ident>
        }
    }
    | {
        'add_loc_group_members' : {
            'channel' ?: <ident>
            'loc_group' : <ident>
            'members' : ( loc<ident>* )
        }
    }
    | {
        'replace_loc_group_member_list' : {
            'channel' : <ident>
            'loc_group' : <ident>
            'members' : ( loc<ident>* )
        }
    }
    | {
        'delete_loc_group_members' : {
            'channel' : <ident>
            'loc_group' : <ident>
            'members' : ( loc<ident>* )
        }
    }
    | {
        'add_tables' : {
            'channel' ?: <ident>
            'tables' : {
                tablename<ident> *: {
                    'base_name' ?: <str>
                    'table_group' ?: <ident>
                    'cols' ?: {
                        colname<str> *: {
                            'sequence' : <int>
                            'key' ?: <int>
                            'distrib_key' ?: <int>
                            'data_type' : <str>
                            'attributes' ?: {
                                'encoding' ?: <str>
                                'nullable' ?: <bool>
                                'charlen' ?: <int64_ascii>
                                'bytelen' ?: <int64_ascii>
                                'prec' ?: <int>
                                'scale' ?: <int>
                                'timeprec' ?: <int>
                                'dayprec' ?: <int>
                                'yearprec' ?: <int>
                                'bitlen' ?: <int>
                            }
                        }
                    }
                }
            }
        }
    }
    | {
        'modify_table_list' : {
            'channel' ?: <ident>
            'tables' : {
                tablename<ident> *: {
                    'base_name' ?: <str>
                    'table_group' ?: <ident>
                    'cols' ?: {
                        colname<str> *: {
                            'sequence' : <int>
                            'key' ?: <int>
                            'distrib_key' ?: <int>
                            'data_type' : <str>
                            'attributes' ?: {
                                'encoding' ?: <str>
                                'nullable' ?: <bool>
                                'charlen' ?: <int64_ascii>
                                'bytelen' ?: <int64_ascii>
                                'prec' ?: <int>
                                'scale' ?: <int>
                                'timeprec' ?: <int>
                                'dayprec' ?: <int>
                                'yearprec' ?: <int>
                                'bitlen' ?: <int>
                            }
                        }
                    }
                }
            }
        }
    }
    | {
        'replace_table_list' : {
            'channel' : <ident>
            'tables' : {
                tablename<ident> *: {
                    'base_name' ?: <str>
                    'table_group' ?: <ident>
                    'cols' ?: {
                        colname<str> *: {
                            'sequence' : <int>
                            'key' ?: <int>
                            'distrib_key' ?: <int>
                            'data_type' : <str>
                            'attributes' ?: {
                                'encoding' ?: <str>
                                'nullable' ?: <bool>
                                'charlen' ?: <int64_ascii>
                                'bytelen' ?: <int64_ascii>
                                'prec' ?: <int>
                                'scale' ?: <int>
                                'timeprec' ?: <int>
                                'dayprec' ?: <int>
                                'yearprec' ?: <int>
                                'bitlen' ?: <int>
                            }
                        }
                    }
                }
            }
        }
    }
    | {
        'add_table' : {
            'channel' ?: <ident>
            'table' : <ident>
            'base_name' ?: <str>
            'table_group' ?: <ident>
            'cols' ?: {
                colname<str> *: {
                    'sequence' : <int>
                    'key' ?: <int>
                    'distrib_key' ?: <int>
                    'data_type' : <str>
                    'attributes' ?: {
                        'encoding' ?: <str>
                        'nullable' ?: <bool>
                        'charlen' ?: <int64_ascii>
                        'bytelen' ?: <int64_ascii>
                        'prec' ?: <int>
                        'scale' ?: <int>
                        'timeprec' ?: <int>
                        'dayprec' ?: <int>
                        'yearprec' ?: <int>
                        'bitlen' ?: <int>
                    }
                }
            }
        }
    }
    | {
        'replace_table' : {
            'channel' : <ident>
            'table' : <ident>
            'base_name' ?: <str>
            'table_group' ?: <ident>
            'cols' ?: {
                colname<str> *: {
                    'sequence' : <int>
                    'key' ?: <int>
                    'distrib_key' ?: <int>
                    'data_type' : <str>
                    'attributes' ?: {
                        'encoding' ?: <str>
                        'nullable' ?: <bool>
                        'charlen' ?: <int64_ascii>
                        'bytelen' ?: <int64_ascii>
                        'prec' ?: <int>
                        'scale' ?: <int>
                        'timeprec' ?: <int>
                        'dayprec' ?: <int>
                        'yearprec' ?: <int>
                        'bitlen' ?: <int>
                    }
                }
            }
        }
    }
    | {
        'modify_table' : {
            'channel' : <ident>
            'table' : <ident>
            'base_name' ?: <str>
            'table_group' ?: <ident>
        }
    }
    | {
        'rename_table' : {
            'channel' : <ident>
            'table' : <ident>
            'new_name' : <ident>
        }
    }
    | {
        'delete_tables' : {
            'channel' : <ident>
            'tables' : ( <ident>+ )
        }
    }
    | {
        'add_cols' : {
            'channel' ?: <ident>
            'table' ?: <ident>
            'cols' : {
                colname<str> *: {
                    'sequence' : <int>
                    'key' ?: <int>
                    'distrib_key' ?: <int>
                    'data_type' : <str>
                    'attributes' ?: {
                        'encoding' ?: <str>
                        'nullable' ?: <bool>
                        'charlen' ?: <int64_ascii>
                        'bytelen' ?: <int64_ascii>
                        'prec' ?: <int>
                        'scale' ?: <int>
                        'timeprec' ?: <int>
                        'dayprec' ?: <int>
                        'yearprec' ?: <int>
                        'bitlen' ?: <int>
                    }
                }
            }
        }
    }
    | {
        'modify_col_list' : {
            'channel' ?: <ident>
            'table' ?: <ident>
            'cols' : {
                colname<str> *: {
                    'sequence' : <int>
                    'key' ?: <int>
                    'distrib_key' ?: <int>
                    'data_type' : <str>
                    'attributes' ?: {
                        'encoding' ?: <str>
                        'nullable' ?: <bool>
                        'charlen' ?: <int64_ascii>
                        'bytelen' ?: <int64_ascii>
                        'prec' ?: <int>
                        'scale' ?: <int>
                        'timeprec' ?: <int>
                        'dayprec' ?: <int>
                        'yearprec' ?: <int>
                        'bitlen' ?: <int>
                    }
                }
            }
        }
    }
    | {
        'replace_col_list' : {
            'channel' : <ident>
            'table' : <ident>
            'cols' : {
                colname<str> *: {
                    'sequence' : <int>
                    'key' ?: <int>
                    'distrib_key' ?: <int>
                    'data_type' : <str>
                    'attributes' ?: {
                        'encoding' ?: <str>
                        'nullable' ?: <bool>
                        'charlen' ?: <int64_ascii>
                        'bytelen' ?: <int64_ascii>
                        'prec' ?: <int>
                        'scale' ?: <int>
                        'timeprec' ?: <int>
                        'dayprec' ?: <int>
                        'yearprec' ?: <int>
                        'bitlen' ?: <int>
                    }
                }
            }
        }
    }
    | {
        'delete_cols' : {
            'channel' : <ident>
            'table' : <ident>
            'cols' : ( <str>+ )
        }
    }
    | {
        'add_channel_actions' : {
            'channel' ?: <ident>
            'actions' : (
                {
                    'loc_scope' ?: <str>
                    'table_scope' ?: <str>
                    'type' : <ident>
                    'params' ?: {
                        param<str> *: val<scal>
                    }
                }*
            )
        }
    }
    | {
        'replace_channel_action_list' : {
            'channel' : <ident>
            'actions' : (
                {
                    'loc_scope' ?: <str>
                    'table_scope' ?: <str>
                    'type' : <ident>
                    'params' ?: {
                        param<str> *: val<scal>
                    }
                }*
            )
        }
    }
    | {
        'delete_channel_actions' : {
            'channel' : <ident>
            'actions' : (
                {
                    'loc_scope' ?: <str>
                    'table_scope' ?: <str>
                    'type' : <ident>
                    'params' ?: {
                        param<str> *: val<scal>
                    }
                }*
            )
        }
    }
    | {
        'add_hub_actions' : {
            'actions' ?: (
                {
                    'type' : <ident>
                    'params' ?: {
                        param<str> *: val<scal>
                    }
                }*
            )
        }
    }
    | {
        'replace_hub_action_list' : {
            'actions' : (
                {
                    'type' : <ident>
                    'params' ?: {
                        param<str> *: val<scal>
                    }
                }*
            )
        }
    }
    | {
        'delete_hub_actions' : {
            'actions' : (
                {
                    'type' : <ident>
                    'params' ?: {
                        param<str> *: val<scal>
                    }
                }*
            )
        }
    }
    | {
        'modify_action' : {
            'type' : <ident>
            'old' : {
                'channel' ?: <str>
                'loc_scope' ?: <str>
                'table_scope' ?: <str>
                'params' ?: {
                    param<str> *: val<scal>
                }
            }
            'new' : {
                'channel' ?: <str>
                'loc_scope' ?: <str>
                'table_scope' ?: <str>
                'params' ?: {
                    param<str> *: val<null> | <scal>
                }
            }
        }
    }
    | {
        'replace_action' : {
            'type' : <ident>
            'old' : {
                'channel' ?: <str>
                'loc_scope' ?: <str>
                'table_scope' ?: <str>
                'params' ?: {
                    param<str> *: val<scal>
                }
            }
            'new' : {
                'channel' ?: <str>
                'loc_scope' ?: <str>
                'table_scope' ?: <str>
                'params' ?: {
                    param<str> *: val<scal>
                }
            }
        }
    }*
)
No extra response headers
Response body is JSON.
Prototype:

'change_counts' : {
    'add_loc' ?: <int>
    'replace_loc' ?: <int>
    'delete_loc' ?: <int>
    'rename_loc' ?: <int>
    'add_loc_props' ?: <int>
    'replace_loc_props' ?: <int>
    'modify_loc_props' ?: <int>
    'delete_loc_props' ?: <int>
    'add_loc_actions' ?: <int>
    'replace_loc_action_list' ?: <int>
    'delete_loc_actions' ?: <int>
    'add_channel' ?: <int>
    'replace_channel' ?: <int>
    'modify_channel' ?: <int>
    'delete_channel' ?: <int>
    'rename_channel' ?: <int>
    'add_loc_group' ?: <int>
    'replace_loc_group' ?: <int>
    'delete_loc_group' ?: <int>
    'rename_loc_group' ?: <int>
    'add_loc_group_members' ?: <int>
    'replace_loc_group_member_list' ?: <int>
    'delete_loc_group_members' ?: <int>
    'add_tables' ?: <int>
    'modify_table_list' ?: <int>
    'replace_table_list' ?: <int>
    'add_table' ?: <int>
    'replace_table' ?: <int>
    'modify_table' ?: <int>
    'rename_table' ?: <int>
    'delete_tables' ?: <int>
    'add_cols' ?: <int>
    'modify_col_list' ?: <int>
    'replace_col_list' ?: <int>
    'delete_cols' ?: <int>
    'add_channel_actions' ?: <int>
    'replace_channel_action_list' ?: <int>
    'delete_channel_actions' ?: <int>
    'add_hub_actions' ?: <int>
    'replace_hub_action_list' ?: <int>
    'delete_hub_actions' ?: <int>
    'modify_action' ?: <int>
    'replace_action' ?: <int>
}
'change_replay' ?: <bool>
'add_exists' ?: {
    'loc' ?: <int>
    'channel' ?: <int>
    'loc_group' ?: <int>
    'loc_group_member' ?: <int>
    'table' ?: <int>
    'col' ?: <int>
}
'rename_exists' ?: {
    'loc' ?: <int>
    'channel' ?: <int>
    'loc_group' ?: <int>
    'table' ?: <int>
}
'replace_absent' ?: {
    'loc' ?: <int>
    'channel' ?: <int>
    'loc_group' ?: <int>
    'table' ?: <int>
    'action' ?: <int>
}
'modify_absent' ?: {
    'channel' ?: <int>
    'table' ?: <int>
    'action' ?: <int>
}
'delete_absent' ?: {
    'loc' ?: <int>
    'loc_prop' ?: <int>
    'loc_action' ?: <int>
    'channel' ?: <int>
    'loc_group' ?: <int>
    'loc_group_member' ?: <int>
    'table' ?: <int>
    'col' ?: <int>
    'channel_action' ?: <int>
    'hub_action' ?: <int>
}
'rename_absent' ?: {
    'loc' ?: <int>
    'channel' ?: <int>
    'loc_group' ?: <int>
    'table' ?: <int>
}
'action_absent_loc' ?: ( loc<ident>+ )
'old_group_members' ?: ( loc<ident>+ )
'member_absent_loc' ?: ( loc<ident>+ )
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
Required Permissions
  • ReadOnly access level on hub
Events
Creates no events.

Fetch locations from hub definition

GET /api/v6.1.0.3/hubs/{hub}/definition/locs
Query parameter prototype:

'fetch' ?: ( 'loc_props' | 'loc_actions'+ )
'loc' ?: ( <ident>+ )
'action_type' ?: ( <str>+ )
'cache_view_tstamp' ?: <date_str_usecs_z>
Request headers prototype:

X-Dss-Classified-Access : <str>
No request body
Response headers prototype:

X-Dss-View-Tstamp : <date_str_usecs_z>
X-Dss-Reload-Cache : <bool>
X-Dss-Classified-Transport-Key : <str>
Response body is JSON.
Prototype:

locname<str> *: {
    'props' ?: {
        prop<str> *: value<typeof_loc_prop>
    }
    'actions' ?: (
        {
            'type' : <ident>
            'params' ?: {
                param<str> *: val<scal>
            }
        }*
    )
}
HTTP Status Codes
  • STATUS 200 OK: Locations fetched
  • STATUS 400 Bad Request
Required Permissions
  • ReadOnly access level on hub

Add location

POST /api/v6.1.0.3/hubs/{hub}/definition/locs
No query parameters
Request headers prototype:

X-Dss-Classified-Transport-Key : <str>
Request body is JSON.
Prototype:

'loc' : <ident>
'props' : {
    prop<str> *: value<typeof_loc_prop>
}
'actions' ?: (
    {
        'type' : <ident>
        'params' ?: {
            param<str> *: val<scal>
        }
    }*
)
No extra response headers
No response body
HTTP Status Codes
  • STATUS 201 Created
  • STATUS 400 Bad Request: Location already exists
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Definition_Change

'add_loc' : {
    'loc' : <ident>
    'props' : ( <str>+ )
    'actions' ?: ( <ident>+ )
}

Delete location

DELETE /api/v6.1.0.3/hubs/{hub}/definition/locs/{loc}
No query parameters
No extra request headers
No request body
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Location does not exist
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Definition_Change

'delete_loc' : {
    'loc' : <ident>
}

Fetch location from hub definition

GET /api/v6.1.0.3/hubs/{hub}/definition/locs/{loc}
Query parameter prototype:

'fetch' ?: ( 'loc_props' | 'loc_actions'+ )
'action_type' ?: ( <str>+ )
'cache_view_tstamp' ?: <date_str_usecs_z>
Request headers prototype:

X-Dss-Classified-Access : <str>
No request body
Response headers prototype:

X-Dss-View-Tstamp : <date_str_usecs_z>
X-Dss-Reload-Cache : <bool>
X-Dss-Classified-Transport-Key : <str>
Response body is JSON.
Prototype:

'props' ?: {
    prop<str> *: value<typeof_loc_prop>
}
'actions' ?: (
    {
        'type' : <ident>
        'params' ?: {
            param<str> *: val<scal>
        }
    }*
)
HTTP Status Codes
  • STATUS 200 OK: Location fetched
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Location does not exist
Required Permissions
  • ReadOnly access level on hub

Add or replace location

PUT /api/v6.1.0.3/hubs/{hub}/definition/locs/{loc}
No query parameters
Request headers prototype:

X-Dss-Classified-Transport-Key : <str>
Request body is JSON.
Prototype:

'props' : {
    prop<str> *: value<typeof_loc_prop>
}
'actions' ?: (
    {
        'type' : <ident>
        'params' ?: {
            param<str> *: val<scal>
        }
    }*
)
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Definition_Change

'add_loc' | 'replace_loc' : {
    'loc' : <ident>
    'props' : ( <str>+ )
    'actions' ?: ( <ident>+ )
}

Fetch location actions from hub definition

GET /api/v6.1.0.3/hubs/{hub}/definition/locs/{loc}/actions
Query parameter prototype:

'action_type' ?: ( <str>+ )
'cache_view_tstamp' ?: <date_str_usecs_z>
No extra request headers
No request body
Response headers prototype:

X-Dss-View-Tstamp : <date_str_usecs_z>
X-Dss-Reload-Cache : <bool>
Response body is JSON.
Prototype:

{
    'type' : <ident>
    'params' ?: {
        param<str> *: val<scal>
    }
}*
HTTP Status Codes
  • STATUS 200 OK: Location actions fetched
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Location does not exist
Required Permissions
  • ReadOnly access level on hub

Add location actions

PATCH /api/v6.1.0.3/hubs/{hub}/definition/locs/{loc}/actions
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'actions' : (
    {
        'type' : <ident>
        'params' ?: {
            param<str> *: val<scal>
        }
    }*
)
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Location does not exist
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Definition_Change

'add_loc_actions' : {
    'loc' : <ident>
    'actions' : (
        {
            'type' : <ident>
            'params' ?: {
                param<str> *: val<scal>
            }
        }*
    )
}

Replace location actions list

PUT /api/v6.1.0.3/hubs/{hub}/definition/locs/{loc}/actions
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'actions' : (
    {
        'type' : <ident>
        'params' ?: {
            param<str> *: val<scal>
        }
    }*
)
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Location does not exist
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Definition_Change

'replace_loc_action_list' : {
    'loc' : <ident>
    'actions' : (
        {
            'type' : <ident>
            'params' ?: {
                param<str> *: val<scal>
            }
        }*
    )
}

Delete location actions

POST /api/v6.1.0.3/hubs/{hub}/definition/locs/{loc}/actions_delete
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'actions' : (
    {
        'type' : <ident>
        'params' ?: {
            param<str> *: val<scal>
        }
    }*
)
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Location does not exist
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Definition_Change

'delete_loc_actions' : {
    'loc' : <ident>
    'actions' : (
        {
            'type' : <ident>
            'params' ?: {
                param<str> *: val<scal>
            }
        }*
    )
}

Copy location

POST /api/v6.1.0.3/hubs/{hub}/definition/locs/{loc}/copy
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'new_name' : <ident>
No extra response headers
No response body
HTTP Status Codes
  • STATUS 201 Created
  • STATUS 400 Bad Request: New location already exists
  • STATUS 404 Not Found: Old location does not exist
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Definition_Change

'add_loc' : {
    'loc' : <ident>
    'props' : ( <str>+ )
    'actions' ?: ( <ident>+ )
}

Fetch location properties from hub definition

GET /api/v6.1.0.3/hubs/{hub}/definition/locs/{loc}/props
No query parameters
Request headers prototype:

X-Dss-Classified-Access : <str>
No request body
Response headers prototype:

X-Dss-View-Tstamp : <date_str_usecs_z>
X-Dss-Reload-Cache : <bool>
X-Dss-Classified-Transport-Key : <str>
X-Dss-Redacted-Storage : <str>
Response body is JSON.
Prototype:

prop<str> *: value<typeof_loc_prop>
HTTP Status Codes
  • STATUS 200 OK: Location properties fetched
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Location does not exist
Required Permissions
  • ReadOnly access level on hub

Modify location properties

PATCH /api/v6.1.0.3/hubs/{hub}/definition/locs/{loc}/props
No query parameters
Request headers prototype:

X-Dss-Classified-Transport-Key : <str>
Request body is JSON.
Prototype:

prop<str> *: value<null> | <typeof_loc_prop>
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Location does not exist
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Definition_Change

'modify_loc_props' : {
    'loc' : <ident>
    'props' : {
        prop<str> *: value<null> | <typeof_loc_prop>
    }
}

Delete location property

DELETE /api/v6.1.0.3/hubs/{hub}/definition/locs/{loc}/props/{prop}
No query parameters
No extra request headers
No request body
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Location does not exist
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Definition_Change

'delete_loc_props' : {
    'loc' : <ident>
    'props' : ( <str>+ )
}

Delete location properties

POST /api/v6.1.0.3/hubs/{hub}/definition/locs/{loc}/props_delete
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'props' : ( <str>* )
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Location does not exist
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Definition_Change

'delete_loc_props' : {
    'loc' : <ident>
    'props' : ( <str>+ )
}

Rename location

POST /api/v6.1.0.3/hubs/{hub}/definition/locs/{loc}/rename
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'new_name' : <ident>
No extra response headers
No response body
HTTP Status Codes
  • STATUS 201 Created
  • STATUS 400 Bad Request: New location already exists
  • STATUS 404 Not Found: Old location does not exist
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Definition_Change

'rename_loc' : {
    'loc' : <ident>
    'new_name' : <ident>
}

Encryption Interface

Click here to see all end points in this interface.

Create new encryption wallet

POST /api/v6.1.0.3/wallet
No query parameters
Request headers prototype:

X-Dss-Classified-Transport-Key : <str>
Request body is JSON.
Prototype:

'props' : {
    prop<str> *: value<typeof_wallet_prop>
}
'password' ?: <str>
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
Required Permissions
  • SysAdmin access level
  • Available while Setup Mode is active.
Events
Creates one or more of the following events
Reencrypt_Secrets

'new_encryption_key_sequence' ?: <int>
'force' ?: <bool>
Wallet_Create

'props' : {
    prop<str> *: value<typeof_wallet_prop>
}

Change reference to existing wallet

POST /api/v6.1.0.3/wallet/change
No query parameters
Request headers prototype:

X-Dss-Classified-Transport-Key : <str>
Request body is JSON.
Prototype:

'props' ?: {
    prop<str> *: value<null> | <typeof_wallet_prop>
}
'password' ?: <str>
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request: No wallet configured
Required Permissions
  • SysAdmin access level
  • Available while Setup Mode is active.
Events
Creates the following event
Wallet_Change

'props_after' ?: {
    prop<str> *: value<null> | <typeof_wallet_prop>
}
'props_before' ?: {
    prop<str> *: value<typeof_wallet_prop>
}
'password_changed' ?: <bool>

Disable encryption wallet

POST /api/v6.1.0.3/wallet/disable
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'force' ?: <bool>
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request: No wallet configured or already disabled
Required Permissions
  • SysAdmin access level
  • Available while Setup Mode is active.
Events
Creates one or more of the following events
Reencrypt_Secrets

'new_encryption_key_sequence' ?: <int>
'force' ?: <bool>
Wallet_Disable

'force' ?: <bool>

Delete historical encryption keys

POST /api/v6.1.0.3/wallet/key_history_delete
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'before_key_sequence' ?: <int>
'before_rotation_tstamp' ?: <date_str_z>
No extra response headers
Response body is JSON.
Prototype:

'key_history_deleted' : <int>
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request: No wallet configured
Required Permissions
  • SysAdmin access level
  • Available while Setup Mode is active.
Events
Creates the following event
Wallet_Key_History_Delete

'before_key_sequence' ?: <int>
'before_rotation_tstamp' ?: <date_str_z>
'key_history_deleted' : <int>

Rotate encryption keys

POST /api/v6.1.0.3/wallet/key_rotate
No query parameters
No extra request headers
No request body
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request: No wallet configured
Required Permissions
  • SysAdmin access level
  • Available while Setup Mode is active.
Events
Creates one or more of the following events
Reencrypt_Secrets

'new_encryption_key_sequence' ?: <int>
'force' ?: <bool>
Wallet_Key_Rotation

'new_encryption_key_sequence' ?: <int>

Migrate to a new wallet configuration gracefully

POST /api/v6.1.0.3/wallet/migrate
No query parameters
Request headers prototype:

X-Dss-Classified-Transport-Key : <str>
Request body is JSON.
Prototype:

'props' : {
    prop<str> *: value<typeof_wallet_prop>
}
'password' ?: <str>
'rotate_encryption_key' ?: <bool>
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request: No wallet configured
Required Permissions
  • SysAdmin access level
  • Available while Setup Mode is active.
Events
Creates one or more of the following events
Reencrypt_Secrets

'new_encryption_key_sequence' ?: <int>
'force' ?: <bool>
Wallet_Migrate

'props_after' : {
    prop<str> *: value<null> | <typeof_wallet_prop>
}
'props_before' ?: {
    prop<str> *: value<typeof_wallet_prop>
}
'new_encryption_key_sequence' ?: <int>

Get wallet properties

GET /api/v6.1.0.3/wallet/props
Query parameter prototype:

'fetch' ?: ( prop<str>+ )
Request headers prototype:

X-Dss-Classified-Access : <str>
No request body
Response headers prototype:

X-Dss-Classified-Transport-Key : <str>
X-Dss-Redacted-Storage : <str>
Response body is JSON.
Prototype:

prop<str> *: value<typeof_wallet_prop>
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request: No wallet configured
Required Permissions
  • SysAdmin access level
  • Available while Setup Mode is active.

Continue previous re-encryption operation

POST /api/v6.1.0.3/wallet/reencrypt_continue
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'force' ?: <bool>
No extra response headers
No response body
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
Required Permissions
  • SysAdmin access level
  • Available while Setup Mode is active.
Events
Creates the following event
Reencrypt_Secrets

'new_encryption_key_sequence' ?: <int>
'force' ?: <bool>

Event Interface

Click here to see all end points in this interface.

Get all unique channels from dss_event

GET /api/v6.1.0.3/hubs/{hub}/event_channels
Query parameter prototype:

'type' ?: ( <str>+ )
'state' ?: ( <str ACTIVE DONE FAILED CANCELED>+ )
'loc' ?: <ident>
'fetch_repos_events' ?: <bool>
'ev_tstamp_begin' ?: <date_str_usecs_z>
'ev_tstamp_end' ?: <date_str_usecs_z>
No extra request headers
No request body
No extra response headers
Response body is JSON.
Prototype:

channel<ident> *: num<int>
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
Required Permissions
  • ReadOnly access level on hub

Get all unique locations from dss_event

GET /api/v6.1.0.3/hubs/{hub}/event_locs
Query parameter prototype:

'channel' ?: ( <ident>+ )
'type' ?: ( <str>+ )
'state' ?: ( <str ACTIVE DONE FAILED CANCELED>+ )
'fetch_repos_events' ?: <bool>
'ev_tstamp_begin' ?: <date_str_usecs_z>
'ev_tstamp_end' ?: <date_str_usecs_z>
No extra request headers
No request body
No extra response headers
Response body is JSON.
Prototype:

loc<ident> *: num<int>
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
Required Permissions
  • ReadOnly access level on hub

Get all unique event types from dss_event

GET /api/v6.1.0.3/hubs/{hub}/event_types
Query parameter prototype:

'channel' ?: ( <ident>+ )
'state' ?: ( <str ACTIVE DONE FAILED CANCELED>+ )
'loc' ?: <ident>
'fetch_repos_events' ?: <bool>
'ev_tstamp_begin' ?: <date_str_usecs_z>
'ev_tstamp_end' ?: <date_str_usecs_z>
No extra request headers
No request body
No extra response headers
Response body is JSON.
Prototype:

type<str> *: num<int>
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
Required Permissions
  • ReadOnly access level on hub

Fetch event(s)

GET /api/v6.1.0.3/hubs/{hub}/events
Query parameter prototype:

'channel' ?: ( <ident>+ )
'ev_id' ?: ( <date_str_usecs_z>+ )
'type' ?: ( <str>+ )
'state' ?: ( <str ACTIVE DONE CANCELED FAILED>+ )
'current_only' ?: <bool>
'loc' ?: <ident>
'job' ?: ( <str>+ )
'body_pattern' ?: <str>
'fetch_results' ?: <bool>
'fetch_repos_events' ?: <bool>
'result_pattern' ?: <str>
'result_table' ?: ( <str>* )
'ev_tstamp_begin' ?: <date_str_usecs_z>
'ev_tstamp_end' ?: <date_str_usecs_z>
'updated_begin' ?: <date_str_usecs_z>
'updated_end' ?: <date_str_usecs_z>
'max_events' ?: <int>
No extra request headers
No request body
Response headers prototype:

X-Dss-Last-Updated : <date_str_usecs_z>
Response body is JSON.
Prototype:

ev_id<date_str_usecs_z> *: {
    'type' : <str>
    'user' ?: <str>
    'description' ?: <str>
    'channel' ?: <str>
    'loc' ?: <str>
    'loc2' ?: <str>
    'job' ?: <str>
    'state' : <str>
    'num_retries' ?: <int>
    'response' ?: <str>
    'start_tstamp' ?: <date_str_usecs_z>
    'finish_tstamp' ?: <date_str_usecs_z>
    'repos_event' ?: <bool>
    'body' ?: <json>
    'results' ?: (
        {
            'table' ?: <str>
            'result' : <str>
            'value' ?: <str>
        }*
    )
}
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
Required Permissions
  • ReadOnly access level on hub

Get log file content during a specified event

GET /api/v6.1.0.3/hubs/{hub}/events/{ev_id}/log
Query parameter prototype:

'max_lines' ?: <int>
'head_crc' ?: crc<str>
'offset_begin' ?: <uint64_ascii>
'archive' ?: <str>
No extra request headers
No request body
Response headers prototype:

X-Dss-Offset-End : <int64_ascii>
X-Dss-Head-Crc : <str>
X-Dss-Archive-Next : <str>
X-Dss-Event-End : <str>
Response body is plain text
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: The specified event can not be found
Required Permissions
  • ReadOnly access level on hub

Cancel events. Associated jobs will be suspended

POST /api/v6.1.0.3/hubs/{hub}/events_cancel
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'ev_ids' : ( <date_str_usecs_z>* )
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request: Only events in 'ACTIVE' state can be canceled
  • STATUS 404 Not Found: Event does not exist
Required Permissions
  • ReadExec access level on hub
Events
Creates the following event
Event_Cancel

'ev_ids' : ( <date_str_usecs_z>+ )

Get all unique event types for repos

GET /api/v6.1.0.3/repos/event_types
Query parameter prototype:

'state' ?: ( <str ACTIVE DONE FAILED CANCELED>+ )
'ev_tstamp_begin' ?: <date_str_usecs_z>
'ev_tstamp_end' ?: <date_str_usecs_z>
No extra request headers
No request body
No extra response headers
Response body is JSON.
Prototype:

type<str> *: num<int>
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
Required Permissions
  • No special permission required

Fetch the repository events

GET /api/v6.1.0.3/repos/events
Query parameter prototype:

'ev_id' ?: ( <date_str_usecs_z>+ )
'type' ?: ( <str>+ )
'state' ?: ( <str ACTIVE DONE CANCELED FAILED>+ )
'body_pattern' ?: <str>
'ev_tstamp_begin' ?: <date_str_usecs_z>
'ev_tstamp_end' ?: <date_str_usecs_z>
'updated_begin' ?: <date_str_usecs_z>
'updated_end' ?: <date_str_usecs_z>
'max_events' ?: <int>
No extra request headers
No request body
Response headers prototype:

X-Dss-Last-Updated : <date_str_usecs_z>
Response body is JSON.
Prototype:

ev_id<date_str_usecs_z> *: {
    'type' : <str>
    'user' ?: <str>
    'description' ?: <str>
    'state' : <str>
    'response' ?: <str>
    'start_tstamp' ?: <str>
    'finish_tstamp' ?: <str>
    'body' ?: <json>
}
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
Required Permissions
  • No special permission required

File and DB Browse Interface

Click here to see all end points in this interface.

List files in a directory (hub)

GET /api/v6.1.0.3/hubs/{hub}/dirs
Query parameter prototype:

'path' ?: <str>
'pattern' ?: <str>
No extra request headers
No request body
Response headers prototype:

X-Dss-Hidden-Files : <bool>
Response body is JSON.
Prototype:

{
    'path' : <str>
    'type' : 'file'
           | 'dir'
           | 'drive'
           | 'shortcut'
    'size' ?: <int64_ascii>
    'modtime' ?: <date_str_z>
    'description' ?: <str>
}*
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Directory does not exist
Required Permissions
  • ReadWrite access level on hub

Show all schemas in database

GET /api/v6.1.0.3/hubs/{hub}/locs/{loc}/db/schemas
Query parameter prototype:

'channel' ?: <ident>
No extra request headers
No request body
No extra response headers
Response body is JSON.
Prototype:

'schemas' : ( <str>+ )
'default_schema' : <str>
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
Required Permissions
  • ReadOnly access level on hub

List files in a directory on the location

GET /api/v6.1.0.3/hubs/{hub}/locs/{loc}/dirs
Query parameter prototype:

'path' ?: <str>
'pattern' ?: <str>
'local' ?: <true>
'channel' ?: <ident>
No extra request headers
No request body
Response headers prototype:

X-Dss-Hidden-Files : <bool>
Response body is JSON.
Prototype:

{
    'path' : <str>
    'type' : 'file'
           | 'dir'
           | 'drive'
           | 'shortcut'
    'size' ?: <int64_ascii>
    'modtime' ?: <date_str_z>
    'description' ?: <str>
}*
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Location or Directory does not exist
Required Permissions
  • ReadWrite access level on hub

Get list of installed ODBC Data Source Names of the location

GET /api/v6.1.0.3/hubs/{hub}/locs/{loc}/env/odbc_drivers
Query parameter prototype:

'odbcinst' ?: <str>
'odbcsysini' ?: <str>
'channel' ?: <ident>
No extra request headers
No request body
No extra response headers
Response body is JSON.
Prototype:
 driver_name<str>*
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Location does not exist
Required Permissions
  • ReadWrite access level on hub

Retrieve /etc/oratab or equivalent Windows registry values of the location

GET /api/v6.1.0.3/hubs/{hub}/locs/{loc}/env/oratab
Query parameter prototype:

'channel' ?: <ident>
No extra request headers
No request body
No extra response headers
Response body is JSON.
Prototype:

{
    'oracle_sid' : <str>
    'oracle_home' : <str>
}*
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Location does not exist
Required Permissions
  • ReadWrite access level on hub

Retrieve specified environment variables of the location

GET /api/v6.1.0.3/hubs/{hub}/locs/{loc}/env/vars
Query parameter prototype:

'vars' : (
    'DB2INSTANCE'
    | 'II_SYSTEM'
    | 'INSTHOME'
    | 'ORACLE_HOME'
    | 'ORACLE_SID'
    | 'GOOGLE_APPLICATION_CREDENTIALS'+
)
'channel' ?: <ident>
No extra request headers
No request body
No extra response headers
Response body is JSON.
Prototype:

envvar<str> +: val<str>
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Location does not exist
Required Permissions
  • ReadWrite access level on hub

Test Location connection

POST /api/v6.1.0.3/hubs/{hub}/locs/{loc}/test
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'channel' ?: <ident>
No extra response headers
Response body is JSON.
Prototype:

'discovered_props' : {
    prop<str> *: value<typeof_loc_prop>
}
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Location does not exist
Required Permissions
  • ReadOnly access level on hub
Events
Creates no events.

Show all schemas in new database location

POST /api/v6.1.0.3/hubs/{hub}/new_loc/db/schemas
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'channel' ?: <ident>
'props_from' ?: loc<ident>
'props' : {
    prop<str> *: value<null> | <typeof_loc_prop>
}
No extra response headers
Response body is JSON.
Prototype:

'schemas' : ( <str>+ )
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
Required Permissions
  • ReadOnly access level on hub
Events
Creates no events.

List files in a directory on the new location

POST /api/v6.1.0.3/hubs/{hub}/new_loc/dirs
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'path' ?: <str>
'pattern' ?: <str>
'local' ?: <true>
'channel' ?: <ident>
'props_from' ?: loc<ident>
'props' : {
    prop<str> *: value<null> | <typeof_loc_prop>
}
Response headers prototype:

X-Dss-Hidden-Files : <bool>
Response body is JSON.
Prototype:

{
    'path' : <str>
    'type' : 'file'
           | 'dir'
           | 'drive'
           | 'shortcut'
    'size' ?: <int64_ascii>
    'modtime' ?: <date_str_z>
    'description' ?: <str>
}*
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request: Error connecting to location specified by 'props'
  • STATUS 404 Not Found: Directory does not exist
Required Permissions
  • ReadWrite access level on hub
Events
Creates no events.

Get list of installed ODBC Data Source Names or the new location

POST /api/v6.1.0.3/hubs/{hub}/new_loc/env/odbc_drivers
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'odbcinst' ?: <str>
'odbcsysini' ?: <str>
'channel' ?: <ident>
'props_from' ?: loc<ident>
'props' : {
    prop<str> *: value<null> | <typeof_loc_prop>
}
No extra response headers
Response body is JSON.
Prototype:
 driver_name<str>*
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request: Error connecting to location specified by 'props'
Required Permissions
  • ReadWrite access level on hub
Events
Creates no events.

Retrieve /etc/oratab or equivalent Windows registry values of the new location

POST /api/v6.1.0.3/hubs/{hub}/new_loc/env/oratab
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'channel' ?: <ident>
'props_from' ?: loc<ident>
'props' : {
    prop<str> *: value<null> | <typeof_loc_prop>
}
No extra response headers
Response body is JSON.
Prototype:

{
    'oracle_sid' : <str>
    'oracle_home' : <str>
}*
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request: Error connecting to location specified by 'props'
Required Permissions
  • ReadWrite access level on hub
Events
Creates no events.

Retrieve specified environment variables of the new location

POST /api/v6.1.0.3/hubs/{hub}/new_loc/env/vars
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'vars' : (
    'DB2INSTANCE'
    | 'II_SYSTEM'
    | 'INSTHOME'
    | 'ORACLE_HOME'
    | 'ORACLE_SID'
    | 'GOOGLE_APPLICATION_CREDENTIALS'+
)
'channel' ?: <ident>
'props_from' ?: loc<ident>
'props' : {
    prop<str> *: value<null> | <typeof_loc_prop>
}
No extra response headers
Response body is JSON.
Prototype:

envvar<str> +: val<str>
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request: Error connecting to location specified by 'props'
Required Permissions
  • ReadWrite access level on hub
Events
Creates no events.

Test Location connection properties

POST /api/v6.1.0.3/hubs/{hub}/new_loc/test
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'channel' ?: <ident>
'props_from' ?: loc<ident>
'props' : {
    prop<str> *: value<null> | <typeof_loc_prop>
}
No extra response headers
Response body is JSON.
Prototype:

'discovered_props' : {
    prop<str> *: value<typeof_loc_prop>
}
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request: Error connecting to location specified by 'props'
Required Permissions
  • ReadWrite access level on hub
Events
Creates no events.

List files in a directory (hubserver)

GET /api/v6.1.0.3/hubserver/dirs
Query parameter prototype:

'path' ?: <str>
'pattern' ?: <str>
No extra request headers
No request body
Response headers prototype:

X-Dss-Hidden-Files : <bool>
Response body is JSON.
Prototype:

{
    'path' : <str>
    'type' : 'file'
           | 'dir'
           | 'drive'
           | 'shortcut'
    'size' ?: <int64_ascii>
    'modtime' ?: <date_str_z>
    'description' ?: <str>
}*
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
  • STATUS 403 Forbidden
  • STATUS 404 Not Found: Directory does not exist
Required Permissions
  • SysAdmin access level
  • Available while Setup Mode is active.

Get list of installed ODBC Data Source Names of the hub server

GET /api/v6.1.0.3/hubserver/env/odbc_drivers
Query parameter prototype:

'odbcinst' ?: <str>
'odbcsysini' ?: <str>
No extra request headers
No request body
No extra response headers
Response body is JSON.
Prototype:
 driver_name<str>*
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
  • STATUS 403 Forbidden
Required Permissions
  • SysAdmin access level
  • Available while Setup Mode is active.

Retrieve /etc/oratab or equivalent Windows registry values of the hub server

GET /api/v6.1.0.3/hubserver/env/oratab
No query parameters
No extra request headers
No request body
No extra response headers
Response body is JSON.
Prototype:

{
    'oracle_sid' : <str>
    'oracle_home' : <str>
}*
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
  • STATUS 403 Forbidden
Required Permissions
  • SysAdmin access level
  • Available while Setup Mode is active.

Retrieve specified environment variables of the hub server

GET /api/v6.1.0.3/hubserver/env/vars
Query parameter prototype:

'vars' : (
    'DB2INSTANCE'
    | 'II_SYSTEM'
    | 'INSTHOME'
    | 'ORACLE_HOME'
    | 'ORACLE_SID'
    | 'GOOGLE_APPLICATION_CREDENTIALS'+
)
No extra request headers
No request body
No extra response headers
Response body is JSON.
Prototype:

envvar<str> +: val<str>
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
  • STATUS 403 Forbidden
Required Permissions
  • SysAdmin access level
  • Available while Setup Mode is active.

Verify (changes) to HubServer connection properties

POST /api/v6.1.0.3/hubserver/props_test
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'props_from' ?: <bool>
'props' : {
    prop<str> *: value<null> | <typeof_hubserver_prop>
}
No extra response headers
Response body is JSON.
Prototype:

'discovered_props' : {
    prop<str> *: value<typeof_hubserver_prop>
}
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
  • STATUS 403 Forbidden
Required Permissions
  • SysAdmin access level
  • Available while Setup Mode is active.
Events
Creates no events.

Test hubserver is working correctly

POST /api/v6.1.0.3/hubserver/test
No query parameters
No extra request headers
No request body
No extra response headers
No response body
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
  • STATUS 403 Forbidden
Required Permissions
  • No special permission required
  • Available while Setup Mode is active.
Events
Creates no events.

Hub Config Interface

Click here to see all end points in this interface.

Fetch all hubs and their basic properties

GET /api/v6.1.0.3/hubs
No query parameters
No extra request headers
No request body
No extra response headers
Response body is JSON.
Prototype:

hub<ident> *: {
    'props' : {
        'Description' ?: <str>
        'Created' ?: <date_str_z>
        'Creator' ?: user<str>
        'Hub_State' ?: <str>
        'Freeze_Time' ?: <date_str_z>
    }
    'current_user_access' : {
        'level' : <str SysAdmin HubOwner ReadWrite ReadExecRefresh ReadExec ReadOnly None>
    }
}
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
Required Permissions
  • No special permission required
  • Available while Setup Mode is active.

Create a new hub

POST /api/v6.1.0.3/hubs
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'hub' : <str>
'props' ?: {
    prop<str> *: value<typeof_hub_prop>
}
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request: Hub already exists
Required Permissions
  • HubCreation access level
  • Available while Setup Mode is active.
Events
Creates the following event
Hub_Create

'hub' : <str>

Delete hub

DELETE /api/v6.1.0.3/hubs/{hub}
No query parameters
No extra request headers
No request body
No extra response headers
No response body
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: The requested hub does not exist
Required Permissions
  • HubOwner access level on hub
Events
Creates the following event
Hub_Delete

'hub' : <str>

Fetch basic hub properties

GET /api/v6.1.0.3/hubs/{hub}
No query parameters
No extra request headers
No request body
No extra response headers
Response body is JSON.
Prototype:

'props' : {
    'Description' ?: <str>
    'Created' ?: <date_str_z>
    'Creator' ?: user<str>
    'Hub_State' ?: <str>
    'Freeze_Time' ?: <date_str_z>
}
'current_user_access' : {
    'level' : <str SysAdmin HubOwner ReadWrite ReadExecRefresh ReadExec ReadOnly None>
}
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: The requested hub does not exist
Required Permissions
  • No special permission required

Changes the state of a hub to FROZEN

POST /api/v6.1.0.3/hubs/{hub}/freeze
No query parameters
No extra request headers
No request body
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content: The hub is now frozen
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: The requested hub does not exist
Required Permissions
  • HubOwner access level on hub
Events
Creates the following event
Hub_Freeze

Get hub properties

GET /api/v6.1.0.3/hubs/{hub}/props
Query parameter prototype:

'fetch' ?: ( prop<str>+ )
No extra request headers
No request body
No extra response headers
Response body is JSON.
Prototype:

prop<str> *: value<typeof_hub_prop>
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
Required Permissions
  • ReadOnly access level on hub

Modify hub properties

PATCH /api/v6.1.0.3/hubs/{hub}/props
No query parameters
No extra request headers
Request body is JSON.
Prototype:

prop<str> *: value<null> | <typeof_hub_prop>
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
Required Permissions
  • HubOwner access level on hub
  • Available while Setup Mode is active.
Events
Creates the following event
Hub_Property_Change

'props_after' : {
    prop<str> *: value<null> | <typeof_hub_prop>
}
'props_before' ?: {
    prop<str> *: value<typeof_hub_prop>
}

Replace all hub properties

PUT /api/v6.1.0.3/hubs/{hub}/props
No query parameters
No extra request headers
Request body is JSON.
Prototype:

prop<str> *: value<typeof_hub_prop>
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
Required Permissions
  • HubOwner access level on hub
Events
Creates the following event
Hub_Property_Set

'props_after' : {
    prop<str> *: value<null> | <typeof_hub_prop>
}
'props_before' ?: {
    prop<str> *: value<typeof_hub_prop>
}

Delete hub properties

POST /api/v6.1.0.3/hubs/{hub}/props_delete
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'props' : ( prop<str>+ )
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
Required Permissions
  • HubOwner access level on hub
Events
Creates the following event
Hub_Property_Delete

'props' : ( prop<str>+ )

Save the hub state (db content and files) to a snapshot.

POST /api/v6.1.0.3/hubs/{hub}/snapshot
No query parameters
Request headers prototype:

X-Dss-Classified-Access : <str>
Request body is JSON.
Prototype:

'reason' ?: <str>
'channel_focus' ?: chn<ident>
'event_trim' ?: <date_str_z> | <str none all>
'log_trim' ?: <date_str_z> | <str none all>
'stats_trim' ?: <date_str_z> | <str none all>
'definition_trim' ?: <date_str_z> | <str none all>
'dblog_dump' ?: nfiles<int>
'txfiles' ?: nfiles<int>
Response headers prototype:

X-Dss-Classified-Transport-Key : <str>
Response body is JSON.
Prototype:

'ref' : snapshot_zip<str>
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request: The request is not correct.
  • STATUS 404 Not Found: The hub does not exist.
Required Permissions
  • HubOwner access level on hub
Events
Creates no events.

Changes the state of a hub to LIVE

POST /api/v6.1.0.3/hubs/{hub}/unfreeze
No query parameters
No extra request headers
No request body
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content: The hub is now no longer frozen
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: The requested hub does not exist
Required Permissions
  • HubOwner access level on hub
Events
Creates the following event
Hub_Unfreeze

Restore the state (db content and files) from a snapshot.

POST /api/v6.1.0.3/snapshot
No query parameters
Request headers prototype:

X-Dss-Classified-Transport-Key : <str>
Request body is JSON.
Prototype:

'ref' : snapshot_zip<str>
'hub' : newname<ident>
'description' ?: <str>
No extra response headers
No response body
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: The snapshot does not exist.
Required Permissions
  • HubCreation access level
Events
Creates the following event
Restore_Hub_Snapshot

'original_hub' : <str>
'original_dss_version' : <str>
'original_repository_version' : <str>
'save_user' : user<str>
'save_tstamp' : <date_str_z>
'reason' ?: <str>
'channel_focus' ?: chn<ident>
'event_trim' ?: <date_str_z> | <str none all>
'log_trim' ?: <date_str_z> | <str none all>
'stats_trim' ?: <date_str_z> | <str none all>
'definition_trim' ?: <date_str_z> | <str none all>

Inspect the snapshot and return some information about it.

POST /api/v6.1.0.3/snapshot_inspect
No query parameters
Request headers prototype:

X-Dss-Classified-Transport-Key : <str>
Request body is JSON.
Prototype:

'ref' : snapshot_zip<str>
No extra response headers
Response body is JSON.
Prototype:

'original_hub' : <str>
'original_dss_version' : <str>
'original_repository_version' : <str>
'save_user' : user<str>
'save_tstamp' : <date_str_z>
'reason' ?: <str>
'channel_focus' ?: chn<ident>
'event_trim' ?: <date_str_z> | <str none all>
'log_trim' ?: <date_str_z> | <str none all>
'stats_trim' ?: <date_str_z> | <str none all>
'definition_trim' ?: <date_str_z> | <str none all>
'hub_props' : {
    prop<str> *: value<typeof_hub_prop>
}
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: The snapshot does not exist.
Required Permissions
  • No special permission required
Events
Creates no events.

HubServer Interface

Click here to see all end points in this interface.

Get HubServer clock

GET /api/v6.1.0.3/hubserver/clock
No query parameters
No extra request headers
No request body
No extra response headers
Response body is JSON.
Prototype:

'clock' : <date_str_usecs_z>
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
Required Permissions
  • No special permission required
  • Available while Setup Mode is active.

Get HubServer properties

GET /api/v6.1.0.3/hubserver/props
Query parameter prototype:

'fetch' ?: ( prop<str>+ )
Request headers prototype:

X-Dss-Classified-Access : <str>
No request body
Response headers prototype:

X-Dss-Classified-Transport-Key : <str>
X-Dss-Redacted-Storage : <str>
Response body is JSON.
Prototype:

prop<str> *: value<typeof_hubserver_prop>
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: No properties configured
Required Permissions
  • No special permission required
  • Available while Setup Mode is active.

Modify HubServer properties

PATCH /api/v6.1.0.3/hubserver/props
No query parameters
Request headers prototype:

X-Dss-Classified-Transport-Key : <str>
Request body is JSON.
Prototype:

prop<str> *: value<null> | <typeof_hubserver_prop>
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
Required Permissions
  • SysAdmin access level
  • Available while Setup Mode is active.
Events
Creates no events.

Replace/Create all HubServer properties

PUT /api/v6.1.0.3/hubserver/props
No query parameters
Request headers prototype:

X-Dss-Classified-Transport-Key : <str>
Request body is JSON.
Prototype:

prop<str> *: value<typeof_hubserver_prop>
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
Required Permissions
  • SysAdmin access level
  • Available while Setup Mode is active.
Events
Creates no events.

Delete some HubServer properties

POST /api/v6.1.0.3/hubserver/props_delete
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'props' : ( prop<str>+ )
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
Required Permissions
  • SysAdmin access level
  • Available while Setup Mode is active.
Events
Creates no events.

Restart HubServer internals

POST /api/v6.1.0.3/hubserver/restart
No query parameters
No extra request headers
No request body
No extra response headers
No response body
HTTP Status Codes
  • STATUS 202 Accepted: Restarting has begun
  • STATUS 400 Bad Request
Required Permissions
  • SysAdmin access level
  • Available while Setup Mode is active.
Events
Creates the following event
Hub_Server_Restart

Stop HubServer

POST /api/v6.1.0.3/hubserver/stop
No query parameters
No extra request headers
No request body
No extra response headers
No response body
HTTP Status Codes
  • STATUS 202 Accepted: Stopping has begun
  • STATUS 400 Bad Request
Required Permissions
  • SysAdmin access level
  • Available while Setup Mode is active.
Events
Creates the following event
Hub_Server_Stop

Create upload ref to be used to upload a file to the server.

POST /api/v6.1.0.3/hubserver/upload
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'file' : fname<str>
No extra response headers
Response body is JSON.
Prototype:

'upload_ref' : <str>
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request: Invalid file name
Required Permissions
  • No special permission required
Events
Creates no events.

Job Interface

Click here to see all end points in this interface.

Fetch job attributes on SYSTEM job group

GET /api/v6.1.0.3/hubs/{hub}/job_system/attributes
No query parameters
No extra request headers
No request body
No extra response headers
Response body is JSON.
Prototype:

attr<str> *: {
    'arg1' : <str>
    'arg2' ?: <str>
}
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Hub does not exist
Required Permissions
  • ReadOnly access level on hub

Delete job attribute on SYSTEM job group

DELETE /api/v6.1.0.3/hubs/{hub}/job_system/attributes/{attr}
No query parameters
No extra request headers
No request body
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Hub does not exist or attribute is not set
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Job_System_Attribute_Delete

attr<str> : {
    'arg1' : <str>
    'arg2' ?: <str>
}

Assign job attribute on SYSTEM job group

PUT /api/v6.1.0.3/hubs/{hub}/job_system/attributes/{attr}
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'arg1' : <str>
'arg2' ?: <str>
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Hub does not exist
Required Permissions
  • ReadWrite access level on hub
Events
Creates one or more of the following events
Job_System_Attribute_Add

attr<str> : {
    'arg1' : <str>
    'arg2' ?: <str>
}
Job_System_Attribute_Change

'attr' : <str>
'args_after' : {
    'arg1' : <str>
    'arg2' ?: <str>
}
'args_before' : {
    'arg1' : <str>
    'arg2' ?: <str>
}

Fetch 'set' job attribute on SYSTEM job group

GET /api/v6.1.0.3/hubs/{hub}/job_system/env_vars
No query parameters
No extra request headers
No request body
No extra response headers
Response body is JSON.
Prototype:

envvar<str> *: value<str>
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Hub does not exist
Required Permissions
  • ReadOnly access level on hub

Delete 'set' job attribute on SYSTEM job group

DELETE /api/v6.1.0.3/hubs/{hub}/job_system/env_vars/{var}
No query parameters
No extra request headers
No request body
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Hub does not exist or environment variable is not set
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Job_System_Envvar_Delete

'envvar' : <str>

Assign 'set' job attribute on SYSTEM job group

PUT /api/v6.1.0.3/hubs/{hub}/job_system/env_vars/{var}
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'value' : <str>
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Hub does not exist
Required Permissions
  • ReadWrite access level on hub
Events
Creates one or more of the following events
Job_System_Envvar_Add

'envvar' : <str>
Job_System_Envvar_Change

'envvar' : <str>

Fetch job(s)

GET /api/v6.1.0.3/hubs/{hub}/jobs
Query parameter prototype:

'channel' ?: ( <ident>+ )
'job' ?: ( <str>+ )
'updated_jobs_since' ?: <date_str_z>
'updated_err_since' ?: <date_str_z>
'fetch' ?: 'latency'
No extra request headers
No request body
Response headers prototype:

X-Dss-Err-Last-Updated : <date_str_z>
X-Dss-Jobs-Last-Updated : <date_str_z>
X-Dss-Schederr-Last-Updated : <date_str_z>
X-Dss-Reload-Cache : <bool>
Response body is JSON.
Prototype:

job<str> *: {
    'state' : <str>
    'num_retries' ?: <int>
    'log_job_err_tstamp' ?: <date_str_z>
    'latency' ?: secs<int>
}
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
Required Permissions
  • ReadOnly access level on hub

Delete job

DELETE /api/v6.1.0.3/hubs/{hub}/jobs/{job}
No query parameters
No extra request headers
No request body
No extra response headers
Response body is JSON.
Prototype:

'canceled_ev_ids' ?: ( <date_str_usecs_z>* )
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Job does not exist
Required Permissions
  • ReadExec access level on hub
Events
Creates the following event
Job_Delete

'jobs' : ( <str>+ )
'canceled_ev_ids' ?: ( <date_str_usecs_z>* )

Fetch job attributes

GET /api/v6.1.0.3/hubs/{hub}/jobs/{job}/attributes
No query parameters
No extra request headers
No request body
No extra response headers
Response body is JSON.
Prototype:

attr<str> *: {
    'arg1' : <str>
    'arg2' ?: <str>
}
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Hub does not exist
Required Permissions
  • ReadOnly access level on hub

Delete job attribute

DELETE /api/v6.1.0.3/hubs/{hub}/jobs/{job}/attributes/{attr}
No query parameters
No extra request headers
No request body
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Hub or job does not exist or attribute is not set
Required Permissions
  • ReadExec access level on hub
Events
Creates the following event
Job_Attribute_Delete

'job' : <str>
attr<str> : {
    'arg1' : <str>
    'arg2' ?: <str>
}

Assign job attribute

PUT /api/v6.1.0.3/hubs/{hub}/jobs/{job}/attributes/{attr}
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'arg1' : <str>
'arg2' ?: <str>
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Hub or job does not exist
Required Permissions
  • ReadExec access level on hub
Events
Creates one or more of the following events
Job_Attribute_Add

'job' : <str>
attr<str> : {
    'arg1' : <str>
    'arg2' ?: <str>
}
Job_Attribute_Change

'job' : <str>
'attr' : <str>
'args_after' : {
    'arg1' : <str>
    'arg2' ?: <str>
}
'args_before' : {
    'arg1' : <str>
    'arg2' ?: <str>
}

Fetch 'set' job attribute

GET /api/v6.1.0.3/hubs/{hub}/jobs/{job}/env_vars
No query parameters
No extra request headers
No request body
No extra response headers
Response body is JSON.
Prototype:

envvar<str> *: value<str>
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Hub or job does not exist
Required Permissions
  • ReadOnly access level on hub

Delete 'set' job attribute

DELETE /api/v6.1.0.3/hubs/{hub}/jobs/{job}/env_vars/{var}
No query parameters
No extra request headers
No request body
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Hub or job does not exist or environment variable is not set
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Job_Envvar_Delete

'job' : <str>
'envvar' : <str>

Assign 'set' job attribute

PUT /api/v6.1.0.3/hubs/{hub}/jobs/{job}/env_vars/{var}
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'value' : <str>
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Hub or job does not exist
Required Permissions
  • ReadWrite access level on hub
Events
Creates one or more of the following events
Job_Envvar_Add

'job' : <str>
'envvar' : <str>
Job_Envvar_Change

'job' : <str>
'envvar' : <str>

Delete jobs

POST /api/v6.1.0.3/hubs/{hub}/jobs_delete
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'jobs' : ( name<str>+ )
No extra response headers
Response body is JSON.
Prototype:

'canceled_ev_ids' ?: ( <date_str_usecs_z>* )
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Job does not exist
Required Permissions
  • ReadExec access level on hub
Events
Creates the following event
Job_Delete

'jobs' : ( <str>+ )
'canceled_ev_ids' ?: ( <date_str_usecs_z>* )

Start jobs

POST /api/v6.1.0.3/hubs/{hub}/jobs_start
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'jobs' : ( name<str>+ )
'unsuspend' ?: <bool>
'trigger_failed' ?: <bool>
No extra response headers
Response body is JSON.
Prototype:

job<str> *: {
    'trigger_ctrl_id' ?: ctrl_id<str>
    'not_started' ?: reason<str>
}
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Job does not exist
Required Permissions
  • ReadExec access level on hub
Events
Creates the following event
Job_Start

'jobs' : ( <str>+ )

Suspend jobs

POST /api/v6.1.0.3/hubs/{hub}/jobs_suspend
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'jobs' : ( name<str>+ )
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Job does not exist
Required Permissions
  • ReadExec access level on hub
Events
Creates the following event
Job_Suspend

'jobs' : ( <str>+ )

Unsuspend jobs

POST /api/v6.1.0.3/hubs/{hub}/jobs_unsuspend
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'jobs' : ( name<str>+ )
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Job does not exist
Required Permissions
  • ReadExec access level on hub
Events
Creates the following event
Job_Unsuspend

'jobs' : ( <str>+ )

License Interface

Click here to see all end points in this interface.

Fetch licenses

GET /api/v6.1.0.3/licenses
Query parameter prototype:

'license' ?: ( <str>+ )
No extra request headers
No request body
No extra response headers
Response body is JSON.
Prototype:

license<str> *: {
    'status' : 'NONE'
             | 'VALID'
             | 'EXPIRED'
             | 'HOST_MISMATCH'
             | 'EXCEEDED'
             | 'INVALID'
    'props' ?: {
        prop<str> *: value<typeof_lic_prop>
    }
}
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
Required Permissions
  • No special permission required
  • Available while Setup Mode is active.

Add a new license

POST /api/v6.1.0.3/licenses
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'license' : <str>
'raw' : <str>
No extra response headers
No response body
HTTP Status Codes
  • STATUS 201 Created
  • STATUS 400 Bad Request
Required Permissions
  • SysAdmin access level
  • Available while Setup Mode is active.
Events
Creates the following event
License_Add

'license' : <str>

Delete a license

DELETE /api/v6.1.0.3/licenses/{license}
No query parameters
No extra request headers
No request body
No extra response headers
No response body
HTTP Status Codes
  • STATUS 201 Created
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: License not found
Required Permissions
  • SysAdmin access level
  • Available while Setup Mode is active.
Events
Creates the following event
License_Delete

'license' : <str>

Fetch raw content of a license

GET /api/v6.1.0.3/licenses/{license}
No query parameters
No extra request headers
No request body
No extra response headers
Response body is plain text
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: License not found
Required Permissions
  • SysAdmin access level
  • Available while Setup Mode is active.

(re)create a new license

PUT /api/v6.1.0.3/licenses/{license}
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'raw' : <str>
No extra response headers
No response body
HTTP Status Codes
  • STATUS 201 Created
  • STATUS 400 Bad Request
Required Permissions
  • SysAdmin access level
  • Available while Setup Mode is active.
Events
Creates one or more of the following events
License_Add

'license' : <str>
License_Replace

'license' : <str>

Show licensing status

GET /api/v6.1.0.3/licensing
No query parameters
No extra request headers
No request body
No extra response headers
Response body is JSON.
Prototype:

'status' : 'NONE'
         | 'VALID'
         | 'EXPIRED'
         | 'HOST_MISMATCH'
         | 'EXCEEDED'
         | 'INVALID'
'licensing_expiry_warning' ?: <str>
'licensing_upload_error' ?: <str>
'licensing_acquire_error' ?: <str>
'capture_restrict' ?: (
    {
        'classes' ?: ( <str>+ )
        'max_locs' ?: <int>
    }*
)
'integrate_restrict' ?: (
    {
        'classes' ?: ( <str>+ )
        'max_locs' ?: <int>
    }*
)
'extra_features' ?: {
    'sap_unpack' ?: {
        'max_locs' ?: <int>
    }
}
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
Required Permissions
  • No special permission required
  • Available while Setup Mode is active.

Set Hub Server property License_Agreement_Accepted

POST /api/v6.1.0.3/licensing/license_agreement_accepted
No query parameters
No extra request headers
No request body
No extra response headers
No response body
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
Required Permissions
  • No special permission required
Events
Creates no events.

Fetch metering/MAR records

GET /api/v6.1.0.3/metering/download
Query parameter prototype:

'period_begin' ?: <date_str_z>
'period_end' ?: <date_str_z>
No extra request headers
No request body
No extra response headers
Response body is JSON.
Prototype:

'period_begin' ?: <date_str_z>
'period_end' : <date_str_z>
'dss_version' : <str>
'hubs' : (
    {
        'hub' : name<str>
        'hub_props' : {
            'Description' ?: <str>
            'Hub_Id' : <str>
            'Hub_Server_URL' ?: <str>
        }
        'channels' : (
            {
                'channel' : ident<str>
                'loc_pairs' : (
                    {
                        'src_loc' : ident<str>
                        'src_loc_props' ?: {
                            'Class' : <str>
                            'Class_Flavor' ?: <str>
                            'Class_Version' ?: <int>
                            'File_Scheme' ?: <str>
                            'Description' ?: <str>
                        }
                        'tgt_loc' : ident<str>
                        'tgt_loc_props' ?: {
                            'Class' : <str>
                            'Class_Flavor' ?: <str>
                            'Class_Version' ?: <int>
                            'File_Scheme' ?: <str>
                            'Description' ?: <str>
                        }
                        'tables' : (
                            {
                                'table' : ident<str>
                                'schema' ?: <str>
                                'base_name' : <str>
                                'records' ?: (
                                    {
                                        'hour' : <date_str_z>
                                        'mar_signature' : <str>
                                        'timekey' ?: <bool>
                                        'refresh' ?: <bool>
                                        'initial_refresh' ?: <bool>
                                        'system_refresh' ?: <bool>
                                    }*
                                )
                                'refr_events' ?: (
                                    {
                                        'ev_id' : <date_str_usecs_z>
                                        'ev_start_tstamp' : <date_str_z>
                                        'tbl_begin_tstamp' ?: <date_str_z>
                                        'tbl_end_tstamp' ?: <date_str_z>
                                        'ev_finish_tstamp' ?: <date_str_z>
                                        'initial_refresh' : <bool>
                                        'system_refresh' : <bool>
                                    }*
                                )
                            }*
                        )
                    }*
                )
            }*
        )
    }*
)
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
Required Permissions
  • SysAdmin access level
  • Available while Setup Mode is active.

Acquire a new license through the metering interface

POST /api/v6.1.0.3/metering/license_acquire
No query parameters
No extra request headers
No request body
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request: Hub system not registered
Required Permissions
  • SysAdmin access level
  • Available while Setup Mode is active.
Events
Creates no events.

Purge metering data

POST /api/v6.1.0.3/metering/purge
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'period_end' ?: <date_str_z>
No extra response headers
Response body is JSON.
Prototype:

'period_end' ?: <date_str_z>
'purged_days' ?: <int>
'purged_hours' ?: <int>
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
Required Permissions
  • SysAdmin access level
  • Available while Setup Mode is active.
Events
Creates no events.

Query registration status

POST /api/v6.1.0.3/metering/registration_status
No query parameters
No extra request headers
No request body
No extra response headers
Response body is JSON.
Prototype:

'account_name' ?: <str>
'require_mar_begin' ?: <null> | <date_str_z>
'require_usage_snapshot' ?: <bool>
'download_license' : <bool>
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request: Hub system not registered
Required Permissions
  • SysAdmin access level
  • Available while Setup Mode is active.
Events
Creates no events.

Upload metering/MAR records to registered service

POST /api/v6.1.0.3/metering/upload
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'period_begin' ?: <date_str_z>
'period_end' ?: <date_str_z>
'snapshots' ?: <bool>
No extra response headers
No response body
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
Required Permissions
  • SysAdmin access level
  • Available while Setup Mode is active.
Events
Creates no events.

Logfile Tailing Interface

Click here to see all end points in this interface.

Get log file content while a specified control was active

GET /api/v6.1.0.3/hubs/{hub}/jobs/{job}/controls/{ctrl_id}/log
Query parameter prototype:

'max_lines' ?: <int>
'head_crc' ?: crc<str>
'offset_begin' ?: <uint64_ascii>
'archive' ?: <str>
No extra request headers
No request body
Response headers prototype:

X-Dss-Offset-End : <int64_ascii>
X-Dss-Head-Crc : <str>
X-Dss-Archive-Next : <str>
X-Dss-Control-End : <str>
Response body is plain text
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
Required Permissions
  • ReadOnly access level on hub

Get hub's log file content

GET /api/v6.1.0.3/hubs/{hub}/logs/{file}
Query parameter prototype:

'max_lines' ?: <int>
'head_crc' ?: crc<str>
'offset_begin' ?: <uint64_ascii>
'offset_begin_limit' ?: <uint64_ascii>
'offset_end' ?: <uint64_ascii>
'search_eof' ?: <bool>
No extra request headers
No request body
Response headers prototype:

X-Dss-Offset-Begin : <int64_ascii>
X-Dss-Offset-End : <int64_ascii>
X-Dss-Head-Crc : <str>
X-Dss-File-Size : <int64_ascii>
X-Dss-Log-Previous : <str>
X-Dss-Log-Rotation-Gap-Estimate : <int64_ascii>
X-Dss-File-Creation : <date_str_z>
Response body is plain text
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: The requested log file does not exist
Required Permissions
  • ReadOnly access level on hub

Get hub's archived log file content

GET /api/v6.1.0.3/hubs/{hub}/logs/{file}/archive/{archive}
Query parameter prototype:

'max_lines' ?: <int>
'offset_begin' ?: <uint64_ascii>
'offset_end' ?: <uint64_ascii>
'search_eof' ?: <bool>
No extra request headers
No request body
Response headers prototype:

X-Dss-Offset-Begin : <int64_ascii>
X-Dss-Offset-End : <int64_ascii>
X-Dss-Log-Previous : <str>
X-Dss-Log-Next : <str>
Response body is plain text
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: The requested archived log file does not exist
Required Permissions
  • ReadOnly access level on hub

Search for timestamp in log file. Returns offset of first log line that starts with a timestamp bigger or equal to specified timstamp.

GET /api/v6.1.0.3/hubs/{hub}/logs/{file}/search
Query parameter prototype:

'search_tstamp' : <date_str_usecs_z>
No extra request headers
No request body
No extra response headers
Response body is JSON.
Prototype:

'path' : <str>
'offset' : <int64_ascii>
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
Required Permissions
  • ReadOnly access level on hub

Get log file content

GET /api/v6.1.0.3/logs/{file}
Query parameter prototype:

'max_lines' ?: <int>
'head_crc' ?: crc<str>
'offset_begin' ?: <uint64_ascii>
'offset_begin_limit' ?: <uint64_ascii>
'offset_end' ?: <uint64_ascii>
'search_eof' ?: <bool>
No extra request headers
No request body
Response headers prototype:

X-Dss-Offset-Begin : <int64_ascii>
X-Dss-Offset-End : <int64_ascii>
X-Dss-Head-Crc : <str>
X-Dss-File-Size : <int64_ascii>
X-Dss-Log-Previous : <str>
X-Dss-Log-Rotation-Gap-Estimate : <int64_ascii>
X-Dss-File-Creation : <date_str_z>
Response body is plain text
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: The requested log file does not exist
Required Permissions
  • SysAdmin access level

Get archived log file content

GET /api/v6.1.0.3/logs/{file}/archive/{archive}
Query parameter prototype:

'max_lines' ?: <int>
'offset_begin' ?: <uint64_ascii>
'offset_end' ?: <uint64_ascii>
'search_eof' ?: <bool>
No extra request headers
No request body
Response headers prototype:

X-Dss-Offset-Begin : <int64_ascii>
X-Dss-Offset-End : <int64_ascii>
X-Dss-Log-Previous : <str>
X-Dss-Log-Next : <str>
Response body is plain text
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: The requested archived log file does not exist
Required Permissions
  • SysAdmin access level

Miscellaneous Interface

Click here to see all end points in this interface.

Detect API versions available

GET /api
No query parameters
No extra request headers
No request body
No extra response headers
Response body is JSON.
Prototype:
 apiver<str>+
HTTP Status Codes
  • STATUS 200 OK: API versions fetched
  • STATUS 400 Bad Request
Required Permissions
  • No special permission required
  • Available while Setup Mode is active.

Query Interface

Click here to see all end points in this interface.

For each location in each channel calculate whichtables are captured and integrated, their schema and basenames, and latency SLA.

GET /api/v6.1.0.3/hubs/{hub}/query/channels
Query parameter prototype:

'channel' ?: ( <ident>+ )
'loc' ?: ( <ident>+ )
'fetch' ?: ( 'tables' | 'latency_sla'+ )
'table' ?: ( <ident>+ )
No extra request headers
No request body
No extra response headers
Response body is JSON.
Prototype:

chn<ident> *: {
    'locs' : {
        loc<ident> *: {
            'capture' : <bool>
            'integrate' : <bool>
            'capture_tables' ?: <int>
            'integrate_tables' ?: <int>
            'cap_integ_tables' ?: <int>
            'latency_sla_current' ?: secs<int>
            'tables' ?: {
                tablename<ident> *: {
                    'schema' ?: <str>
                    'base_name' ?: <str>
                    'capture' ?: <bool>
                    'integrate' ?: <bool>
                }
            }
        }
    }
}
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Hub does not exist
Required Permissions
  • ReadOnly access level on hub

For each location calculate which tables are capturedand integrated, their schema and basenames, and latency SLA.

GET /api/v6.1.0.3/hubs/{hub}/query/channels/{channel}/locs
Query parameter prototype:

'loc' ?: ( <ident>+ )
'fetch' ?: ( 'tables' | 'latency_sla'+ )
'table' ?: ( <ident>+ )
No extra request headers
No request body
No extra response headers
Response body is JSON.
Prototype:

loc<ident> *: {
    'capture' : <bool>
    'integrate' : <bool>
    'capture_tables' ?: <int>
    'integrate_tables' ?: <int>
    'cap_integ_tables' ?: <int>
    'latency_sla_current' ?: secs<int>
    'tables' ?: {
        tablename<ident> *: {
            'schema' ?: <str>
            'base_name' ?: <str>
            'capture' ?: <bool>
            'integrate' ?: <bool>
        }
    }
}
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Channel does not exist
Required Permissions
  • ReadOnly access level on hub

Calculate how table is defined for a location, including effect of actions

GET /api/v6.1.0.3/hubs/{hub}/query/channels/{channel}/locs/{loc}/tables/{table}
Query parameter prototype:

'context' ?: ( <ident>* )
No extra request headers
No request body
No extra response headers
Response body is JSON.
Prototype:

'schema' ?: <str>
'schema_type' ?: 'configured' | 'discovered'
'base_name' : <str>
'capture' : <bool>
'integrate' : <bool>
'key_mode' : 'explicit' | 'implicit' | 'duplicate_rows'
'cols' : (
    {
        'dsscolname' : <str>
        'basecolname' ?: <str>
        'core' ?: {
            'sequence' : <int>
            'key' ?: <int>
            'distrib_key' ?: <int>
            'data_type' : <str>
            'attributes' ?: {
                'encoding' ?: <str>
                'nullable' ?: <bool>
                'charlen' ?: <int64_ascii>
                'bytelen' ?: <int64_ascii>
                'prec' ?: <int>
                'scale' ?: <int>
                'timeprec' ?: <int>
                'dayprec' ?: <int>
                'yearprec' ?: <int>
                'bitlen' ?: <int>
            }
        }
        'with_col_props' ?: {
            'sequence' : <int>
            'key' ?: <int>
            'distrib_key' ?: <int>
            'data_type' : <str>
            'attributes' ?: {
                'encoding' ?: <str>
                'nullable' ?: <bool>
                'charlen' ?: <int64_ascii>
                'bytelen' ?: <int64_ascii>
                'prec' ?: <int>
                'scale' ?: <int>
                'timeprec' ?: <int>
                'dayprec' ?: <int>
                'yearprec' ?: <int>
                'bitlen' ?: <int>
            }
            'localize_type_change' : <bool>
            'sql_data_type' ?: <str>
            'other_props' : {
                'BaseName' ?: <str>
                'SoftDelete' ?: <true>
                'Extra' ?: <true>
                'CaptureExpression' ?: <str>
                'IntegrateExpression' ?: <str>
                'TimeKey' ?: <true>
                'CaptureFromRowId' ?: <true>
                'DistributionKey' ?: <true>
                'SurrogateKey' ?: <true>
            }
        }
    }*
)
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
Required Permissions
  • ReadOnly access level on hub

For each table calculate its schema, basename, and the lists of locations where the table is captured or integrated

GET /api/v6.1.0.3/hubs/{hub}/query/channels/{channel}/tables
Query parameter prototype:

'table' ?: ( <ident>+ )
No extra request headers
No request body
No extra response headers
Response body is JSON.
Prototype:

table<ident> *: {
    'schema_bases' ?: (
        {
            'schema' ?: <str>
            'schema_type' ?: 'configured' | 'discovered'
            'base_name' : <str>
            'cap_locs' ?: ( <ident>* )
            'integ_locs' ?: ( <ident>* )
        }*
    )
    'packed_inside' ?: <ident>
}
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Channel does not exist
Required Permissions
  • ReadOnly access level on hub

Gets general status and health of a hub

GET /api/v6.1.0.3/hubs/{hub}/query/status
No query parameters
No extra request headers
No request body
No extra response headers
Response body is JSON.
Prototype:

'hub_state' : <str LIVE FROZEN RESTARTING>
'freeze_time' ?: <date_str_z>
'log_dss_err_tstamp' ?: <date_str_z>
'log_dss_schederr_tstamp' ?: <date_str_z>
'jobs_over_latency_sla' : ( jobname<str>* )
'license' : 'NONE'
          | 'VALID'
          | 'EXPIRED'
          | 'HOST_MISMATCH'
          | 'EXCEEDED'
          | 'INVALID'
'licensing_expiry_warning' ?: <str>
'licensing_upload_error' ?: <str>
'licensing_acquire_error' ?: <str>
'perl_needed' ?: <bool>
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: The requested hub does not exist
Required Permissions
  • ReadOnly access level on hub

Repository Config Interface

Click here to see all end points in this interface.

Drop all repository tables

DELETE /api/v6.1.0.3/repos
No query parameters
No extra request headers
No request body
No extra response headers
No response body
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
Required Permissions
  • SysAdmin access level
  • Available while Setup Mode is active.
Events
Creates no events.

Check repository

GET /api/v6.1.0.3/repos
No query parameters
No extra request headers
No request body
No extra response headers
Response body is JSON.
Prototype:

'current_user_access' : {
    'level' : <str SysAdmin HubCreation None>
}
'version' : {
    'current' : <int>
    'required' : <int>
}
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
Required Permissions
  • No special permission required
  • Available while Setup Mode is active.

Create repository tables

POST /api/v6.1.0.3/repos
No query parameters
No extra request headers
No request body
No extra response headers
No response body
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
Required Permissions
  • SysAdmin access level
  • Available while Setup Mode is active.
Events
Creates the following event
Repository_Create

Get repository properties

GET /api/v6.1.0.3/repos/props
Query parameter prototype:

'fetch' ?: ( prop<str>+ )
Request headers prototype:

X-Dss-Classified-Access : <str>
No request body
Response headers prototype:

X-Dss-Classified-Transport-Key : <str>
X-Dss-Redacted-Storage : <str>
Response body is JSON.
Prototype:

prop<str> *: value<typeof_repos_prop>
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
Required Permissions
  • No special permission required
  • Available while Setup Mode is active.

Modify repository properties

PATCH /api/v6.1.0.3/repos/props
No query parameters
Request headers prototype:

X-Dss-Classified-Transport-Key : <str>
Request body is JSON.
Prototype:

prop<str> *: value<null> | <typeof_repos_prop>
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
Required Permissions
  • SysAdmin access level
  • Available while Setup Mode is active.
Events
Creates the following event
Repository_Property_Change

'props_after' : {
    prop<str> *: value<null> | <typeof_repos_prop>
}
'props_before' ?: {
    prop<str> *: value<typeof_repos_prop>
}

Replace all repository properties

PUT /api/v6.1.0.3/repos/props
No query parameters
Request headers prototype:

X-Dss-Classified-Transport-Key : <str>
Request body is JSON.
Prototype:

prop<str> *: value<typeof_repos_prop>
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
Required Permissions
  • SysAdmin access level
  • Available while Setup Mode is active.
Events
Creates the following event
Repository_Property_Set

'props_after' : {
    prop<str> *: value<null> | <typeof_repos_prop>
}
'props_before' ?: {
    prop<str> *: value<typeof_repos_prop>
}

Delete repository properties

POST /api/v6.1.0.3/repos/props_delete
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'props' : ( prop<str>+ )
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
Required Permissions
  • SysAdmin access level
  • Available while Setup Mode is active.
Events
Creates the following event
Repository_Property_Delete

'props' : ( prop<str>+ )

Statistics Interface

Click here to see all end points in this interface.

Fetch statistics

GET /api/v6.1.0.3/hubs/{hub}/stats/metrics
Query parameter prototype:

'fetch_values' ?: <bool>
'channel' ?: ( <str>+ )
'loc' ?: ( <str>+ )
'table' ?: ( <str>+ )
'metric' ?: ( <str>+ )
'time_gran' ?: ( <str '0' '1' '10' '60' '1440'>+ )
'scope' ?: ( <str '***' 'c**' 'cl*' 'c*t' '*l*' clt>+ )
'tstamp_begin' ?: <date_str_z>
'tstamp_end' ?: <date_str_z>
'updated_logs_since' ?: <date_str_z>
'updated_glob_since' ?: <date_str_z>
No extra request headers
No request body
Response headers prototype:

X-Dss-Logs-Last-Updated : <date_str_z>
X-Dss-Glob-Last-Updated : <date_str_z>
X-Dss-Logs-Last-Cycle : <date_str_z>
X-Dss-Glob-Last-Cycle : <date_str_z>
Response body is JSON.
Prototype:

metric<str> *: {
    timegran<str '0' '1' '10' '60' '1440'> +: {
        scope<str '***' 'c**' 'cl*' 'c*t' '*l*' clt> +: {
            channel<str> +: {
                loc<str> +: {
                    table<str> +: {
                        timestamp<date_str_z> *: metric_val<scal>
                    }
                }
            }
        }
    }
}
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
Required Permissions
  • ReadOnly access level on hub

Export statistics to a file

POST /api/v6.1.0.3/hubs/{hub}/stats/metrics/export
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'channel' ?: ( <str>+ )
'loc' ?: ( <str>+ )
'table' ?: ( <str>+ )
'metric' ?: ( <str>+ )
'time_gran' ?: ( <str '0' '1' '10' '60' '1440'>+ )
'scope' ?: ( <str '***' 'c**' 'cl*' 'c*t' '*l*' clt>+ )
'tstamp_begin' ?: <date_str_z>
'tstamp_end' ?: <date_str_z>
'format' : <str json csv xlsx>
No extra response headers
Response body is JSON.
Prototype:

'ref' : download<str>
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
Required Permissions
  • ReadOnly access level on hub
Events
Creates no events.

Fetch oldest stats history time for time granularity and scope

GET /api/v6.1.0.3/hubs/{hub}/stats/oldest
Query parameter prototype:

'time_gran' ?: ( <str '1' '10' '60' '1440'>+ )
'scope' ?: ( <str '***' 'c**' 'cl*' 'c*t' '*l*' clt>+ )
No extra request headers
No request body
No extra response headers
Response body is JSON.
Prototype:

time_gran<str '1' '10' '60' '1440'> +: {
    metric_scope<str '***' 'c**' 'cl*' 'c*t' '*l*' clt> +: <date_str_z>
}
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
Required Permissions
  • ReadOnly access level on hub

Table Adapt Interface

Click here to see all end points in this interface.

Logic to Add and Replace table definition info from tables in a source (or target) database

POST /api/v6.1.0.3/hubs/{hub}/channels/{channel}/locs/{loc}/adapt/apply
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'tables_in_channel' ?: {
    'tables' ?: ( dsstables<str>* )
    'check_layout' ?: <bool>
    'localize_datatypes' ?: <bool>
    'delete_tables' ?: 'none' | 'not_in_db' | 'not_in_mapspec_or_not_in_db'
    'ignore_diff' ?: (
        'col_dropped'
        | 'col_added'
        | 'data_type_changed'
        | 'data_type_family_changed'
        | 'col_range_smaller'
        | 'col_range_bigger'
        | 'distrib_key_removed'
        | 'distrib_key_added'
        | 'unique_index_removed'
        | 'unique_index_added'
        | 'nulls_removed'
        | 'nulls_added'
        | 'encoding_changed'*
    )
}
'add_tables' ?: <bool>
'add_table_group' ?: {
    'group' ?: <ident>
    'from_schema' ?: <bool>
}
'show_views' ?: <bool>
'mapspec' ?: {
    'tables' : (
        {
            'schema' ?: <str>
            'pattern' : <str>
            'not_pattern' ?: <str> | ( <str>+ )
        }
        | {
            'schema' ?: <str>
            'base_name' : <str>
        }*
    )
}
No extra response headers
Response body is JSON.
Prototype:

'tables_in_channel' ?: {
    dsstable<str> *: {
        'schema' : <str>
        'base_name' : <str>
        'type' ?: <str>
        'deleted' ?: <bool>
        'diff' ?: (
            'col_dropped'
            | 'col_added'
            | 'data_type_changed'
            | 'data_type_family_changed'
            | 'col_range_smaller'
            | 'col_range_bigger'
            | 'distrib_key_removed'
            | 'distrib_key_added'
            | 'unique_index_removed'
            | 'unique_index_added'
            | 'nulls_removed'
            | 'nulls_added'
            | 'encoding_changed'*
        )
    }
}
'add_tables' ?: (
    {
        'schema' : <str>
        'base_name' : <str>
        'type' : <str>
        'table' : dsstable<ident>
    }*
)
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Channel does not exist
Required Permissions
  • ReadWrite access level on hub
Events
Creates the following event
Table_Definition_Adapt

'tables_in_channel' ?: {
    'tables' ?: ( dsstables<str>* )
    'check_layout' ?: <bool>
    'localize_datatypes' ?: <bool>
    'delete_tables' ?: 'none' | 'not_in_db' | 'not_in_mapspec_or_not_in_db'
    'ignore_diff' ?: (
        'col_dropped'
        | 'col_added'
        | 'data_type_changed'
        | 'data_type_family_changed'
        | 'col_range_smaller'
        | 'col_range_bigger'
        | 'distrib_key_removed'
        | 'distrib_key_added'
        | 'unique_index_removed'
        | 'unique_index_added'
        | 'nulls_removed'
        | 'nulls_added'
        | 'encoding_changed'*
    )
}
'add_tables' ?: <bool>
'add_table_group' ?: {
    'group' ?: <ident>
    'from_schema' ?: <bool>
}
'show_views' ?: <bool>
'mapspec' ?: {
    'tables' : (
        {
            'schema' ?: <str>
            'pattern' : <str>
            'not_pattern' ?: <str> | ( <str>+ )
        }
        | {
            'schema' ?: <str>
            'base_name' : <str>
        }*
    )
}

Logic to compare table definition info with table layouts in a source (or target) db

POST /api/v6.1.0.3/hubs/{hub}/channels/{channel}/locs/{loc}/adapt/check
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'tables_in_channel' ?: {
    'tables' ?: ( dsstables<str>* )
    'check_layout' ?: <bool>
    'localize_datatypes' ?: <bool>
    'tables_not_matched_by_mapspec' ?: <bool>
    'ignore_diff' ?: (
        'col_dropped'
        | 'col_added'
        | 'data_type_changed'
        | 'data_type_family_changed'
        | 'col_range_smaller'
        | 'col_range_bigger'
        | 'distrib_key_removed'
        | 'distrib_key_added'
        | 'unique_index_removed'
        | 'unique_index_added'
        | 'nulls_removed'
        | 'nulls_added'
        | 'encoding_changed'*
    )
}
'add_tables' ?: <bool>
'show_views' ?: <bool>
'fetch_extra' ?: ( 'sap_description' | 'sap_refs' | 'db_stats'* )
'mapspec' ?: {
    'tables' : (
        {
            'schema' ?: <str>
            'pattern' : <str>
            'not_pattern' ?: <str> | ( <str>+ )
        }
        | {
            'schema' ?: <str>
            'base_name' : <str>
        }*
    )
}
'mapspec_table_not_in_db_error' ?: <bool>
No extra response headers
Response body is JSON.
Prototype:

'tables_in_channel' ?: {
    dsstable<str> *: {
        'schema' : <str>
        'base_name' : <str>
        'exists_in_db' ?: <bool>
        'type' ?: <str>
        'matched_by_mapspec' ?: <bool>
        'sap_unpack' ?: {
            'inside_table_base_name' : <str>
            'inside_table_exists' ?: <bool>
        }
        'sap_description' ?: <str>
        'sap_refs_to' ?: (
            {
                'base_name' : <str>
            }*
        )
        'db_stats' ?: {
            'num_rows' ?: <int64_ascii>
        }
        'diff' ?: (
            'col_dropped'
            | 'col_added'
            | 'data_type_changed'
            | 'data_type_family_changed'
            | 'col_range_smaller'
            | 'col_range_bigger'
            | 'distrib_key_removed'
            | 'distrib_key_added'
            | 'unique_index_removed'
            | 'unique_index_added'
            | 'nulls_removed'
            | 'nulls_added'
            | 'encoding_changed'*
        )
    }
}
'add_tables' ?: (
    {
        'schema' : <str>
        'base_name' : <str>
        'type' : <str>
        'sap_unpack' ?: {
            'inside_table_base_name' : <str>
            'inside_table_exists' ?: <bool>
        }
        'sap_description' ?: <str>
        'sap_refs_to' ?: (
            {
                'base_name' : <str>
            }*
        )
        'db_stats' ?: {
            'num_rows' ?: <int64_ascii>
        }
    }*
)
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: Channel does not exist
Required Permissions
  • ReadOnly access level on hub
Events
Creates no events.

Check table definition against the definition in a source (or target) database

POST /api/v6.1.0.3/hubs/{hub}/channels/{channel}/locs/{loc}/adapt/check/{table}
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'contexts' ?: ( <ident>* )
'localize_datatypes' ?: <bool>
'fetch_extra' ?: ( 'sap_description' | 'sap_refs' | 'db_stats'* )
No extra response headers
Response body is JSON.
Prototype:

'schema' ?: <str>
'schema_type' ?: 'configured' | 'discovered'
'base_name' : <str>
'capture' : <bool>
'integrate' : <bool>
'key_mode' : 'explicit' | 'implicit' | 'duplicate_rows'
'source_tables' ?: ( table<ident>+ )
'source_for_tables' ?: ( table<ident>+ )
'exists_in_db' : <bool>
'diff' : (
    'distrib_key_removed'
    | 'distrib_key_added'
    | 'unique_index_removed'
    | 'unique_index_added'
    | 'source_tables'*
)
'sap_unpack' ?: {
    'inside_table_base_name' : <str>
    'inside_table_exists' ?: <bool>
}
'sap_description' ?: <str>
'sap_refs_to' ?: (
    {
        'base_name' : <str>
    }*
)
'db_stats' ?: {
    'num_rows' ?: <int64_ascii>
}
'cols' ?: (
    {
        'dsscolname' ?: <str>
        'basecolname' ?: <str>
        'core' ?: {
            'sequence' : <int>
            'key' ?: <int>
            'distrib_key' ?: <int>
            'data_type' : <str>
            'attributes' ?: {
                'encoding' ?: <str>
                'nullable' ?: <bool>
                'charlen' ?: <int64_ascii>
                'bytelen' ?: <int64_ascii>
                'prec' ?: <int>
                'scale' ?: <int>
                'timeprec' ?: <int>
                'dayprec' ?: <int>
                'yearprec' ?: <int>
                'bitlen' ?: <int>
            }
        }
        'with_col_props' ?: {
            'sequence' : <int>
            'key' ?: <int>
            'distrib_key' ?: <int>
            'data_type' : <str>
            'attributes' ?: {
                'encoding' ?: <str>
                'nullable' ?: <bool>
                'charlen' ?: <int64_ascii>
                'bytelen' ?: <int64_ascii>
                'prec' ?: <int>
                'scale' ?: <int>
                'timeprec' ?: <int>
                'dayprec' ?: <int>
                'yearprec' ?: <int>
                'bitlen' ?: <int>
            }
            'localize_type_change' : <bool>
            'sql_data_type' ?: <str>
            'other_props' : {
                'BaseName' ?: <str>
                'SoftDelete' ?: <true>
                'Extra' ?: <true>
                'CaptureExpression' ?: <str>
                'IntegrateExpression' ?: <str>
                'TimeKey' ?: <true>
                'CaptureFromRowId' ?: <true>
                'DistributionKey' ?: <true>
                'SurrogateKey' ?: <true>
            }
        }
        'from_db' ?: {
            'sequence' : <int>
            'key' ?: <int>
            'distrib_key' ?: <int>
            'data_type' : <str>
            'attributes' ?: {
                'encoding' ?: <str>
                'nullable' ?: <bool>
                'charlen' ?: <int64_ascii>
                'bytelen' ?: <int64_ascii>
                'prec' ?: <int>
                'scale' ?: <int>
                'timeprec' ?: <int>
                'dayprec' ?: <int>
                'yearprec' ?: <int>
                'bitlen' ?: <int>
            }
            'sql_data_type' ?: <str>
            'diff' : (
                'data_type_changed'
                | 'data_type_family_changed'
                | 'col_range_smaller'
                | 'col_range_bigger'
                | 'nulls_removed'
                | 'nulls_added'
                | 'encoding_changed'*
            )
        }
        'db_stats' ?: {
            'num_distinct_values' ?: <int64_ascii>
        }
    }*
)
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
Required Permissions
  • ReadOnly access level on hub
Events
Creates no events.

For input tables plus tables replicated to/from location in channel, check if they are replicated to/from same location in other channels

POST /api/v6.1.0.3/hubs/{hub}/channels/{channel}/locs/{loc}/adapt/other_channels
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'tables' ?: (
    {
        'schema' ?: <str>
        'base_name' : <str>
    }*
)
No extra response headers
Response body is JSON.
Prototype:

{
    'schema' : <str>
    'base_name' : <str>
    'other_channels' : ( chn<ident>+ )
}*
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request: Location is a file location without external tables
Required Permissions
  • ReadOnly access level on hub
Events
Creates no events.

Parse adapt pattern file to mapspec in JSON format

POST /api/v6.1.0.3/hubs/{hub}/mapdoc/parse
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'mapdoc' : <str>
No extra response headers
Response body is JSON.
Prototype:

'tables' : (
    {
        'schema' ?: <str>
        'pattern' : <str>
        'not_pattern' ?: <str> | ( <str>+ )
    }
    | {
        'schema' ?: <str>
        'base_name' : <str>
    }*
)
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
Required Permissions
  • ReadOnly access level on hub
Events
Creates no events.

User Config Interface

Click here to see all end points in this interface.

Get user's hub properties

GET /api/v6.1.0.3/hubs/{hub}/users/{user}/props
Query parameter prototype:

'fetch' ?: ( prop<str>+ )
No extra request headers
No request body
No extra response headers
Response body is JSON.
Prototype:

prop<str> *: value<typeof_userhub_prop>
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
Required Permissions
  • CurrentUser access level
  • Available while Setup Mode is active.

Modify user hub properties

PATCH /api/v6.1.0.3/hubs/{hub}/users/{user}/props
No query parameters
No extra request headers
Request body is JSON.
Prototype:

prop<str> *: value<null> | <typeof_userhub_prop>
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
Required Permissions
  • CurrentUser access level
  • Available while Setup Mode is active.
Events
Creates no events.

Replace all user hub properties

PUT /api/v6.1.0.3/hubs/{hub}/users/{user}/props
No query parameters
No extra request headers
Request body is JSON.
Prototype:

prop<str> *: value<typeof_userhub_prop>
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
Required Permissions
  • CurrentUser access level
  • Available while Setup Mode is active.
Events
Creates no events.

Delete user hub properties

POST /api/v6.1.0.3/hubs/{hub}/users/{user}/props_delete
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'props' : ( prop<str>+ )
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
Required Permissions
  • CurrentUser access level
  • Available while Setup Mode is active.
Events
Creates no events.

Get list of users, including properties

GET /api/v6.1.0.3/users
Query parameter prototype:

'fetch' ?: field_or_prop( 'authentication' | 'contact_props' | 'all_props' | <str>+ )
No extra request headers
No request body
No extra response headers
Response body is JSON.
Prototype:

user<str> *: {
    'authentication' ?: 'local'
                      | 'pam'
                      | 'plugin'
                      | 'windows'
    'props' ?: {
        prop<str> *: value<typeof_user_prop>
    }
}
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
Required Permissions
  • No special permission required
  • Available while Setup Mode is active.

Create a new user

POST /api/v6.1.0.3/users
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'user' : name<str>
'authentication' : 'local'
                 | 'pam'
                 | 'plugin'
                 | 'windows'
'password' ?: <str>
'props' ?: {
    prop<str> *: value<typeof_user_prop>
}
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request: User already exists
Required Permissions
  • SysAdmin access level
  • Available while Setup Mode is active.
Events
Creates the following event
User_Create

'user' : name<str>
'authentication' : 'local'
                 | 'pam'
                 | 'plugin'
                 | 'windows'

Delete a user

DELETE /api/v6.1.0.3/users/{user}
No query parameters
No extra request headers
No request body
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
  • STATUS 404 Not Found: User doesn't exist
Required Permissions
  • SysAdmin access level
  • Available while Setup Mode is active.
Events
Creates the following event
User_Delete

'user' : name<str>

Get user, including properties

GET /api/v6.1.0.3/users/{user}
Query parameter prototype:

'fetch' ?: field_or_prop( 'authentication' | 'contact_props' | 'all_props' | <str>+ )
No extra request headers
No request body
No extra response headers
Response body is JSON.
Prototype:

'authentication' ?: 'local'
                  | 'pam'
                  | 'plugin'
                  | 'windows'
'props' ?: {
    prop<str> *: value<typeof_user_prop>
}
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
Required Permissions
  • No special permission required
  • Available while Setup Mode is active.

Reset password of user, with local authentication

PUT /api/v6.1.0.3/users/{user}/password
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'new_password' : <str>
'current_password' ?: <str>
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request: User does not have local authentication
  • STATUS 404 Not Found: User doesn't exist
Required Permissions
  • CurrentUser access level
  • Available while Setup Mode is active.
Events
Creates the following event
User_Password_Change

'user' : name<str>

Get user properties

GET /api/v6.1.0.3/users/{user}/props
Query parameter prototype:

'fetch' ?: ( prop<str>+ )
No extra request headers
No request body
No extra response headers
Response body is JSON.
Prototype:

prop<str> *: value<typeof_user_prop>
HTTP Status Codes
  • STATUS 200 OK
  • STATUS 400 Bad Request
Required Permissions
  • No special permission required
  • Available while Setup Mode is active.

Modify user properties

PATCH /api/v6.1.0.3/users/{user}/props
No query parameters
No extra request headers
Request body is JSON.
Prototype:

prop<str> *: value<null> | <typeof_user_prop>
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
Required Permissions
  • CurrentUser access level
  • Available while Setup Mode is active.
Events
Creates no events.

Replace all user properties

PUT /api/v6.1.0.3/users/{user}/props
No query parameters
No extra request headers
Request body is JSON.
Prototype:

prop<str> *: value<typeof_user_prop>
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
Required Permissions
  • CurrentUser access level
  • Available while Setup Mode is active.
Events
Creates no events.

Delete user properties

POST /api/v6.1.0.3/users/{user}/props_delete
No query parameters
No extra request headers
Request body is JSON.
Prototype:

'props' : ( prop<str>+ )
No extra response headers
No response body
HTTP Status Codes
  • STATUS 204 No Content
  • STATUS 400 Bad Request
Required Permissions
  • CurrentUser access level
  • Available while Setup Mode is active.
Events
Creates no events.