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

# Update a collection

> *Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).*

Updates collection name, description, and/or product list

<Note>
  **OAuth scope:** `offer_write`

  API keys have full access to this endpoint.
</Note>


## OpenAPI

````yaml PUT /open-api/v1.0/collections/{collectionId}
openapi: 3.1.0
info:
  title: Fourthwall APIs
  description: Service used for management of orders, carts, and payments.
  termsOfService: https://fourthwall.com/terms-of-service
  contact:
    name: Backend team
    url: https://fourthwall.com
    email: backend@fourthwall.com
  version: unspecified
servers:
  - url: https://api.fourthwall.com
    description: Production server
security: []
externalDocs:
  description: OpenAPI documentation
  url: https://docs.fourthwall.com
paths:
  /open-api/v1.0/collections/{collectionId}:
    put:
      tags:
        - Collections
      summary: Update a collection
      description: >-
        *Rate limit: 100 requests / 10 seconds per shop. See [Rate
        limiting](/guides/rate-limiting).*


        Updates collection name, description, and/or product list
      operationId: update-collection
      parameters:
        - name: collectionId
          in: path
          required: true
          schema:
            type: string
          example: col_b1EVARkUTcCTSfspQaXr1Q
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/com.fourthwall.openapi.model.UpdateCollectionV1Request
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/com.fourthwall.openapi.model.CollectionV1'
        '400':
          description: >-
            Possible errors: `COLLECTION_OFFERS_ALREADY_MODIFIED_ERROR`,
            `COLLECTION_UNSUPPORTED_UPDATE_DETAILS_OPERATION_ERROR`
          content:
            application/json:
              examples:
                collection-offers-already-modified-error:
                  value:
                    code: COLLECTION_OFFERS_ALREADY_MODIFIED_ERROR
                    collectionId: <collectionid>
                collection-unsupported-update-details-operation-error:
                  value:
                    code: COLLECTION_UNSUPPORTED_UPDATE_DETAILS_OPERATION_ERROR
                    collectionId: <collectionid>
                    slug: <slug>
        '404':
          description: >-
            Possible errors: `COLLECTION_NOT_FOUND_BY_ID_ERROR`,
            `COLLECTION_OFFERS_NOT_FOUND`
          content:
            application/json:
              examples:
                collection-not-found-by-id-error:
                  value:
                    code: COLLECTION_NOT_FOUND_BY_ID_ERROR
                    id: <collectionid>
                collection-offers-not-found:
                  value:
                    code: COLLECTION_OFFERS_NOT_FOUND
                    shopId: <shopid>
                    offerIds: <list>
        '429':
          description: 'Rate limited: 100 requests / 10 seconds per shop.'
          content:
            application/json:
              examples:
                too-many-requests:
                  value:
                    code: OPEN_API_TOO_MANY_REQUESTS
                    title: Too many requests
                    status: 429
      security:
        - oauth:
            - offer_write
        - basicAuth: []
      externalDocs:
        url: >-
          https://docs.fourthwall.com/api-reference/platform/collections/update-collection
