> ## Documentation Index
> Fetch the complete documentation index at: https://developer.box.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Update archive

> Updates an archive.

To learn more about the archive APIs, see the [Archive API Guide](/guides/archives).

<Note>
  Learn more about [Box SDK versioning strategy](/guides/tooling/sdks/sdk-versioning/).
</Note>


## OpenAPI

````yaml /box-openapi-v2025.0.json PUT /archives/{archive_id}
openapi: 3.0.2
info:
  title: Box Platform API
  description: >-
    [Box Platform](https://developer.box.com) provides functionality to provide
    access to content stored within [Box](https://box.com). It provides
    endpoints for basic manipulation of files and folders, management of users
    within an enterprise, as well as more complex topics such as legal holds and
    retention policies.
  termsOfService: https://cloud.app.box.com/s/rmwxu64h1ipr41u49w3bbuvbsa29wku9
  contact:
    name: Box, Inc
    url: https://developer.box.com
    email: devrel@box.com
  license:
    name: Apache-2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
  version: '2025.0'
  x-box-commit-hash: 95117b97f9
servers:
  - url: https://api.box.com/2.0
    description: Box Platform API server.
security:
  - OAuth2Security: []
tags:
  - name: Archives
    description: A set of endpoints used to manage archives.
    x-box-tag: archives
  - name: Enterprise Configurations
    description: >-
      Enterprise configurations admins interact with to drive Box product
      behavior.
    x-box-tag: enterprise_configurations
  - name: Box Doc Gen
    description: Doc Gen is used to automatically generate documents.
    x-box-tag: docgen
  - name: Box Doc Gen templates
    description: Doc Gen templates are used as input to generate documents.
    x-box-tag: docgen_template
  - name: External Users
    description: External users are collaborators from outside of your enterprise.
    x-box-tag: external_users
  - name: Box Hubs
    description: A set of endpoints used to manage Box Hubs.
    x-box-tag: hubs
  - name: Box Hub Collaborations
    description: A set of endpoints used to manage collaborations within a Box Hub.
    x-box-tag: hub_collaborations
  - name: Box Hub Document
    description: >-
      A set of endpoints used to retrieve Box Hub Document elements (pages and
      content blocks).
    x-box-tag: hub_document
  - name: Box Hub Items
    description: A set of endpoints used to manage items within a Box Hub.
    x-box-tag: hub_items
  - name: Shield lists
    description: >-
      Shield List allow an administrator to create a list which will be shared
      between different Shield Smart Access and Threat Detection rules.
    x-box-tag: shield_lists
externalDocs:
  description: Box Developer Documentation.
  url: https://developer.box.com
paths:
  /archives/{archive_id}:
    put:
      tags:
        - Archives
      summary: Update archive
      description: >-
        Updates an archive.


        To learn more about the archive APIs, see the [Archive API
        Guide](/guides/archives).
      operationId: put_archives_id_v2025.0
      parameters:
        - name: archive_id
          in: path
          description: The ID of the archive.
          required: true
          schema:
            type: string
          example: '982312'
        - $ref: '#/components/parameters/BoxVersionHeader'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  description: The name of the archive.
                  type: string
                  example: Some Archive
                description:
                  description: The description of the archive.
                  type: string
                  example: This is an archive for important documents.
      responses:
        '200':
          description: Returns the updated archive object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Archive'
        '400':
          description: Returned when some of the parameters are not valid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '401':
          description: >-
            Returned when the access token provided in the `Authorization`
            header is not recognized or not provided.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '403':
          description: >-
            Returned when the authenticated user does not have the right
            permissions to update the archive.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '404':
          description: Returned when the archive is not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '409':
          description: Returned when an archive with the given name already exists.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        '500':
          description: Returned when an unexpected server error occurs.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
        default:
          description: Returned when an unexpected client error occurs.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
      x-codeSamples:
        - lang: curl
          label: Update archive
          source: |-
            curl -i -X PUT "https://api.box.com/2.0/archives/12345" \
                 -H "box-version: 2025.0" \
                 -H "authorization: Bearer <ACCESS_TOKEN>" \
                 -H "content-type: application/json" \
                 -d '{
                   "name": "Some Archive Name",
                   "description": "Some Archive Description"
                 }'
        - lang: dotnet
          label: Update archive
          source: >-
            await client.Archives.UpdateArchiveByIdV2025R0Async(archiveId:
            archive.Id, requestBody: new UpdateArchiveByIdV2025R0RequestBody() {
            Name = newArchiveName, Description = newArchiveDescription });
        - lang: swift
          label: Update archive
          source: >-
            try await client.archives.updateArchiveByIdV2025R0(archiveId:
            archive.id, requestBody: UpdateArchiveByIdV2025R0RequestBody(name:
            newArchiveName, description: newArchiveDescription))
        - lang: java
          label: Update archive
          source: >-
            client.getArchives().updateArchiveByIdV2025R0(archive.getId(), new
            UpdateArchiveByIdV2025R0RequestBody.Builder().name(newArchiveName).description(newArchiveDescription).build())
        - lang: node
          label: Update archive
          source: |-
            await client.archives.updateArchiveByIdV2025R0(archive.id, {
              requestBody: {
                name: newArchiveName,
                description: newArchiveDescription,
              } satisfies UpdateArchiveByIdV2025R0RequestBody,
            } satisfies UpdateArchiveByIdV2025R0OptionalsInput);
        - lang: python
          label: Update archive
          source: |-
            client.archives.update_archive_by_id_v2025_r0(
                archive.id, name=new_archive_name, description=new_archive_description
            )
components:
  parameters:
    BoxVersionHeader:
      name: box-version
      in: header
      description: Version header.
      allowEmptyValue: false
      required: true
      schema:
        type: string
        enum:
          - '2025.0'
      example: '2025.0'
  schemas:
    Archive:
      description: >-
        An archive is a folder dedicated to storing content that is redundant,
        outdated, or trivial. Content in an archive is not accessible to its
        owner and collaborators. To use this feature, you must request GCM scope
        for your Box application.
      type: object
      properties:
        id:
          description: The unique identifier that represents an archive.
          type: string
          example: '12345'
          nullable: false
        type:
          description: The value is always `archive`.
          type: string
          example: archive
          enum:
            - archive
          nullable: false
        name:
          description: >-
            The name of the archive.


            The following restrictions to the archive name apply: names
            containing non-printable ASCII characters, forward and backward
            slashes (`/`, `\`), names with trailing spaces, and names `.` and
            `..` are not allowed.
          type: string
          example: Archive
          maxLength: 100
          minLength: 1
          nullable: false
        size:
          description: The size of the archive in bytes.
          type: integer
          format: int64
          example: 123456789
          nullable: false
        description:
          description: The description of the archive.
          type: string
          example: This is an archive for important documents.
          maxLength: 255
          minLength: 0
          nullable: true
        owned_by:
          description: >-
            The part of an archive API response that describes the user who owns
            the archive.
          type: object
          example:
            id: '12345'
            type: user
          properties:
            id:
              description: >-
                The unique identifier that represents a user who owns the
                archive.
              type: string
              example: '12345'
              nullable: false
            type:
              description: The value is always `user`.
              type: string
              example: user
              nullable: false
          required:
            - id
            - type
      required:
        - id
        - type
        - name
        - size
      title: Archive
      x-box-resource-id: archive_v2025.0
      x-box-tag: archives
    ClientError:
      description: A generic error.
      type: object
      properties:
        type:
          description: The value will always be `error`.
          type: string
          example: error
          enum:
            - error
          nullable: false
        status:
          description: The HTTP status of the response.
          type: integer
          format: int32
          example: 400
          nullable: false
        code:
          description: A Box-specific error code.
          type: string
          example: item_name_invalid
          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.
          type: string
          example: Method Not Allowed
          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
          example:
            message: Something went wrong
          additionalProperties: {}
          nullable: true
        help_url:
          description: A URL that links to more information about why this error occurred.
          type: string
          example: >-
            https://developer.box.com/guides/api-calls/permissions-and-errors/common-errors/
          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
      title: Client error
      x-box-resource-id: client_error_v2025.0
  securitySchemes:
    OAuth2Security:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://account.box.com/api/oauth2/authorize
          tokenUrl: https://api.box.com/oauth2/token
          scopes:
            root_readonly: Read all files and folders stored in Box
            root_readwrite: Read and write all files and folders stored in Box
            manage_app_users: Provision and manage app users
            manage_managed_users: Provision and manage managed users
            manage_groups: Manage an enterprise's groups
            manage_webhook: Create webhooks programmatically through the API
            manage_enterprise_properties: Manage enterprise properties
            manage_data_retention: Manage data retention polices
            manage_legal_hold: Manage Legal Holds

````