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

# Update IP Asset

> Update an existing IP Asset

**API scope required**: `nfts.update`

<Warning>This API is still under development. Contact support for early access.</Warning>{" "}


## OpenAPI

````yaml patch /v1/ip/collections/{collectionId}/ipassets/{customerFacingId}
openapi: 3.0.0
info:
  title: Crossmint Story API
  description: Crossmint Story API
  version: 1.0.0
  contact:
    name: Crossmint Support
    url: https://www.crossmint.com
    email: support@crossmint.com
servers:
  - url: https://staging.crossmint.com/api
    description: Staging environment (testnets)
security: []
tags: []
paths:
  /v1/ip/collections/{collectionId}/ipassets/{customerFacingId}:
    patch:
      tags:
        - IP Story Protocol
      summary: Update IP Asset
      description: |-
        Update an existing IP Asset

        **API scope required**: `nfts.update`
      operationId: StoryApiController-updateNft-2
      parameters:
        - name: X-API-KEY
          in: header
          description: API key required for authentication
          required: true
          schema:
            type: string
        - name: collectionId
          required: true
          in: path
          schema:
            type: string
        - name: customerFacingId
          required: true
          in: path
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IPAssetUpdateInputDto'
      responses:
        '200':
          description: IP Asset updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IPAssetUpdateResponseDto'
