Box

Box Retention Policy Assignments API

A Retention Policy Assignment is a relation between a policy and folder or enterprise. Creating an assignment puts a retention on all the file versions that belong to that folder or enterprise.

Documentation

📖
Documentation
https://developer.box.com/reference/get-authorize
📖
Documentation
https://developer.box.com/reference/post-oauth2-token
📖
Documentation
https://developer.box.com/reference/post-files-id-copy
📖
Documentation
https://developer.box.com/reference/post-file-requests-id-copy
📖
Documentation
https://developer.box.com/reference/post-folders-id-copy
📖
Documentation
https://developer.box.com/reference/post-folder-locks
📖
Documentation
https://developer.box.com/reference/post-metadata-templates-schema
📖
Documentation
https://developer.box.com/reference/post-metadata-cascade-policies
📖
Documentation
https://developer.box.com/reference/post-metadata-queries-execute-read
📖
Documentation
https://developer.box.com/reference/post-comments
📖
Documentation
https://developer.box.com/reference/post-collaborations
📖
Documentation
https://developer.box.com/reference/post-tasks
📖
Documentation
https://developer.box.com/reference/post-task-assignments
📖
Documentation
https://developer.box.com/reference/put-files-id--add-shared-link
📖
Documentation
https://developer.box.com/reference/put-folders-id--add-shared-link
📖
Documentation
https://developer.box.com/reference/post-web-links
📖
Documentation
https://developer.box.com/reference/put-web-links-id--add-shared-link
📖
Documentation
https://developer.box.com/reference/post-users
📖
Documentation
https://developer.box.com/reference/post-invites
📖
Documentation
https://developer.box.com/reference/post-groups
📖
Documentation
https://developer.box.com/reference/post-group-memberships
📖
Documentation
https://developer.box.com/reference/post-webhooks
📖
Documentation
https://developer.box.com/reference/post-files-id-metadata-global-boxSkillsCards
📖
Documentation
https://developer.box.com/reference/options-events
📖
Documentation
https://developer.box.com/reference/get-collections-id
📖
Documentation
https://developer.box.com/reference/get-recent-items
📖
Documentation
https://developer.box.com/reference/post-retention-policies
📖
Documentation
https://developer.box.com/reference/post-retention-policy-assignments
📖
Documentation
https://developer.box.com/reference/post-legal-hold-policies
📖
Documentation
https://developer.box.com/reference/post-legal-hold-policy-assignments
📖
Documentation
https://developer.box.com/reference/get-file-version-retentions-id
📖
Documentation
https://developer.box.com/reference/get-file-version-legal-holds-id
📖
Documentation
https://developer.box.com/reference/post-shield-information-barriers-change-status
📖
Documentation
https://developer.box.com/reference/post-shield-information-barrier-reports
📖
Documentation
https://developer.box.com/reference/post-shield-information-barrier-segments
📖
Documentation
https://developer.box.com/reference/post-shield-information-barrier-segment-members
📖
Documentation
https://developer.box.com/reference/post-shield-information-barrier-segment-restrictions
📖
Documentation
https://developer.box.com/reference/get-device-pinners-id
📖
Documentation
https://developer.box.com/reference/post-terms-of-services
📖
Documentation
https://developer.box.com/reference/post-terms-of-service-user-statuses
📖
Documentation
https://developer.box.com/reference/post-collaboration-whitelist-entries
📖
Documentation
https://developer.box.com/

Specifications

Other Resources

OpenAPI Specification

box-retention-policy-assignments-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  version: "1.0"
  title: Box Authorize Authorization Retention Policy Assignments API
  description: Needs a description.
tags:
- name: Retention Policy Assignments
  description: 'A Retention Policy Assignment is a relation

    between a policy and folder or enterprise.

    Creating an assignment puts a retention on

    all the file versions that belong to that folder or enterprise.'
  x-box-tag: retention_policy_assignments
