UiPath Data Service API

The UiPath Data Service API provides programmatic access to structured data storage within the UiPath Platform. Developers can create, read, update, and delete records in custom data entities, enabling automation workflows to read from and write to persistent cloud-based data stores.

OpenAPI Specification

uipath-data-service-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: UiPath Data Service API
  description: >-
    The UiPath Data Service API, also referred to as the Data Fabric OpenAPI,
    enables external applications to interact with structured data entities
    stored in UiPath's cloud data platform. It supports schema management and
    data operations including reading, creating, updating, and deleting entity
    records, with access governed by granular role-based permissions. The API
    uses OAuth 2.0 for authorization, with access tokens valid for one hour
    and support for refresh tokens. Developers can download a tenant-specific
    OpenAPI 3.0 specification in JSON format from within the Data Service
    interface for use with code generation and integration tooling. Entity
    schemas are defined per-tenant, so the specific entity types and fields
    available vary by organization configuration.
  version: '1.0'
  contact:
    name: UiPath Support
    url: https://support.uipath.com
  termsOfService: https://www.uipath.com/legal/terms-of-use
externalDocs:
  description: UiPath Data Service API Documentation
  url: https://docs.uipath.com/data-service/automation-cloud/latest/user-guide/api-access
servers:
- url: https://cloud.uipath.com/{organizationName}/{tenantName}/dataservice_/api/EntityService
  description: UiPath Automation Cloud Data Service
  variables:
    organizationName:
      default: your-org
      description: The name of your UiPath organization
    tenantName:
      default: your-tenant
      description: The name of your UiPath tenant
tags:
- name: Entities
  description: Perform CRUD operations on custom data entity records
