Skip to content
Go to Micro

Import objects

POST/v2/prism/{teamId}/organization/import

Import multiple objects in batch. Properties are keyed by slug. Automatically routes based on size: small batches complete synchronously and return 200 with the final ImportJob; large batches start an async job, return 202 with status: processing and a Location header, and can be polled via GET /v2/prism/{teamId}/imports/{jobId}.

Path ParametersExpand Collapse
teamId: optional string
formatuuid
Header ParametersExpand Collapse
"Idempotency-Key": optional string
minLength1
maxLength255
Body ParametersJSONExpand Collapse
objects: array of PrismObjectProperties { default, list }

Array of objects to import with property values keyed by slug

default: optional map[unknown]

Properties keyed by property slug. Values can be strings, numbers, booleans, arrays, or null. For select/multiselect properties, values may be option slugs or option UUIDs on write; option slugs are returned on read.

list: optional unknown
options: optional object { caseInsensitive, dedupe_by, list_id }
caseInsensitive: optional boolean

Whether deduplication should be case insensitive

dedupe_by: optional string

Property slug to deduplicate on

list_id: optional string

App/CRM ID for context (optional)

formatuuid
ReturnsExpand Collapse
job_id: string

Null for sync imports (results inlined). Set for async imports.

status: "complete" or "processing" or "failed"
One of the following:
"complete"
"processing"
"failed"
total: number

Total number of rows in the import.

created_at: optional string
formatdate-time
error: optional object { code, message }

Set when status=failed; describes the job-level failure (not per-row).

code: optional string
message: optional string
expires_at: optional string
formatdate-time
failed: optional number
processed: optional number

Rows that have been attempted (succeeded + failed).

results: optional array of object { id, created, error, existing }

Per-row outcomes. Always present for sync imports; populated for async imports once the job reaches complete.

id: optional string
formatuuid
created: optional boolean
error: optional object { code, message }
code: optional string
message: optional string
existing: optional boolean

True if the row matched an existing record via the dedupe key.

succeeded: optional number
updated_at: optional string
formatdate-time

Import objects

curl https://developers.micro.so/v2/prism/$TEAM_ID/organization/import \
    -H 'Content-Type: application/json' \
    -H "x-api-key: $MICRO_API_KEY" \
    -d '{
          "objects": [
            {}
          ]
        }'
{
  "job_id": "job_id",
  "status": "complete",
  "total": 0,
  "created_at": "2019-12-27T18:11:19.117Z",
  "error": {
    "code": "code",
    "message": "message"
  },
  "expires_at": "2019-12-27T18:11:19.117Z",
  "failed": 0,
  "processed": 0,
  "results": [
    {
      "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "created": true,
      "error": {
        "code": "code",
        "message": "message"
      },
      "existing": true
    }
  ],
  "succeeded": 0,
  "updated_at": "2019-12-27T18:11:19.117Z"
}
Returns Examples
{
  "job_id": "job_id",
  "status": "complete",
  "total": 0,
  "created_at": "2019-12-27T18:11:19.117Z",
  "error": {
    "code": "code",
    "message": "message"
  },
  "expires_at": "2019-12-27T18:11:19.117Z",
  "failed": 0,
  "processed": 0,
  "results": [
    {
      "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
      "created": true,
      "error": {
        "code": "code",
        "message": "message"
      },
      "existing": true
    }
  ],
  "succeeded": 0,
  "updated_at": "2019-12-27T18:11:19.117Z"
}