API by router
Sheet import
POST
instance_id*Instance IdFormat
uuidapplication/json- body
column_map*Map column letters/indices to data fields. E.g. {'A': 'name', 'B': 'client', 'C': 'location'}
connection_name?string|nullcustomer_id*Customer IdFormat
uuiddefinition_slug*Definition SlugEntity definition slug (e.g. 'site')
has_header?Has HeaderDefault
truerange?RangeDefault
"Sheet1"spreadsheet_id*Spreadsheet Idtags?array<string>|nullSuccessful Response
application/json- response
errors*array<string>imported*Importedskipped*Skippedcurl -X POST 'https://example.com/internal/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/import/sheet-to-entities' \ -H 'Content-Type: application/json' \ -d '{ "column_map": {}, "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e", "definition_slug": "string", "spreadsheet_id": "string"}'Example Response
{ "errors": [ "string" ], "imported": 0, "skipped": 0}POST
instance_id*Instance IdFormat
uuidapplication/json- body
column_map*Map column letters/indices to staff fields. E.g. {'A': 'name', 'B': 'phone', 'C': 'email', 'D': 'skills'}
connection_name?string|nullcustomer_id*Customer IdFormat
uuidhas_header?Has HeaderFirst row is header (skip it)
Default
truerange?RangeA1 notation range
Default
"Sheet1"spreadsheet_id*Spreadsheet IdSuccessful Response
application/json- response
errors*array<string>imported*Importedskipped*Skippedcurl -X POST 'https://example.com/internal/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/import/sheet-to-staff' \ -H 'Content-Type: application/json' \ -d '{ "column_map": {}, "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e", "spreadsheet_id": "string"}'Example Response
{ "errors": [ "string" ], "imported": 0, "skipped": 0}POST
HTTPBearerheader
AuthorizationBearer <token>customer_id*Customer IdFormat
uuidX-Api-Key?string|nullapplication/json- body
column_map*Properties
properties <= 26definition_slug*Definition Slughas_header?Has HeaderDefault
truerows*array<array<string>>2D array (max 10K rows)
Items
items <= 10000tags?array<string>|nullSuccessful Response
application/json- response
errors*array<string>imported*Importedskipped*Skippedcurl -X POST 'https://example.com/v1/customers/497f6eca-6276-4993-bfeb-53cbbbba6f08/import/csv-to-entities' \ -H 'Content-Type: application/json' \ -d '{ "column_map": {}, "definition_slug": "string", "rows": [ [ "string" ] ]}'Example Response
{ "errors": [ "string" ], "imported": 0, "skipped": 0}POST
HTTPBearerheader
AuthorizationBearer <token>customer_id*Customer IdFormat
uuidX-Api-Key?string|nullapplication/json- body
column_map*Map column indices to staff fields (max 26 columns). E.g. {'0': 'name', '1': 'phone'}
Properties
properties <= 26has_header?Has HeaderDefault
truerows*array<array<string>>2D array of row data (max 10K rows)
Items
items <= 10000Successful Response
application/json- response
errors*array<string>imported*Importedskipped*Skippedcurl -X POST 'https://example.com/v1/customers/497f6eca-6276-4993-bfeb-53cbbbba6f08/import/csv-to-staff' \ -H 'Content-Type: application/json' \ -d '{ "column_map": {}, "rows": [ [ "string" ] ]}'Example Response
{ "errors": [ "string" ], "imported": 0, "skipped": 0}POST
HTTPBearerheader
AuthorizationBearer <token>customer_id*Customer IdFormat
uuidX-Api-Key?string|nullapplication/json- body
column_map*connection_name?string|nulldefinition_slug*Definition Slughas_header?Has HeaderDefault
truerange?RangeDefault
"Sheet1"spreadsheet_id*Spreadsheet Idtags?array<string>|nullSuccessful Response
application/json- response
errors*array<string>imported*Importedskipped*Skippedcurl -X POST 'https://example.com/v1/customers/497f6eca-6276-4993-bfeb-53cbbbba6f08/import/sheet-to-entities' \ -H 'Content-Type: application/json' \ -d '{ "column_map": {}, "definition_slug": "string", "spreadsheet_id": "string"}'Example Response
{ "errors": [ "string" ], "imported": 0, "skipped": 0}POST
HTTPBearerheader
AuthorizationBearer <token>customer_id*Customer IdFormat
uuidX-Api-Key?string|nullapplication/json- body
column_map*connection_name?string|nullhas_header?Has HeaderDefault
truerange?RangeDefault
"Sheet1"spreadsheet_id*Spreadsheet IdSuccessful Response
application/json- response
errors*array<string>imported*Importedskipped*Skippedcurl -X POST 'https://example.com/v1/customers/497f6eca-6276-4993-bfeb-53cbbbba6f08/import/sheet-to-staff' \ -H 'Content-Type: application/json' \ -d '{ "column_map": {}, "spreadsheet_id": "string"}'Example Response
{ "errors": [ "string" ], "imported": 0, "skipped": 0}