Table of Contents


Overview

Veeam Backup & Replication is backup software rather than storage. It runs backup jobs against virtual machines, physical servers with agents, file shares and cloud workloads, writes restore points into backup repositories, and records the outcome of every session. The information it holds is about protection state: which workloads are covered by a job, when each one last produced a good restore point, how far back the retained restore points go, which sessions failed and how much space each repository has left.

The ReadyWorks connector is a JSON REST client for a Veeam management endpoint, running on the json_rest_api.php driver. You supply the API domain, a username and password and a server-side working path, and it authenticates with a Base64-encoded HTTP Basic header. Veeam exposes more than one REST surface depending on which components are deployed, and they do not all accept HTTP Basic for the data calls, so confirm which endpoint your deployment presents before you build jobs against it.

Backup state is one of the more valuable things to hold in the estate because it gates action rather than describing it. A device that has no recent restore point should not be migrated, rebuilt or decommissioned, and in most organisations nobody can answer that question quickly across the whole estate. Reconciling Veeam’s protected-workload list against the ReadyWorks device inventory exposes the gap in both directions: machines that exist and are not being backed up, and backup jobs still running against machines that were retired months ago. Repository capacity and job failure history feed the same readiness view.

The connector is registered as bidirectional. Inbound jobs pull Veeam records into staging. The outbound side posts a record from ReadyWorks to an endpoint you nominate and captures status, message and record key from the reply. Neither direction ships with a Veeam endpoint configured.

NOTE: Veeam data ages faster than most estate data. A restore point that was current last night is stale evidence by the end of the week, so schedule these jobs at least daily if you intend to use them as a readiness gate.

Connector Properties

PropertyValue
IdentifierVEEAM
NameVeeam
DescriptionVeeam Backup & Recovery solution
Job TypesBoth Inbound and Outbound
Order380
EnabledYes
LockedYes
Block UpdateNo
Single AuthenticationNo
Windows OnlyNo
Connector Version2026-08-10
HooksNone
Additional Job FieldsNone
Image

Authentication Methods

Veeam offers a single authentication method, using a username and password sent as an HTTP Basic credential.

MethodIdentifierBase MethodScriptOrderEnabledConfig Fields
Basic Authorization: Username / PasswordVEEAM_a8ea7747deVEEAM_a8ea7747dejson_rest_api.php70Yes5

Method 1: Basic Authorization: Username / Password (VEEAM_a8ea7747de)

Connect to a GET method API with a username / password

Joins the connection’s username and password, Base64-encodes them and sends them as an Authorization: Basic header. Use a Veeam account with a read-only role so that ReadyWorks can read job, session and repository state without the ability to start, stop or delete backups.

Connection Configuration Fields (5)

OrderLabelTypeRequiredDefaultMax LenTooltip
10API DomaintextYes255Enter API domain of the Connection
10Server Temporary Working PathtextYesstorage/etl5255Enter path where temporary files are stored during data processing (exclude starting and ending backslash)
40UsernametextNo1024Tooltip for Username
50PasswordpasswordNo64000Tooltip for Password
250Additional Job Fieldsfields_listNoEnter list of additional fields to add to staging data for all jobs

Authentication Configuration

Headers sent on the authentication call:

HeaderValueBase64
Content-Type:application/jsonOff
Authorization: Basic%user_name%:%user_pass%On

cURL options:

OptionAuthentication CallData Calls
USERAGENTMozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0Same
SSL_VERIFYHOSTfalseSame
SSL_VERIFYPEERfalseSame
RETURNTRANSFERtrueSame
FOLLOWLOCATIONtrueSame
FAILONERRORtrueSame

NOTE: Username and Password are both marked optional even though the Basic credential is assembled from them, so a connection can be saved with no working credential.

NOTE: There is no Single Authentication control on this connection form, so the authentication phase repeats on every pagination and enumeration loop.

Inbound Job Fields Enabled (44)

Inbound jobs expose the full REST field set, including three levels of enumeration and all five pagination modes.