security:
- bearerAuth: []
paths:
  /{entityName}:
    get:
      operationId: listEntityRecords
      summary: UiPath List Records for an Entity
      description: >-
        Retrieves a list of records for the specified custom entity type. Supports
        filtering with query expressions, ordering, pagination via skip and top,
        and field selection. The available entity names and their fields depend
        on the schema configured within the tenant's Data Service instance.
        Requires the DataService.Data.Read or DataService.Data scope.
      tags:
      - Entities
      parameters:
      - $ref: '#/components/parameters/entityName'
        example: example-value
      - name: $filter
        in: query
        required: false
        description: Filter expression to narrow results by field values
        schema:
          type: string
        example: example-value
      - name: $orderby
        in: query
        required: false
        description: Field name and direction to sort results (e.g., CreatedOn desc)
        schema:
          type: string
        example: example-value
      - name: $top
        in: query
        required: false
        description: Maximum number of records to return
        schema:
          type: integer
          minimum: 1
          maximum: 1000
        example: 1
      - name: $skip
        in: query
        required: false
        description: Number of records to skip for pagination
        schema:
          type: integer
          minimum: 0
        example: 1
      - name: $select
        in: query
        required: false
        description: Comma-separated list of field names to include in the response
        schema:
          type: string
        example: example-value
      - name: $expand
        in: query
        required: false
        description: Related entity references to expand inline in the response
        schema:
          type: string
        example: example-value
      responses:
        '200':
          description: A list of entity records matching the query criteria
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityRecordCollection'
              examples:
                listEntityRecords200Example:
                  summary: Default listEntityRecords 200 response
                  x-microcks-default: true
                  value:
                    totalCount: 1
                    value:
                    - {}
                    nextLink: https://cloud.uipath.com/example
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createEntityRecord
      summary: UiPath Create an Entity Record
      description: >-
        Creates a new record for the specified custom entity type. The request
        body must conform to the entity's schema definition. System-generated
        fields such as Id, CreatedOn, and CreatedBy are populated automatically
        and should not be included in the request body. Requires the
        DataService.Data scope.
      tags:
      - Entities
      parameters:
      - $ref: '#/components/parameters/entityName'
        example: example-value
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EntityRecordInput'
            examples:
              createEntityRecordRequestExample:
                summary: Default createEntityRecord request
                x-microcks-default: true
                value: {}
      responses:
        '200':
          description: Entity record created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityRecord'
              examples:
                createEntityRecord200Example:
                  summary: Default createEntityRecord 200 response
                  x-microcks-default: true
                  value:
                    Id: example-value
                    CreatedOn: '2026-01-15T10:30:00Z'
                    CreatedBy: example-value
                    ModifiedOn: '2026-01-15T10:30:00Z'
                    ModifiedBy: example-value
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /{entityName}/{recordId}:
    get:
      operationId: getEntityRecord
      summary: UiPath Get an Entity Record by ID
      description: >-
        Retrieves a single entity record by its unique identifier. Returns
        all fields of the record including system fields. Supports the
        $select parameter to limit the fields returned. Requires the
        DataService.Data.Read or DataService.Data scope.
      tags:
      - Entities
      parameters:
      - $ref: '#/components/parameters/entityName'
        example: example-value
      - $ref: '#/components/parameters/recordId'
        example: example-value
      - name: $select
        in: query
        required: false
        description: Comma-separated list of field names to include in the response
        schema:
          type: string
        example: example-value
      - name: $expand
        in: query
        required: false
        description: Related entity references to expand inline in the response
        schema:
          type: string
        example: example-value
      responses:
        '200':
          description: The requested entity record
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityRecord'
              examples:
                getEntityRecord200Example:
                  summary: Default getEntityRecord 200 response
                  x-microcks-default: true
                  value:
                    Id: example-value
                    CreatedOn: '2026-01-15T10:30:00Z'
                    CreatedBy: example-value
                    ModifiedOn: '2026-01-15T10:30:00Z'
                    ModifiedBy: example-value
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      operationId: updateEntityRecord
      summary: UiPath Update an Entity Record
      description: >-
        Updates an existing entity record by its unique identifier. The
        request body should include only the fields to update. System-managed
        fields such as Id, CreatedOn, and CreatedBy cannot be modified.
        ModifiedOn and ModifiedBy are updated automatically. Requires the
        DataService.Data scope.
      tags:
      - Entities
      parameters:
      - $ref: '#/components/parameters/entityName'
        example: example-value
      - $ref: '#/components/parameters/recordId'
        example: example-value
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EntityRecordInput'
            examples:
              updateEntityRecordRequestExample:
                summary: Default updateEntityRecord request
                x-microcks-default: true
                value: {}
      responses:
        '200':
          description: Entity record updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityRecord'
              examples:
                updateEntityRecord200Example:
                  summary: Default updateEntityRecord 200 response
                  x-microcks-default: true
                  value:
                    Id: example-value
                    CreatedOn: '2026-01-15T10:30:00Z'
                    CreatedBy: example-value
                    ModifiedOn: '2026-01-15T10:30:00Z'
                    ModifiedBy: example-value
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: deleteEntityRecord
      summary: UiPath Delete an Entity Record
      description: >-
        Permanently deletes an entity record by its unique identifier.
        This action cannot be undone. Requires the DataService.Data scope.
      tags:
      - Entities
      parameters:
      - $ref: '#/components/parameters/entityName'
        example: example-value
      - $ref: '#/components/parameters/recordId'
        example: example-value
      responses:
        '204':
          description: Entity record deleted successfully
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /{entityName}/query:
    post:
      operationId: queryEntityRecords
      summary: UiPath Query Entity Records with Advanced Filtering
      description: >-
        Performs an advanced query against the entity using a structured
        filter expression in the request body. Supports complex conditions,
        nested field filtering, and joining conditions with AND and OR
        operators. Returns a paginated list of matching records.
        Requires the DataService.Data.Read or DataService.Data scope.
      tags:
      - Entities
      parameters:
      - $ref: '#/components/parameters/entityName'
        example: example-value
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EntityQueryRequest'
            examples:
              queryEntityRecordsRequestExample:
                summary: Default queryEntityRecords request
                x-microcks-default: true
                value:
                  filterGroup:
                    logicalOperator: {}
                    queryFilters: {}
                    filterGroups: {}
                  selectedFields:
                  - example-value
                  orderBy:
                  - {}
                  start: 1
                  limit: 1
      responses:
        '200':
          description: Records matching the query criteria
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityRecordCollection'
              examples:
                queryEntityRecords200Example:
                  summary: Default queryEntityRecords 200 response
                  x-microcks-default: true
                  value:
                    totalCount: 1
                    value:
                    - {}
                    nextLink: https://cloud.uipath.com/example
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        OAuth 2.0 Bearer token obtained from the UiPath Identity Server.
        Data Service scopes include DataService.Data and DataService.Data.Read.
        Tokens are valid for one hour; refresh tokens are supported.
  parameters:
    entityName:
      name: entityName
      in: path
      required: true
      description: >-
        Name of the custom entity type as defined in the tenant's Data Service
        schema. Entity names are case-sensitive.
      schema:
        type: string
    recordId:
      name: recordId
      in: path
      required: true
      description: Unique identifier of the entity record
      schema:
        type: string
  responses:
    BadRequest:
      description: The request was malformed or the entity schema was violated
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Unauthorized:
      description: The request lacks valid authentication credentials
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Forbidden:
      description: The authenticated user does not have permission to perform this action
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    NotFound:
      description: The requested entity type or record was not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  schemas:
    EntityRecord:
      type: object
      description: >-
        A single entity record. The specific fields available depend on
        the entity schema configured in the tenant's Data Service. All
        records include the following system-managed fields.
      properties:
        Id:
          type: string
          description: Unique system-assigned identifier of the record
          example: abc123
        CreatedOn:
          type: string
          format: date-time
          description: ISO 8601 timestamp when the record was created
          example: '2026-01-15T10:30:00Z'
        CreatedBy:
          type: string
          description: Identifier of the user or process that created the record
          example: example-value
        ModifiedOn:
          type: string
          format: date-time
          description: ISO 8601 timestamp of the last modification
          example: '2026-01-15T10:30:00Z'
        ModifiedBy:
          type: string
          description: Identifier of the user or process that last modified the record
          example: example-value
      additionalProperties: true
    EntityRecordInput:
      type: object
      description: >-
        Input payload for creating or updating an entity record. The specific
        fields required depend on the entity schema definition. System-managed
        fields (Id, CreatedOn, CreatedBy, ModifiedOn, ModifiedBy) should not
        be included.
      additionalProperties: true
    EntityRecordCollection:
      type: object
      description: A paginated collection of entity records
      properties:
        totalCount:
          type: integer
          description: Total number of records matching the query
          example: 42
        value:
          type: array
          items:
            $ref: '#/components/schemas/EntityRecord'
          description: Array of entity records for the current page
          example: []
        nextLink:
          type: string
          format: uri
          description: URL for the next page of results, if more records are available
          example: https://cloud.uipath.com/example
    EntityQueryRequest:
      type: object
      description: Advanced query request with structured filter conditions
      properties:
        filterGroup:
          $ref: '#/components/schemas/FilterGroup'
        selectedFields:
          type: array
          items:
            type: string
          description: List of field names to include in the response
          example: []
        orderBy:
          type: array
          items:
            $ref: '#/components/schemas/OrderByClause'
          example: []
        start:
          type: integer
          minimum: 0
          description: Zero-based offset for pagination
          example: 1
        limit:
          type: integer
          minimum: 1
          maximum: 1000
          description: Maximum number of records to return
          example: 1
    FilterGroup:
      type: object
      description: A group of filter conditions joined by a logical operator
      properties:
        logicalOperator:
          type: string
          enum: [AND, OR]
          description: Logical operator combining the conditions in this group
          example: AND
        queryFilters:
          type: array
          items:
            $ref: '#/components/schemas/QueryFilter'
          description: List of individual field filter conditions
          example: []
        filterGroups:
          type: array
          items:
            $ref: '#/components/schemas/FilterGroup'
          description: Nested filter groups for complex query expressions
          example: []
    QueryFilter:
      type: object
      description: A single field comparison condition in a query
      required:
      - fieldName
      - operator
      - value
      properties:
        fieldName:
          type: string
          description: Name of the entity field to filter on
          example: Example Name
        operator:
          type: string
          enum: [equals, notEquals, lessThan, lessThanOrEquals, greaterThan, greaterThanOrEquals, contains, startsWith, endsWith, isNull, isNotNull]
          description: Comparison operator for the filter condition
          example: equals
        value:
          description: Value to compare against; type depends on the field type
          example: example-value
    OrderByClause:
      type: object
      description: Sort specification for query results
      required:
      - fieldName
      properties:
        fieldName:
          type: string
          description: Name of the field to sort by
          example: Example Name
        descending:
          type: boolean
          default: false
          description: Whether to sort in descending order
          example: true
    ErrorResponse:
      type: object
      description: Standard error response body
      properties:
        message:
          type: string
          description: Human-readable error message
          example: example-value
        errorCode:
          type: string
          description: Error code identifier
          example: example-value
        traceId:
          type: string
          description: Trace identifier for support and debugging
          example: abc123