components:
  schemas:
    com.fourthwall.openapi.model.UpdateCollectionV1Request:
      type: object
      description: Request to update a collection
      properties:
        name:
          type: string
          example: My collection
        description:
          type: string
          example: My collection description
        offerIds:
          type: array
          description: List of product IDs to set in the collection
          items:
            type: string
            format: uuid
      title: Update Collection V1Request
    com.fourthwall.openapi.model.CollectionV1:
      type: object
      properties:
        id:
          type: string
          example: col_b1EVARkUTcCTSfspQaXr1Q
        shopId:
          type: string
          example: sh_c689d374-22ca-43d3-8d29-9ef0805cc4cb
        name:
          type: string
          example: My collection
        slug:
          type: string
          example: my-collection
        description:
          type: string
          example: My collection description
        available:
          type: boolean
        state:
          oneOf:
            - $ref: >-
                #/components/schemas/com.fourthwall.openapi.model.CollectionStateV1.Archived
            - $ref: >-
                #/components/schemas/com.fourthwall.openapi.model.CollectionStateV1.Hidden
            - $ref: >-
                #/components/schemas/com.fourthwall.openapi.model.CollectionStateV1.Private
            - $ref: >-
                #/components/schemas/com.fourthwall.openapi.model.CollectionStateV1.Public
        offerIds:
          type: array
          items:
            type: string
            format: uuid
      required:
        - available
        - description
        - id
        - name
        - offerIds
        - shopId
        - slug
        - state
      title: Collection
    com.fourthwall.openapi.model.CollectionStateV1.Archived:
      allOf:
        - $ref: '#/components/schemas/com.fourthwall.openapi.model.CollectionStateV1'
        - type: object
          properties:
            type:
              type: string
              const: ARCHIVED
      description: Archived collection state
      title: Archived
    com.fourthwall.openapi.model.CollectionStateV1.Hidden:
      allOf:
        - $ref: '#/components/schemas/com.fourthwall.openapi.model.CollectionStateV1'
        - type: object
          properties:
            available:
              type: boolean
        - type: object
          properties:
            type:
              type: string
              const: HIDDEN
      description: Hidden collection state
      required:
        - available
      title: Hidden
    com.fourthwall.openapi.model.CollectionStateV1.Private:
      allOf:
        - $ref: '#/components/schemas/com.fourthwall.openapi.model.CollectionStateV1'
        - type: object
          properties:
            available:
              type: boolean
        - type: object
          properties:
            type:
              type: string
              const: PRIVATE
      description: Private collection state
      required:
        - available
      title: Private
    com.fourthwall.openapi.model.CollectionStateV1.Public:
      allOf:
        - $ref: '#/components/schemas/com.fourthwall.openapi.model.CollectionStateV1'
        - type: object
          properties:
            available:
              type: boolean
        - type: object
          properties:
            type:
              type: string
              const: PUBLIC
      description: Public collection state
      required:
        - available
      title: Public
    com.fourthwall.openapi.model.CollectionStateV1:
      description: Collection state
      discriminator:
        propertyName: type
        mapping:
          PUBLIC:
            $ref: >-
              #/components/schemas/com.fourthwall.openapi.model.CollectionStateV1.Public
          HIDDEN:
            $ref: >-
              #/components/schemas/com.fourthwall.openapi.model.CollectionStateV1.Hidden
          PRIVATE:
            $ref: >-
              #/components/schemas/com.fourthwall.openapi.model.CollectionStateV1.Private
          ARCHIVED:
            $ref: >-
              #/components/schemas/com.fourthwall.openapi.model.CollectionStateV1.Archived
      properties:
        type:
          type: string
      required:
        - type
      title: Collection State
  securitySchemes:
    oauth:
      type: oauth2
      flows:
        implicit:
          authorizationUrl: >-
            https://auth.staging.fourthwall.com/auth/realms/Fourthwall/protocol/openid-connect/auth
          scopes:
            donation_read: donation_read
            order_read: order_read
            order_write: order_write
            fulfillment_write: fulfillment_write
            giveaway_read: giveaway_read
            giveaway_write: giveaway_write
            memberships_read: memberships_read
            memberships_write: memberships_write
            promotions_write: promotions_write
            promotions_read: promotions_read
            offer_read: offer_read
            offer_write: offer_write
            shop_read: shop_read
            thankyou_read: thankyou_read
            thankyou_write: thankyou_write
            webhook_read: webhook_read
            webhook_write: webhook_write
            media_read: media_read
            media_write: media_write
            analytics_read: analytics_read
            samples_read: samples_read
            samples_write: samples_write
            dns_read: dns_read
            dns_write: dns_write
            settings_read: settings_read
            payout_read: payout_read
            integrations_read: integrations_read
    basicAuth:
      type: http
      scheme: basic

````