/v1/boards/import/autoImport a spreadsheet onto a board, mapping it for you
The custom-board twin of post_definitions_key_import_auto: send a file as headers plus rows and the service works out the mapping itself. In Neo chat, when the person attached a spreadsheet, send attachment with the file's name INSTEAD of headers and rows — the rows are supplied at the door, never retyped. Pass boardId to import onto a board that exists, or name with no boardId to MAKE a board from the file — which is the call to reach for when somebody wants a spreadsheet turned into a board, because the columns and their kinds are read off the file's own values. The answer carries the plan it used — what each header became, why, and how sure it was — beside the ordinary import result. Send dryRun: true first on anything unfamiliar: nothing is written and the plan still comes back. At most 5000 rows, refused whole with too_many_rows, and post_boards_id_imports_runId_undo takes the run back.
Access class: workspace.
Send request
Use the documented inputs to call this endpoint directly.
Request body
application/jsonrequiredResponses
the action's answer
{
"data": {
"import": {
"board": {
"access": "string",
"columns": [
"string"
],
"createdAt": "string",
"definitionKey": "string",
"id": "",
"name": "string",
"purpose": "string",
"rows": [
"string"
],
"updatedAt": "string",
"view": "string"
},
"columnsCreated": [
{
"id": "",
"kind": "string",
"label": "string"
}
],
"counts": {
"created": 1,
"failed": 1,
"skipped": 1,
"updated": 1
},
"optionsAdded": [
{
"columnId": "",
"label": "string",
"values": "string"
}
],
"results": [
{
"error": "string",
"id": "",
"outcome": "string",
"row": "string"
}
],
"runId": ""
},
"plan": {
"columns": [
{
"decidedBy": "string",
"decision": "string",
"profile": "string",
"proposed": "string"
}
],
"identity": [
"string"
],
"modelProblem": "string",
"notes": "string",
"source": "string",
"statusFolds": [
{
"from": "string",
"header": "string",
"into": "string",
"reason": "string"
}
],
"surface": "string"
}
}
}a refusal: {"error": "<what a person needs to read>"}. 401 no credential, 402 the plan does not include this, 403 the seat does not, 404 the thing does not exist or is not yours to see.
{
"error": "string"
}