Skip to content

Bulk import

Import servers and credentials from files.

POST/api/import
GET/api/import/:id
PATCH/api/import/:id/decisions
POST/api/import/:id/commit
GET/api/import/templates/:entity

Upload import file ​

POST/api/import

Upload + preview.

Authentication: bearer token.
Permission: import.run.

bash
curl -X POST "https://shellius.example.com/api/import" \
  -H "Authorization: Bearer $SHELLIUS_TOKEN"

201 Created

json
{ "success": true, "data": { … } }

Get import job ​

GET/api/import/:id

Job + rows + onboarding status.

Authentication: bearer token.
Permission: import.run.

Path parameters

NameTypeNotes
idstring
bash
curl -X GET "https://shellius.example.com/api/import/{id}" \
  -H "Authorization: Bearer $SHELLIUS_TOKEN"

200 OK

json
{ "success": true, "data": { … } }

Overwrite/skip decisions ​

PATCH/api/import/:id/decisions

Set overwrite|skip on conflict rows (bulk supported)

Authentication: bearer token.
Permission: import.run.

Path parameters

NameTypeNotes
idstring

Request body

NameTypeRequiredNotes
decisionstringYesOne of overwrite, skip.
rowIdsarrayNoDefault [].
applyAllbooleanNoDefault false.
bash
curl -X PATCH "https://shellius.example.com/api/import/{id}/decisions" \
  -H "Authorization: Bearer $SHELLIUS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "decision": "overwrite"
  }'

200 OK

json
{ "success": true, "data": { … } }

Commit import ​

POST/api/import/:id/commit

Execute the plan + enqueue onboarding.

Authentication: bearer token.
Permission: import.run.

Path parameters

NameTypeNotes
idstring
bash
curl -X POST "https://shellius.example.com/api/import/{id}/commit" \
  -H "Authorization: Bearer $SHELLIUS_TOKEN"

200 OK

json
{ "success": true, "data": { … } }

CSV templates ​

GET/api/import/templates/:entity

Authentication: bearer token.
Permission: import.run.

Path parameters

NameTypeNotes
entitystring
bash
curl -X GET "https://shellius.example.com/api/import/templates/{entity}" \
  -H "Authorization: Bearer $SHELLIUS_TOKEN"

Returns a file or plain text, not the JSON envelope.

Was this page helpful?No, tell us why