components:
  schemas:
    IPAssetUpdateInputDto:
      type: object
      properties:
        reuploadLinkedFiles:
          default: true
          type: boolean
          description: >-
            Controls whether external files (like images) in the metadata should
            be reuploaded to decentralized storage (IPFS) (true) or referenced
            with their original URLs (false). Default is True.
          example: true
        ipAssetMetadata:
          type: object
          properties:
            title:
              type: string
              description: Title of the IP
            description:
              type: string
              description: Description of the IP
            createdAt:
              type: string
              description: Creation date of the IP (ISO8601 or unix format)
            image:
              type: string
              description: Primary image URL for the IP asset
            imageHash:
              type: string
              description: Hash of the primary image
            mediaUrl:
              type: string
              description: Primary media URL for the IP asset
            mediaHash:
              type: string
              description: Hash of the primary media
            mediaType:
              type: string
              description: MIME type of the primary media
            relationships:
              type: array
              items:
                type: object
                properties:
                  type:
                    type: string
                  parentIpId:
                    type: string
                required:
                  - type
                  - parentIpId
              description: >-
                The detailed relationship info with the IPA's direct parent
                asset, such as APPEARS_IN, FINETUNED_FROM, etc. See more
                examples
                https://docs.story.foundation/docs/ipa-metadata-standard#relationship-types
              example:
                - type: FOLLOWS_FROM
                  parentIpId: '0x123'
            creators:
              type: array
              items:
                type: object
                properties:
                  name:
                    type: string
                  email:
                    type: string
                    description: The creator of the IP asset email
                    example: creator@example.com
                  crossmintUserLocator:
                    type: string
                    description: >
                      A internal locator for the creator of the IP asset,
                      crossmint will automatically map this to the correct
                      wallet address, not required if address is specified, is
                      always required for the main creator(owner): Allowed
                      formats: 


                      `<chain>:<address>` or 


                      `email:<email_address>:<chain>` or


                      `userId:<userId>:<chain>` or


                      `twitter:<twitter_handle>:<chain>`


                      [see here for more
                      info](/minting/advanced/specify-recipient)
                    example:
                      - email:creator@example.com:story-testnet
                      - twitter:creator:story
                      - userId:123:story-testnet
                      - 0x742d35Cc6634C0532925a3b844Bc454e4438f44e:story
                  address:
                    type: string
                    description: >-
                      Wallet address of the IP creator. This field is optional
                      only if a crossmint user locator is specified
                    example: '0x1234567890123456789012345678901234567890'
                  contributionPercent:
                    type: number
                    minimum: 0
                    maximum: 100
                  description:
                    type: string
                  image:
                    type: string
                  socialMedia:
                    type: array
                    items:
                      type: object
                      properties:
                        platform:
                          type: string
                        url:
                          type: string
                      required:
                        - platform
                        - url
                      description: Social media link for IP creator
                      example:
                        platform: Twitter
                        url: https://twitter.com/creator
                  role:
                    type: string
                required:
                  - name
                  - contributionPercent
                description: IP creator metadata
                example:
                  name: John Doe
                  email: JohnDoe@example.com
                  address: '0x1234567890123456789012345678901234567890'
                  contributionPercent: 50
                  description: Lead Artist
                  image: https://example.com/profile.jpg
                  socialMedia:
                    - platform: Twitter
                      url: https://twitter.com/johndoe
                  role: Artist
              description: Information about the IP creators
            media:
              type: array
              items:
                type: object
                properties:
                  name:
                    type: string
                  url:
                    type: string
                  mimeType:
                    type: string
                required:
                  - name
                  - url
                  - mimeType
                description: IP media asset metadata
                example:
                  name: Rise Again
                  url: >-
                    https://cdn1.suno.ai/937e3060-65c0-4934-acab-7d8cc05eb9a6.mp3
                  mimeType: audio/mpeg
              description: Supporting media assets
            watermarkImage:
              type: string
              description: >-
                A separate image with your watermark already applied. This way
                apps choosing to use it can render this version of the image
                (with watermark applied).
            attributes:
              type: array
              items:
                type: object
                properties:
                  key:
                    type: string
                  value:
                    oneOf:
                      - type: string
                      - type: number
                required:
                  - key
                  - value
              description: >-
                An array of key-value pairs that can be used for arbitrary
                mappings. Attribute type defined below.
            ipType:
              type: string
              description: >-
                Type of the IP Asset, can be defined arbitrarily by the creator.
                I.e. "character", "chapter", "location", "items", "music", etc
            tags:
              type: array
              items:
                type: string
              description: Any tags that can help surface this IPA
            robotTerms:
              type: object
              properties:
                userAgent:
                  type: string
                allow:
                  type: string
              required:
                - userAgent
                - allow
              description: Allows you to set Do Not Train for a specific agent
          required:
            - title
            - creators
          description: New metadata containing information about the IP asset itself
          example:
            title: Harry Potter and the Philosopher's Stone
            createdAt: '1997-06-26T00:00:00'
            ipType: literature
            image: https://example.com/book-cover.jpg
            imageHash: '0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef'
            mediaUrl: link_to_epub
            mediaHash: '0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef'
            mediaType: application/epub+zip
            creators:
              - name: JK Rowling
                email: JKRowling@example.com
                crossmintUserLocator: email:JKRowling@example.com:story
                description: Author
                contributionPercent: 80
                socialMedia:
                  - platform: Wikipedia
                    url: https://en.wikipedia.org/wiki/J._K._Rowling
              - name: Thomas Taylor
                address: '0x1234567890123456789012345678901234567890'
                description: Illustrator
                contributionPercent: 15
              - name: Bloomsbury Publishing
                email: BloomsburyPublishing@example.com
                address: '0x1234567890123456789012345678901234567890'
                description: Publisher
                contributionPercent: 5
                socialMedia:
                  - platform: Website
                    url: https://www.bloomsbury.com/
            media:
              - name: ePub
                url: link_to_epub
                mimeType: application/epub+zip
              - name: Book Summary PDF
                url: link_to_book_summary_pdf
                mimeType: application/pdf
            attributes:
              - key: ISBN
                value: 978-0-7475-3269-0
              - key: Genre
                value: Fantasy
        licenseConfig:
          type: object
          properties:
            mintingFee:
              type: number
              description: >-
                The new minting fee to be paid when minting license tokens. If
                not specified, the current minting fee will be kept
              example: 100
            commercialRevShare:
              type: number
              description: >-
                The new commercial revenue share percentage (number between 0
                and 100), It cannot be lower than the current commercial rev
                share, can only increase. If not specified, the current
                commercial rev share will be kept
              example: 50
            disabled:
              default: false
              type: boolean
              description: >-
                If true, the license terms will be disabled. Effectively
                removing future mints with this license.
              example: false
            licenseTermsId:
              type: string
              description: The ID of the specific license terms to update.
              example: '1'
          required:
            - licenseTermsId
          description: Edit license config for the IP asset
          example:
            mintingFee: 100
            licenseTermsId: '1'
      description: Input schema for updating an existing IP asset on Story Protocol
      example:
        reuploadLinkedFiles: true
        ipAssetMetadata:
          title: Harry Potter and the Philosopher's Stone
          createdAt: '1997-06-26T00:00:00'
          ipType: literature
          image: https://example.com/book-cover.jpg
          imageHash: '0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef'
          mediaUrl: link_to_epub
          mediaHash: '0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef'
          mediaType: application/epub+zip
          creators:
            - name: JK Rowling
              email: JKRowling@example.com
              crossmintUserLocator: email:JKRowling@example.com:story
              description: Author
              contributionPercent: 80
              socialMedia:
                - platform: Wikipedia
                  url: https://en.wikipedia.org/wiki/J._K._Rowling
            - name: Thomas Taylor
              address: '0x1234567890123456789012345678901234567890'
              description: Illustrator
              contributionPercent: 15
            - name: Bloomsbury Publishing
              email: BloomsburyPublishing@example.com
              address: '0x1234567890123456789012345678901234567890'
              description: Publisher
              contributionPercent: 5
              socialMedia:
                - platform: Website
                  url: https://www.bloomsbury.com/
          media:
            - name: ePub
              url: link_to_epub
              mimeType: application/epub+zip
            - name: Book Summary PDF
              url: link_to_book_summary_pdf
              mimeType: application/pdf
          attributes:
            - key: ISBN
              value: 978-0-7475-3269-0
            - key: Genre
              value: Fantasy
        licenseConfig:
          mintingFee: 100
          licenseTermsId: '1'
    IPAssetUpdateResponseDto:
      type: object
      properties:
        id:
          type: string
          description: The id of the IPAsset
          example: d290f1ee-6c54-4b01-90e6-d701748f0851
        actionId:
          type: string
          description: The action id for the IPAsset creation
          example: d290f1ee-6c54-4b01-90e6-d701748f0851
        nftMetadata:
          type: object
          properties:
            name:
              type: string
            image:
              type: string
            description:
              type: string
              maxLength: 5000
            external_url:
              type: string
            animation_url:
              type: string
            attributes:
              type: array
              items:
                type: object
                properties:
                  trait_type:
                    type: string
                  value:
                    oneOf:
                      - type: string
                      - type: number
                  display_type:
                    type: string
                required:
                  - trait_type
                  - value
            uri:
              type: string
          required:
            - name
            - image
            - description
          description: Metadata for the NFT representation of this IP asset
          example:
            name: 'Art #123'
            description: A unique story NFT
            image: https://example.com/nft/123.png
        ipAssetMetadata:
          type: object
          properties:
            title:
              type: string
              description: Title of the IP
            description:
              type: string
              description: Description of the IP
            createdAt:
              type: string
              description: Creation date of the IP (ISO8601 or unix format)
            image:
              type: string
              description: Primary image URL for the IP asset
            imageHash:
              type: string
              description: Hash of the primary image
            mediaUrl:
              type: string
              description: Primary media URL for the IP asset
            mediaHash:
              type: string
              description: Hash of the primary media
            mediaType:
              type: string
              description: MIME type of the primary media
            relationships:
              type: array
              items:
                type: object
                properties:
                  type:
                    type: string
                  parentIpId:
                    type: string
                required:
                  - type
                  - parentIpId
              description: >-
                The detailed relationship info with the IPA's direct parent
                asset, such as APPEARS_IN, FINETUNED_FROM, etc. See more
                examples
                https://docs.story.foundation/docs/ipa-metadata-standard#relationship-types
              example:
                - type: FOLLOWS_FROM
                  parentIpId: '0x123'
            creators:
              type: array
              items:
                type: object
                properties:
                  name:
                    type: string
                  email:
                    type: string
                    description: The creator of the IP asset email
                    example: creator@example.com
                  crossmintUserLocator:
                    type: string
                    description: >
                      A internal locator for the creator of the IP asset,
                      crossmint will automatically map this to the correct
                      wallet address, not required if address is specified, is
                      always required for the main creator(owner): Allowed
                      formats: 


                      `<chain>:<address>` or 


                      `email:<email_address>:<chain>` or


                      `userId:<userId>:<chain>` or


                      `twitter:<twitter_handle>:<chain>`


                      [see here for more
                      info](/minting/advanced/specify-recipient)
                    example:
                      - email:creator@example.com:story-testnet
                      - twitter:creator:story
                      - userId:123:story-testnet
                      - 0x742d35Cc6634C0532925a3b844Bc454e4438f44e:story
                  address:
                    type: string
                    description: >-
                      Wallet address of the IP creator. This field is optional
                      only if a crossmint user locator is specified
                    example: '0x1234567890123456789012345678901234567890'
                  contributionPercent:
                    type: number
                    minimum: 0
                    maximum: 100
                  description:
                    type: string
                  image:
                    type: string
                  socialMedia:
                    type: array
                    items:
                      type: object
                      properties:
                        platform:
                          type: string
                        url:
                          type: string
                      required:
                        - platform
                        - url
                      description: Social media link for IP creator
                      example:
                        platform: Twitter
                        url: https://twitter.com/creator
                  role:
                    type: string
                required:
                  - name
                  - contributionPercent
                description: IP creator metadata
                example:
                  name: John Doe
                  email: JohnDoe@example.com
                  address: '0x1234567890123456789012345678901234567890'
                  contributionPercent: 50
                  description: Lead Artist
                  image: https://example.com/profile.jpg
                  socialMedia:
                    - platform: Twitter
                      url: https://twitter.com/johndoe
                  role: Artist
              description: Information about the IP creators
            media:
              type: array
              items:
                type: object
                properties:
                  name:
                    type: string
                  url:
                    type: string
                  mimeType:
                    type: string
                required:
                  - name
                  - url
                  - mimeType
                description: IP media asset metadata
                example:
                  name: Rise Again
                  url: >-
                    https://cdn1.suno.ai/937e3060-65c0-4934-acab-7d8cc05eb9a6.mp3
                  mimeType: audio/mpeg
              description: Supporting media assets
            watermarkImage:
              type: string
              description: >-
                A separate image with your watermark already applied. This way
                apps choosing to use it can render this version of the image
                (with watermark applied).
            attributes:
              type: array
              items:
                type: object
                properties:
                  key:
                    type: string
                  value:
                    oneOf:
                      - type: string
                      - type: number
                required:
                  - key
                  - value
              description: >-
                An array of key-value pairs that can be used for arbitrary
                mappings. Attribute type defined below.
            ipType:
              type: string
              description: >-
                Type of the IP Asset, can be defined arbitrarily by the creator.
                I.e. "character", "chapter", "location", "items", "music", etc
            tags:
              type: array
              items:
                type: string
              description: Any tags that can help surface this IPA
            robotTerms:
              type: object
              properties:
                userAgent:
                  type: string
                allow:
                  type: string
              required:
                - userAgent
                - allow
              description: Allows you to set Do Not Train for a specific agent
          required:
            - title
            - creators
          description: Metadata containing information about the IP asset itself
          example:
            title: Harry Potter and the Philosopher's Stone
            createdAt: '1997-06-26T00:00:00'
            ipType: literature
            image: https://example.com/book-cover.jpg
            imageHash: '0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef'
            mediaUrl: link_to_epub
            mediaHash: '0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef'
            mediaType: application/epub+zip
            creators:
              - name: JK Rowling
                email: JKRowling@example.com
                crossmintUserLocator: email:JKRowling@example.com:story
                description: Author
                contributionPercent: 80
                socialMedia:
                  - platform: Wikipedia
                    url: https://en.wikipedia.org/wiki/J._K._Rowling
              - name: Thomas Taylor
                address: '0x1234567890123456789012345678901234567890'
                description: Illustrator
                contributionPercent: 15
              - name: Bloomsbury Publishing
                email: BloomsburyPublishing@example.com
                address: '0x1234567890123456789012345678901234567890'
                description: Publisher
                contributionPercent: 5
                socialMedia:
                  - platform: Website
                    url: https://www.bloomsbury.com/
            media:
              - name: ePub
                url: link_to_epub
                mimeType: application/epub+zip
              - name: Book Summary PDF
                url: link_to_book_summary_pdf
                mimeType: application/pdf
            attributes:
              - key: ISBN
                value: 978-0-7475-3269-0
              - key: Genre
                value: Fantasy
        licenseTerms:
          default:
            - type: non-commercial-social-remixing
          type: array
          items:
            discriminator:
              propertyName: type
            oneOf:
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - non-commercial-social-remixing
                  offChain:
                    type: object
                    properties:
                      territory:
                        type: array
                        items:
                          type: string
                        description: >-
                          Limit usage of the IP to certain regions and/or
                          countries. By default, the IP can be used globally.
                        example:
                          - United States
                          - European Union
                      channelsOfDistribution:
                        type: array
                        items:
                          type: string
                        description: >-
                          Restrict usage of the IP to certain media formats and
                          channels of distribution. By default, the IP can be
                          used across all possible channels.
                        example:
                          - television
                          - physical consumer products
                          - video games
                      attribution:
                        type: object
                        properties:
                          required:
                            type: boolean
                          instructions:
                            type: string
                        required:
                          - required
                        description: >-
                          If and how the original author should be credited for
                          usage of the IP. By default, no credit is required.
                        example:
                          required: true
                          instructions: 'Please credit as: Original work by [Author Name]'
                      contentStandards:
                        type: array
                        items:
                          type: string
                        description: >-
                          Set content standards around use of the IP. By
                          default, no standards apply.
                        example:
                          - No-Hate
                          - Suitable-for-All-Ages
                          - No-Drugs-or-Weapons
                      sublicensable:
                        type: boolean
                        description: >-
                          If true, derivative works can grant the same rights
                          they received under this license to a 3rd party,
                          without approval from the original licensor.
                        example: false
                      aiLearningModels:
                        type: boolean
                        description: >-
                          Whether or not the IP can be used to develop AI
                          learning models. By default, the IP cannot be used for
                          such development.
                        example: false
                      restrictionOnCrossPlatformUse:
                        type: boolean
                        description: >-
                          If true, limits licensing and creation of derivative
                          works solely on the app on which the IP is made
                          available.
                        example: false
                      governingLaw:
                        type: string
                        description: >-
                          The laws of a certain jurisdiction by which this
                          license abides. By default, this is California, USA.
                        example: California, USA
                      alternativeDisputeResolution:
                        type: object
                        properties:
                          method:
                            type: string
                          details:
                            type: string
                        required:
                          - method
                          - details
                        description: >-
                          Alternative dispute resolution mechanisms for handling
                          disagreements
                        example:
                          method: Arbitration
                          details: >-
                            All disputes will be resolved through binding
                            arbitration in accordance with...
                      additionalTerms:
                        type: array
                        items:
                          type: object
                          properties:
                            term:
                              type: string
                            description:
                              type: string
                          required:
                            - term
                            - description
                        description: >-
                          Additional license parameters or terms the licensor
                          would like to specify
                        example:
                          - term: Quality Control
                            description: >-
                              All derivative works must maintain similar quality
                              standards as the original work
                    description: >-
                      Additional license terms that are stored off-chain due to
                      their descriptive nature
                    example:
                      territory:
                        - Global
                      channelsOfDistribution:
                        - All
                      attribution:
                        required: true
                        instructions: Credit original creator in all derivative works
                      contentStandards:
                        - Suitable-for-All-Ages
                      sublicensable: false
                      aiLearningModels: false
                      restrictionOnCrossPlatformUse: false
                      governingLaw: California, USA
                  uri:
                    type: string
                    description: >-
                      License terms stored off-chain. If not provided, and if
                      'offChain' is also omitted, this will default to the
                      Non-Commercial Social Remixing license terms.
                    example: ipfs://<CID>
                required:
                  - type
                title: Non-commercial Social Remixing License Terms
                description: Non-commercial social remixing license terms
                example:
                  type: non-commercial-social-remixing
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - commercial-use
                  terms:
                    type: object
                    properties:
                      defaultMintingFee:
                        type: number
                        description: Default minting fee
                        example: 100
                      currency:
                        default: '0x1514000000000000000000000000000000000000'
                        type: string
                        description: >-
                          Currency address (must be whitelisted in
                          RoyaltyModule.sol). Defaults to the $WIP token.
                          Whitelisted tokens: WIP
                          (0x1514000000000000000000000000000000000000) on all
                          networks, MERC20
                          (0xF2104833d386a2734a4eB3B8ad6FC6812F29E38E) on Aeneid
                          Testnet
                        example: '0x1514000000000000000000000000000000000000'
                    required:
                      - defaultMintingFee
                    title: Commercial Use License Terms
                    description: Commercial use license terms
                    example:
                      defaultMintingFee: 100
                      currency: '0x1514000000000000000000000000000000000000'
                  offChain:
                    type: object
                    properties:
                      territory:
                        type: array
                        items:
                          type: string
                        description: >-
                          Limit usage of the IP to certain regions and/or
                          countries. By default, the IP can be used globally.
                        example:
                          - United States
                          - European Union
                      channelsOfDistribution:
                        type: array
                        items:
                          type: string
                        description: >-
                          Restrict usage of the IP to certain media formats and
                          channels of distribution. By default, the IP can be
                          used across all possible channels.
                        example:
                          - television
                          - physical consumer products
                          - video games
                      attribution:
                        type: object
                        properties:
                          required:
                            type: boolean
                          instructions:
                            type: string
                        required:
                          - required
                        description: >-
                          If and how the original author should be credited for
                          usage of the IP. By default, no credit is required.
                        example:
                          required: true
                          instructions: 'Please credit as: Original work by [Author Name]'
                      contentStandards:
                        type: array
                        items:
                          type: string
                        description: >-
                          Set content standards around use of the IP. By
                          default, no standards apply.
                        example:
                          - No-Hate
                          - Suitable-for-All-Ages
                          - No-Drugs-or-Weapons
                      sublicensable:
                        type: boolean
                        description: >-
                          If true, derivative works can grant the same rights
                          they received under this license to a 3rd party,
                          without approval from the original licensor.
                        example: false
                      aiLearningModels:
                        type: boolean
                        description: >-
                          Whether or not the IP can be used to develop AI
                          learning models. By default, the IP cannot be used for
                          such development.
                        example: false
                      restrictionOnCrossPlatformUse:
                        type: boolean
                        description: >-
                          If true, limits licensing and creation of derivative
                          works solely on the app on which the IP is made
                          available.
                        example: false
                      governingLaw:
                        type: string
                        description: >-
                          The laws of a certain jurisdiction by which this
                          license abides. By default, this is California, USA.
                        example: California, USA
                      alternativeDisputeResolution:
                        type: object
                        properties:
                          method:
                            type: string
                          details:
                            type: string
                        required:
                          - method
                          - details
                        description: >-
                          Alternative dispute resolution mechanisms for handling
                          disagreements
                        example:
                          method: Arbitration
                          details: >-
                            All disputes will be resolved through binding
                            arbitration in accordance with...
                      additionalTerms:
                        type: array
                        items:
                          type: object
                          properties:
                            term:
                              type: string
                            description:
                              type: string
                          required:
                            - term
                            - description
                        description: >-
                          Additional license parameters or terms the licensor
                          would like to specify
                        example:
                          - term: Quality Control
                            description: >-
                              All derivative works must maintain similar quality
                              standards as the original work
                    description: >-
                      Additional license terms that are stored off-chain due to
                      their descriptive nature
                    example:
                      territory:
                        - Global
                      channelsOfDistribution:
                        - All
                      attribution:
                        required: true
                        instructions: Credit original creator in all derivative works
                      contentStandards:
                        - Suitable-for-All-Ages
                      sublicensable: false
                      aiLearningModels: false
                      restrictionOnCrossPlatformUse: false
                      governingLaw: California, USA
                  uri:
                    type: string
                    description: >-
                      License terms stored off-chain. If not provided, and if
                      'offChain' is also omitted, this will default to the
                      Non-Commercial Social Remixing license terms.
                    example: ipfs://<CID>
                required:
                  - type
                  - terms
                title: Commercial Use License Terms
                description: Commercial use license terms
                example:
                  type: commercial-use
                  terms:
                    defaultMintingFee: 100
                    currency: '0x0000000000000000000000000000000000000000'
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - commercial-remix
                  terms:
                    type: object
                    properties:
                      defaultMintingFee:
                        type: number
                        description: Default minting fee
                        example: 100
                      currency:
                        default: '0x1514000000000000000000000000000000000000'
                        type: string
                        description: >-
                          Currency address (must be whitelisted in
                          RoyaltyModule.sol). Defaults to the $WIP token.
                          Whitelisted tokens: WIP
                          (0x1514000000000000000000000000000000000000) on all
                          networks, MERC20
                          (0xF2104833d386a2734a4eB3B8ad6FC6812F29E38E) on Aeneid
                          Testnet
                        example: '0x1514000000000000000000000000000000000000'
                      commercialRevShare:
                        type: number
                        description: >-
                          Commercial revenue share percentage (number between 0
                          and 100)
                        example: 50
                    required:
                      - defaultMintingFee
                      - commercialRevShare
                    title: Commercial Remix License Terms
                    description: Commercial remix license terms
                    example:
                      defaultMintingFee: 100
                      currency: '0x1514000000000000000000000000000000000000'
                      commercialRevShare: 50
                  offChain:
                    type: object
                    properties:
                      territory:
                        type: array
                        items:
                          type: string
                        description: >-
                          Limit usage of the IP to certain regions and/or
                          countries. By default, the IP can be used globally.
                        example:
                          - United States
                          - European Union
                      channelsOfDistribution:
                        type: array
                        items:
                          type: string
                        description: >-
                          Restrict usage of the IP to certain media formats and
                          channels of distribution. By default, the IP can be
                          used across all possible channels.
                        example:
                          - television
                          - physical consumer products
                          - video games
                      attribution:
                        type: object
                        properties:
                          required:
                            type: boolean
                          instructions:
                            type: string
                        required:
                          - required
                        description: >-
                          If and how the original author should be credited for
                          usage of the IP. By default, no credit is required.
                        example:
                          required: true
                          instructions: 'Please credit as: Original work by [Author Name]'
                      contentStandards:
                        type: array
                        items:
                          type: string
                        description: >-
                          Set content standards around use of the IP. By
                          default, no standards apply.
                        example:
                          - No-Hate
                          - Suitable-for-All-Ages
                          - No-Drugs-or-Weapons
                      sublicensable:
                        type: boolean
                        description: >-
                          If true, derivative works can grant the same rights
                          they received under this license to a 3rd party,
                          without approval from the original licensor.
                        example: false
                      aiLearningModels:
                        type: boolean
                        description: >-
                          Whether or not the IP can be used to develop AI
                          learning models. By default, the IP cannot be used for
                          such development.
                        example: false
                      restrictionOnCrossPlatformUse:
                        type: boolean
                        description: >-
                          If true, limits licensing and creation of derivative
                          works solely on the app on which the IP is made
                          available.
                        example: false
                      governingLaw:
                        type: string
                        description: >-
                          The laws of a certain jurisdiction by which this
                          license abides. By default, this is California, USA.
                        example: California, USA
                      alternativeDisputeResolution:
                        type: object
                        properties:
                          method:
                            type: string
                          details:
                            type: string
                        required:
                          - method
                          - details
                        description: >-
                          Alternative dispute resolution mechanisms for handling
                          disagreements
                        example:
                          method: Arbitration
                          details: >-
                            All disputes will be resolved through binding
                            arbitration in accordance with...
                      additionalTerms:
                        type: array
                        items:
                          type: object
                          properties:
                            term:
                              type: string
                            description:
                              type: string
                          required:
                            - term
                            - description
                        description: >-
                          Additional license parameters or terms the licensor
                          would like to specify
                        example:
                          - term: Quality Control
                            description: >-
                              All derivative works must maintain similar quality
                              standards as the original work
                    description: >-
                      Additional license terms that are stored off-chain due to
                      their descriptive nature
                    example:
                      territory:
                        - Global
                      channelsOfDistribution:
                        - All
                      attribution:
                        required: true
                        instructions: Credit original creator in all derivative works
                      contentStandards:
                        - Suitable-for-All-Ages
                      sublicensable: false
                      aiLearningModels: false
                      restrictionOnCrossPlatformUse: false
                      governingLaw: California, USA
                  uri:
                    type: string
                    description: >-
                      License terms stored off-chain. If not provided, and if
                      'offChain' is also omitted, this will default to the
                      Non-Commercial Social Remixing license terms.
                    example: ipfs://<CID>
                required:
                  - type
                  - terms
                title: Commercial Remix License Terms
                description: Commercial remix license terms
                example:
                  type: commercial-remix
                  terms:
                    defaultMintingFee: 100
                    currency: '0x0000000000000000000000000000000000000000'
                    commercialRevShare: 50
            description: License parameters
            example:
              type: non-commercial-social-remixing
          description: >-
            Licensing parameters for the IP asset, NOTE: For detailed and
            updated license terms, refer to the 'Get IP Asset License' endpoint
          example:
            - type: non-commercial-social-remixing
        derivData:
          type: object
          properties:
            parentIpIds:
              type: array
              items: {}
              description: The parent IP IDs of the derivative IP asset
              example:
                - '0x123'
            licenseTermsIds:
              type: array
              items:
                type: number
              description: The license terms IDs of the derivative IP asset
              example:
                - 1
            maxMintingFee:
              default: 0
              type: number
              description: The max minting fee of the derivative IP asset
              example: 0
            maxRevenueShare:
              default: 100
              type: number
              description: The max revenue share of the derivative IP asset
              example: 100
            maxRts:
              default: 100000000
              type: number
              description: The max RTS of the derivative IP asset
              example: 10000
          required:
            - parentIpIds
            - licenseTermsIds
          description: >-
            Data for the parent IP asset and license terms (for derivative IP
            assets only)
          example:
            parentIpIds:
              - '0x123'
            licenseTermsIds:
              - 1
            maxMintingFee: 0
            maxRevenueShare: 100
            maxRts: 10000000
        onChain:
          discriminator:
            propertyName: status
          oneOf:
            - type: object
              properties:
                chain:
                  type: string
                  description: The chain of the collection
                  example: story-testnet
                contractAddress:
                  type: string
                  description: The address of the collection on the chain
                  example: '0x123'
                status:
                  type: string
                  enum:
                    - success
                  description: The status of the IP asset on the chain
                  example: success
                ipAssetId:
                  type: string
                  description: >-
                    The id of the IP asset on the chain. This ID is also the
                    address of the IP Account that is bound to the IP Asset.
                  example: d290f1ee-6c54-4b01-90e6-d701748f0851
                tokenId:
                  type: string
                  description: The token id of the associatedNFT
                  example: '1'
                txId:
                  type: string
                  description: The transaction id of the IP asset creation on chain
                  example: '0x123'
                owner:
                  type: string
                  description: The owner of the IP asset
                  example: '0x123'
                explorerLink:
                  type: string
                  format: uri
                  description: The explorer link of the ip asset
                  example: >-
                    https://portal.story.foundation/assets/0xAC6062FF53fa41e61Fe01B89B83d9dB96b5F9280
              required:
                - chain
                - contractAddress
                - status
                - ipAssetId
                - tokenId
                - txId
                - owner
            - type: object
              properties:
                chain:
                  type: string
                  description: The chain of the collection
                  example: story-testnet
                contractAddress:
                  type: string
                  description: The address of the collection on the chain
                  example: '0x123'
                status:
                  type: string
                  enum:
                    - pending
                  description: The status of the IP asset on the chain
                  example: pending
              required:
                - chain
                - status
              description: Response schema for a pending IP asset creation request
              example:
                chain: story-testnet
                contractAddress: '0x123'
                status: pending
        licenseConfig:
          type: object
          properties:
            mintingFee:
              type: number
              description: >-
                The new minting fee to be paid when minting license tokens. If
                not specified, the current minting fee will be kept
              example: 100
            commercialRevShare:
              type: number
              description: >-
                The new commercial revenue share percentage (number between 0
                and 100), It cannot be lower than the current commercial rev
                share, can only increase. If not specified, the current
                commercial rev share will be kept
              example: 50
            disabled:
              default: false
              type: boolean
              description: >-
                If true, the license terms will be disabled. Effectively
                removing future mints with this license.
              example: false
            licenseTermsId:
              type: string
              description: The ID of the specific license terms to update.
              example: '1'
          required:
            - licenseTermsId
          description: License configuration for the IP asset
          example:
            mintingFee: 100
            licenseTermsId: '1'
            disabled: false
      required:
        - id
        - actionId
        - nftMetadata
        - ipAssetMetadata
        - onChain
      description: Response schema for updating an existing IP asset on Story Protocol
      example:
        id: d290f1ee-6c54-4b01-90e6-d701748f0851
        actionId: d290f1ee-6c54-4b01-90e6-d701748f0851
        nftMetadata:
          name: 'Art #123'
          description: A unique story NFT
          image: https://example.com/nft/123.png
        ipAssetMetadata:
          title: Harry Potter and the Philosopher's Stone
          createdAt: '1997-06-26T00:00:00'
          ipType: literature
          image: https://example.com/book-cover.jpg
          imageHash: '0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef'
          mediaUrl: link_to_epub
          mediaHash: '0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef'
          mediaType: application/epub+zip
          creators:
            - name: JK Rowling
              email: JKRowling@example.com
              crossmintUserLocator: email:JKRowling@example.com:story
              description: Author
              contributionPercent: 80
              socialMedia:
                - platform: Wikipedia
                  url: https://en.wikipedia.org/wiki/J._K._Rowling
            - name: Thomas Taylor
              address: '0x1234567890123456789012345678901234567890'
              description: Illustrator
              contributionPercent: 15
            - name: Bloomsbury Publishing
              email: BloomsburyPublishing@example.com
              address: '0x1234567890123456789012345678901234567890'
              description: Publisher
              contributionPercent: 5
              socialMedia:
                - platform: Website
                  url: https://www.bloomsbury.com/
          media:
            - name: ePub
              url: link_to_epub
              mimeType: application/epub+zip
            - name: Book Summary PDF
              url: link_to_book_summary_pdf
              mimeType: application/pdf
          attributes:
            - key: ISBN
              value: 978-0-7475-3269-0
            - key: Genre
              value: Fantasy
        onChain:
          status: success
          chain: story-testnet
          contractAddress: '0x123'
          ipAssetId: '0xAC6062FF53fa41e61Fe01B89B83d9dB96b5F9280'
          tokenId: '1'
          txId: '0x123'
          explorerLink: >-
            https://portal.story.foundation/assets/0xAC6062FF53fa41e61Fe01B89B83d9dB96b5F9280
          owner: '0x123'
        licenseTerms:
          - type: non-commercial-social-remixing
            licenseTermsId: 1
        derivData:
          parentIpIds:
            - '0x123'
          licenseTermsIds:
            - 1
          maxMintingFee: 0
          maxRevenueShare: 100
          maxRts: 10000000
        licenseConfig:
          mintingFee: 100
          licenseTermsId: '1'
          disabled: false

````