UiPath Documentation
uipath-cli
latest
false

UiPath CLI user guide

Last updated May 7, 2026

uip df records

uip df records manages the rows held by a Data Fabric entity. Verbs cover read (list, get, query), write (insert, update, import, delete), and bulk import from CSV. Single-record verbs return the affected record; batch verbs return success/failure counts and exit non-zero on partial failure. List and query support cursor-based pagination.

Synopsis

uip df records <verb> [options]
uip df records <verb> [options]

Verbs

VerbPurpose
listList records in an entity, with cursor-based pagination.
getGet a single record by ID.
insertInsert one record (object) or many (array).
updateUpdate one record (object) or many (array); each must include Id.
queryFilter, sort, and project records using a JSON query body.
importBulk-import records from a CSV file.
deleteDelete one or more records by ID.

uip df records list

List records in an entity. Supports cursor-based pagination.

Arguments

NameRequiredPurpose
<id>yesEntity ID (UUID). Find it with entities list.

Options

ShortLongValueDefaultDescription
-t--tenantnamesession defaultOverride the tenant.
-l--limitnumber50Number of records to return per page.
-o--offsetnumberStart from the page containing this record index (rounded down to a page boundary). Mutually exclusive with --cursor.
--cursorcursorPagination cursor from a previous response.

Examples

uip df records list a1b2c3d4-0000-0000-0000-000000000001 --limit 2

# Continue paging
uip df records list a1b2c3d4-0000-0000-0000-000000000001 \
    --cursor "eyJwYWdlIjoyfQ=="

# Just the IDs
uip df records list a1b2c3d4-0000-0000-0000-000000000001 \
    --output-filter 'Data.Records[].Id'
uip df records list a1b2c3d4-0000-0000-0000-000000000001 --limit 2

# Continue paging
uip df records list a1b2c3d4-0000-0000-0000-000000000001 \
    --cursor "eyJwYWdlIjoyfQ=="

# Just the IDs
uip df records list a1b2c3d4-0000-0000-0000-000000000001 \
    --output-filter 'Data.Records[].Id'

Data shape (--output json)

{
  "Code": "RecordList",
  "Data": {
    "TotalCount": 2,
    "Records": [
      { "Id": "b2c3d4e5-0000-0000-0000-000000000001", "amount": 1500 }
    ],
    "HasNextPage": false
  }
}
{
  "Code": "RecordList",
  "Data": {
    "TotalCount": 2,
    "Records": [
      { "Id": "b2c3d4e5-0000-0000-0000-000000000001", "amount": 1500 }
    ],
    "HasNextPage": false
  }
}

When more pages exist, the response also carries NextCursor, CurrentPage, and TotalPages. Pass NextCursor back as --cursor to continue.

uip df records get

Get a single record by ID.

Arguments

NameRequiredPurpose
<id>yesEntity ID (UUID).
<key>yesRecord ID (UUID).

Options

ShortLongValueDefaultDescription
-t--tenantnamesession defaultOverride the tenant.

Examples

uip df records get a1b2c3d4-0000-0000-0000-000000000001 \
    b2c3d4e5-0000-0000-0000-000000000001
uip df records get a1b2c3d4-0000-0000-0000-000000000001 \
    b2c3d4e5-0000-0000-0000-000000000001

Data shape (--output json)

{
  "Code": "RecordDetails",
  "Data": {
    "Id": "b2c3d4e5-0000-0000-0000-000000000001",
    "amount": 1500,
    "status": "Paid"
  }
}
{
  "Code": "RecordDetails",
  "Data": {
    "Id": "b2c3d4e5-0000-0000-0000-000000000001",
    "amount": 1500,
    "status": "Paid"
  }
}

uip df records insert

Insert one or more records. The input can be a single JSON object or an array of objects.

Arguments

NameRequiredPurpose
<id>yesEntity ID (UUID).

Options

ShortLongValueDefaultDescription
-t--tenantnamesession defaultOverride the tenant.
-f--filepathPath to JSON file with record data (object or array of objects).
--bodyJSONInline JSON record data.

Examples

# Single record
uip df records insert a1b2c3d4-0000-0000-0000-000000000001 \
    --body '{"amount":1500,"status":"New"}'

# Batch from file
uip df records insert a1b2c3d4-0000-0000-0000-000000000001 \
    --file ./invoices.json
# Single record
uip df records insert a1b2c3d4-0000-0000-0000-000000000001 \
    --body '{"amount":1500,"status":"New"}'

# Batch from file
uip df records insert a1b2c3d4-0000-0000-0000-000000000001 \
    --file ./invoices.json

Data shape (--output json)

Single-record insertion returns Code: "RecordInserted" with the created record. Batch insertion returns Code: "RecordsBatchInserted":

{
  "Code": "RecordsBatchInserted",
  "Data": {
    "SuccessCount": 1,
    "FailureCount": 0,
    "SuccessRecords": [ { "Id": "b2c3d4e5-0000-0000-0000-000000000010" } ],
    "FailureRecords": []
  }
}
{
  "Code": "RecordsBatchInserted",
  "Data": {
    "SuccessCount": 1,
    "FailureCount": 0,
    "SuccessRecords": [ { "Id": "b2c3d4e5-0000-0000-0000-000000000010" } ],
    "FailureRecords": []
  }
}

If any record fails in a batch, the command exits non-zero while still emitting the full result.

uip df records update

Update one or more records. Each record must include an Id (or id) field.

Arguments

NameRequiredPurpose
<id>yesEntity ID (UUID).

Options

ShortLongValueDefaultDescription
-t--tenantnamesession defaultOverride the tenant.
-f--filepathPath to JSON file with record data (must include Id field).
--bodyJSONInline JSON record data (must include Id field).

