diff --git a/geomagio/metadata/instrument/Instrument.py b/geomagio/metadata/instrument/Instrument.py
index 378ed7da0f2cf7107bcfb2eead7a28c0b413f836..4214667e8e7f1adae0a4c31d49e9ff699c156333 100644
--- a/geomagio/metadata/instrument/Instrument.py
+++ b/geomagio/metadata/instrument/Instrument.py
@@ -1,4 +1,4 @@
-from types import Optional
+from typing import Optional
 from pydantic import BaseModel, Field
 
 from enum import Enum
diff --git a/geomagio/processing/copy_absolutes.py b/geomagio/processing/copy_absolutes.py
index a438c24644c71663829e92deb269181485578901..2addce461f9d35e7b4679f88dab0f232ea814f97 100644
--- a/geomagio/processing/copy_absolutes.py
+++ b/geomagio/processing/copy_absolutes.py
@@ -116,7 +116,7 @@ def create_reading_metadata(reading: Reading, created_by_label: str) -> Metadata
             category=MetadataCategory.READING,
             created_by=(created_by_label),
             endtime=max(measurement_times),
-            metadata=json.loads(reading.json()),
+            metadata=json.loads(reading.model_dump_json()),
             network="NT",
             starttime=min(measurement_times),
             station=reading.metadata["station"],
diff --git a/geomagio/processing/copy_instrument.py b/geomagio/processing/copy_instrument.py
index 32c2c71e779b119590eaa354987b07f991b2cc5b..1e0f0e582cde7b5ef5f4bfc638386237e32b5630 100644
--- a/geomagio/processing/copy_instrument.py
+++ b/geomagio/processing/copy_instrument.py
@@ -45,7 +45,7 @@ def copy_instrument(
         show_default="environment variable GITLAB_API_TOKEN",
     ),
     metadata_url: str = typer.Option(
-        default="https://staging-geomag.cr.usgs.gov/ws/secure/metadata",
+        default="https://geomag.usgs.gov/ws/secure/metadata",
         help="URL to metadata web service",
         metavar="URL",
     ),
@@ -129,7 +129,7 @@ def create_metadata(
             category=MetadataCategory.INSTRUMENT,
             created_by=created_by_label,
             endtime=endtime,
-            metadata=metadata_class(**metadata),
+            metadata=(metadata_class(**metadata)).model_dump(),
             network="NT",
             location="R0",
             starttime=starttime,
@@ -201,8 +201,7 @@ def upload_instrument_metadata(
             print("Updating metadata")
             return factory.update_metadata(metadata=instrument)
 
-    print("pretending to upload")
-    # return factory.create_metadata(metadata=instrument)
+    return factory.create_metadata(metadata=instrument)
 
 
 if __name__ == "__main__":