> ## Documentation Index
> Fetch the complete documentation index at: https://domoinc-openapi-sync-dataflows.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Import data into DataSet

> Import data into a DataSet in your Domo instance. You can replace everything or append new data.




## OpenAPI

````yaml /openapi/platform/dataset.yaml PUT /v1/datasets/{dataset_id}/data
openapi: 3.0.0
info:
  title: DataSet API
  description: >
    ## The DataSet Object


    ---


    The DataSet API allows you to create, replace, append to, export, and manage
    DataSets, as well as manage data permissions for DataSets within Domo. Most
    of its calls return a DataSet object.



    <!-- theme: info -->


    > #### Best Practice

    >

    > The DataSet API should be used to create and update small DataSets that
    occasionally need their data updated. For creating and updating massive,
    constantly changing, or rapidly growing DataSets, the Stream API is
    recommended.


    <!-- theme: info -->


    > #### Permissions

    >

    > To update or write to a DataSet via API, you must have the Manage DataSet
    grant enabled.


    ### Attributes


    | Property Name | Type | Description |

    | --- | --- | --- |

    | id | String | ID of the DataSet |

    | name | String | Name of the DataSet |

    | description | String | Description of DataSet |

    | owner.id | String | ID of the owner |

    | owner.name | String | Name of the owner |

    | columns | Number | The number of columns currently in the DataSet |

    | createdAt | String | An ISO-8601 representation of the creation date of
    the DataSet |

    | updatedAt | String | AN ISO-8601 representation of the time the DataSet
    was last updated |

    | dataCurrentAt | String | An ISO-8601 representation of the time the
    DataSet was current |

    | schema | Object | The current schema associated with this DataSet |

    | schema.columns | Array | Array of columns in the DataSet |

    | schema.columns\[\].name | String | Column name in the DataSet schema |

    | schema.columns\[\].type | String | Column type in the DataSet schema.
    Valid types are STRING, DECIMAL, LONG, DOUBLE, DATE, DATETIME. |

    | pdpEnabled | Boolean | Indicates if PDP \[Personalized Data Permission\]
    policy filtering on data is active on this DataSet |

    | policies | Array | List of policies attached to DataSet |

    | policies\[\].filters\[\].column | String | Name of the column to filter on
    |

    | policies\[\].filters\[\].not | Boolean | Determines if NOT is applied to
    the filter operation |

    | policies\[\].filters\[\].operator | String | Matching operator (EQUALS) |

    | policies\[\].filters\[\].values\[\] | String | Values to filter on |

    | policies\[\].groups | Array | List of group IDs the policy applies to |

    | policies\[\].id | Number | ID of the Policy |

    | policies\[\].name | String | Name of the Policy |

    | policies\[\].type | String | Type of policy (user or system) |

    | policies\[\].users | Array | List of user IDs the policy applies to |

    | rows | Number | The number of rows currently in the DataSet |
  version: 1.0.0
servers:
  - url: https://api.domo.com
    description: Domo API
security:
  - bearerAuth: []
paths:
  /v1/datasets/{dataset_id}/data:
    parameters:
      - schema:
          type: string
          example: 08a061e2-12a2-4646-b4bc-20beddb403e3
        name: dataset_id
        in: path
        required: true
        description: ID of the DataSet
    put:
      summary: Import data into DataSet
      description: >
        Import data into a DataSet in your Domo instance. You can replace
        everything or append new data.
      parameters:
        - name: dataset_id
          in: path
          schema:
            type: string
          required: true
        - name: updateMethod
          in: query
          description: >
            Specifies how the data import should update the DataSet. 


            Defaults to `REPLACE` if not specified. 


            Case-sensitive; must be uppercase. Falls back to REPLACE if given an
            invalid value.
          required: false
          schema:
            type: string
            default: REPLACE
            enum:
              - REPLACE
              - APPEND
      requestBody:
        content:
          text/csv:
            schema:
              type: string
              description: CSV data according to RFC 4180 format.
            examples:
              Example 1:
                value: |
                  Friend,Attending
                  Isaac Newton,Yes
                  Pythagoras,No
                  Carl Friedrich Gauss,Yes
                  Ada Lovelace,Yes
              Example 2:
                value: >
                  name,role,quote,side

                  Leia Organa,Rebel Leader,"Help me, Obi-Wan Kenobi. You're my
                  only hope.",light

                  Qui-Gon Jinn,,,

                  Darth Vader,Sith Lord,I find your lack of faith
                  disturbing.,dark
              Example 3:
                value: |
                  "name","age"
                  "Smith, Jacob","78"
                  "Corsa, Claire","56"
                  "Thomas, Liz","33"
        description: >
          The schema needs to match, even when replacing.


          The only supported content type for this endpoint is CSV. However, if
          you use [the Simple
          API](https://developer.domo.com/portal/d984e2fec9b18-import-data-into-data-set),
          it will automatically convert JSON to CSV.


          > The Domo specification used for representing data grids in CSV
          format closely follows the RFC standard for CSV
          ([RFC-4180](https://datatracker.ietf.org/doc/html/rfc4180)).


          ```

          Content-Type: text/csv


          Friend,Attending

          Isaac Newton,Yes

          Pythagoras,No

          Carl Friedrich Gauss,Yes

          Ada Lovelace,Yes

          ```
      responses:
        '204':
          description: Success! Returns an empty response body.
        '400':
          description: Bad Request — Invalid input data or schema.
          content:
            application/json:
              schema:
                type: object
                example:
                  status: 400
                  statusReason: Bad Request
                  message: >-
                    Data import failed for dataset
                    e6277565-39fc-42d7-835a-5cfe2905a840.
                  toe: CA6JIHTO46-28C5D-UEQ7I
        '401':
          description: Unauthorized — Expired access token, etc.
          headers:
            WWW-Authenticate:
              description: Error codes and descriptions.
              schema:
                type: string
                example: >-
                  Bearer error="invalid_token", error_description="An error
                  occurred while attempting to decode the Jwt: Jwt expired at
                  2025-04-25T04:28:44Z",
                  error_uri="https://tools.ietf.org/html/rfc6750#section-3.1"
        '403':
          description: Forbidden — Invalid or missing access token.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    example: 403
                  toe:
                    type: string
                    description: >-
                      Thread of Execution — a way Domo Support can track down a
                      problem
                    example: 694M4LH50R-CFNR0-N0VD2
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````