Examples

uip df records update a1b2c3d4-0000-0000-0000-000000000001 \
    --body '{"Id":"b2c3d4e5-0000-0000-0000-000000000001","status":"Paid"}'
uip df records update a1b2c3d4-0000-0000-0000-000000000001 \
    --body '{"Id":"b2c3d4e5-0000-0000-0000-000000000001","status":"Paid"}'

Data shape (--output json)

Single updates emit Code: "RecordUpdated"; batch updates emit Code: "RecordsBatchUpdated" with the same shape as RecordsBatchInserted. Missing Id fields fail with Failure before any write.

uip df records query

Query records with filter, sort, and field-selection options. Supports cursor-based pagination. The body is a JSON object with optional keys filterGroup, sortOptions (array of { fieldName, isDescending }), and selectedFields (array of names).

Arguments

NameRequiredPurpose
<id>yesEntity ID (UUID).

Options

ShortLongValueDefaultDescription
-t--tenantnamesession defaultOverride the tenant.
-f--filepathPath to JSON file with query options.
--bodyJSONInline JSON query options.
-l--limitnumber50Page size.
-o--offsetnumberStart from the page containing this record index. Mutually exclusive with --cursor.
--cursorcursorPagination cursor from a previous response.

Examples

# Filter by status
uip df records query a1b2c3d4-0000-0000-0000-000000000001 \
    --body '{"filterGroup":{"field":"status","operator":"eq","value":"Paid"}}'

# Sort newest first, project two fields
uip df records query a1b2c3d4-0000-0000-0000-000000000001 \
    --body '{"sortOptions":[{"fieldName":"createdAt","isDescending":true}],"selectedFields":["Id","amount"]}'
# Filter by status
uip df records query a1b2c3d4-0000-0000-0000-000000000001 \
    --body '{"filterGroup":{"field":"status","operator":"eq","value":"Paid"}}'

# Sort newest first, project two fields
uip df records query a1b2c3d4-0000-0000-0000-000000000001 \
    --body '{"sortOptions":[{"fieldName":"createdAt","isDescending":true}],"selectedFields":["Id","amount"]}'

Data shape (--output json)

{
  "Code": "RecordQuery",
  "Data": {
    "TotalCount": 2,
    "Records": [ { "Id": "b2c3d4e5-0000-0000-0000-000000000001", "amount": 1500 } ],
    "HasNextPage": false
  }
}
{
  "Code": "RecordQuery",
  "Data": {
    "TotalCount": 2,
    "Records": [ { "Id": "b2c3d4e5-0000-0000-0000-000000000001", "amount": 1500 } ],
    "HasNextPage": false
  }
}

uip df records import

Bulk-import records from a CSV file.

Arguments

NameRequiredPurpose
<id>yesEntity ID (UUID).

Options

ShortLongValueDefaultDescription
-t--tenantnamesession defaultOverride the tenant.
-f--filepathrequiredPath to the CSV file to import.

Examples

uip df records import a1b2c3d4-0000-0000-0000-000000000001 \
    --file ./invoices.csv
uip df records import a1b2c3d4-0000-0000-0000-000000000001 \
    --file ./invoices.csv

Data shape (--output json)

{
  "Code": "RecordsImported",
  "Data": {
    "InsertedRecords": 42,
    "TotalRecords": 42
  }
}
{
  "Code": "RecordsImported",
  "Data": {
    "InsertedRecords": 42,
    "TotalRecords": 42
  }
}

If the server records row-level errors, the response also includes ErrorFileLink pointing at a downloadable error report.

uip df records delete

Delete one or more records by ID.

Arguments

NameRequiredPurpose
<id>yesEntity ID (UUID).
<key...>yesOne or more record IDs to delete.

Options

ShortLongValueDefaultDescription
-t--tenantnamesession defaultOverride the tenant.

Examples

uip df records delete a1b2c3d4-0000-0000-0000-000000000001 \
    b2c3d4e5-0000-0000-0000-000000000001

# Bulk delete
uip df records delete a1b2c3d4-0000-0000-0000-000000000001 \
    b2c3d4e5-0000-0000-0000-000000000001 \
    b2c3d4e5-0000-0000-0000-000000000002 \
    b2c3d4e5-0000-0000-0000-000000000003
uip df records delete a1b2c3d4-0000-0000-0000-000000000001 \
    b2c3d4e5-0000-0000-0000-000000000001

# Bulk delete
uip df records delete a1b2c3d4-0000-0000-0000-000000000001 \
    b2c3d4e5-0000-0000-0000-000000000001 \
    b2c3d4e5-0000-0000-0000-000000000002 \
    b2c3d4e5-0000-0000-0000-000000000003

Data shape (--output json)

{
  "Code": "RecordsDeleted",
  "Data": {
    "SuccessCount": 1,
    "FailureCount": 0,
    "SuccessRecords": [ { "Id": "b2c3d4e5-0000-0000-0000-000000000001" } ],
    "FailureRecords": []
  }
}
{
  "Code": "RecordsDeleted",
  "Data": {
    "SuccessCount": 1,
    "FailureCount": 0,
    "SuccessRecords": [ { "Id": "b2c3d4e5-0000-0000-0000-000000000001" } ],
    "FailureRecords": []
  }
}

A partial failure still emits the full response but sets exit code 1.

  • uip df entities — discover the entity ID first; inspect schema before authoring queries.
  • uip df files — manage file attachments on the records here.

See also

Was this page helpful?

Connect

Need help? Support

Want to learn? UiPath Academy

Have questions? UiPath Forum

Stay updated