> ## 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.

# Create a Personalized Data Permission (PDP) Policy

> Create a PDP policy for user and or group access to data within a DataSet.  Users and groups must exist before creating PDP policy.

<Note>The number of characters for the list of values for a single PDP policy, including a delimiter character for each value, must be less than 255 characters.</Note>



## OpenAPI

````yaml /openapi/platform/dataset.yaml POST /v1/datasets/{dataset_id}/policies
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}/policies:
    post:
      summary: Create a Personalized Data Permission (PDP) Policy
      description: "Create a PDP policy for user and or group access to data within a DataSet. \_Users and groups must exist before creating PDP policy.\n\n<Note>The number of characters for the list of values for a single PDP policy, including a delimiter character for each value, must be less than 255 characters.</Note>"
      parameters:
        - name: dataset_id
          in: path
          schema:
            type: string
          required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              x-examples:
                Example 1:
                  name: Only Show Attendees
                  filters:
                    - column: Attending
                      values:
                        - 'TRUE'
                      operator: EQUALS
                  users:
                    - 27
              properties:
                name:
                  type: string
                  description: Name of the Policy
                filters:
                  type: array
                  items:
                    type: object
                    properties:
                      column:
                        type: string
                        description: Name of the column to filter on
                      values:
                        type: array
                        description: Values to filter on
                        items:
                          type: string
                      operator:
                        type: string
                        description: Matching operator (EQUALS)
                      not:
                        type: boolean
                        description: Determines if NOT is applied to the filter operation
                    required:
                      - column
                      - values
                      - operator
                users:
                  type: array
                  description: List of user IDs the policy applies to
                  items:
                    type: integer
                groups:
                  type: array
                  description: List of group IDs the policy applies to
                  items:
                    type: integer
                type:
                  type: string
                  description: Type of policy (user or system)
              required:
                - name
                - filters
            examples:
              Example 1:
                value:
                  name: Only Show Attendees
                  filters:
                    - column: Attending
                      values:
                        - 'TRUE'
                      operator: EQUALS
                  users:
                    - 27
        description: ''
      responses:
        '201':
          description: >-
            Returns a subset of the DataSet object specific to the data
            permission policy.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                  type:
                    type: string
                  name:
                    type: string
                  filters:
                    type: array
                    items:
                      type: object
                      properties:
                        column:
                          type: string
                        values:
                          type: array
                          items:
                            type: string
                        operator:
                          type: string
                        not:
                          type: boolean
                  users:
                    type: array
                    items:
                      type: integer
                  groups:
                    type: array
                    items:
                      type: object
                      properties: {}
                x-examples:
                  Example 1:
                    id: 8
                    type: user
                    name: Only Show Attendees
                    filters:
                      - column: Attending
                        values:
                          - 'TRUE'
                        operator: EQUALS
                        not: false
                    users:
                      - 27
                    groups: []
              examples:
                Example 1:
                  value:
                    id: 8
                    type: user
                    name: Only Show Attendees
                    filters:
                      - column: Attending
                        values:
                          - 'TRUE'
                        operator: EQUALS
                        not: false
                    users:
                      - 27
                    groups: []
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````