paths:
  /retention_policies/{retention_policy_id}/assignments:
    get:
      operationId: get_retention_policies_id_assignments
      summary: Box List retention policy assignments
      tags:
      - Retention Policy Assignments
      x-box-tag: retention_policy_assignments
      description: 'Returns a list of all retention policy assignments associated with a specified

        retention policy.'
      parameters:
      - name: retention_policy_id
        description: The ID of the retention policy.
        example: '982312'
        in: path
        required: true
        schema:
          type: string
      - name: type
        description: The type of the retention policy assignment to retrieve.
        in: query
        required: false
        example: metadata_template
        schema:
          type: string
          enum:
          - folder
          - enterprise
          - metadata_template
      - name: fields
        description: 'A comma-separated list of attributes to include in the

          response. This can be used to request fields that are

          not normally returned in a standard response.


          Be aware that specifying this parameter will have the

          effect that none of the standard fields are returned in

          the response unless explicitly specified, instead only

          fields for the mini representation are returned, additional

          to the fields requested.'
        in: query
        example:
        - id
        - type
        - name
        required: false
        explode: false
        schema:
          type: array
          items:
            type: string
      - name: marker
        description: 'Defines the position marker at which to begin returning results. This is

          used when paginating using marker-based pagination.'
        in: query
        required: false
        example: JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii
        schema:
          type: string
      - name: limit
        description: The maximum number of items to return per page.
        in: query
        required: false
        example: 1000
        schema:
          type: integer
          format: int64
          maximum: 1000
      responses:
        '200':
          description: 'Returns a list of the retention policy assignments associated with the

            specified retention policy.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RetentionPolicyAssignments'
        '400':
          description: Returns an error if an unknown `type` is specified.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        default:
          description: An unexpected client error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
  /retention_policy_assignments:
    post:
      operationId: post_retention_policy_assignments
      summary: Box Assign retention policy
      tags:
      - Retention Policy Assignments
      x-box-tag: retention_policy_assignments
      description: Assigns a retention policy to an item.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - policy_id
              - assign_to
              properties:
                policy_id:
                  type: string
                  description: The ID of the retention policy to assign
                  example: '173463'
                assign_to:
                  type: object
                  description: The item to assign the policy to
                  required:
                  - type
                  properties:
                    type:
                      type: string
                      description: The type of item to assign the policy to.
                      example: metadata_template
                      enum:
                      - enterprise
                      - folder
                      - metadata_template
                    id:
                      type: string
                      nullable: true
                      description: 'The ID of item to assign the policy to.

                        Set to `null` or omit when `type` is set to

                        `enterprise`.'
                      example: '6564564'
                filter_fields:
                  type: array
                  description: 'If the `assign_to` type is `metadata_template`,

                    then optionally add the `filter_fields` parameter which will

                    require an array of objects with a field entry and a value entry.

                    Currently only one object of `field` and `value` is supported.'
                  items:
                    type: object
                    properties:
                      field:
                        type: string
                        description: The metadata attribute key id.
                        example: a0f4ee4e-1dc1-4h90-a8a9-aef55fc681d4
                      value:
                        type: string
                        description: 'The metadata attribute field id. For value, only

                          enum and multiselect types are supported.'
                        example: 0c27b756-0p87-4fe0-a43a-59fb661ccc4e
                start_date_field:
                  description: 'The date the retention policy assignment begins.


                    If the `assigned_to` type is `metadata_template`,

                    this field can be a date field''s metadata attribute key id.'
                  type: string
                  example: upload_date
      responses:
        '201':
          description: Returns a new retention policy assignment object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RetentionPolicyAssignment'
        '400':
          description: 'Returns an error if an `id` is specified while assigning the

            retention policy to an enterprise.


            Returns an error if `start_date_field` is present but `assign_to.type`

            is not `metadata_template`


            Returns an error if `start_date_field` is present, but belongs to a

            different metadata template than the one specified in `assign_to.id`


            Returns an error if `start_date_field` is present, but the

            `retention_policy` has a `retention_length` of "indefinite"


            Returns an error if `start_date_field` is present, but cannot be resolved

            to a valid metadata date field.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Returns an error if no retention policy with the given `policy_id` exists.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '409':
          description: 'Returns an error if a retention policy of equal or greater length has

            already been assigned to this item.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        default:
          description: An unexpected client error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
  /retention_policy_assignments/{retention_policy_assignment_id}:
    get:
      operationId: get_retention_policy_assignments_id
      summary: Box Get retention policy assignment
      tags:
      - Retention Policy Assignments
      x-box-tag: retention_policy_assignments
      description: Retrieves a retention policy assignment
      parameters:
      - name: retention_policy_assignment_id
        description: The ID of the retention policy assignment.
        example: '1233123'
        in: path
        required: true
        schema:
          type: string
      - name: fields
        description: 'A comma-separated list of attributes to include in the

          response. This can be used to request fields that are

          not normally returned in a standard response.


          Be aware that specifying this parameter will have the

          effect that none of the standard fields are returned in

          the response unless explicitly specified, instead only

          fields for the mini representation are returned, additional

          to the fields requested.'
        in: query
        example:
        - id
        - type
        - name
        required: false
        explode: false
        schema:
          type: array
          items:
            type: string
      responses:
        '200':
          description: Returns the retention policy assignment object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RetentionPolicyAssignment'
        default:
          description: An unexpected client error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
    delete:
      operationId: delete_retention_policy_assignments_id
      summary: Box Remove retention policy assignment
      tags:
      - Retention Policy Assignments
      x-box-tag: retention_policy_assignments
      description: 'Removes a retention policy assignment

        applied to content.'
      parameters:
      - name: retention_policy_assignment_id
        description: The ID of the retention policy assignment.
        example: '1233123'
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: 'Returns an empty response when the policy assignment

            is successfully deleted.'
        '403':
          description: 'Returns an error when the assignment relates to

            a retention policy that cannot be modified.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: 'Returns an error when the retention policy

            assignment does not exist.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        default:
          description: An unexpected client error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
  /retention_policy_assignments/{retention_policy_assignment_id}/files_under_retention:
    get:
      operationId: get_retention_policy_assignments_id_files_under_retention
      summary: Box Get files under retention
      tags:
      - Retention Policy Assignments
      x-box-tag: retention_policy_assignments
      description: Returns a list of files under retention for a retention policy assignment.
      parameters:
      - name: retention_policy_assignment_id
        description: The ID of the retention policy assignment.
        example: '1233123'
        in: path
        required: true
        schema:
          type: string
      - name: marker
        description: 'Defines the position marker at which to begin returning results. This is

          used when paginating using marker-based pagination.


          This requires `usemarker` to be set to `true`.'
        in: query
        required: false
        example: JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii
        schema:
          type: string
      - name: limit
        description: The maximum number of items to return per page.
        in: query
        required: false
        example: 1000
        schema:
          type: integer
          format: int64
          maximum: 1000
      responses:
        '200':
          description: 'Returns a list of files under retention that are associated with the

            specified retention policy assignment.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FilesUnderRetention'
        '400':
          description: Returns an error if `retention_policy_assignment_id` is not specified.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        default:
          description: An unexpected client error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
  /retention_policy_assignments/{retention_policy_assignment_id}/file_versions_under_retention:
    get:
      operationId: get_retention_policy_assignments_id_file_versions_under_retention
      summary: Box Get file versions under retention
      tags:
      - Retention Policy Assignments
      x-box-tag: retention_policy_assignments
      description: 'Returns a list of file versions under retention for a retention policy

        assignment.'
      parameters:
      - name: retention_policy_assignment_id
        description: The ID of the retention policy assignment.
        example: '1233123'
        in: path
        required: true
        schema:
          type: string
      - name: marker
        description: 'Defines the position marker at which to begin returning results. This is

          used when paginating using marker-based pagination.


          This requires `usemarker` to be set to `true`.'
        in: query
        required: false
        example: JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii
        schema:
          type: string
      - name: limit
        description: The maximum number of items to return per page.
        in: query
        required: false
        example: 1000
        schema:
          type: integer
          format: int64
          maximum: 1000
      responses:
        '200':
          description: 'Returns a list of file versions under retention that are associated with

            the specified retention policy assignment.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FilesUnderRetention'
        '400':
          description: Returns an error if `retention_policy_assignment_id` is not specified.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        default:
          description: An unexpected client error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
