Objects
Objects is a section that defines the objects and their fields in the GraphQL connector. It contains object configurations.
Object configurations contain the following settings:
| Setting | Description |
|---|---|
| Name | The name of the object |
| Path | The path to the array of object records in the GraphQL query. |
| Headers | The headers of the web request for reading the object |
| ConstantParameters | Constant parameters of the web request for reading object |
| PagingStrategy | Object pagination settings |
| SortOperation | Section for sorting settings |
| ErrorHandling | Error processing settings |
| Columns | The section of object fields settings |
| ParentRelations | The section of settings that configure object relationships |
| RetrieveSingleOperation | The section for configuring the operation of retrieving the object records by IDs |
| CRUD Operations | Section for configuring the object's CRUD operations |
For example,
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
{
"Objects": [
{
"Name": "Boards",
"Path": "query.boards",
"PagingStrategy": {
"Type": "PageNo",
"StartIndex": 1,
"PageSize": 100,
"PageNoArgument": "page",
"PageNoBasePathPosition": 0,
"PageNoPath": "query.boards",
"PageSizeArgument": "limit",
"PageSizeBasePathPosition": 0,
"PageSizePath": "query.boards",
"TotalPageCountBasePathPosition": 0,
"TotalPageCountPath": null,
"TotalRowsBasePathPosition": 0,
"TotalRowsPath": null,
"HasMoreBasePathPosition": 0,
"HasMorePath": null,
"EndErrors": [
]
},
"Headers": [
{
"Key": "TestHeaderKey",
"Value": "TestHeaderValue"
}
],
"RetrieveSingleOperation": {
"Path": "query.boards",
"Arguments": [
{
"ColumnName": "Id",
"Argument": "ids",
"Path": "query.boards",
"BasePathPosition": 0
}
]
},
"InsertOperation": {
"Path": "mutation.create_board",
"ReturningPath": "mutation.create_board",
"ReturningStrategy": {
"Type": "Row"
},
"BulkSize": 5
},
"DeleteOperation": {
"Path": "mutation.delete_board",
"ReturningPath": "mutation.delete_board.id",
"BulkSize": 5
},
"Columns": [
{
"Name": "Id",
"Path": "id",
"DbType": "String",
"Primary": true,
"Createable": false,
"Updateable": false,
"DeletePath": "board_id",
"FilterOperations": [
{
"Operation": "IN",
"Argument": "ids",
"BasePathPosition": 2
}
]
},
{
"Name": "Name",
"Path": "name",
"InsertPath": "board_name",
"Creatable": true,
"Required": true,
"DbType": "String"
},
{
"Name": "Description",
"Path": "description",
"Createable": true,
"DbType": "String",
"Length": 2147483647
}
]
}
]
}
General Settings
Name
The name of the object.
Path
The path to the array of object records in the GraphQL query. The object’s fields for the SELECT operation are appended to the last segment of this path. (required parameter).
Headers
The headers of the web request for reading the object. Specify Headers as a JSON array of objects with the Key and Value properties. These headers are merged with the respective constant headers, specified in ProviderConfiguration Headers section.
ConstantParameters
The constant parameters added to GraphQL Query/Mutation for reading the object. These constant parameters are merged with the respective constant parameters, specified in ProviderConfiguration ConstantParameters section.
PagingStrategy
This section defines the specific paging strategy for an object. Add this section if it differs from the ProviderConfiguration PagingStrategy
ErrorHandling
Determines the specific object behavior in case of errors. Add this section if the behavior differs from the general settings provided in ProviderConfiguration ErrorHandling section.
SortOperation
Determines the sorting parameters for the object. Add this section if it differs from the ProviderConfiguration SortOperation section.
Columns
This section contain configurations, which define connector object fields:
| Setting | Description |
|---|---|
| Name | The name of the field |
| Path | The relative path of the column in the GraphQL query |
| InsertPath | The field API name for INSERT operation |
| UpdatePath | The field API name for UPDATE operation |
| DeletePath | The field API name for DELETE operation |
| SingleResultPath | The JSON path to the corresponding property in the response for the RetrieveSingleOperation |
| ReturningResultPath | The JSON path to the corresponding property in the response after performing the INSERT or UPDATE operation |
| Primary | Defines whether the field is the primary key |
| DbType | Defines the field data type |
| SubType | Defines the element type for complex JSON object or JSON array object field |
| Length | Max number of characters for text type fields |
| Precision | Max number of significant digits for a numeric field |
| Scale | Number of characters after comma for numeric fields |
| TimeStampStoreMode | The timestamp data format setting |
| DateTimeFormat | Defines how to process the DateTime data |
| DateFormat | Defines how to process the Date data |
| TimeFormat | Defines how to process the Time data |
| Nullable | Defines if the field accepts the null value |
| Required | Defines whether the field is required or optional |
| Createable | Defines if the field supports the INSERT operation |
| Updateable | Defines if the field supports the UPDATE operation |
| ReadOnly | Defines whether the field is read-only |
| DefaultValue | Allows setting the default value for the field |
| NullAs | This setting defines a value the source uses as a null value |
| ExcludeNullValuesFromUpdate | Defines whether to pass the null values to this field during the UPDATE operation |
| ExtendedRequest | Defines whether this field can be obtained only via requesting a record by its ID |
| Enum | Defines if the field has a set of specific valid values |
| MultiEnum | Defines if the field is an array of specific valid values |
| EnumValues | Defines the set of specific valid values for the field |
| StrictEnumValues | Defines whether to check if the field values match the list of valid values |
| Expression | Defines a field value using an expression |
| Sortable | Defines whether the fields supports sorting |
| SortPath | The field API name for sorting |
| DownloadContent | Defines the processing of binary content |
| FilterOperations | Section that specifies filters natively supported by the data source API |
Name
The field name the user will see when querying the object data. For example, {"Name":"Amount"}.
Path
The relative path of the field in the GraphQL query. The base path for it is always the object’s Path. For example: "Path": "author.id". If we do not want to read the field from the results and the column is only needed to send an argument in DML operations, then this path should not be specified (instead, InsertPath/UpdatePath should be specified).
If the field value is nested within other properties, the Path specifies the path to the column in the format: <parent property name>.<property name>. The nesting level is unlimited.
Although unlikely, if a dot is part of the property name rather than a hierarchy separator, quoting with {} should be used. For example: Path: "{my.amount}"
For example, the source API returns the address in the following format:
1
2
3
4
5
6
7
8
9
10
{
"address": {
"country" : "USA",
"city" : "New York",
"contactInfo" : {
"phone" : "1111",
"fax" : "1111"
}
}
}
The corresponding fields in the corresponding object configuration should look like this:
1
2
3
4
{ "Name":"AddressCountry", "Path": "address.country",... }
{ "Name":"AddressCountry", "Path": "address.city",... }
{ "Name":"AddressPhone", "Path": "address.contactInfo.phone",... }
{ "Name":"AddressFax", "Path": "address.contactInfo.fax",... }
SingleResultPath
The relative path of the column in GraphQL for RetrieveSingleOperation. The base path for it is the Path of the operation in RetrieveSingleOperation.
InsertPath
Use this setting when the field path in the INSERT mutation differs from the Path for SELECT. The name or internal path of the GraphQL argument for the value of this field in InsertOperation. The base path for this argument is the Path of the InsertOperation.
UpdatePath
Use this setting when the field path in the UPDATE mutation differs from the Path for SELECT. The name or internal path of the GraphQL argument for the value of this field in UpdateOperation. The base path for this argument is the Path of the UpdateOperation.
DeletePath
Use this setting when the field path in the DELETE mutation differs from the Path for SELECT. The name or internal path of the GraphQL argument for the value of this field in DeleteOperation. The base path for this argument is the Path of the DeleteOperation.
ReturningPath
The relative path of the field in GraphQL for InsertOperation and UpdateOperation. The base path for this argument is the ReturningPath of the corresponding operation.
Use this setting when:
- ReturningStrategy is defined for an object or for the connector globally.
- The field path in the INSERT/UPDATE operation result differs from the path in SingleResultPath or Path.
Primary
Defines whether the field is the primary key or not. It accepts true and false values. Default value is false. Set Primary = true for every composite key field to define the composite primary key. We recommend specifying the primary key fields at the beginning of object configuration.
DbType
Defines the field data type. Default data type is String.
1
2
3
4
5
{
"Name":"FirstName",
"Path": "first_name",
"DbType":"String"
}
The list of possible data types is the following:
| Data Type | Description |
|---|---|
| Boolean | A simple type representing Boolean values of true or false |
| Byte | An 8-bit unsigned integer ranging in value from 0 to 255 |
| Int16 | An integral type representing signed 16-bit integers with values between -32768 and 32767 |
| Int32 | An integral type representing signed 32-bit integers with values between -2147483648 and 2147483647 |
| Int64 | An integral type representing signed 64-bit integers with values between -9223372036854775808 and 9223372036854775807 |
| Single | A floating point type representing values ranging from approximately 1.5 x 10-45 to 3.4 x 1038 with a precision of 7 digits |
| Double | A floating point type representing values ranging from approximately 5.0 x 10-324 to 1.7 x 10308 with a precision of 15-16 digits |
| Decimal | A simple type representing values ranging from 1.0 x 10-28 to approximately 7.9 x 1028 with 28-29 significant digits |
| Time | A type representing a time value |
| Date | A type representing a date value |
| DateTime | A type representing a date and time value |
| DateTimeOffset | Date and time data with time zone awareness. Date value range is from January 1,1 AD through December 31, 9999 AD. Time value range is 00:00:00 through 23:59:59.9999999 with an accuracy of 100 nanoseconds. Time zone value range is -14:00 through +14:00 |
| String | A type representing Unicode character strings |
| Guid | A globally unique identifier (or GUID) |
| Binary | A variable-length stream of binary data ranging between 1 and 8,000 bytes |
| JsonArray | JSON Array |
| JsonObject | JSON Object |
SubType
Specifies the data type for complex JSON object or JSON array fields (having DbType set to JsonArray or JsonObject).
For JsonObject fields, it can be a name or complex type. For JsonArray fields, it can be the name of a complex type or the name of a simple data type, and it specifies the type of array elements.
If the SubType is not specified, the JSON field content is passed as is without further processing and mapping to a specific sub type fields structure.
Length
Number of characters for text type fields. Default values are: 38 for Guid, int.Maxvalue for JSON Object or JSON Array, 255 for other text types.
Precision
Max number of significant digits for a numeric field. For example,
1
2
3
4
5
6
7
{
"Name": "Amount",
"Path": "amount",
"DbType": "Decimal",
"Precision": 15,
"Scale": 5
}
Scale
Number of characters after comma for numeric fields.
1
2
3
4
5
6
7
{
"Name": "Amount",
"Path": "amount",
"DbType": "Decimal",
"Precision": 15,
"Scale": 5
}
TimeStampStoreMode
Use this setting to redefine the TimeStampStoreMode from the ProviderConfiguration section for the specific field.
For example,
1
2
3
4
5
6
{
"Name": "AvailableOn",
"Path": "available_on",
"DbType": "DateTime",
"TimeStampStoreMode": "SecondsSinceEpoch"
},
DateTimeFormat
This setting defines how to process the DateTime data. If you omit it, it inherits the DateTimeFormat value from the ProviderConfiguration section.
DateFormat
This setting defines how to process the Date data. If you omit it, it inherits the DateFormat value from the ProviderConfiguration section.
TimeFormat
This setting defines how to process the Time data. If you omit it, it inherits the TimeFormat value from the ProviderConfiguration section.
Nullable
This setting defines if the field can accept null values. Accepts true or false values. Default value is true.
Required
This setting defines whether the field is required or optional to fill in. Accepts true or false values. Default value false.
DMLKey
This setting defines if you can use this field in the WHERE condition of the UPDATE or DELETE operations to facilitate a record search and processing. Accepts true or false values.
Createable
Boolean setting, which defines if the field supports the INSERT operation. Accepts true or false values. Default value is True.
You must declare the InsertOperation section to use the INSERT operation.
Updatable
Boolean setting, which defines if this field supports the UPDATE operation. Accepts true or false values. Default value is True.
You must declare the UpdateOperation section to use the UPDATE operation.
DefaultValue
This setting defines the default value for the field.
1
2
3
4
5
6
{
"Name": "Amount",
"Path": "amount",
"DbType": "Decimal",
"DefaultValue": 0
}
NullAs
This setting defines a value the source uses as an empty value. This setting impacts the web requests for CRUD operations.
For example, some source uses "name": "" instead of "name": null. In this case, you specify "NullAs": "".
ExcludeNullValuesFromUpdate
Use this setting to omit fields with null values during the UPDATE operation. The connector will omit fields, for which null values are passed, in the request.
ExtendedRequest
Source API may return only part of the fields for some objects when querying multiple records. To query the values of lacking fields, Skyvia can perform additional extended requests for each record of such an object. However, this can decrease performance and significantly increase the number of API calls.
This setting defines whether it is necessary to perform such additional web requests by a record ID to get this field value for each record.
Skyvia performs additional requests only if at least one field with ExtendedRequest = true is present in the web request. If no fields with ExtendedRequest = true are selected in the request, then no additional requests exist.
Use this setting only if the RetrieveSingleOperation setting is determined for the object.
ExtendedRequest is boolean and accepts the true and false value. Default value is false.
Consider the source API limits when using this setting. We recommend using it to get data from really necessary or required fields.
CacheForInsert
Determines whether the field value should be stored for use in the RETURNING clause of the INSERT operation.
CacheForUpdate
Determines whether the field value should be stored for use in the RETURNING clause of the UPDATE operation. The primary key field is stored for RETURNING regardless of the value of this setting.
Enum
This setting defines if the field has a set of specific valid values. Enum and accepts True or False values.
Use this setting always together with EnumValues setting.
MultiEnum
This setting defines if the field is an array of specific valid values. MultiEnum accepts True or False values.
Use this setting always together with EnumValues setting.
EnumValues
This setting defines the set of specific valid values for the field if Enum or MultiEnum is true.
It is represented as key-value pairs: [{Name1:value1}, {Name2:value2}].
For example, the Status field valid values are: canceled, chargeable, consumed, failed.
The Columns setting for the Status field will look like:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{
"Name": "Status",
"Path": "status",
"DbType": "String",
"Enum": true,
"EnumValues": [{
"Name": "Canceled",
"Value": "canceled"
},
{
"Name": "Chargeable",
"Chargeable": "chargeable"
},
{
"Name": "Consumed",
"Value": "consumed"
},
{
"Name": "Failed",
"Value": "failed"
}
]
}
Here, Name is a name of the list item, displayed to the Skyvia user. Value is the internal data source API value of the corresponding list item.
StrictEnumValues
Determines whether you can assign only values from the EnumValues list to this field, and custom values are not allowed. The default value is False.
Expression
This setting defines a field value using an expression. You can use it both to define a completely virtual calculated field and to redefine the value of an existing field. When specifying an expression, use the API names of the response object properties. You must specify API names without parentheses or quotes. If the expression uses the name of a nested JSON property, separate the names with the dot (for example, shipping.country).
You can find the Expression syntax and the list of supported functions and operators in our Expression Syntax documentation.
Sortable
This setting indicates whether the endpoint supports native sorting by this field. The default value is false.
If Sortable is set to true, a corresponding SortOperation setting must be defined either at the object level or in the Provider Configuration. If Sortable is enabled but no SortOperation is defined, the configuration is invalid, metadata reading fails with an error.
SortPath
The name or internal path of the GraphQL argument for the value of this field when sorting. The base argument for it is the SortArgument of the SortOperation. It is used when a name different from the one specified in Path must be used. If not specified, Path is used for sorting.
DownloadContent
Use this setting when the value from Path contains a direct download URL to a binary file (a full URL starting with http:// or https://). Valid values are true or false. DownloadContent setting is applicable to binary fields.
When this option is enabled, the connector sends an additional request to the provided URL and returns the binary content from the response. Only one field per object can have DownloadContent enabled.
The connector can automatically assign correct file names and extensions to downloaded files if an object contains this information. To enable this behavior, do the following:
- Name the field with binary content Content.
- Name the field that contains the file name, FileName, or Name.
- If the file extension is provided separately, name the field containing the extension FileExtension or Extension.
This naming convention allows the connector to correctly reconstruct the downloaded file metadata.
FilterOperations
This section contain filter operation configurations, which determine the filtering operations natively supported for the object by the data source API.
For example, below you see the FilterOperations in Fireflies.ai for the CreatedAt field of the Transcripts object. The API supports two arguments for filtering: fromDate and toDate. Using them, we can support filters with GreaterThan, GreaterThanOrEquals, LessThan, and LessThanOrEquals operators.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
{
"Name": "CreatedAt",
"Path": "dateString",
"DbType": "DateTime",
"FilterOperations": [
{
"Operation": "GreaterThan",
"Argument": "fromDate",
"BasePathPosition": 2,
"DateTimeFormat": "yyyy-MM-ddTHH:mm:ss.fffZ",
"Delta": 1
},
{
"Operation": "GreaterThanOrEquals",
"Argument": "fromDate",
"BasePathPosition": 2,
"DateTimeFormat": "yyyy-MM-ddTHH:mm:ss.fffZ",
"Delta": 0
},
{
"Operation": "LessThanOrEquals",
"Argument": "toDate",
"BasePathPosition": 2,
"DateTimeFormat": "yyyy-MM-ddTHH:mm:ss.fffZ",
"Delta": 0.999
},
{
"Operation": "LessThan",
"Argument": "toDate",
"BasePathPosition": 2,
"DateTimeFormat": "yyyy-MM-ddTHH:mm:ss.fffZ",
"Delta": -0.001
}
]
}
Every FilterOperation setting has the following nested settings:
Operation
Defines the type of filter operation supported by source API. Valid values are Equals, LessThan, LessThanOrEquals, GreaterThan, GreaterThanOrEquals, In.
When the data source API supports the
INoperator andINis declared in the FilterOperations for the field, then the connector behaviour is the following. When you use filters withORandEqualsoperators for the same field on the same level, the connector will transform such filter into a one withINoperator and execute it natively. For example, if a query specifies a filter likeWHERE (InvoiceId = '111' OR InvoiceId = '222' OR InvoiceId = '333'), the connector will process it internally asWHERE InvoiceId IN ('111', '222', '333')and executed natively.
Argument
The name or internal path of the GraphQL argument for the filter value. Required parameter.
Path
The path to the field where the argument itself should be placed. When BasePathPosition = 0, this is an absolute path.
BasePathPosition
The index of the base path element to which Path (if specified) or Argument (if Path is not specified) is added. Default value is 0. Either Path or BasePathPosition must be specified.
Required
Defines whether the filter is required or not. Can accept the true or false value. Default value is false.
If the filter is required, you can't execute the web request to this object without a filter by this field.
DbType
Redefines the filter argument data type. If omitted, the argument data type is inherited from the field DbType.
SubType
Redefines the filter argument subtype. If omitted, argument subtype is inherited from the field SubType.
TimeStampStoreMode
Redefines the filter argument TimeStampStoreMode. If omitted, argument TimeStampStoreMode is inherited from the field TimeStampStoreMode.
DateTimeFormat
Redefines the filter argument DateTimeFormat. If you omit it, the argument DateTimeFormat is inherited from the field DateTimeFormat.
DateFormat
Redefines the filter argument DateFormat. If you omit it, the argument DateFormat is inherited from the field DateFormat.
TimeFormat
Redefines the filter argument TimeFormat. If you omit it, the argument TimeFormat is inherited from the field TimeFormat.
NullAs
Redefines the filter argument NullAs. If you omit it, the argument NullAs is inherited from the field NullAs.
Delta
This setting specifies an offset that is added to the filter value for numeric and date fields when the request is formed. It is used to adjust filter values so that both inclusive (LessThanOrEquals/GreaterThanOrEquals) and exclusive (LessThan/GreaterThan) comparison operators work correctly.
For numeric fields, only the integer part of the value is used. For date and time values, the offset is applied in seconds.
Many APIs support filtering with a single comparison parameter (for example, by datetime) but interpret it differently: some treat the value as inclusive, others as exclusive. Because of this, an API may natively support only LessThan/GreaterThan or LessThanOrEquals/GreaterThanOrEquals operators, but not both. Delta makes this possible by shifting the filter value. For example, adding one second enables an exclusive GreaterThan filter on top of a native inclusive comparison, while subtracting one second enables an inclusive GreaterThanOrEquals filter on top of a native exclusive comparison.
CacheValue
Specifies whether the value used in a filter should be included in the query result. Allowed values are true or false.
When this setting is enabled, the value of the field used in the filter is added to the resulting object during query execution. This setting is useful when an object supports range filters (for example, from and to), but the API response does not return these values. Enabling CacheValue ensures that the filtered values are available in the result set.
ParentRelations
This section contains parent relationship configurations that define the parent relationships of the current object with another object.
Parent relationship configurations have the following settings:
Field
The foreign key field that refers to the parent object.
RelatedTable
The name of the parent object.
RelatedField
Key field in the parent object by which the foreign key relation is built.
RetrieveSingleOperation
This section defines the operation of fetching a record by its primary key.
We highly recommend specifying this setting if the source API allows getting the object records by their IDs.
For example, the connector performs the request SELECT * FROM Object WHERE Id = <id_value> via 1 API call, with the RetrieveSingleOperation defined. If you omit RetrieveSingleOperation, the connector will read all the object records into the cache and then perform the request to this cache instead of calling the object directly. It takes more time and more API calls.
RetrieveSingleOperation includes the following settings:
Path
The base path of the record in the GraphQL query. The object’s fields in the GraphQL query are appended to the last segment of this path. If Path is not specified, the object’s Path is used instead.
CacheKeys
Takes the ID value from the filter and adds it to the resulting object. Use it when the resulting object returned by RetrieveSingleOperation does not include the key field value, even though the specific record is retrieved by that value. Accepts true or false (default) values.
Arguments
This section contains argument configurations which define the arguments of RetrieveSingleOperation.
Argument configurations contain the following settings:
ColumnName
Name of the key field for RetrieveSingleOperation. Required parameter.
Argument
Name or internal path of the GraphQL operation argument. Required parameter.
Path
Path to the field where the argument is located. When BasePathPosition = 0, this is an absolute path.
BasePathPosition
Index of the base path element (Path from RetrieveSingleOperation) to which Path (if specified) or Argument (if Path is not specified) is added. Default value is 0. Either Path or BasePathPosition must be specified.
CRUD Operations
Settings for INSERT, UPDATE, and DELETE operations for the connector's objects are defined in the InsertOperation, UpdateOperation and DeleteOperation sections. If any of these sections is not specified in an object configuration, the corresponding DML operation is not available for the object.
Every CRUD operation section contains the following settings:
Path
GraphQL path of the mutation for its arguments. GraphQL arguments, which typically contain the fields corresponding to the record on which the DML operation is performed, are appended to the last segment of this path. Required parameter.
ReturningPath
GraphQL mutation path for retrieving mutation results. GraphQL fields corresponding to the object fields from RETURNING, if present, are appended to the last segment. This path must point to a JSON object for INSERT and UPDATE operations, or to any value for a DELETE operation (for example, deletedArticleId). The record or value obtained by this path may participate in:
- Emptiness check in RowErrorHandling when ErrorThrowPolicy is set to OnEmptyData.
- Returning, if it is supported and present in the query.
By default, it is equal to Path.
Headers
Additional web request headers that are sent for this operation. Specify Headers as a JSON array of objects with the Key and Value properties. They are merged with Headers specified in the ProviderConfiguration section as well as with headers in the corresponding setting of an object.
ConstantParameters
Allows to set constant parameters for the specific operation.
These parameters are merged with ConstantParameters specified in the ProviderConfiguration section as well as with ConstantParameters specified on the object level.
ReturningStrategy
JSON object defining how fields are returned when the RETURNING operation is specified. See Provider Configuration ReturningStrategy.
BulkSize
BulkSize is used to insert, update, or delete multiple rows within a single request. So that operations on multiple records are executed faster. Use BulkSize carefully considering that source API may set limits for a single request data volume.
- When set to > 1, the GraphQL mutation contains the number of modified records equal to the value of this parameter. This significantly speeds up DML operations on multiple records.
- When set to ≤ 1 (0 or 1), DML operations are executed row by row Default is 0.
ErrorHandling
Use it to override the object’s ErrorHandling and the provider’s ErrorHandling . ErrorHandling is used to process errors not declared in the query (no additional fields are added to the query for them). For bulk requests, this typically applies when the entire request fails rather than an error occurring in a specific row.
RowErrorHandling
Defines the error handling behavior on record level (a specific GraphQL mutation within the request). This parameter is used when additional fields must be specified in the GraphQL mutation to capture mutation errors. Settings are similar to Provider Configuration ErrorHandling. ErrorsPath and ErrorMessagePath from RowErrorHandling are added to the query. You can use semicolon in the ErrorMessagePath, to add multiple fields to the GraphQL query. For example, "message;path".