Create a column
Adds a column to the template. type and at least one of technical_name /
pretty_name are required: when only one is given, it is used for both.
Column names are unique within the template (case-insensitive). Without
position, the column is added last; other columns are not renumbered.
Every transformation using the template is re-run in the background to fill the new column. Validation constraints are managed with the constraint endpoints.
https://api.wetransform.com/template/{templateHandle}/column
| Parameter | Description |
|---|---|
{templateHandle} |
The template handle, e.g. |
A template column. On creation, type and one of technical_name / pretty_name are required.
Validation constraints are managed with the constraint endpoints.
position
integer
1-based position of the column in the delivered file. On creation, defaults to after the last column.
Other columns are not renumbered.
3
technical_name
string
Column header in the delivered file. Unique within the template (case-insensitive).
When omitted on creation, pretty_name is used. On update, send it together with pretty_name: sending only one of them sets both names to that value.
"age"
pretty_name
string
Label shown to your customers in the interface. Defaults to technical_name.
"Age"
description
string
Explains what the column should contain. Shown to your customers and used by AI column matching.
Sending null leaves it unchanged; send "" to clear it.
"Employee age"
type
object
Data type of the column, used to validate values and automate formatting (dates, numbers). Required on creation.
Set type.type to one of TEXT, VALUE, NUMBER, DATE, BOOLEAN, URL, EMAIL, IMAGE or JSON (other values are refused here), plus the matching options object when the type has one (e.g. number_data_type for NUMBER).
type.type
string
The data type. The field holding this object says which values it accepts.
Possible values: BOOLEAN, TEXT, NUMBER, DATE, CHOICE, VALUE, COLUMN, URL, EMAIL, IMAGE, JSON, DATE_FORMAT, LIST_OF_VALUES
"NUMBER"
type.boolean_data_type
object
Options for the BOOLEAN type. Send it only when type is BOOLEAN.
type.text_data_type
object
Options for the TEXT type. Send it only when type is TEXT.
type.number_data_type
object
Options for the NUMBER type. Send it only when type is NUMBER.
type.number_data_type.decimals
integer
The number of decimals at which number should be rounded.
0
type.number_data_type.separator_decimals
string
The decimals separator (a comma, a dot...)
""
type.number_data_type.separator_thousands
string
The thousand separator (a space, a comma...)
""
type.number_data_type.trailing_zeros
boolean
Whether trailing zeros should be added to match the specified number of decimals.
false
type.date_data_type
object
Options for the DATE type. Send it only when type is DATE.
type.choice_data_type
object
Options for the CHOICE type. Send it only when type is CHOICE.
type.value_data_type
object
Options for the VALUE type. Send it only when type is VALUE.
type.column_data_type
object
Options for the COLUMN type. Send it only when type is COLUMN.
type.url_data_type
object
Options for the URL type. Send it only when type is URL.
type.email_data_type
object
Options for the EMAIL type. Send it only when type is EMAIL.
type.image_data_type
object
Options for the IMAGE type. Send it only when type is IMAGE.
type.json_data_type
object
Options for the JSON type. Send it only when type is JSON.
type.date_format_data_type
object
Options for the DATE_FORMAT type. Send it only when type is DATE_FORMAT.
type.list_of_values_data_type
object
Options for the LIST_OF_VALUES type. Send it only when type is LIST_OF_VALUES.
uniqueness
boolean
Whether each value must appear only once in the column. Defaults to false.
false
importance
string
Whether a value is mandatory: required on every row, conditional only on the rows matching conditions, optional never. recommended and conditionally_recommended (on the rows matching conditions) flag a value as worth filling: an empty one is never a violation. Defaults to optional.
Possible values: required, conditional, optional, recommended, conditionally_recommended
"conditional"
matchable_with_ai
boolean
Whether AI may map a source column to this column when a transformation is created. Defaults to true.
true
hidden
boolean
Whether the column is hidden from your customers in the interface. Defaults to false.
false
user_metadata
array
Free key/value pairs for your own use. When sent, replaces the whole list. Names must be unique.
user_metadata[].name
string
Metadata key (max 32 characters).
"internal_code"
user_metadata[].value
string
Free text stored under that key (max 4096 characters), e.g. a category or your own reference. The template and customer listings can filter on it.
"TMPLT_COLUMN_001"
conditions
string
Rows on which a conditional column is required (or a conditionally_recommended one recommended), written as a DSL string. Ignored for other importances.
Each condition is made of four parts joined by slashes:
[chaining]/[left]/[operator]/[right]
chaining: how the condition combines with the others. One of:AND,OR. The first chaining may be omitted; in that caseANDis implied.left: a reference to a column. Use#(target_column)for a target column,%(source_column)for a source column, or*(custom_field)for a custom field.operator: the comparison operator. One of:CONTAINS,CONTAINED_IN,NOT_CONTAINS,NOT_CONTAINED_IN,DUPLICATED,UNIQUE,TAG_MATCH,TAG_NOT_MATCH,BEGIN_WITH,NOT_BEGIN_WITH,END_WITH,NOT_END_WITH,EQUALS,NOT_EQUALS,GREATER_EQUALS,LOWER_EQUALS,GREATER,LOWER,IS_EMPTY,IS_NOT_EMPTY,LENGTH_EQUALS,LENGTH_NOT_EQUALS,LENGTH_GREATER,LENGTH_LOWER,MATCH,NOT_MATCH,REGEX,NOT_REGEX,DATE_BEFORE_EQUALS,DATE_AFTER_EQUALS,DATE_BEFORE,DATE_AFTER.right: a literal value or another column reference (#(...),%(...),*(...)).
Multiple conditions can be chained on the same line with / or split across lines.
Examples:
AND/#(contract)/EQUALS/traineeAND/#(age)/GREATER/18/OR/#(country)/EQUALS/FR#(status)/EQUALS/active(no leading chaining,ANDimplied)AND/#(email)/IS_EMPTY/(an operator without a value still needs the trailing slash)
Values cannot contain /. Send "" to remove all conditions; null leaves them unchanged.
"AND\/#(contract)\/EQUALS\/trainee"
* are nullable.
{
"position": 3,
"technical_name": "age",
"pretty_name": "Age",
"description": "Employee age",
"type": {
"type": "NUMBER",
"boolean_data_type": null,
"text_data_type": null,
"number_data_type": {
"decimals": 0,
"separator_decimals": "",
"separator_thousands": "",
"trailing_zeros": false
},
"date_data_type": null,
"choice_data_type": null,
"value_data_type": null,
"column_data_type": null,
"url_data_type": null,
"email_data_type": null,
"image_data_type": null,
"json_data_type": null,
"date_format_data_type": null,
"list_of_values_data_type": null
},
"uniqueness": false,
"importance": "conditional",
"matchable_with_ai": true,
"hidden": false,
"user_metadata": [
{
"name": "internal_code",
"value": "TMPLT_COLUMN_001"
}
],
"conditions": "AND\/#(contract)\/EQUALS\/trainee"
}
Copy
A template column. conditions uses the same text format as in requests.
success
boolean
Always true on successful responses.
true
payload
object
Payload of the requested resource.
payload.column_id
string
nullable
The column UUID, used as {columnId} in the column endpoints and as column_id when creating a constraint.
"0e83d368-f0f7-4676-84cc-512cc505c8d4"
payload.template_handle
string
nullable
Handle of the template the column belongs to.
"employees"
payload.position
integer
nullable
1-based position of the column in the delivered file.
3
payload.technical_name
string
nullable
Column header in the delivered file, unique within the template.
"age"
payload.pretty_name
string
nullable
Label shown to your customers in the interface.
"Age"
payload.description
string
nullable
Explains what the column should contain. Shown to your customers and used by AI column matching.
"Employee age"
payload.type
object
nullable
Data type of the column (type.type), with its options object when the type has one.
payload.type.type
string
The data type. The field holding this object says which values it accepts.
Possible values: BOOLEAN, TEXT, NUMBER, DATE, CHOICE, VALUE, COLUMN, URL, EMAIL, IMAGE, JSON, DATE_FORMAT, LIST_OF_VALUES
"NUMBER"
payload.type.boolean_data_type
object
nullable
Options for the BOOLEAN type. Send it only when type is BOOLEAN.
payload.type.text_data_type
object
nullable
Options for the TEXT type. Send it only when type is TEXT.
payload.type.number_data_type
object
nullable
Options for the NUMBER type. Send it only when type is NUMBER.
payload.type.number_data_type.decimals
integer
nullable
The number of decimals at which number should be rounded.
0
payload.type.number_data_type.separator_decimals
string
nullable
The decimals separator (a comma, a dot...)
""
payload.type.number_data_type.separator_thousands
string
nullable
The thousand separator (a space, a comma...)
""
payload.type.number_data_type.trailing_zeros
boolean
nullable
Whether trailing zeros should be added to match the specified number of decimals.
false
payload.type.date_data_type
object
nullable
Options for the DATE type. Send it only when type is DATE.
payload.type.choice_data_type
object
nullable
Options for the CHOICE type. Send it only when type is CHOICE.
payload.type.value_data_type
object
nullable
Options for the VALUE type. Send it only when type is VALUE.
payload.type.column_data_type
object
nullable
Options for the COLUMN type. Send it only when type is COLUMN.
payload.type.url_data_type
object
nullable
Options for the URL type. Send it only when type is URL.
payload.type.email_data_type
object
nullable
Options for the EMAIL type. Send it only when type is EMAIL.
payload.type.image_data_type
object
nullable
Options for the IMAGE type. Send it only when type is IMAGE.
payload.type.json_data_type
object
nullable
Options for the JSON type. Send it only when type is JSON.
payload.type.date_format_data_type
object
nullable
Options for the DATE_FORMAT type. Send it only when type is DATE_FORMAT.
payload.type.list_of_values_data_type
object
nullable
Options for the LIST_OF_VALUES type. Send it only when type is LIST_OF_VALUES.
payload.uniqueness
boolean
nullable
Whether each value must appear only once in the column.
false
payload.importance
string
nullable
Whether a value is mandatory: required on every row, conditional only on the rows matching conditions, optional never. recommended and conditionally_recommended (on the rows matching conditions) flag a value as worth filling: an empty one is never a violation.
"conditional"
payload.matchable_with_ai
boolean
nullable
Whether AI may map a source column to this column when a transformation is created.
true
payload.hidden
boolean
nullable
Whether the column is hidden from your customers in the interface.
false
payload.user_metadata
array
nullable
Free key/value pairs for your own use.
payload.user_metadata[].name
string
Metadata key (max 32 characters).
"internal_code"
payload.user_metadata[].value
string
nullable
Free text stored under that key (max 4096 characters), e.g. a category or your own reference. The template and customer listings can filter on it.
"TMPLT_COLUMN_001"
payload.conditions
string
nullable
Rows on which a conditional column is required (or a conditionally_recommended one recommended), in the same format as the request. null when none.
"AND\/#(contract)\/EQUALS\/trainee"
product
object
nullable
A product needed.
Not null if user requires to buy a specific product (permission or limitation) in order to access a feature.
product.requirement
string
nullable
Whether the user requested a features s/he doesn't have access to,
or the user needs greater limits.
Possible values: permission, limitation
"permission"
product.permission
object
nullable
The required permission.
You will need to know which permission is needed in order to fill up search filters in the shop.
product.permission.description
string
nullable
A human-understandable name for the permission.
product.permission.name
string
A technical permission name (ex: ORGANISATION_UPDATE_SETTINGS).
Possible values depend on the context, check the domain's metadata endpoint.
"X_SOURCE_FORMAT_XML"
product.limitation_type
string
nullable
The limitation that needs to be increased (ex: number of columns).
product.limitation_needed_value
integer
nullable
The needed resource quantity (if receiver uses 9 columns in a template, this value is 9).
product.limitation_current_value
integer
nullable
The current value of the limitation (if receiver is allowed to use 10 columns, this value is 10).
product.limitation_object
object
nullable
The limitation type in a readable format, for example, "lines per file".
product.ai_feature
string
nullable
The AI feature that could not run, when an AI feature is what hit the limitation
(null for any other product).
Possible values: rule_transformation, rule_template, rule_function, rule_constraint, column_constraints, normalizer, chat_db, doc_assistant, api_doc_assistant, autocorrect, autocorrect_fill, invoice_reader, column_match, value_match, power_populate_with_ai, power_extract_from_pdf, power_extract_from_spreadsheet, agent, column_enrichment, column_constraints_batch, agent_compression, agent_workflow_scaffold, agent_phase_fill, push_json_column_match, value_match_embedding, normalizer_debugger, power_extract_from_text, template_format_custom, power_describe_image, power_background_erase, hosted_image_view, value_match_context
product.message
object
nullable
What stopped, on what, and what it would take — translated and ready to display,
with one wording per AI feature: "Matching the values of column «Couleur» with AI
needs 12 AI credits, and 10 are left."
Null whenever ai_feature is, and on the rare AI exposure that has no subject to
name (the template collection's json_column_match_product covers no single
template). Fall back to the generic call-to-action then.
product.is_cta
boolean
nullable
Whether a Call To Action should be displayed.
It may not be displayed if:
- the limitation is on the membership role
- the limitation is on the customer role
- the user is a sender
debug
array
Debug information.
Contains logs about business logic explaining state of the response payload.
Provided in development & admin modes only.
* are nullable.
{
"success": true,
"payload": {
"column_id": "0e83d368-f0f7-4676-84cc-512cc505c8d4",
"template_handle": "employees",
"position": 3,
"technical_name": "age",
"pretty_name": "Age",
"description": "Employee age",
"type": {
"type": "NUMBER",
"boolean_data_type": null,
"text_data_type": null,
"number_data_type": {
"decimals": 0,
"separator_decimals": "",
"separator_thousands": "",
"trailing_zeros": false
},
"date_data_type": null,
"choice_data_type": null,
"value_data_type": null,
"column_data_type": null,
"url_data_type": null,
"email_data_type": null,
"image_data_type": null,
"json_data_type": null,
"date_format_data_type": null,
"list_of_values_data_type": null
},
"uniqueness": false,
"importance": "conditional",
"matchable_with_ai": true,
"hidden": false,
"user_metadata": [
{
"name": "internal_code",
"value": "TMPLT_COLUMN_001"
}
],
"conditions": "AND\/#(contract)\/EQUALS\/trainee"
},
"product": {
"requirement": "permission",
"permission": {
"name": "X_SOURCE_FORMAT_XML",
"description": "Can import XML files"
},
"limitation_type": null,
"limitation_needed_value": null,
"limitation_current_value": null,
"limitation_object": null,
"is_cta": false,
"ai_feature": null,
"message": null
},
"debug": []
}
Copy
success
boolean
Always false on error responses.
false
payload
object
Context about the error, if any.
product
object
nullable
A product needed.
Not null if user requires to buy a specific product (permission or limitation) in order to access a feature.
product.requirement
string
nullable
Whether the user requested a features s/he doesn't have access to,
or the user needs greater limits.
Possible values: permission, limitation
"permission"
product.permission
object
nullable
The required permission.
You will need to know which permission is needed in order to fill up search filters in the shop.
product.permission.description
string
nullable
A human-understandable name for the permission.
product.permission.name
string
A technical permission name (ex: ORGANISATION_UPDATE_SETTINGS).
Possible values depend on the context, check the domain's metadata endpoint.
"X_SOURCE_FORMAT_XML"
product.limitation_type
string
nullable
The limitation that needs to be increased (ex: number of columns).
product.limitation_needed_value
integer
nullable
The needed resource quantity (if receiver uses 9 columns in a template, this value is 9).
product.limitation_current_value
integer
nullable
The current value of the limitation (if receiver is allowed to use 10 columns, this value is 10).
product.limitation_object
object
nullable
The limitation type in a readable format, for example, "lines per file".
product.ai_feature
string
nullable
The AI feature that could not run, when an AI feature is what hit the limitation
(null for any other product).
Possible values: rule_transformation, rule_template, rule_function, rule_constraint, column_constraints, normalizer, chat_db, doc_assistant, api_doc_assistant, autocorrect, autocorrect_fill, invoice_reader, column_match, value_match, power_populate_with_ai, power_extract_from_pdf, power_extract_from_spreadsheet, agent, column_enrichment, column_constraints_batch, agent_compression, agent_workflow_scaffold, agent_phase_fill, push_json_column_match, value_match_embedding, normalizer_debugger, power_extract_from_text, template_format_custom, power_describe_image, power_background_erase, hosted_image_view, value_match_context
product.message
object
nullable
What stopped, on what, and what it would take — translated and ready to display,
with one wording per AI feature: "Matching the values of column «Couleur» with AI
needs 12 AI credits, and 10 are left."
Null whenever ai_feature is, and on the rare AI exposure that has no subject to
name (the template collection's json_column_match_product covers no single
template). Fall back to the generic call-to-action then.
product.is_cta
boolean
nullable
Whether a Call To Action should be displayed.
It may not be displayed if:
- the limitation is on the membership role
- the limitation is on the customer role
- the user is a sender
debug
array
Debug information.
Contains logs about business logic explaining state of the response payload.
Provided in development & admin modes only.
* are nullable.
{
"success": false,
"payload": [],
"product": {
"requirement": "permission",
"permission": {
"name": "X_SOURCE_FORMAT_XML",
"description": "Can import XML files"
},
"limitation_type": null,
"limitation_needed_value": null,
"limitation_current_value": null,
"limitation_object": null,
"is_cta": false,
"ai_feature": null,
"message": null
},
"debug": []
}
Copy
success
boolean
Always false on error responses.
false
payload
object
Context about the error, if any.
product
object
nullable
A product needed.
Not null if user requires to buy a specific product (permission or limitation) in order to access a feature.
product.requirement
string
nullable
Whether the user requested a features s/he doesn't have access to,
or the user needs greater limits.
Possible values: permission, limitation
"permission"
product.permission
object
nullable
The required permission.
You will need to know which permission is needed in order to fill up search filters in the shop.
product.permission.description
string
nullable
A human-understandable name for the permission.
product.permission.name
string
A technical permission name (ex: ORGANISATION_UPDATE_SETTINGS).
Possible values depend on the context, check the domain's metadata endpoint.
"X_SOURCE_FORMAT_XML"
product.limitation_type
string
nullable
The limitation that needs to be increased (ex: number of columns).
product.limitation_needed_value
integer
nullable
The needed resource quantity (if receiver uses 9 columns in a template, this value is 9).
product.limitation_current_value
integer
nullable
The current value of the limitation (if receiver is allowed to use 10 columns, this value is 10).
product.limitation_object
object
nullable
The limitation type in a readable format, for example, "lines per file".
product.ai_feature
string
nullable
The AI feature that could not run, when an AI feature is what hit the limitation
(null for any other product).
Possible values: rule_transformation, rule_template, rule_function, rule_constraint, column_constraints, normalizer, chat_db, doc_assistant, api_doc_assistant, autocorrect, autocorrect_fill, invoice_reader, column_match, value_match, power_populate_with_ai, power_extract_from_pdf, power_extract_from_spreadsheet, agent, column_enrichment, column_constraints_batch, agent_compression, agent_workflow_scaffold, agent_phase_fill, push_json_column_match, value_match_embedding, normalizer_debugger, power_extract_from_text, template_format_custom, power_describe_image, power_background_erase, hosted_image_view, value_match_context
product.message
object
nullable
What stopped, on what, and what it would take — translated and ready to display,
with one wording per AI feature: "Matching the values of column «Couleur» with AI
needs 12 AI credits, and 10 are left."
Null whenever ai_feature is, and on the rare AI exposure that has no subject to
name (the template collection's json_column_match_product covers no single
template). Fall back to the generic call-to-action then.
product.is_cta
boolean
nullable
Whether a Call To Action should be displayed.
It may not be displayed if:
- the limitation is on the membership role
- the limitation is on the customer role
- the user is a sender
debug
array
Debug information.
Contains logs about business logic explaining state of the response payload.
Provided in development & admin modes only.
* are nullable.
{
"success": false,
"payload": [],
"product": {
"requirement": "permission",
"permission": {
"name": "X_SOURCE_FORMAT_XML",
"description": "Can import XML files"
},
"limitation_type": null,
"limitation_needed_value": null,
"limitation_current_value": null,
"limitation_object": null,
"is_cta": false,
"ai_feature": null,
"message": null
},
"debug": []
}
Copy
The client sent an unexpected request.
It happens if the client sent an invalid JSON payload, or if the JSON payload cannot be mapped to the expected request object.
success
boolean
Always false on error responses.
false
payload
object
Context about the error, if any.
product
object
nullable
A product needed.
Not null if user requires to buy a specific product (permission or limitation) in order to access a feature.
product.requirement
string
nullable
Whether the user requested a features s/he doesn't have access to,
or the user needs greater limits.
Possible values: permission, limitation
"permission"
product.permission
object
nullable
The required permission.
You will need to know which permission is needed in order to fill up search filters in the shop.
product.permission.description
string
nullable
A human-understandable name for the permission.
product.permission.name
string
A technical permission name (ex: ORGANISATION_UPDATE_SETTINGS).
Possible values depend on the context, check the domain's metadata endpoint.
"X_SOURCE_FORMAT_XML"
product.limitation_type
string
nullable
The limitation that needs to be increased (ex: number of columns).
product.limitation_needed_value
integer
nullable
The needed resource quantity (if receiver uses 9 columns in a template, this value is 9).
product.limitation_current_value
integer
nullable
The current value of the limitation (if receiver is allowed to use 10 columns, this value is 10).
product.limitation_object
object
nullable
The limitation type in a readable format, for example, "lines per file".
product.ai_feature
string
nullable
The AI feature that could not run, when an AI feature is what hit the limitation
(null for any other product).
Possible values: rule_transformation, rule_template, rule_function, rule_constraint, column_constraints, normalizer, chat_db, doc_assistant, api_doc_assistant, autocorrect, autocorrect_fill, invoice_reader, column_match, value_match, power_populate_with_ai, power_extract_from_pdf, power_extract_from_spreadsheet, agent, column_enrichment, column_constraints_batch, agent_compression, agent_workflow_scaffold, agent_phase_fill, push_json_column_match, value_match_embedding, normalizer_debugger, power_extract_from_text, template_format_custom, power_describe_image, power_background_erase, hosted_image_view, value_match_context
product.message
object
nullable
What stopped, on what, and what it would take — translated and ready to display,
with one wording per AI feature: "Matching the values of column «Couleur» with AI
needs 12 AI credits, and 10 are left."
Null whenever ai_feature is, and on the rare AI exposure that has no subject to
name (the template collection's json_column_match_product covers no single
template). Fall back to the generic call-to-action then.
product.is_cta
boolean
nullable
Whether a Call To Action should be displayed.
It may not be displayed if:
- the limitation is on the membership role
- the limitation is on the customer role
- the user is a sender
debug
array
Debug information.
Contains logs about business logic explaining state of the response payload.
Provided in development & admin modes only.
* are nullable.
{
"success": false,
"payload": [],
"product": {
"requirement": "permission",
"permission": {
"name": "X_SOURCE_FORMAT_XML",
"description": "Can import XML files"
},
"limitation_type": null,
"limitation_needed_value": null,
"limitation_current_value": null,
"limitation_object": null,
"is_cta": false,
"ai_feature": null,
"message": null
},
"debug": []
}
Copy
User is well authenticated, but not authorized to access the resource.
It can happen if user is trying to use a feature that s/he didn't pay for, access someone else's resource, etc.
These issues are normally fixed by the frontend, which should render features and resources user has access to.
success
boolean
Always false on error responses.
false
payload
object
Context about the error, if any.
product
object
nullable
A product needed.
Not null if user requires to buy a specific product (permission or limitation) in order to access a feature.
product.requirement
string
nullable
Whether the user requested a features s/he doesn't have access to,
or the user needs greater limits.
Possible values: permission, limitation
"permission"
product.permission
object
nullable
The required permission.
You will need to know which permission is needed in order to fill up search filters in the shop.
product.permission.description
string
nullable
A human-understandable name for the permission.
product.permission.name
string
A technical permission name (ex: ORGANISATION_UPDATE_SETTINGS).
Possible values depend on the context, check the domain's metadata endpoint.
"X_SOURCE_FORMAT_XML"
product.limitation_type
string
nullable
The limitation that needs to be increased (ex: number of columns).
product.limitation_needed_value
integer
nullable
The needed resource quantity (if receiver uses 9 columns in a template, this value is 9).
product.limitation_current_value
integer
nullable
The current value of the limitation (if receiver is allowed to use 10 columns, this value is 10).
product.limitation_object
object
nullable
The limitation type in a readable format, for example, "lines per file".
product.ai_feature
string
nullable
The AI feature that could not run, when an AI feature is what hit the limitation
(null for any other product).
Possible values: rule_transformation, rule_template, rule_function, rule_constraint, column_constraints, normalizer, chat_db, doc_assistant, api_doc_assistant, autocorrect, autocorrect_fill, invoice_reader, column_match, value_match, power_populate_with_ai, power_extract_from_pdf, power_extract_from_spreadsheet, agent, column_enrichment, column_constraints_batch, agent_compression, agent_workflow_scaffold, agent_phase_fill, push_json_column_match, value_match_embedding, normalizer_debugger, power_extract_from_text, template_format_custom, power_describe_image, power_background_erase, hosted_image_view, value_match_context
product.message
object
nullable
What stopped, on what, and what it would take — translated and ready to display,
with one wording per AI feature: "Matching the values of column «Couleur» with AI
needs 12 AI credits, and 10 are left."
Null whenever ai_feature is, and on the rare AI exposure that has no subject to
name (the template collection's json_column_match_product covers no single
template). Fall back to the generic call-to-action then.
product.is_cta
boolean
nullable
Whether a Call To Action should be displayed.
It may not be displayed if:
- the limitation is on the membership role
- the limitation is on the customer role
- the user is a sender
debug
array
Debug information.
Contains logs about business logic explaining state of the response payload.
Provided in development & admin modes only.
* are nullable.
{
"success": false,
"payload": [],
"product": {
"requirement": "permission",
"permission": {
"name": "X_SOURCE_FORMAT_XML",
"description": "Can import XML files"
},
"limitation_type": null,
"limitation_needed_value": null,
"limitation_current_value": null,
"limitation_object": null,
"is_cta": false,
"ai_feature": null,
"message": null
},
"debug": []
}
Copy
A violation happens when a property value does not respect the expected constraints.
If a user is making a mistake in a form and frontend is not able to detect it (because of the constraint being tied to some business logic for example), the API will return the invalid properties with the right error messages.
Note: examples are hardcoded in english (no access to the translator in a DTO).
success
boolean
Always false on error responses.
false
payload
object
Context about the error, if any.
payload.error
object
Generic message saying the request contains invalid values, translated in the
request locale. The details are in violations.
payload.error.code
string
A translation key for the given message.
"exception.violation"
payload.error.message
string
object
The translated version of the message.
Click on "Example" to get its translated value.
payload.violations
array
One entry per invalid value: the property path (e.g. format.csv.delimiter) and
the reason. Several entries can target the same property.
payload.violations[].property_path
string
Property having an invalid value.
"title"
payload.violations[].invalid_value
nullable
The invalid value.
""
payload.violations[].message
string
An error message describing the violation.
"This value should not be blank"
product
object
nullable
A product needed.
Not null if user requires to buy a specific product (permission or limitation) in order to access a feature.
product.requirement
string
nullable
Whether the user requested a features s/he doesn't have access to,
or the user needs greater limits.
Possible values: permission, limitation
"permission"
product.permission
object
nullable
The required permission.
You will need to know which permission is needed in order to fill up search filters in the shop.
product.permission.description
string
nullable
A human-understandable name for the permission.
product.permission.name
string
A technical permission name (ex: ORGANISATION_UPDATE_SETTINGS).
Possible values depend on the context, check the domain's metadata endpoint.
"X_SOURCE_FORMAT_XML"
product.limitation_type
string
nullable
The limitation that needs to be increased (ex: number of columns).
product.limitation_needed_value
integer
nullable
The needed resource quantity (if receiver uses 9 columns in a template, this value is 9).
product.limitation_current_value
integer
nullable
The current value of the limitation (if receiver is allowed to use 10 columns, this value is 10).
product.limitation_object
object
nullable
The limitation type in a readable format, for example, "lines per file".
product.ai_feature
string
nullable
The AI feature that could not run, when an AI feature is what hit the limitation
(null for any other product).
Possible values: rule_transformation, rule_template, rule_function, rule_constraint, column_constraints, normalizer, chat_db, doc_assistant, api_doc_assistant, autocorrect, autocorrect_fill, invoice_reader, column_match, value_match, power_populate_with_ai, power_extract_from_pdf, power_extract_from_spreadsheet, agent, column_enrichment, column_constraints_batch, agent_compression, agent_workflow_scaffold, agent_phase_fill, push_json_column_match, value_match_embedding, normalizer_debugger, power_extract_from_text, template_format_custom, power_describe_image, power_background_erase, hosted_image_view, value_match_context
product.message
object
nullable
What stopped, on what, and what it would take — translated and ready to display,
with one wording per AI feature: "Matching the values of column «Couleur» with AI
needs 12 AI credits, and 10 are left."
Null whenever ai_feature is, and on the rare AI exposure that has no subject to
name (the template collection's json_column_match_product covers no single
template). Fall back to the generic call-to-action then.
product.is_cta
boolean
nullable
Whether a Call To Action should be displayed.
It may not be displayed if:
- the limitation is on the membership role
- the limitation is on the customer role
- the user is a sender
debug
array
Debug information.
Contains logs about business logic explaining state of the response payload.
Provided in development & admin modes only.
* are nullable.
{
"success": false,
"payload": {
"error": {
"code": "exception.violation",
"message": "The provided payload contains property violations."
},
"violations": [
{
"property_path": "title",
"invalid_value": "",
"message": "This value should not be blank"
},
{
"property_path": "price",
"invalid_value": -5,
"message": "The amount should be greater than 1"
}
]
},
"product": {
"requirement": "permission",
"permission": {
"name": "X_SOURCE_FORMAT_XML",
"description": "Can import XML files"
},
"limitation_type": null,
"limitation_needed_value": null,
"limitation_current_value": null,
"limitation_object": null,
"is_cta": false,
"ai_feature": null,
"message": null
},
"debug": []
}
Copy