OrderLabelTypeRequiredDefaultTooltip
10Job DescriptiontextYesEnter description of the Job
20Job SchedulelookupYesDailySelect frequency Job should run
30EnabledradioYesYesChoose if Job is enabled
40Use Unparsed DataradioNoNoChoose if you wish to parse the incoming data, or leave it in its raw format
50Log Raw API CallsradioYesNoChoose if raw API calls are logged
70Destination TabletextYesEnter name of the destination table
80Data IdentitytextNoEnter identity of the Job
120Append New Data to Existing TablesradioNoNoChoose if new data will append to the existing destination table, or will create a new destination table
130Fields to IndextextNoEnter fields to index
170Method TypeselectYesGETSelect method type of the Job
190API End PointtextNoEnter API end point of the Job
200API Data Parametersfields_listNoEnter API data parameters of the Job
210Body Data Sending MethodselectYesJSON Encoded DataSelect method for sending the body data
220Raw JSON Body DatatextareaNoEnter the raw JSON body to send. Do not use body selections in the API Parameters if this is used.
230API Return Data NodetextNoEnter API return data node of the Job
250Pagination TypeselectNoNoneSelect request paging type of the Job
270API Pagination NodetextNoEnter API pagination node of the Job
280Pagination Offset StarttextNoEnter request paging offset start of the Job
290Pagination LimittextNoEnter request pagination limit of the Job
300Pagination Termination NodetextNoEnter request paging termination node and value of the Job
310Maximum API CallstextNoEnter maximum number of API calls for the Job to make
320Enumeration 1 TypeselectNoNoneEnter enumeration level 1 type
330Enumeration 1 ETL JoblookupNoSelect ETL job for the enumeration values
340Enumeration 1 Data Typedata_typeNoSelect the data type and fields for enumeration 1 values
350Enumeration 1 Keys End PointtextNoEnter enumeration 1 keys end point of the Job
360Enumeration 1 NodetextNoEnter enumeration 1 node of the Job
370Enumeration 1 Fieldsfields_listNoEnter enumeration 1 fields of the Job
380Enumeration 2 TypeselectNoNoneEnter enumeration level 2 type
390Enumeration 2 ETL JoblookupNoSelect ETL job for the enumeration 2 values
400Enumeration 2 Data Typedata_typeNoSelect the data type and fields for enumeration 2 values
410Enumeration 2 Keys End PointtextNoEnter enumeration 2 keys end point of the Job
420Enumeration 2 NodetextNoEnter enumeration 2 node of the Job
430Enumeration 2 Fieldsfields_listNoEnter enumeration 2 fields of the Job
440Enumeration 3 TypeselectNoNoneEnter enumeration level 3 type
450Enumeration 3 ETL JoblookupNoSelect ETL job for the enumeration 3 values
460Enumeration 3 Data Typedata_typeNoSelect the data type and fields for enumeration 3 values
470Enumeration 3 Keys End PointtextNoEnter enumeration 3 keys end point of the Job
480Enumeration 3 NodetextNoEnter enumeration 3 node of the Job
490Enumeration 3 Fieldsfields_listNoEnter enumeration 3 fields of the Job
500Pause EnumerationtextNoEnter values for pausing enumeration every X calls for Y seconds
510Kill Enumeration on ErrorradioNoNoChoose to stop the enumeration loop on an error or continue processing the loop
520Additional Fieldsfields_listNoEnter list of additional fields to add to staging data
550Retry PausetextNoEnter values for retrying a failed API connection. Retry X times, waiting Y seconds between each try, with an API timeout of Z seconds.
560OrdertextYesEnter order of the Job

NOTE: Several labels and tooltips in this form carry defects inherited from the shared ETL5 field templates: the Enumeration 1 Node label reads “Enumaration”, the Append New Data label reads “Exisiting”, and the help text on Enumeration 1 Keys End Point and Enumeration 3 Fields both refer to enumeration 2. The underlying fields behave as their labels say.

Outbound Job Fields Enabled (13)

Outbound jobs expose the REST posting field set, including the outbound field list, the return data mapping and an optional raw JSON body template.

OrderLabelTypeRequiredDefaultTooltip
10Job DescriptiontextYesEnter description of the Job
30EnabledradioYesYesChoose if Job is enabled
50Log Raw API CallsradioYesNoChoose if raw API calls are logged
170Method TypeselectYesGETSelect method type of the Job
180Data Sending MethodselectYesJSON Encoded DataSelect method for sending the outbound data
190API End PointtextNoEnter API end point of the Job
200API Data Parametersfields_listNoEnter API data parameters of the Job
210Body Data Sending MethodselectYesJSON Encoded DataSelect method for sending the body data
260Return Data Fields Listfields_listYesEnter return data fields of the Job
530Outbound Fields Listfields_listYesEnter outbound fields of the Job
540Ignore Empty Outbound FieldsradioNoYesIgnore, and do not include, any outbound fields that are empty and have no data
550Raw JSON Outbound TemplatetextareaNoEnter the raw JSON outbound template to send. This will replace any automated structures defined in the outbound fields.
560OrdertextYesEnter order of the Job

Inbound Job Templates (1)

Veeam ships one inbound template, and it is the generic REST skeleton rather than a backup job, session or repository pull.

#Job DescriptionDestination TableAPI End PointEnabledWhat It Pulls
1Rest GET APIapi_dataNot setNoAn empty starting point for a GET request, with no API End Point, no return data node and no pagination, writing to a placeholder staging table called api_data. It is the shell from which protection-state jobs have to be built.

Job Template Configuration

Settings

SettingValue
Order10
EnabledNo
Job ScheduleDaily (15 1 * * *)
Destination Tableapi_data
Data Identityapi_data
Allow Empty TableYes
Append Files to Same Destination TableNo
Append New Data to Existing TablesNo
Use Unparsed DataNo
Convert UUID-Keyed Objects to RowsNo
Ignore XML AttributesNo
Log Raw API CallsNo
Method TypeGET
Body Data Sending MethodJSON Encoded Data

NOTE: Session and restore-point collections grow with every backup run, so any job cloned from this template needs both a Pagination Type and a date or session filter before it is enabled.

Outbound Job Templates (1)

One outbound template ships, and it is the matching generic REST skeleton.

#Job DescriptionMethodAPI End PointEnabledWhat It Does
1Rest POST APIPOSTNot setNoAn empty POST job. It sends a single required string field named record_key as a JSON body to an endpoint you supply, and reads status, message and data.record_key back out of the response.

Job Template Configuration

Settings

SettingValue
Order10
EnabledNo
Log Raw API CallsNo
Method TypePOST
Body Data Sending MethodJSON Encoded Data
Data Sending MethodJSON Encoded Data
Ignore Empty Outbound FieldsYes

Job Parameters and Enumeration

Rest POST API

Outbound fields list:

LabelNameTypeRequiredPattern
Record Keyrecord_keyStringon

Return data fields:

LabelName
Return Statusstatus
Return Messagemessage
Record Keydata.record_key
Last updated on 11/4/2026

Attachments