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

# Update custom note attributes on subscription contract

> Updates custom note attributes (key-value pairs) on a subscription contract. These attributes are stored on the Shopify subscription contract and propagated to recurring orders.

**Modes:**
- `overwriteExistingAttributes=true` (default): Replaces all existing note attributes with the provided list
- `overwriteExistingAttributes=false`: Merges provided attributes with existing ones (updates matching keys, adds new ones)

**Use Cases:**
- Clear tracking pixel IDs from recurring orders
- Update order-level metadata
- Store custom order instructions

**Authentication:** Requires API key authentication via X-API-Key header or api_key parameter



## OpenAPI

````yaml /memberships/admin-api-swagger.json put /api/external/v2/subscription-contracts-update-custom-note-attributes
openapi: 3.0.1
info:
  description: >-
    Comprehensive API documentation for managing memberships, payments, and
    related operations. These APIs allow you to programmatically manage
    membership lifecycles, handle payments, configure products, and integrate
    membership functionality into your applications.
  title: Admin APIs
  version: 0.0.1
servers:
  - url: https://membership-admin.appstle.com
security: []
tags:
  - description: >-
      APIs for managing Shopify delivery profiles, shipping rates, zones, and
      free shipping configuration for subscription memberships
    name: Shipping & Delivery Profiles
  - description: >-
      APIs for retrieving historical discount code usage and redemption
      information for membership contracts
    name: Customer Discount History
  - description: >-
      APIs for managing membership cancellation flow settings including
      retention offers, survey questions, and cancel confirmation screens
    name: Cancellation Flow Configuration
  - description: >-
      APIs for managing membership billing attempts, recurring orders, payment
      retries, order history, and order skipping
    name: Billing & Orders
  - description: >-
      APIs for managing one-time product additions to upcoming subscription
      orders, including adding, retrieving, and removing one-off items
    name: One-Time Add-Ons
  - description: >-
      APIs for managing membership/subscription plan groups, including creating
      plans, configuring discounts, billing intervals, and assigning products to
      plans
    name: Membership Plans
  - description: >-
      APIs for managing subscription product bundles, bundle configurations,
      item grouping, and bundle-specific discount codes
    name: Product Bundles
  - description: >-
      APIs for retrieving custom CSS styles applied to subscription widgets and
      customer portal for theme customization
    name: Custom CSS Styling
  - description: >-
      APIs for managing customer portal settings including UI customization,
      text labels, feature toggles, and branding options for the member
      self-service portal
    name: Customer Portal Configuration
  - description: >-
      APIs for managing membership/subscription contracts including creation,
      updates, status changes, line items, discounts, and billing operations
    name: Membership Contracts
  - description: >-
      APIs for managing subscription bundle configuration settings including
      bundle behavior, pricing rules, and display options
    name: Bundle Settings
  - description: >-
      APIs for managing customer payment methods, payment tokens, and payment
      method retrieval for subscriptions
    name: Customer Payment Methods
  - description: >-
      APIs for retrieving product swap/substitution options allowing members to
      exchange subscription items based on configured swap rules and variant
      groups
    name: Product Swap Rules
  - description: >-
      APIs for retrieving product catalog, variants, pricing, and inventory
      information for subscription memberships.
    name: Product & Inventory Data
  - description: >-
      APIs for managing shop-level membership settings, configuration, and
      general store information.
    name: Shop Settings
  - description: >-
      APIs for performing bulk/mass operations on multiple membership contracts
      including status updates, product replacements, and billing date changes.
    name: Bulk Operations
paths:
  /api/external/v2/subscription-contracts-update-custom-note-attributes:
    put:
      tags:
        - Membership Contracts
      summary: Update custom note attributes on subscription contract
      description: >-
        Updates custom note attributes (key-value pairs) on a subscription
        contract. These attributes are stored on the Shopify subscription
        contract and propagated to recurring orders.


        **Modes:**

        - `overwriteExistingAttributes=true` (default): Replaces all existing
        note attributes with the provided list

        - `overwriteExistingAttributes=false`: Merges provided attributes with
        existing ones (updates matching keys, adds new ones)


        **Use Cases:**

        - Clear tracking pixel IDs from recurring orders

        - Update order-level metadata

        - Store custom order instructions


        **Authentication:** Requires API key authentication via X-API-Key header
        or api_key parameter
      operationId: updateOrderNoteAttributesV2
      parameters:
        - deprecated: true
          description: API Key (Deprecated)
          in: query
          name: api_key
          required: false
          schema:
            type: string
        - description: API Key
          in: header
          name: X-API-Key
          required: true
          schema:
            type: string
        - description: >-
            When true (default), replaces all existing attributes. When false,
            merges with existing attributes.
          in: query
          name: overwriteExistingAttributes
          required: false
          schema:
            default: true
            type: boolean
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateAttributesRequest'
        required: true
      responses:
        '200':
          description: Note attributes successfully updated
        '400':
          description: Invalid request or contract not found
        '401':
          description: Authentication required - invalid or missing API key
components:
  schemas:
    UpdateAttributesRequest:
      description: Request to update custom attributes on a subscription contract
      properties:
        customAttributesList:
          description: >-
            List of custom attributes to set on the subscription contract. Each
            attribute is a key-value pair that will be stored with the
            subscription.
          items:
            $ref: '#/components/schemas/OrderNoteAttribute'
          type: array
        subscriptionContractId:
          description: The ID of the subscription contract to update
          example: 123456789
          format: int64
          type: integer
      required:
        - customAttributesList
        - subscriptionContractId
      type: object
    OrderNoteAttribute:
      description: A custom attribute consisting of a key and value
      properties:
        key:
          description: >-
            The attribute key. Should be a unique identifier for this attribute.
            Use descriptive keys like 'gift_message', 'delivery_instructions',
            etc.
          example: gift_message
          type: string
        value:
          description: >-
            The attribute value. Can be any string value including JSON-encoded
            data. Set to empty string to clear an attribute.
          example: Happy Birthday! Enjoy your subscription!
          type: string
      required:
        - key
      type: object

````