components:
  schemas:
    User--Base:
      title: User (Base)
      type: object
      x-box-resource-id: user--base
      x-box-tag: users
      x-box-variants:
      - base
      - mini
      - standard
      - full
      x-box-variant: base
      description: 'A mini representation of a user, used when

        nested within another resource.'
      required:
      - type
      - id
      properties:
        id:
          type: string
          description: The unique identifier for this user
          example: '11446498'
        type:
          type: string
          description: '`user`'
          example: user
          nullable: false
          enum:
          - user
    File--Base:
      title: File (Base)
      type: object
      x-box-resource-id: file--base
      x-box-sanitized: true
      x-box-tag: files
      x-box-variants:
      - base
      - mini
      - standard
      - full
      x-box-variant: base
      nullable: true
      description: 'The bare basic representation of a file, the minimal

        amount of fields returned when using the `fields` query

        parameter.'
      required:
      - id
      - type
      properties:
        id:
          type: string
          nullable: false
          description: 'The unique identifier that represent a file.


            The ID for any file can be determined

            by visiting a file in the web application

            and copying the ID from the URL. For example,

            for the URL `https://*.app.box.com/files/123`

            the `file_id` is `123`.'
          example: '12345'
        etag:
          type: string
          example: '1'
          nullable: true
          description: 'The HTTP `etag` of this file. This can be used within some API

            endpoints in the `If-Match` and `If-None-Match` headers to only

            perform changes on the file if (no) changes have happened.'
        type:
          type: string
          description: '`file`'
          example: file
          enum:
          - file
          nullable: false
    FilesUnderRetention:
      title: Files under retention
      type: object
      x-box-resource-id: files_under_retention
      x-box-tag: retention_policy_assignments
      description: A list of files under retention.
      allOf:
      - type: object
        description: 'The part of an API response that describes marker

          based pagination'
        properties:
          limit:
            description: 'The limit that was used for these entries. This will be the same as the

              `limit` query parameter unless that value exceeded the maximum value

              allowed. The maximum value varies by API.'
            example: 1000
            type: integer
            format: int64
          next_marker:
            description: The marker for the start of the next page of results.
            example: JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii
            type: string
            nullable: true
          prev_marker:
            description: The marker for the start of the previous page of results.
            example: JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVih
            type: string
            nullable: true
      - properties:
          entries:
            type: array
            description: A list of files
            items:
              $ref: '#/components/schemas/File--Mini'
    User--Mini:
      title: User (Mini)
      type: object
      x-box-resource-id: user--mini
      x-box-variant: mini
      description: 'A mini representation of a user, as can be returned when nested within other

        resources.'
      allOf:
      - $ref: '#/components/schemas/User--Base'
      - properties:
          name:
            type: string
            description: The display name of this user
            example: Aaron Levie
            maxLength: 50
            nullable: false
          login:
            type: string
            format: email
            description: The primary email address of this user
            example: ceo@example.com
            nullable: false
    FileVersion--Mini:
      title: File version (Mini)
      type: object
      x-box-resource-id: file_version--mini
      x-box-variant: mini
      description: 'A mini representation of a file version, used when

        nested within another resource.'
      allOf:
      - $ref: '#/components/schemas/FileVersion--Base'
      - properties:
          sha1:
            type: string
            description: The SHA1 hash of this version of the file.
            example: 134b65991ed521fcfe4724b7d814ab8ded5185dc
    File--Mini:
      title: File (Mini)
      type: object
      x-box-resource-id: file--mini
      x-box-variant: mini
      description: 'A mini representation of a file, used when

        nested under another resource.'
      nullable: true
      allOf:
      - $ref: '#/components/schemas/File--Base'
      - properties:
          sequence_id:
            allOf:
            - type: string
              example: '3'
              nullable: true
              description: 'A numeric identifier that represents the most recent user event

                that has been applied to this item.


                This can be used in combination with the `GET /events`-endpoint

                to filter out user events that would have occurred before this

                identifier was read.


                An example would be where a Box Drive-like application

                would fetch an item via the API, and then listen to incoming

                user events for changes to the item. The application would

                ignore any user events where the `sequence_id` in the event

                is smaller than or equal to the `sequence_id` in the originally

                fetched resource.'
            - nullable: false
          name:
            type: string
            description: The name of the file
            example: Contract.pdf
          sha1:
            type: string
            format: digest
            nullable: false
            example: 85136C79CBF9FE36BB9D05D0639C70C265C18D37
            description: 'The SHA1 hash of the file. This can be used to compare the contents

              of a file on Box with a local file.'
          file_version:
            allOf:
            - $ref: '#/components/schemas/FileVersion--Mini'
            - description: The information about the current version of the file.
    RetentionPolicy--Base:
      title: Retention policy (Base)
      type: object
      x-box-resource-id: retention_policy--base
      x-box-tag: retention_policies
      x-box-variants:
      - base
      - mini
      - standard
      x-box-variant: base
      description: A base representation of a retention policy.
      required:
      - id
      - type
      properties:
        id:
          type: string
          nullable: false
          description: The unique identifier that represents a retention policy.
          example: '12345'
        type:
          type: string
          description: '`retention_policy`'
          example: retention_policy
          enum:
          - retention_policy
          nullable: false
    RetentionPolicyAssignment:
      title: Retention policy assignment
      type: object
      x-box-resource-id: retention_policy_assignment
      x-box-tag: retention_policy_assignments
      description: 'A retention assignment represents a rule specifying

        the files a retention policy retains.

        Assignments can retain files based on their folder or metadata,

        or hold all files in the enterprise.'
      required:
      - id
      - type
      properties:
        id:
          type: string
          description: The unique identifier for a retention policy assignment.
          example: '11446498'
        type:
          type: string
          description: '`retention_policy_assignment`'
          example: retention_policy_assignment
          enum:
          - retention_policy_assignment
        retention_policy:
          allOf:
          - $ref: '#/components/schemas/RetentionPolicy--Mini'
          - description: 'A mini representation of a retention policy object

              that has been assigned to the content.'
        assigned_to:
          type: object
          description: 'The `type` and `id` of the content that is under

            retention. The `type` can either be `folder`

            `enterprise`, or `metadata_template`.'
          properties:
            id:
              type: string
              nullable: true
              example: a983f69f-e85f-4ph4-9f46-4afdf9c1af65
              description: 'The ID of the folder, enterprise, or metadata template

                the policy is assigned to.

                Set to null or omit when type is set to enterprise.'
            type:
              type: string
              example: metadata_template
              description: The type of resource the policy is assigned to.
              enum:
              - folder
              - enterprise
              - metadata_template
        filter_fields:
          type: array
          nullable: true
          description: 'An array of field objects. Values are only returned if the `assigned_to`

            type is `metadata_template`. Otherwise, the array is blank.'
          items:
            type: object
            nullable: true
            properties:
              field:
                type: string
                nullable: true
                description: The metadata attribute key id.
                example: a0f4ee4e-1dc1-4h90-a8a9-aef55fc681d4
              value:
                type: string
                nullable: true
                description: 'The metadata attribute field id. For value, only

                  enum and multiselect types are supported.'
                example: 0c27b756-0p87-4fe0-a43a-59fb661ccc4e
        assigned_by:
          allOf:
          - $ref: '#/components/schemas/User--Mini'
          - description: 'A mini user object representing the user that

              created the retention policy assignment.'
        assigned_at:
          type: string
          format: date-time
          description: 'When the retention policy assignment object was

            created.'
          example: '2012-12-12T10:53:43-08:00'
        start_date_field:
          type: string
          description: 'The date the retention policy assignment begins.

            If the `assigned_to` type is `metadata_template`,

            this field can be a date field''s metadata attribute key id.'
          example: upload_date
    FileVersion--Base:
      title: File version (Base)
      type: object
      x-box-resource-id: file_version--base
      x-box-sanitized: true
      x-box-variants:
      - base
      - mini
      - standard
      - full
      x-box-variant: base
      description: 'The bare basic representation of a file version, the minimal

        amount of fields returned when using the `fields` query

        parameter.'
      required:
      - id
      - type
      properties:
        id:
          type: string
          nullable: false
          description: The unique identifier that represent a file version.
          example: '12345'
        type:
          type: string
          description: '`file_version`'
          example: file_version
          enum:
          - file_version
          nullable: false
    RetentionPolicyAssignments:
      title: Retention policy assignments
      type: object
      x-box-resource-id: retention_policy_assignments
      x-box-tag: retention_policy_assignments
      description: A list of retention policy assignments.
      allOf:
      - properties:
          entries:
            type: array
            description: A list of retention policy assignments
            items:
              $ref: '#/components/schemas/RetentionPolicyAssignment'
      - type: object
        description: 'The part of an API response that describes marker

          based pagination'
        properties:
          limit:
            description: 'The limit that was used for these entries. This will be the same as the

              `limit` query parameter unless that value exceeded the maximum value

              allowed. The maximum value varies by API.'
            example: 1000
            type: integer
            format: int64
          next_marker:
            description: The marker for the start of the next page of results.
            example: JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii
            type: string
            nullable: true
    ClientError:
      title: Client error
      type: object
      x-box-resource-id: client_error
      description: A generic error
      properties:
        type:
          description: error
          example: error
          type: string
          enum:
          - error
          nullable: false
        status:
          description: The HTTP status of the response.
          example: 400
          type: integer
          format: int32
          nullable: false
        code:
          description: A Box-specific error code
          example: item_name_invalid
          type: string
          enum:
          - created
          - accepted
          - no_content
          - redirect
          - not_modified
          - bad_request
          - unauthorized
          - forbidden
          - not_found
          - method_not_allowed
          - conflict
          - precondition_failed
          - too_many_requests
          - internal_server_error
          - unavailable
          - item_name_invalid
          - insufficient_scope
        message:
          description: A short message describing the error.
          example: Method Not Allowed
          type: string
          nullable: false
        context_info:
          description: 'A free-form object that contains additional context

            about the error. The possible fields are defined on

            a per-endpoint basis. `message` is only one example.'
          type: object
          nullable: true
          properties:
            message:
              type: string
              description: More details on the error.
              example: Something went wrong.
        help_url:
          description: A URL that links to more information about why this error occurred.
          example: https://developer.box.com/guides/api-calls/permissions-and-errors/common-errors/
          type: string
          nullable: false
        request_id:
          description: 'A unique identifier for this response, which can be used

            when contacting Box support.'
          type: string
          example: abcdef123456
          nullable: false
    RetentionPolicy--Mini:
      title: Retention policy (Mini)
      type: object
      x-box-resource-id: retention_policy--mini
      x-box-variant: mini
      description: 'A mini representation of a retention policy, used when

        nested within another resource.'
      allOf:
      - $ref: '#/components/schemas/RetentionPolicy--Base'
      - properties:
          policy_name:
            type: string
            description: The name given to the retention policy.
            example: Some Policy Name
          retention_length:
            type: string
            format: int32
            example: '365'
            minimum: 1
            description: 'The length of the retention policy. This value

              specifies the duration in days that the retention

              policy will be active for after being assigned to

              content.  If the policy has a `policy_type` of

              `indefinite`, the `retention_length` will also be

              `indefinite`.'
          disposition_action:
            type: string
            example: permanently_delete
            description: 'The disposition action of the retention policy.

              This action can be `permanently_delete`, which

              will cause the content retained by the policy

              to be permanently deleted, or `remove_retention`,

              which will lift the retention policy from the content,

              allowing it to be deleted by users,

              once the retention policy has expired.'
            enum:
            - permanently_delete
            - remove_retention