diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES
index f571e18d..670864a8 100644
--- a/.openapi-generator/FILES
+++ b/.openapi-generator/FILES
@@ -96,6 +96,8 @@ ShipEngineSDK/Model/CreateAndValidateShipment.cs
ShipEngineSDK/Model/CreateBatchRequest.cs
ShipEngineSDK/Model/CreateBatchRequestBody.cs
ShipEngineSDK/Model/CreateBatchResponseBody.cs
+ShipEngineSDK/Model/CreateCombinedLabelDocumentRequestBody.cs
+ShipEngineSDK/Model/CreateCombinedLabelDocumentResponseBodyYaml.cs
ShipEngineSDK/Model/CreateLabelFromRateRequestBody.cs
ShipEngineSDK/Model/CreateLabelFromRateResponseBody.cs
ShipEngineSDK/Model/CreateLabelFromShipmentRequestBody.cs
@@ -113,6 +115,7 @@ ShipEngineSDK/Model/CreateReturnLabelResponseBody.cs
ShipEngineSDK/Model/CreateShipmentResponseBodyFields.cs
ShipEngineSDK/Model/CreateShipmentsRequestBody.cs
ShipEngineSDK/Model/CreateShipmentsResponseBody.cs
+ShipEngineSDK/Model/CreateTagRequestBody.cs
ShipEngineSDK/Model/CreateTagResponseBody.cs
ShipEngineSDK/Model/CreateWarehouseRequestBody.cs
ShipEngineSDK/Model/CreateWarehouseResponseBody.cs
@@ -138,6 +141,7 @@ ShipEngineSDK/Model/ErrorSource.cs
ShipEngineSDK/Model/ErrorType.cs
ShipEngineSDK/Model/ErrorWithLabelIdResponseBody.cs
ShipEngineSDK/Model/EstimateRatesRequestBody.cs
+ShipEngineSDK/Model/EstimatedImportCharges.cs
ShipEngineSDK/Model/FedexAccountSettings.cs
ShipEngineSDK/Model/FedexAccountSettingsRequestBody.cs
ShipEngineSDK/Model/FedexPickupType.cs
@@ -424,6 +428,8 @@ docs/models/CreateAndValidateShipment.md
docs/models/CreateBatchRequest.md
docs/models/CreateBatchRequestBody.md
docs/models/CreateBatchResponseBody.md
+docs/models/CreateCombinedLabelDocumentRequestBody.md
+docs/models/CreateCombinedLabelDocumentResponseBodyYaml.md
docs/models/CreateLabelFromRateRequestBody.md
docs/models/CreateLabelFromRateResponseBody.md
docs/models/CreateLabelFromShipmentRequestBody.md
@@ -441,6 +447,7 @@ docs/models/CreateReturnLabelResponseBody.md
docs/models/CreateShipmentResponseBodyFields.md
docs/models/CreateShipmentsRequestBody.md
docs/models/CreateShipmentsResponseBody.md
+docs/models/CreateTagRequestBody.md
docs/models/CreateTagResponseBody.md
docs/models/CreateWarehouseRequestBody.md
docs/models/CreateWarehouseResponseBody.md
@@ -466,6 +473,7 @@ docs/models/ErrorSource.md
docs/models/ErrorType.md
docs/models/ErrorWithLabelIdResponseBody.md
docs/models/EstimateRatesRequestBody.md
+docs/models/EstimatedImportCharges.md
docs/models/FedexAccountSettings.md
docs/models/FedexAccountSettingsRequestBody.md
docs/models/FedexPickupType.md
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4a5f2499..9453f6a9 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -223,3 +223,13 @@ Fixed handling of No Content responses
### Changed
- Marked v2 methods as obsolete
+
+## 3.1.0
+
+### Added
+
+- Created new EstimatedImportCharges model for commercial invoices for international shipments.
+
+### Changed
+
+- Extend shipment endpoints to request, create, update and delete estimated import charges.
diff --git a/README.md b/README.md
index 05833c50..7fcd8447 100644
--- a/README.md
+++ b/README.md
@@ -35,7 +35,7 @@ var shipengine = new ShipEngine("___YOUR_API_KEY_HERE__");
This C# SDK is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
-- API version: 1.1.202501091801
+- API version: 1.1.202503131403
- SDK version: 3.0.0
- Generator version: 7.7.0
- Build package: org.openapitools.codegen.languages.CSharpClientCodegen
@@ -86,6 +86,7 @@ API | Method | Description
*Insurance* | [**ConnectInsurer**](docs//apis/InsuranceApi.md#connectinsurer) | Connect a Shipsurance Account
*Insurance* | [**DisconnectInsurer**](docs//apis/InsuranceApi.md#disconnectinsurer) | Disconnect a Shipsurance Account
*Insurance* | [**GetInsuranceBalance**](docs//apis/InsuranceApi.md#getinsurancebalance) | Get Insurance Funds Balance
+*Labels* | [**CreateCombinedLabelDocument**](docs//apis/LabelsApi.md#createcombinedlabeldocument) | Created Combined Label Document
*Labels* | [**CreateLabel**](docs//apis/LabelsApi.md#createlabel) | Purchase Label
*Labels* | [**CreateLabelFromRate**](docs//apis/LabelsApi.md#createlabelfromrate) | Purchase Label with Rate ID
*Labels* | [**CreateLabelFromShipment**](docs//apis/LabelsApi.md#createlabelfromshipment) | Purchase Label with Shipment ID
@@ -127,6 +128,7 @@ API | Method | Description
*Shipments* | [**UntagShipment**](docs//apis/ShipmentsApi.md#untagshipment) | Remove Tag from Shipment
*Shipments* | [**UpdateShipment**](docs//apis/ShipmentsApi.md#updateshipment) | Update Shipment By ID
*Tags* | [**CreateTag**](docs//apis/TagsApi.md#createtag) | Create a New Tag
+*Tags* | [**CreateTag_0**](docs//apis/TagsApi.md#createtag_0) | Create a New Tag
*Tags* | [**DeleteTag**](docs//apis/TagsApi.md#deletetag) | Delete Tag
*Tags* | [**ListTags**](docs//apis/TagsApi.md#listtags) | Get Tags
*Tags* | [**RenameTag**](docs//apis/TagsApi.md#renametag) | Update Tag Name
diff --git a/ShipEngineSDK/Api/LabelsApi.cs b/ShipEngineSDK/Api/LabelsApi.cs
index 6717e400..0d609934 100644
--- a/ShipEngineSDK/Api/LabelsApi.cs
+++ b/ShipEngineSDK/Api/LabelsApi.cs
@@ -24,6 +24,27 @@ namespace ShipEngineSDK;
///
public partial interface IShipEngine
{
+ ///
+ /// Created Combined Label Document Download a combined label file
+ ///
+ /// Thrown when required argument is null
+ /// Thrown when fails to make API call
+ ///
+ /// Cancellation Token to cancel the request.
+ /// Task of ApiResponse (CreateCombinedLabelDocumentResponseBodyYaml)
+ Task CreateCombinedLabelDocument(CreateCombinedLabelDocumentRequestBody createCombinedLabelDocumentRequestBody, CancellationToken cancellationToken = default);
+
+ ///
+ /// Created Combined Label Document Download a combined label file
+ ///
+ /// Thrown when required argument is null
+ /// Thrown when fails to make API call
+ /// HttpClient to use for the request
+ ///
+ /// Cancellation Token to cancel the request.
+ /// Task of ApiResponse (CreateCombinedLabelDocumentResponseBodyYaml)
+ Task CreateCombinedLabelDocument(HttpClient methodClient, CreateCombinedLabelDocumentRequestBody createCombinedLabelDocumentRequestBody, CancellationToken cancellationToken = default);
+
///
/// Purchase Label Purchase and print a label for shipment
///
@@ -256,6 +277,48 @@ public partial interface IShipEngine
///
public partial class ShipEngine
{
+ ///
+ /// Created Combined Label Document Download a combined label file
+ ///
+ /// Thrown when required argument is null
+ /// Thrown when fails to make API call
+ ///
+ /// Cancellation Token to cancel the request.
+ /// Task of ApiResponse (CreateCombinedLabelDocumentResponseBodyYaml)
+ public Task CreateCombinedLabelDocument(CreateCombinedLabelDocumentRequestBody createCombinedLabelDocumentRequestBody, CancellationToken cancellationToken = default)
+ {
+ return CreateCombinedLabelDocument(_client, createCombinedLabelDocumentRequestBody, cancellationToken);
+ }
+
+ ///
+ /// Created Combined Label Document Download a combined label file
+ ///
+ /// Thrown when required argument is null
+ /// Thrown when fails to make API call
+ /// HttpClient to use for the request
+ ///
+ /// Cancellation Token to cancel the request.
+ /// Task of ApiResponse (CreateCombinedLabelDocumentResponseBodyYaml)
+ public async Task CreateCombinedLabelDocument(HttpClient methodClient, CreateCombinedLabelDocumentRequestBody createCombinedLabelDocumentRequestBody, CancellationToken cancellationToken = default)
+ {
+ // verify the required parameter 'createCombinedLabelDocumentRequestBody' is set
+ if (createCombinedLabelDocumentRequestBody == null)
+ {
+ throw new ArgumentNullException(nameof(createCombinedLabelDocumentRequestBody));
+ }
+
+
+ RequestOptions requestOptions = new("/v1/documents/combined_labels");
+
+ requestOptions.Data = JsonSerializer.Serialize(createCombinedLabelDocumentRequestBody, JsonSerializerOptions);
+
+ requestOptions.Operation = "LabelsApi.CreateCombinedLabelDocument";
+
+ var result = await SendHttpRequestAsync(HttpMethods.Post, requestOptions, methodClient, _config, cancellationToken);
+
+ return result;
+ }
+
///
/// Purchase Label Purchase and print a label for shipment
///
diff --git a/ShipEngineSDK/Api/TagsApi.cs b/ShipEngineSDK/Api/TagsApi.cs
index 94031585..b49133a2 100644
--- a/ShipEngineSDK/Api/TagsApi.cs
+++ b/ShipEngineSDK/Api/TagsApi.cs
@@ -25,17 +25,38 @@ namespace ShipEngineSDK;
public partial interface IShipEngine
{
///
- /// Create a New Tag Create a new Tag for customizing how you track your shipments
+ /// Create a New Tag Create a new tag for customizing how you track your shipments.
+ ///
+ /// Thrown when required argument is null
+ /// Thrown when fails to make API call
+ ///
+ /// Cancellation Token to cancel the request.
+ /// Task of ApiResponse (CreateTagResponseBody)
+ Task CreateTag(CreateTagRequestBody createTagRequestBody, CancellationToken cancellationToken = default);
+
+ ///
+ /// Create a New Tag Create a new tag for customizing how you track your shipments.
+ ///
+ /// Thrown when required argument is null
+ /// Thrown when fails to make API call
+ /// HttpClient to use for the request
+ ///
+ /// Cancellation Token to cancel the request.
+ /// Task of ApiResponse (CreateTagResponseBody)
+ Task CreateTag(HttpClient methodClient, CreateTagRequestBody createTagRequestBody, CancellationToken cancellationToken = default);
+
+ ///
+ /// Create a New Tag Create a new tag for customizing how you track your shipments (deprecated - use POST /v1/tags instead)
///
/// Thrown when required argument is null
/// Thrown when fails to make API call
///
/// Cancellation Token to cancel the request.
/// Task of ApiResponse (CreateTagResponseBody)
- Task CreateTag(string tagName, CancellationToken cancellationToken = default);
+ Task CreateTag_0(string tagName, CancellationToken cancellationToken = default);
///
- /// Create a New Tag Create a new Tag for customizing how you track your shipments
+ /// Create a New Tag Create a new tag for customizing how you track your shipments (deprecated - use POST /v1/tags instead)
///
/// Thrown when required argument is null
/// Thrown when fails to make API call
@@ -43,7 +64,7 @@ public partial interface IShipEngine
///
/// Cancellation Token to cancel the request.
/// Task of ApiResponse (CreateTagResponseBody)
- Task CreateTag(HttpClient methodClient, string tagName, CancellationToken cancellationToken = default);
+ Task CreateTag_0(HttpClient methodClient, string tagName, CancellationToken cancellationToken = default);
///
/// Delete Tag Delete a tag that is no longer needed
@@ -116,20 +137,62 @@ public partial interface IShipEngine
public partial class ShipEngine
{
///
- /// Create a New Tag Create a new Tag for customizing how you track your shipments
+ /// Create a New Tag Create a new tag for customizing how you track your shipments.
+ ///
+ /// Thrown when required argument is null
+ /// Thrown when fails to make API call
+ ///
+ /// Cancellation Token to cancel the request.
+ /// Task of ApiResponse (CreateTagResponseBody)
+ public Task CreateTag(CreateTagRequestBody createTagRequestBody, CancellationToken cancellationToken = default)
+ {
+ return CreateTag(_client, createTagRequestBody, cancellationToken);
+ }
+
+ ///
+ /// Create a New Tag Create a new tag for customizing how you track your shipments.
+ ///
+ /// Thrown when required argument is null
+ /// Thrown when fails to make API call
+ /// HttpClient to use for the request
+ ///
+ /// Cancellation Token to cancel the request.
+ /// Task of ApiResponse (CreateTagResponseBody)
+ public async Task CreateTag(HttpClient methodClient, CreateTagRequestBody createTagRequestBody, CancellationToken cancellationToken = default)
+ {
+ // verify the required parameter 'createTagRequestBody' is set
+ if (createTagRequestBody == null)
+ {
+ throw new ArgumentNullException(nameof(createTagRequestBody));
+ }
+
+
+ RequestOptions requestOptions = new("/v1/tags");
+
+ requestOptions.Data = JsonSerializer.Serialize(createTagRequestBody, JsonSerializerOptions);
+
+ requestOptions.Operation = "TagsApi.CreateTag";
+
+ var result = await SendHttpRequestAsync(HttpMethods.Post, requestOptions, methodClient, _config, cancellationToken);
+
+ return result;
+ }
+
+ ///
+ /// Create a New Tag Create a new tag for customizing how you track your shipments (deprecated - use POST /v1/tags instead)
///
/// Thrown when required argument is null
/// Thrown when fails to make API call
///
/// Cancellation Token to cancel the request.
/// Task of ApiResponse (CreateTagResponseBody)
- public Task CreateTag(string tagName, CancellationToken cancellationToken = default)
+ public Task CreateTag_0(string tagName, CancellationToken cancellationToken = default)
{
- return CreateTag(_client, tagName, cancellationToken);
+ return CreateTag_0(_client, tagName, cancellationToken);
}
///
- /// Create a New Tag Create a new Tag for customizing how you track your shipments
+ /// Create a New Tag Create a new tag for customizing how you track your shipments (deprecated - use POST /v1/tags instead)
///
/// Thrown when required argument is null
/// Thrown when fails to make API call
@@ -137,7 +200,7 @@ public Task CreateTag(string tagName, CancellationToken c
///
/// Cancellation Token to cancel the request.
/// Task of ApiResponse (CreateTagResponseBody)
- public async Task CreateTag(HttpClient methodClient, string tagName, CancellationToken cancellationToken = default)
+ public async Task CreateTag_0(HttpClient methodClient, string tagName, CancellationToken cancellationToken = default)
{
// verify the required parameter 'tagName' is set
if (tagName == null)
@@ -150,7 +213,7 @@ public async Task CreateTag(HttpClient methodClient, stri
requestOptions.PathParameters.Add("tag_name", ClientUtils.ParameterToString(tagName)); // path parameter
- requestOptions.Operation = "TagsApi.CreateTag";
+ requestOptions.Operation = "TagsApi.CreateTag_0";
var result = await SendHttpRequestAsync(HttpMethods.Post, requestOptions, methodClient, _config, cancellationToken);
diff --git a/ShipEngineSDK/Model/CreateCombinedLabelDocumentRequestBody.cs b/ShipEngineSDK/Model/CreateCombinedLabelDocumentRequestBody.cs
new file mode 100644
index 00000000..6ab12b2e
--- /dev/null
+++ b/ShipEngineSDK/Model/CreateCombinedLabelDocumentRequestBody.cs
@@ -0,0 +1,185 @@
+//
+// DO NOT MODIFY THIS FILE
+
+// Changes can be made in a corresponding partial file, or by changing
+// the template in /generation/templates and generating the class again.
+
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.IO;
+using System.Linq;
+using System.Runtime.Serialization;
+using System.Text;
+using System.Text.Json;
+using System.Text.Json.Serialization;
+using System.Text.Json.Serialization.Metadata;
+using System.Text.RegularExpressions;
+
+namespace ShipEngineSDK.Model;
+
+///
+/// A create combined label document request body
+///
+public partial class CreateCombinedLabelDocumentRequestBody
+{
+ ///
+ /// The download type for the combined label document; note that currently only `\"inline\"` is supported.
+ ///
+ /// The download type for the combined label document; note that currently only `\"inline\"` is supported.
+ [JsonConverter(typeof(LabelDownloadTypeEnumJsonConverter))]
+ public class LabelDownloadTypeEnum
+ {
+ private readonly string _value;
+
+ ///
+ /// Create a new instance of LabelDownloadTypeEnum with a predefined value.
+ ///
+ internal LabelDownloadTypeEnum()
+ {
+ _value = "inline";
+ }
+
+ ///
+ /// Create a new instance of LabelDownloadTypeEnum with a custom value.
+ ///
+ /// The value of the LabelDownloadTypeEnum
+ ///
+ /// You can send a custom value to the API using this constructor, but the API most likely won't know what to do with it.
+ /// You should use the predefined values returned by the static properties of this class unless you know that the value is value.
+ ///
+ public LabelDownloadTypeEnum(string value)
+ {
+ _value = value;
+ }
+
+ ///
+ /// Enum Inline for value: inline
+ ///
+ public static LabelDownloadTypeEnum Inline { get; } = new("inline");
+
+
+ ///
+ /// Get a string representation of the current value
+ ///
+ public override string ToString() => _value;
+ }
+
+ internal class LabelDownloadTypeEnumJsonConverter : JsonConverter
+ {
+ public override LabelDownloadTypeEnum? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) =>
+ reader.TokenType == JsonTokenType.String ? new LabelDownloadTypeEnum(reader.GetString()!) : null;
+
+ public override void Write(Utf8JsonWriter writer, LabelDownloadTypeEnum value, JsonSerializerOptions options) =>
+ writer.WriteStringValue(value.ToString());
+
+ public override bool CanConvert(Type typeToConvert) =>
+ typeToConvert == typeof(LabelDownloadTypeEnum);
+ }
+
+ ///
+ /// The file format for the combined label document; note that currently only `\"pdf\"` is supported.
+ ///
+ /// The file format for the combined label document; note that currently only `\"pdf\"` is supported.
+ [JsonConverter(typeof(LabelFormatEnumJsonConverter))]
+ public class LabelFormatEnum
+ {
+ private readonly string _value;
+
+ ///
+ /// Create a new instance of LabelFormatEnum with a predefined value.
+ ///
+ internal LabelFormatEnum()
+ {
+ _value = "pdf";
+ }
+
+ ///
+ /// Create a new instance of LabelFormatEnum with a custom value.
+ ///
+ /// The value of the LabelFormatEnum
+ ///
+ /// You can send a custom value to the API using this constructor, but the API most likely won't know what to do with it.
+ /// You should use the predefined values returned by the static properties of this class unless you know that the value is value.
+ ///
+ public LabelFormatEnum(string value)
+ {
+ _value = value;
+ }
+
+ ///
+ /// Enum Pdf for value: pdf
+ ///
+ public static LabelFormatEnum Pdf { get; } = new("pdf");
+
+
+ ///
+ /// Get a string representation of the current value
+ ///
+ public override string ToString() => _value;
+ }
+
+ internal class LabelFormatEnumJsonConverter : JsonConverter
+ {
+ public override LabelFormatEnum? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) =>
+ reader.TokenType == JsonTokenType.String ? new LabelFormatEnum(reader.GetString()!) : null;
+
+ public override void Write(Utf8JsonWriter writer, LabelFormatEnum value, JsonSerializerOptions options) =>
+ writer.WriteStringValue(value.ToString());
+
+ public override bool CanConvert(Type typeToConvert) =>
+ typeToConvert == typeof(LabelFormatEnum);
+ }
+
+
+ ///
+ /// The download type for the combined label document; note that currently only `\"inline\"` is supported.
+ ///
+ /// The download type for the combined label document; note that currently only `\"inline\"` is supported.
+ [JsonPropertyName("label_download_type"), JsonPropertyOrder(1)]
+ public LabelDownloadTypeEnum? LabelDownloadType { get; set; }
+
+ ///
+ /// The file format for the combined label document; note that currently only `\"pdf\"` is supported.
+ ///
+ /// The file format for the combined label document; note that currently only `\"pdf\"` is supported.
+ [JsonPropertyName("label_format"), JsonPropertyOrder(2)]
+ public LabelFormatEnum? LabelFormat { get; set; }
+
+ ///
+ /// The list of up to 30 label ids to include in the combined label document. Note that to avoid response size limits, you should only expect to be able to combine 30 single page labels similar in size to that of USPS labels.
+ ///
+ /// The list of up to 30 label ids to include in the combined label document. Note that to avoid response size limits, you should only expect to be able to combine 30 single page labels similar in size to that of USPS labels.
+ [JsonPropertyName("label_ids"), JsonPropertyOrder(3)]
+ public List? LabelIds { get; set; }
+
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class CreateCombinedLabelDocumentRequestBody {\n");
+#pragma warning disable CS0612 // Type or member is obsolete
+ sb.Append(" LabelDownloadType: ").Append(LabelDownloadType).Append("\n");
+ sb.Append(" LabelFormat: ").Append(LabelFormat).Append("\n");
+ sb.Append(" LabelIds: ").Append(LabelIds).Append("\n");
+#pragma warning restore CS0612 // Type or member is obsolete
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public virtual string ToJson(JsonSerializerOptions options)
+ {
+ return JsonSerializer.Serialize(this, options);
+ }
+
+}
\ No newline at end of file
diff --git a/ShipEngineSDK/Model/CreateCombinedLabelDocumentResponseBodyYaml.cs b/ShipEngineSDK/Model/CreateCombinedLabelDocumentResponseBodyYaml.cs
new file mode 100644
index 00000000..17df97cb
--- /dev/null
+++ b/ShipEngineSDK/Model/CreateCombinedLabelDocumentResponseBodyYaml.cs
@@ -0,0 +1,64 @@
+//
+// DO NOT MODIFY THIS FILE
+
+// Changes can be made in a corresponding partial file, or by changing
+// the template in /generation/templates and generating the class again.
+
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.IO;
+using System.Linq;
+using System.Runtime.Serialization;
+using System.Text;
+using System.Text.Json;
+using System.Text.Json.Serialization;
+using System.Text.Json.Serialization.Metadata;
+using System.Text.RegularExpressions;
+
+namespace ShipEngineSDK.Model;
+
+///
+/// A create combined label document response body
+///
+public partial class CreateCombinedLabelDocumentResponseBodyYaml
+{
+
+ ///
+ /// The download for the combined label document
+ ///
+ /// The download for the combined label document
+ ///
+ /// This should not be used for input as it will be ignored on serialization.
+ ///
+ [JsonPropertyName("label_download"), JsonInclude]
+ public LabelDownload? LabelDownload { get; set; }
+
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class CreateCombinedLabelDocumentResponseBodyYaml {\n");
+#pragma warning disable CS0612 // Type or member is obsolete
+ sb.Append(" LabelDownload: ").Append(LabelDownload).Append("\n");
+#pragma warning restore CS0612 // Type or member is obsolete
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public virtual string ToJson(JsonSerializerOptions options)
+ {
+ return JsonSerializer.Serialize(this, options);
+ }
+
+}
\ No newline at end of file
diff --git a/ShipEngineSDK/Model/CreateLabelFromRateResponseBody.cs b/ShipEngineSDK/Model/CreateLabelFromRateResponseBody.cs
index 2aacd939..3aa2f5a5 100644
--- a/ShipEngineSDK/Model/CreateLabelFromRateResponseBody.cs
+++ b/ShipEngineSDK/Model/CreateLabelFromRateResponseBody.cs
@@ -82,6 +82,16 @@ public partial class CreateLabelFromRateResponseBody
[JsonPropertyName("charge_event"), JsonPropertyOrder(5)]
public LabelChargeEvent? ChargeEvent { get; set; }
+ ///
+ /// The type of delivery confirmation that is required for this shipment.
+ ///
+ /// The type of delivery confirmation that is required for this shipment.
+ ///
+ /// This should not be used for input as it will be ignored on serialization.
+ ///
+ [JsonPropertyName("confirmation"), JsonInclude]
+ public DeliveryConfirmation? Confirmation { get; set; }
+
///
/// The date and time that the label was created in ShipEngine.
///
@@ -99,7 +109,7 @@ public partial class CreateLabelFromRateResponseBody
/// The display format that the label should be shown in.
///
/// The display format that the label should be shown in.
- [JsonPropertyName("display_scheme"), JsonPropertyOrder(7)]
+ [JsonPropertyName("display_scheme"), JsonPropertyOrder(8)]
public DisplayScheme? DisplayScheme { get; set; }
///
@@ -146,7 +156,7 @@ public partial class CreateLabelFromRateResponseBody
/// Indicates whether this is a return label. You may also want to set the `rma_number` so you know what is being returned.
///
/// Indicates whether this is a return label. You may also want to set the `rma_number` so you know what is being returned.
- [JsonPropertyName("is_return_label"), JsonPropertyOrder(12)]
+ [JsonPropertyName("is_return_label"), JsonPropertyOrder(13)]
public bool? IsReturnLabel { get; set; }
///
@@ -161,14 +171,14 @@ public partial class CreateLabelFromRateResponseBody
///
/// Gets or Sets LabelDownloadType
///
- [JsonPropertyName("label_download_type"), JsonPropertyOrder(14), JsonWriteOnly]
+ [JsonPropertyName("label_download_type"), JsonPropertyOrder(15), JsonWriteOnly]
public LabelDownloadType? LabelDownloadType { get; set; }
///
/// The file format that you want the label to be in. We recommend `pdf` format because it is supported by all carriers, whereas some carriers do not support the `png` or `zpl` formats.
///
/// The file format that you want the label to be in. We recommend `pdf` format because it is supported by all carriers, whereas some carriers do not support the `png` or `zpl` formats.
- [JsonPropertyName("label_format"), JsonPropertyOrder(15)]
+ [JsonPropertyName("label_format"), JsonPropertyOrder(16)]
public LabelFormat? LabelFormat { get; set; }
///
@@ -191,14 +201,14 @@ public partial class CreateLabelFromRateResponseBody
///
/// img_DtBXupDBxREpHnwEXhTfgK
///
- [JsonPropertyName("label_image_id"), JsonPropertyOrder(17)]
+ [JsonPropertyName("label_image_id"), JsonPropertyOrder(18)]
public string? LabelImageId { get; set; }
///
/// The layout (size) that you want the label to be in. The `label_format` determines which sizes are allowed. `4x6` is supported for all label formats, whereas `letter` (8.5\" x 11\") is only supported for `pdf` format.
///
/// The layout (size) that you want the label to be in. The `label_format` determines which sizes are allowed. `4x6` is supported for all label formats, whereas `letter` (8.5\" x 11\") is only supported for `pdf` format.
- [JsonPropertyName("label_layout"), JsonPropertyOrder(18)]
+ [JsonPropertyName("label_layout"), JsonPropertyOrder(19)]
public LabelLayout? LabelLayout { get; set; }
///
@@ -208,7 +218,7 @@ public partial class CreateLabelFromRateResponseBody
///
/// se-28529731
///
- [JsonPropertyName("outbound_label_id"), JsonPropertyOrder(19), JsonWriteOnly]
+ [JsonPropertyName("outbound_label_id"), JsonPropertyOrder(20), JsonWriteOnly]
public string? OutboundLabelId { get; set; }
///
@@ -268,7 +278,7 @@ public partial class CreateLabelFromRateResponseBody
/// An optional Return Merchandise Authorization number. This field is useful for return labels. You can set it to any string value.
///
/// An optional Return Merchandise Authorization number. This field is useful for return labels. You can set it to any string value.
- [JsonPropertyName("rma_number"), JsonPropertyOrder(25)]
+ [JsonPropertyName("rma_number"), JsonPropertyOrder(26)]
public string? RmaNumber { get; set; }
///
@@ -301,7 +311,7 @@ public partial class CreateLabelFromRateResponseBody
/// The shipment information used to generate the label
///
/// The shipment information used to generate the label
- [JsonPropertyName("shipment"), JsonPropertyOrder(28), JsonWriteOnly]
+ [JsonPropertyName("shipment"), JsonPropertyOrder(29), JsonWriteOnly]
public Shipment? Shipment { get; set; }
///
@@ -340,7 +350,7 @@ public partial class CreateLabelFromRateResponseBody
/// Indicate if this label is being used only for testing purposes. If true, then no charge will be added to your account.
///
/// Indicate if this label is being used only for testing purposes. If true, then no charge will be added to your account.
- [JsonPropertyName("test_label"), JsonPropertyOrder(32), JsonWriteOnly, Obsolete]
+ [JsonPropertyName("test_label"), JsonPropertyOrder(33), JsonWriteOnly, Obsolete]
public bool? TestLabel { get; set; }
///
@@ -392,7 +402,7 @@ public partial class CreateLabelFromRateResponseBody
///
/// Gets or Sets ValidateAddress
///
- [JsonPropertyName("validate_address"), JsonPropertyOrder(37), JsonWriteOnly]
+ [JsonPropertyName("validate_address"), JsonPropertyOrder(38), JsonWriteOnly]
public ValidateAddress? ValidateAddress { get; set; }
///
@@ -433,6 +443,7 @@ public override string ToString()
sb.Append(" CarrierCode: ").Append(CarrierCode).Append("\n");
sb.Append(" CarrierId: ").Append(CarrierId).Append("\n");
sb.Append(" ChargeEvent: ").Append(ChargeEvent).Append("\n");
+ sb.Append(" Confirmation: ").Append(Confirmation).Append("\n");
sb.Append(" CreatedAt: ").Append(CreatedAt).Append("\n");
sb.Append(" DisplayScheme: ").Append(DisplayScheme).Append("\n");
sb.Append(" FormDownload: ").Append(FormDownload).Append("\n");
diff --git a/ShipEngineSDK/Model/CreateLabelFromShipmentResponseBody.cs b/ShipEngineSDK/Model/CreateLabelFromShipmentResponseBody.cs
index d4f799f8..330d9135 100644
--- a/ShipEngineSDK/Model/CreateLabelFromShipmentResponseBody.cs
+++ b/ShipEngineSDK/Model/CreateLabelFromShipmentResponseBody.cs
@@ -82,6 +82,16 @@ public partial class CreateLabelFromShipmentResponseBody
[JsonPropertyName("charge_event"), JsonPropertyOrder(5)]
public LabelChargeEvent? ChargeEvent { get; set; }
+ ///
+ /// The type of delivery confirmation that is required for this shipment.
+ ///
+ /// The type of delivery confirmation that is required for this shipment.
+ ///
+ /// This should not be used for input as it will be ignored on serialization.
+ ///
+ [JsonPropertyName("confirmation"), JsonInclude]
+ public DeliveryConfirmation? Confirmation { get; set; }
+
///
/// The date and time that the label was created in ShipEngine.
///
@@ -99,7 +109,7 @@ public partial class CreateLabelFromShipmentResponseBody
/// The display format that the label should be shown in.
///
/// The display format that the label should be shown in.
- [JsonPropertyName("display_scheme"), JsonPropertyOrder(7)]
+ [JsonPropertyName("display_scheme"), JsonPropertyOrder(8)]
public DisplayScheme? DisplayScheme { get; set; }
///
@@ -146,7 +156,7 @@ public partial class CreateLabelFromShipmentResponseBody
/// Indicates whether this is a return label. You may also want to set the `rma_number` so you know what is being returned.
///
/// Indicates whether this is a return label. You may also want to set the `rma_number` so you know what is being returned.
- [JsonPropertyName("is_return_label"), JsonPropertyOrder(12)]
+ [JsonPropertyName("is_return_label"), JsonPropertyOrder(13)]
public bool? IsReturnLabel { get; set; }
///
@@ -161,14 +171,14 @@ public partial class CreateLabelFromShipmentResponseBody
///
/// Gets or Sets LabelDownloadType
///
- [JsonPropertyName("label_download_type"), JsonPropertyOrder(14), JsonWriteOnly]
+ [JsonPropertyName("label_download_type"), JsonPropertyOrder(15), JsonWriteOnly]
public LabelDownloadType? LabelDownloadType { get; set; }
///
/// The file format that you want the label to be in. We recommend `pdf` format because it is supported by all carriers, whereas some carriers do not support the `png` or `zpl` formats.
///
/// The file format that you want the label to be in. We recommend `pdf` format because it is supported by all carriers, whereas some carriers do not support the `png` or `zpl` formats.
- [JsonPropertyName("label_format"), JsonPropertyOrder(15)]
+ [JsonPropertyName("label_format"), JsonPropertyOrder(16)]
public LabelFormat? LabelFormat { get; set; }
///
@@ -191,14 +201,14 @@ public partial class CreateLabelFromShipmentResponseBody
///
/// img_DtBXupDBxREpHnwEXhTfgK
///
- [JsonPropertyName("label_image_id"), JsonPropertyOrder(17)]
+ [JsonPropertyName("label_image_id"), JsonPropertyOrder(18)]
public string? LabelImageId { get; set; }
///
/// The layout (size) that you want the label to be in. The `label_format` determines which sizes are allowed. `4x6` is supported for all label formats, whereas `letter` (8.5\" x 11\") is only supported for `pdf` format.
///
/// The layout (size) that you want the label to be in. The `label_format` determines which sizes are allowed. `4x6` is supported for all label formats, whereas `letter` (8.5\" x 11\") is only supported for `pdf` format.
- [JsonPropertyName("label_layout"), JsonPropertyOrder(18)]
+ [JsonPropertyName("label_layout"), JsonPropertyOrder(19)]
public LabelLayout? LabelLayout { get; set; }
///
@@ -208,7 +218,7 @@ public partial class CreateLabelFromShipmentResponseBody
///
/// se-28529731
///
- [JsonPropertyName("outbound_label_id"), JsonPropertyOrder(19), JsonWriteOnly]
+ [JsonPropertyName("outbound_label_id"), JsonPropertyOrder(20), JsonWriteOnly]
public string? OutboundLabelId { get; set; }
///
@@ -268,7 +278,7 @@ public partial class CreateLabelFromShipmentResponseBody
/// An optional Return Merchandise Authorization number. This field is useful for return labels. You can set it to any string value.
///
/// An optional Return Merchandise Authorization number. This field is useful for return labels. You can set it to any string value.
- [JsonPropertyName("rma_number"), JsonPropertyOrder(25)]
+ [JsonPropertyName("rma_number"), JsonPropertyOrder(26)]
public string? RmaNumber { get; set; }
///
@@ -301,7 +311,7 @@ public partial class CreateLabelFromShipmentResponseBody
/// The shipment information used to generate the label
///
/// The shipment information used to generate the label
- [JsonPropertyName("shipment"), JsonPropertyOrder(28), JsonWriteOnly]
+ [JsonPropertyName("shipment"), JsonPropertyOrder(29), JsonWriteOnly]
public Shipment? Shipment { get; set; }
///
@@ -340,7 +350,7 @@ public partial class CreateLabelFromShipmentResponseBody
/// Indicate if this label is being used only for testing purposes. If true, then no charge will be added to your account.
///
/// Indicate if this label is being used only for testing purposes. If true, then no charge will be added to your account.
- [JsonPropertyName("test_label"), JsonPropertyOrder(32), JsonWriteOnly, Obsolete]
+ [JsonPropertyName("test_label"), JsonPropertyOrder(33), JsonWriteOnly, Obsolete]
public bool? TestLabel { get; set; }
///
@@ -392,7 +402,7 @@ public partial class CreateLabelFromShipmentResponseBody
///
/// Gets or Sets ValidateAddress
///
- [JsonPropertyName("validate_address"), JsonPropertyOrder(37), JsonWriteOnly]
+ [JsonPropertyName("validate_address"), JsonPropertyOrder(38), JsonWriteOnly]
public ValidateAddress? ValidateAddress { get; set; }
///
@@ -433,6 +443,7 @@ public override string ToString()
sb.Append(" CarrierCode: ").Append(CarrierCode).Append("\n");
sb.Append(" CarrierId: ").Append(CarrierId).Append("\n");
sb.Append(" ChargeEvent: ").Append(ChargeEvent).Append("\n");
+ sb.Append(" Confirmation: ").Append(Confirmation).Append("\n");
sb.Append(" CreatedAt: ").Append(CreatedAt).Append("\n");
sb.Append(" DisplayScheme: ").Append(DisplayScheme).Append("\n");
sb.Append(" FormDownload: ").Append(FormDownload).Append("\n");
diff --git a/ShipEngineSDK/Model/CreateLabelResponseBody.cs b/ShipEngineSDK/Model/CreateLabelResponseBody.cs
index b55e0f65..7da323df 100644
--- a/ShipEngineSDK/Model/CreateLabelResponseBody.cs
+++ b/ShipEngineSDK/Model/CreateLabelResponseBody.cs
@@ -289,6 +289,16 @@ public partial class CreateLabelResponseBody
[JsonPropertyName("alternative_identifiers"), JsonInclude]
public List? AlternativeIdentifiers { get; set; }
+ ///
+ /// The type of delivery confirmation that is required for this shipment.
+ ///
+ /// The type of delivery confirmation that is required for this shipment.
+ ///
+ /// This should not be used for input as it will be ignored on serialization.
+ ///
+ [JsonPropertyName("confirmation"), JsonInclude]
+ public DeliveryConfirmation? Confirmation { get; set; }
+
///
/// The link to download the customs form (a.k.a. commercial invoice) for this shipment, if any. Forms are in PDF format. This field is null if the shipment does not require a customs form, or if the carrier does not support it.
///
@@ -312,7 +322,7 @@ public partial class CreateLabelResponseBody
///
/// Gets or Sets LabelDownloadType
///
- [JsonPropertyName("label_download_type"), JsonPropertyOrder(28), JsonWriteOnly]
+ [JsonPropertyName("label_download_type"), JsonPropertyOrder(29), JsonWriteOnly]
public LabelDownloadType? LabelDownloadType { get; set; }
///
@@ -322,7 +332,7 @@ public partial class CreateLabelResponseBody
///
/// img_DtBXupDBxREpHnwEXhTfgK
///
- [JsonPropertyName("label_image_id"), JsonPropertyOrder(29)]
+ [JsonPropertyName("label_image_id"), JsonPropertyOrder(30)]
public required string LabelImageId { get; set; }
///
@@ -332,7 +342,7 @@ public partial class CreateLabelResponseBody
///
/// se-28529731
///
- [JsonPropertyName("outbound_label_id"), JsonPropertyOrder(30), JsonWriteOnly]
+ [JsonPropertyName("outbound_label_id"), JsonPropertyOrder(31), JsonWriteOnly]
public string? OutboundLabelId { get; set; }
///
@@ -369,21 +379,21 @@ public partial class CreateLabelResponseBody
/// An optional Return Merchandise Authorization number. This field is useful for return labels. You can set it to any string value.
///
/// An optional Return Merchandise Authorization number. This field is useful for return labels. You can set it to any string value.
- [JsonPropertyName("rma_number"), JsonPropertyOrder(34)]
+ [JsonPropertyName("rma_number"), JsonPropertyOrder(35)]
public required string RmaNumber { get; set; }
///
/// The shipment information used to generate the label
///
/// The shipment information used to generate the label
- [JsonPropertyName("shipment"), JsonPropertyOrder(35), JsonWriteOnly]
+ [JsonPropertyName("shipment"), JsonPropertyOrder(36), JsonWriteOnly]
public Shipment? Shipment { get; set; }
///
/// Indicate if this label is being used only for testing purposes. If true, then no charge will be added to your account.
///
/// Indicate if this label is being used only for testing purposes. If true, then no charge will be added to your account.
- [JsonPropertyName("test_label"), JsonPropertyOrder(36), JsonWriteOnly, Obsolete]
+ [JsonPropertyName("test_label"), JsonPropertyOrder(37), JsonWriteOnly, Obsolete]
public bool? TestLabel { get; set; }
///
@@ -402,7 +412,7 @@ public partial class CreateLabelResponseBody
///
/// Gets or Sets ValidateAddress
///
- [JsonPropertyName("validate_address"), JsonPropertyOrder(38), JsonWriteOnly]
+ [JsonPropertyName("validate_address"), JsonPropertyOrder(39), JsonWriteOnly]
public ValidateAddress? ValidateAddress { get; set; }
///
@@ -453,6 +463,7 @@ public override string ToString()
sb.Append(" TrackingStatus: ").Append(TrackingStatus).Append("\n");
sb.Append(" Voided: ").Append(Voided).Append("\n");
sb.Append(" AlternativeIdentifiers: ").Append(AlternativeIdentifiers).Append("\n");
+ sb.Append(" Confirmation: ").Append(Confirmation).Append("\n");
sb.Append(" FormDownload: ").Append(FormDownload).Append("\n");
sb.Append(" InsuranceClaim: ").Append(InsuranceClaim).Append("\n");
sb.Append(" LabelDownloadType: ").Append(LabelDownloadType).Append("\n");
diff --git a/ShipEngineSDK/Model/CreateReturnLabelResponseBody.cs b/ShipEngineSDK/Model/CreateReturnLabelResponseBody.cs
index c9691217..05f46a1e 100644
--- a/ShipEngineSDK/Model/CreateReturnLabelResponseBody.cs
+++ b/ShipEngineSDK/Model/CreateReturnLabelResponseBody.cs
@@ -82,6 +82,16 @@ public partial class CreateReturnLabelResponseBody
[JsonPropertyName("charge_event"), JsonPropertyOrder(5)]
public LabelChargeEvent? ChargeEvent { get; set; }
+ ///
+ /// The type of delivery confirmation that is required for this shipment.
+ ///
+ /// The type of delivery confirmation that is required for this shipment.
+ ///
+ /// This should not be used for input as it will be ignored on serialization.
+ ///
+ [JsonPropertyName("confirmation"), JsonInclude]
+ public DeliveryConfirmation? Confirmation { get; set; }
+
///
/// The date and time that the label was created in ShipEngine.
///
@@ -99,7 +109,7 @@ public partial class CreateReturnLabelResponseBody
/// The display format that the label should be shown in.
///
/// The display format that the label should be shown in.
- [JsonPropertyName("display_scheme"), JsonPropertyOrder(7)]
+ [JsonPropertyName("display_scheme"), JsonPropertyOrder(8)]
public DisplayScheme? DisplayScheme { get; set; }
///
@@ -146,7 +156,7 @@ public partial class CreateReturnLabelResponseBody
/// Indicates whether this is a return label. You may also want to set the `rma_number` so you know what is being returned.
///
/// Indicates whether this is a return label. You may also want to set the `rma_number` so you know what is being returned.
- [JsonPropertyName("is_return_label"), JsonPropertyOrder(12)]
+ [JsonPropertyName("is_return_label"), JsonPropertyOrder(13)]
public bool? IsReturnLabel { get; set; }
///
@@ -161,14 +171,14 @@ public partial class CreateReturnLabelResponseBody
///
/// Gets or Sets LabelDownloadType
///
- [JsonPropertyName("label_download_type"), JsonPropertyOrder(14), JsonWriteOnly]
+ [JsonPropertyName("label_download_type"), JsonPropertyOrder(15), JsonWriteOnly]
public LabelDownloadType? LabelDownloadType { get; set; }
///
/// The file format that you want the label to be in. We recommend `pdf` format because it is supported by all carriers, whereas some carriers do not support the `png` or `zpl` formats.
///
/// The file format that you want the label to be in. We recommend `pdf` format because it is supported by all carriers, whereas some carriers do not support the `png` or `zpl` formats.
- [JsonPropertyName("label_format"), JsonPropertyOrder(15)]
+ [JsonPropertyName("label_format"), JsonPropertyOrder(16)]
public LabelFormat? LabelFormat { get; set; }
///
@@ -191,14 +201,14 @@ public partial class CreateReturnLabelResponseBody
///
/// img_DtBXupDBxREpHnwEXhTfgK
///
- [JsonPropertyName("label_image_id"), JsonPropertyOrder(17)]
+ [JsonPropertyName("label_image_id"), JsonPropertyOrder(18)]
public string? LabelImageId { get; set; }
///
/// The layout (size) that you want the label to be in. The `label_format` determines which sizes are allowed. `4x6` is supported for all label formats, whereas `letter` (8.5\" x 11\") is only supported for `pdf` format.
///
/// The layout (size) that you want the label to be in. The `label_format` determines which sizes are allowed. `4x6` is supported for all label formats, whereas `letter` (8.5\" x 11\") is only supported for `pdf` format.
- [JsonPropertyName("label_layout"), JsonPropertyOrder(18)]
+ [JsonPropertyName("label_layout"), JsonPropertyOrder(19)]
public LabelLayout? LabelLayout { get; set; }
///
@@ -208,7 +218,7 @@ public partial class CreateReturnLabelResponseBody
///
/// se-28529731
///
- [JsonPropertyName("outbound_label_id"), JsonPropertyOrder(19), JsonWriteOnly]
+ [JsonPropertyName("outbound_label_id"), JsonPropertyOrder(20), JsonWriteOnly]
public string? OutboundLabelId { get; set; }
///
@@ -268,7 +278,7 @@ public partial class CreateReturnLabelResponseBody
/// An optional Return Merchandise Authorization number. This field is useful for return labels. You can set it to any string value.
///
/// An optional Return Merchandise Authorization number. This field is useful for return labels. You can set it to any string value.
- [JsonPropertyName("rma_number"), JsonPropertyOrder(25)]
+ [JsonPropertyName("rma_number"), JsonPropertyOrder(26)]
public string? RmaNumber { get; set; }
///
@@ -301,7 +311,7 @@ public partial class CreateReturnLabelResponseBody
/// The shipment information used to generate the label
///
/// The shipment information used to generate the label
- [JsonPropertyName("shipment"), JsonPropertyOrder(28), JsonWriteOnly]
+ [JsonPropertyName("shipment"), JsonPropertyOrder(29), JsonWriteOnly]
public Shipment? Shipment { get; set; }
///
@@ -340,7 +350,7 @@ public partial class CreateReturnLabelResponseBody
/// Indicate if this label is being used only for testing purposes. If true, then no charge will be added to your account.
///
/// Indicate if this label is being used only for testing purposes. If true, then no charge will be added to your account.
- [JsonPropertyName("test_label"), JsonPropertyOrder(32), JsonWriteOnly, Obsolete]
+ [JsonPropertyName("test_label"), JsonPropertyOrder(33), JsonWriteOnly, Obsolete]
public bool? TestLabel { get; set; }
///
@@ -392,7 +402,7 @@ public partial class CreateReturnLabelResponseBody
///
/// Gets or Sets ValidateAddress
///
- [JsonPropertyName("validate_address"), JsonPropertyOrder(37), JsonWriteOnly]
+ [JsonPropertyName("validate_address"), JsonPropertyOrder(38), JsonWriteOnly]
public ValidateAddress? ValidateAddress { get; set; }
///
@@ -433,6 +443,7 @@ public override string ToString()
sb.Append(" CarrierCode: ").Append(CarrierCode).Append("\n");
sb.Append(" CarrierId: ").Append(CarrierId).Append("\n");
sb.Append(" ChargeEvent: ").Append(ChargeEvent).Append("\n");
+ sb.Append(" Confirmation: ").Append(Confirmation).Append("\n");
sb.Append(" CreatedAt: ").Append(CreatedAt).Append("\n");
sb.Append(" DisplayScheme: ").Append(DisplayScheme).Append("\n");
sb.Append(" FormDownload: ").Append(FormDownload).Append("\n");
diff --git a/ShipEngineSDK/Model/CreateTagRequestBody.cs b/ShipEngineSDK/Model/CreateTagRequestBody.cs
new file mode 100644
index 00000000..e50152ad
--- /dev/null
+++ b/ShipEngineSDK/Model/CreateTagRequestBody.cs
@@ -0,0 +1,75 @@
+//
+// DO NOT MODIFY THIS FILE
+
+// Changes can be made in a corresponding partial file, or by changing
+// the template in /generation/templates and generating the class again.
+
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.IO;
+using System.Linq;
+using System.Runtime.Serialization;
+using System.Text;
+using System.Text.Json;
+using System.Text.Json.Serialization;
+using System.Text.Json.Serialization.Metadata;
+using System.Text.RegularExpressions;
+
+namespace ShipEngineSDK.Model;
+
+///
+/// A create tag request body
+///
+public partial class CreateTagRequestBody
+{
+
+ ///
+ /// The tag name.
+ ///
+ /// The tag name.
+ ///
+ /// Fragile
+ ///
+ [JsonPropertyName("name"), JsonPropertyOrder(1)]
+ public required string Name { get; set; }
+
+ ///
+ /// A hex-coded string identifying the color of the tag.
+ ///
+ /// A hex-coded string identifying the color of the tag.
+ ///
+ /// #FF0000
+ ///
+ [JsonPropertyName("color"), JsonPropertyOrder(2)]
+ public string? Color { get; set; }
+
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class CreateTagRequestBody {\n");
+#pragma warning disable CS0612 // Type or member is obsolete
+ sb.Append(" Name: ").Append(Name).Append("\n");
+ sb.Append(" Color: ").Append(Color).Append("\n");
+#pragma warning restore CS0612 // Type or member is obsolete
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public virtual string ToJson(JsonSerializerOptions options)
+ {
+ return JsonSerializer.Serialize(this, options);
+ }
+
+}
\ No newline at end of file
diff --git a/ShipEngineSDK/Model/CreateTagResponseBody.cs b/ShipEngineSDK/Model/CreateTagResponseBody.cs
index be7e513b..683ae8a3 100644
--- a/ShipEngineSDK/Model/CreateTagResponseBody.cs
+++ b/ShipEngineSDK/Model/CreateTagResponseBody.cs
@@ -36,6 +36,29 @@ public partial class CreateTagResponseBody
[JsonPropertyName("name"), JsonPropertyOrder(1)]
public required string Name { get; set; }
+ ///
+ /// A hex-coded string identifying the color of the tag.
+ ///
+ /// A hex-coded string identifying the color of the tag.
+ ///
+ /// #FF0000
+ ///
+ [JsonPropertyName("color"), JsonPropertyOrder(2)]
+ public string? Color { get; set; }
+
+ ///
+ /// An integer uniquely identifying a tag.
+ ///
+ /// An integer uniquely identifying a tag.
+ ///
+ /// This should not be used for input as it will be ignored on serialization.
+ ///
+ ///
+ /// 8712
+ ///
+ [JsonPropertyName("tag_id"), JsonInclude]
+ public int? TagId { get; set; }
+
///
/// Returns the string presentation of the object
@@ -47,6 +70,8 @@ public override string ToString()
sb.Append("class CreateTagResponseBody {\n");
#pragma warning disable CS0612 // Type or member is obsolete
sb.Append(" Name: ").Append(Name).Append("\n");
+ sb.Append(" Color: ").Append(Color).Append("\n");
+ sb.Append(" TagId: ").Append(TagId).Append("\n");
#pragma warning restore CS0612 // Type or member is obsolete
sb.Append("}\n");
return sb.ToString();
diff --git a/ShipEngineSDK/Model/ErrorType.cs b/ShipEngineSDK/Model/ErrorType.cs
index 07ea4e80..2c2b630d 100644
--- a/ShipEngineSDK/Model/ErrorType.cs
+++ b/ShipEngineSDK/Model/ErrorType.cs
@@ -86,18 +86,6 @@ public ErrorType(string value)
public static ErrorType Integrations { get; } = new("integrations");
- ///
- /// Enum Wallet for value: wallet
- ///
- public static ErrorType Wallet { get; } = new("wallet");
-
-
- ///
- /// Enum FundingSources for value: funding_sources
- ///
- public static ErrorType FundingSources { get; } = new("funding_sources");
-
-
///
/// Get a string representation of the current value
///
diff --git a/ShipEngineSDK/Model/EstimatedImportCharges.cs b/ShipEngineSDK/Model/EstimatedImportCharges.cs
new file mode 100644
index 00000000..50cd2b6b
--- /dev/null
+++ b/ShipEngineSDK/Model/EstimatedImportCharges.cs
@@ -0,0 +1,69 @@
+//
+// DO NOT MODIFY THIS FILE
+
+// Changes can be made in a corresponding partial file, or by changing
+// the template in /generation/templates and generating the class again.
+
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.IO;
+using System.Linq;
+using System.Runtime.Serialization;
+using System.Text;
+using System.Text.Json;
+using System.Text.Json.Serialization;
+using System.Text.Json.Serialization.Metadata;
+using System.Text.RegularExpressions;
+
+namespace ShipEngineSDK.Model;
+
+///
+/// Estimated import charges for commercial invoices for international shipments.
+///
+public partial class EstimatedImportCharges
+{
+
+ ///
+ /// Estimated import duties.
+ ///
+ /// Estimated import duties.
+ [JsonPropertyName("duties"), JsonPropertyOrder(1)]
+ public MonetaryValue? Duties { get; set; }
+
+ ///
+ /// Estimated import taxes.
+ ///
+ /// Estimated import taxes.
+ [JsonPropertyName("taxes"), JsonPropertyOrder(2)]
+ public MonetaryValue? Taxes { get; set; }
+
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class EstimatedImportCharges {\n");
+#pragma warning disable CS0612 // Type or member is obsolete
+ sb.Append(" Duties: ").Append(Duties).Append("\n");
+ sb.Append(" Taxes: ").Append(Taxes).Append("\n");
+#pragma warning restore CS0612 // Type or member is obsolete
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public virtual string ToJson(JsonSerializerOptions options)
+ {
+ return JsonSerializer.Serialize(this, options);
+ }
+
+}
\ No newline at end of file
diff --git a/ShipEngineSDK/Model/GetLabelByExternalShipmentIdResponseBody.cs b/ShipEngineSDK/Model/GetLabelByExternalShipmentIdResponseBody.cs
index 452ec019..297b238c 100644
--- a/ShipEngineSDK/Model/GetLabelByExternalShipmentIdResponseBody.cs
+++ b/ShipEngineSDK/Model/GetLabelByExternalShipmentIdResponseBody.cs
@@ -82,6 +82,16 @@ public partial class GetLabelByExternalShipmentIdResponseBody
[JsonPropertyName("charge_event"), JsonPropertyOrder(5)]
public LabelChargeEvent? ChargeEvent { get; set; }
+ ///
+ /// The type of delivery confirmation that is required for this shipment.
+ ///
+ /// The type of delivery confirmation that is required for this shipment.
+ ///
+ /// This should not be used for input as it will be ignored on serialization.
+ ///
+ [JsonPropertyName("confirmation"), JsonInclude]
+ public DeliveryConfirmation? Confirmation { get; set; }
+
///
/// The date and time that the label was created in ShipEngine.
///
@@ -99,7 +109,7 @@ public partial class GetLabelByExternalShipmentIdResponseBody
/// The display format that the label should be shown in.
///
/// The display format that the label should be shown in.
- [JsonPropertyName("display_scheme"), JsonPropertyOrder(7)]
+ [JsonPropertyName("display_scheme"), JsonPropertyOrder(8)]
public DisplayScheme? DisplayScheme { get; set; }
///
@@ -146,7 +156,7 @@ public partial class GetLabelByExternalShipmentIdResponseBody
/// Indicates whether this is a return label. You may also want to set the `rma_number` so you know what is being returned.
///
/// Indicates whether this is a return label. You may also want to set the `rma_number` so you know what is being returned.
- [JsonPropertyName("is_return_label"), JsonPropertyOrder(12)]
+ [JsonPropertyName("is_return_label"), JsonPropertyOrder(13)]
public bool? IsReturnLabel { get; set; }
///
@@ -161,14 +171,14 @@ public partial class GetLabelByExternalShipmentIdResponseBody
///
/// Gets or Sets LabelDownloadType
///
- [JsonPropertyName("label_download_type"), JsonPropertyOrder(14), JsonWriteOnly]
+ [JsonPropertyName("label_download_type"), JsonPropertyOrder(15), JsonWriteOnly]
public LabelDownloadType? LabelDownloadType { get; set; }
///
/// The file format that you want the label to be in. We recommend `pdf` format because it is supported by all carriers, whereas some carriers do not support the `png` or `zpl` formats.
///
/// The file format that you want the label to be in. We recommend `pdf` format because it is supported by all carriers, whereas some carriers do not support the `png` or `zpl` formats.
- [JsonPropertyName("label_format"), JsonPropertyOrder(15)]
+ [JsonPropertyName("label_format"), JsonPropertyOrder(16)]
public LabelFormat? LabelFormat { get; set; }
///
@@ -191,14 +201,14 @@ public partial class GetLabelByExternalShipmentIdResponseBody
///
/// img_DtBXupDBxREpHnwEXhTfgK
///
- [JsonPropertyName("label_image_id"), JsonPropertyOrder(17)]
+ [JsonPropertyName("label_image_id"), JsonPropertyOrder(18)]
public string? LabelImageId { get; set; }
///
/// The layout (size) that you want the label to be in. The `label_format` determines which sizes are allowed. `4x6` is supported for all label formats, whereas `letter` (8.5\" x 11\") is only supported for `pdf` format.
///
/// The layout (size) that you want the label to be in. The `label_format` determines which sizes are allowed. `4x6` is supported for all label formats, whereas `letter` (8.5\" x 11\") is only supported for `pdf` format.
- [JsonPropertyName("label_layout"), JsonPropertyOrder(18)]
+ [JsonPropertyName("label_layout"), JsonPropertyOrder(19)]
public LabelLayout? LabelLayout { get; set; }
///
@@ -208,7 +218,7 @@ public partial class GetLabelByExternalShipmentIdResponseBody
///
/// se-28529731
///
- [JsonPropertyName("outbound_label_id"), JsonPropertyOrder(19), JsonWriteOnly]
+ [JsonPropertyName("outbound_label_id"), JsonPropertyOrder(20), JsonWriteOnly]
public string? OutboundLabelId { get; set; }
///
@@ -268,7 +278,7 @@ public partial class GetLabelByExternalShipmentIdResponseBody
/// An optional Return Merchandise Authorization number. This field is useful for return labels. You can set it to any string value.
///
/// An optional Return Merchandise Authorization number. This field is useful for return labels. You can set it to any string value.
- [JsonPropertyName("rma_number"), JsonPropertyOrder(25)]
+ [JsonPropertyName("rma_number"), JsonPropertyOrder(26)]
public string? RmaNumber { get; set; }
///
@@ -301,7 +311,7 @@ public partial class GetLabelByExternalShipmentIdResponseBody
/// The shipment information used to generate the label
///
/// The shipment information used to generate the label
- [JsonPropertyName("shipment"), JsonPropertyOrder(28), JsonWriteOnly]
+ [JsonPropertyName("shipment"), JsonPropertyOrder(29), JsonWriteOnly]
public Shipment? Shipment { get; set; }
///
@@ -340,7 +350,7 @@ public partial class GetLabelByExternalShipmentIdResponseBody
/// Indicate if this label is being used only for testing purposes. If true, then no charge will be added to your account.
///
/// Indicate if this label is being used only for testing purposes. If true, then no charge will be added to your account.
- [JsonPropertyName("test_label"), JsonPropertyOrder(32), JsonWriteOnly, Obsolete]
+ [JsonPropertyName("test_label"), JsonPropertyOrder(33), JsonWriteOnly, Obsolete]
public bool? TestLabel { get; set; }
///
@@ -392,7 +402,7 @@ public partial class GetLabelByExternalShipmentIdResponseBody
///
/// Gets or Sets ValidateAddress
///
- [JsonPropertyName("validate_address"), JsonPropertyOrder(37), JsonWriteOnly]
+ [JsonPropertyName("validate_address"), JsonPropertyOrder(38), JsonWriteOnly]
public ValidateAddress? ValidateAddress { get; set; }
///
@@ -433,6 +443,7 @@ public override string ToString()
sb.Append(" CarrierCode: ").Append(CarrierCode).Append("\n");
sb.Append(" CarrierId: ").Append(CarrierId).Append("\n");
sb.Append(" ChargeEvent: ").Append(ChargeEvent).Append("\n");
+ sb.Append(" Confirmation: ").Append(Confirmation).Append("\n");
sb.Append(" CreatedAt: ").Append(CreatedAt).Append("\n");
sb.Append(" DisplayScheme: ").Append(DisplayScheme).Append("\n");
sb.Append(" FormDownload: ").Append(FormDownload).Append("\n");
diff --git a/ShipEngineSDK/Model/GetLabelByIdResponseBody.cs b/ShipEngineSDK/Model/GetLabelByIdResponseBody.cs
index e5b14f32..e63c24d1 100644
--- a/ShipEngineSDK/Model/GetLabelByIdResponseBody.cs
+++ b/ShipEngineSDK/Model/GetLabelByIdResponseBody.cs
@@ -82,6 +82,16 @@ public partial class GetLabelByIdResponseBody
[JsonPropertyName("charge_event"), JsonPropertyOrder(5)]
public LabelChargeEvent? ChargeEvent { get; set; }
+ ///
+ /// The type of delivery confirmation that is required for this shipment.
+ ///
+ /// The type of delivery confirmation that is required for this shipment.
+ ///
+ /// This should not be used for input as it will be ignored on serialization.
+ ///
+ [JsonPropertyName("confirmation"), JsonInclude]
+ public DeliveryConfirmation? Confirmation { get; set; }
+
///
/// The date and time that the label was created in ShipEngine.
///
@@ -99,7 +109,7 @@ public partial class GetLabelByIdResponseBody
/// The display format that the label should be shown in.
///
/// The display format that the label should be shown in.
- [JsonPropertyName("display_scheme"), JsonPropertyOrder(7)]
+ [JsonPropertyName("display_scheme"), JsonPropertyOrder(8)]
public DisplayScheme? DisplayScheme { get; set; }
///
@@ -146,7 +156,7 @@ public partial class GetLabelByIdResponseBody
/// Indicates whether this is a return label. You may also want to set the `rma_number` so you know what is being returned.
///
/// Indicates whether this is a return label. You may also want to set the `rma_number` so you know what is being returned.
- [JsonPropertyName("is_return_label"), JsonPropertyOrder(12)]
+ [JsonPropertyName("is_return_label"), JsonPropertyOrder(13)]
public bool? IsReturnLabel { get; set; }
///
@@ -161,14 +171,14 @@ public partial class GetLabelByIdResponseBody
///
/// Gets or Sets LabelDownloadType
///
- [JsonPropertyName("label_download_type"), JsonPropertyOrder(14), JsonWriteOnly]
+ [JsonPropertyName("label_download_type"), JsonPropertyOrder(15), JsonWriteOnly]
public LabelDownloadType? LabelDownloadType { get; set; }
///
/// The file format that you want the label to be in. We recommend `pdf` format because it is supported by all carriers, whereas some carriers do not support the `png` or `zpl` formats.
///
/// The file format that you want the label to be in. We recommend `pdf` format because it is supported by all carriers, whereas some carriers do not support the `png` or `zpl` formats.
- [JsonPropertyName("label_format"), JsonPropertyOrder(15)]
+ [JsonPropertyName("label_format"), JsonPropertyOrder(16)]
public LabelFormat? LabelFormat { get; set; }
///
@@ -191,14 +201,14 @@ public partial class GetLabelByIdResponseBody
///
/// img_DtBXupDBxREpHnwEXhTfgK
///
- [JsonPropertyName("label_image_id"), JsonPropertyOrder(17)]
+ [JsonPropertyName("label_image_id"), JsonPropertyOrder(18)]
public string? LabelImageId { get; set; }
///
/// The layout (size) that you want the label to be in. The `label_format` determines which sizes are allowed. `4x6` is supported for all label formats, whereas `letter` (8.5\" x 11\") is only supported for `pdf` format.
///
/// The layout (size) that you want the label to be in. The `label_format` determines which sizes are allowed. `4x6` is supported for all label formats, whereas `letter` (8.5\" x 11\") is only supported for `pdf` format.
- [JsonPropertyName("label_layout"), JsonPropertyOrder(18)]
+ [JsonPropertyName("label_layout"), JsonPropertyOrder(19)]
public LabelLayout? LabelLayout { get; set; }
///
@@ -208,7 +218,7 @@ public partial class GetLabelByIdResponseBody
///
/// se-28529731
///
- [JsonPropertyName("outbound_label_id"), JsonPropertyOrder(19), JsonWriteOnly]
+ [JsonPropertyName("outbound_label_id"), JsonPropertyOrder(20), JsonWriteOnly]
public string? OutboundLabelId { get; set; }
///
@@ -268,7 +278,7 @@ public partial class GetLabelByIdResponseBody
/// An optional Return Merchandise Authorization number. This field is useful for return labels. You can set it to any string value.
///
/// An optional Return Merchandise Authorization number. This field is useful for return labels. You can set it to any string value.
- [JsonPropertyName("rma_number"), JsonPropertyOrder(25)]
+ [JsonPropertyName("rma_number"), JsonPropertyOrder(26)]
public string? RmaNumber { get; set; }
///
@@ -301,7 +311,7 @@ public partial class GetLabelByIdResponseBody
/// The shipment information used to generate the label
///
/// The shipment information used to generate the label
- [JsonPropertyName("shipment"), JsonPropertyOrder(28), JsonWriteOnly]
+ [JsonPropertyName("shipment"), JsonPropertyOrder(29), JsonWriteOnly]
public Shipment? Shipment { get; set; }
///
@@ -340,7 +350,7 @@ public partial class GetLabelByIdResponseBody
/// Indicate if this label is being used only for testing purposes. If true, then no charge will be added to your account.
///
/// Indicate if this label is being used only for testing purposes. If true, then no charge will be added to your account.
- [JsonPropertyName("test_label"), JsonPropertyOrder(32), JsonWriteOnly, Obsolete]
+ [JsonPropertyName("test_label"), JsonPropertyOrder(33), JsonWriteOnly, Obsolete]
public bool? TestLabel { get; set; }
///
@@ -392,7 +402,7 @@ public partial class GetLabelByIdResponseBody
///
/// Gets or Sets ValidateAddress
///
- [JsonPropertyName("validate_address"), JsonPropertyOrder(37), JsonWriteOnly]
+ [JsonPropertyName("validate_address"), JsonPropertyOrder(38), JsonWriteOnly]
public ValidateAddress? ValidateAddress { get; set; }
///
@@ -433,6 +443,7 @@ public override string ToString()
sb.Append(" CarrierCode: ").Append(CarrierCode).Append("\n");
sb.Append(" CarrierId: ").Append(CarrierId).Append("\n");
sb.Append(" ChargeEvent: ").Append(ChargeEvent).Append("\n");
+ sb.Append(" Confirmation: ").Append(Confirmation).Append("\n");
sb.Append(" CreatedAt: ").Append(CreatedAt).Append("\n");
sb.Append(" DisplayScheme: ").Append(DisplayScheme).Append("\n");
sb.Append(" FormDownload: ").Append(FormDownload).Append("\n");
diff --git a/ShipEngineSDK/Model/InvoiceAdditionalDetails.cs b/ShipEngineSDK/Model/InvoiceAdditionalDetails.cs
index 30c94227..90a96635 100644
--- a/ShipEngineSDK/Model/InvoiceAdditionalDetails.cs
+++ b/ShipEngineSDK/Model/InvoiceAdditionalDetails.cs
@@ -33,32 +33,39 @@ public partial class InvoiceAdditionalDetails
[JsonPropertyName("discount"), JsonPropertyOrder(1)]
public MonetaryValue? Discount { get; set; }
+ ///
+ /// Estimated import charges for commercial invoices for international shipments.
+ ///
+ /// Estimated import charges for commercial invoices for international shipments.
+ [JsonPropertyName("estimated_import_charges"), JsonPropertyOrder(2)]
+ public EstimatedImportCharges? EstimatedImportCharges { get; set; }
+
///
/// Freight Charge for shipment.
///
/// Freight Charge for shipment.
- [JsonPropertyName("freight_charge"), JsonPropertyOrder(2)]
+ [JsonPropertyName("freight_charge"), JsonPropertyOrder(3)]
public MonetaryValue? FreightCharge { get; set; }
///
/// Insurance Charge for shipment.
///
/// Insurance Charge for shipment.
- [JsonPropertyName("insurance_charge"), JsonPropertyOrder(3)]
+ [JsonPropertyName("insurance_charge"), JsonPropertyOrder(4)]
public MonetaryValue? InsuranceCharge { get; set; }
///
/// Other charge for shipment.
///
/// Other charge for shipment.
- [JsonPropertyName("other_charge"), JsonPropertyOrder(4)]
+ [JsonPropertyName("other_charge"), JsonPropertyOrder(5)]
public MonetaryValue? OtherCharge { get; set; }
///
/// Description for the other charge (if provided).
///
/// Description for the other charge (if provided).
- [JsonPropertyName("other_charge_description"), JsonPropertyOrder(5)]
+ [JsonPropertyName("other_charge_description"), JsonPropertyOrder(6)]
public string? OtherChargeDescription { get; set; }
@@ -72,6 +79,7 @@ public override string ToString()
sb.Append("class InvoiceAdditionalDetails {\n");
#pragma warning disable CS0612 // Type or member is obsolete
sb.Append(" Discount: ").Append(Discount).Append("\n");
+ sb.Append(" EstimatedImportCharges: ").Append(EstimatedImportCharges).Append("\n");
sb.Append(" FreightCharge: ").Append(FreightCharge).Append("\n");
sb.Append(" InsuranceCharge: ").Append(InsuranceCharge).Append("\n");
sb.Append(" OtherCharge: ").Append(OtherCharge).Append("\n");
diff --git a/ShipEngineSDK/Model/Label.cs b/ShipEngineSDK/Model/Label.cs
index 5e37ea93..669ef17f 100644
--- a/ShipEngineSDK/Model/Label.cs
+++ b/ShipEngineSDK/Model/Label.cs
@@ -82,6 +82,16 @@ public partial class Label
[JsonPropertyName("charge_event"), JsonPropertyOrder(5)]
public LabelChargeEvent? ChargeEvent { get; set; }
+ ///
+ /// The type of delivery confirmation that is required for this shipment.
+ ///
+ /// The type of delivery confirmation that is required for this shipment.
+ ///
+ /// This should not be used for input as it will be ignored on serialization.
+ ///
+ [JsonPropertyName("confirmation"), JsonInclude]
+ public DeliveryConfirmation? Confirmation { get; set; }
+
///
/// The date and time that the label was created in ShipEngine.
///
@@ -99,7 +109,7 @@ public partial class Label
/// The display format that the label should be shown in.
///
/// The display format that the label should be shown in.
- [JsonPropertyName("display_scheme"), JsonPropertyOrder(7)]
+ [JsonPropertyName("display_scheme"), JsonPropertyOrder(8)]
public DisplayScheme? DisplayScheme { get; set; }
///
@@ -146,7 +156,7 @@ public partial class Label
/// Indicates whether this is a return label. You may also want to set the `rma_number` so you know what is being returned.
///
/// Indicates whether this is a return label. You may also want to set the `rma_number` so you know what is being returned.
- [JsonPropertyName("is_return_label"), JsonPropertyOrder(12)]
+ [JsonPropertyName("is_return_label"), JsonPropertyOrder(13)]
public bool? IsReturnLabel { get; set; }
///
@@ -161,14 +171,14 @@ public partial class Label
///
/// Gets or Sets LabelDownloadType
///
- [JsonPropertyName("label_download_type"), JsonPropertyOrder(14), JsonWriteOnly]
+ [JsonPropertyName("label_download_type"), JsonPropertyOrder(15), JsonWriteOnly]
public LabelDownloadType? LabelDownloadType { get; set; }
///
/// The file format that you want the label to be in. We recommend `pdf` format because it is supported by all carriers, whereas some carriers do not support the `png` or `zpl` formats.
///
/// The file format that you want the label to be in. We recommend `pdf` format because it is supported by all carriers, whereas some carriers do not support the `png` or `zpl` formats.
- [JsonPropertyName("label_format"), JsonPropertyOrder(15)]
+ [JsonPropertyName("label_format"), JsonPropertyOrder(16)]
public LabelFormat? LabelFormat { get; set; }
///
@@ -191,14 +201,14 @@ public partial class Label
///
/// img_DtBXupDBxREpHnwEXhTfgK
///
- [JsonPropertyName("label_image_id"), JsonPropertyOrder(17)]
+ [JsonPropertyName("label_image_id"), JsonPropertyOrder(18)]
public string? LabelImageId { get; set; }
///
/// The layout (size) that you want the label to be in. The `label_format` determines which sizes are allowed. `4x6` is supported for all label formats, whereas `letter` (8.5\" x 11\") is only supported for `pdf` format.
///
/// The layout (size) that you want the label to be in. The `label_format` determines which sizes are allowed. `4x6` is supported for all label formats, whereas `letter` (8.5\" x 11\") is only supported for `pdf` format.
- [JsonPropertyName("label_layout"), JsonPropertyOrder(18)]
+ [JsonPropertyName("label_layout"), JsonPropertyOrder(19)]
public LabelLayout? LabelLayout { get; set; }
///
@@ -208,7 +218,7 @@ public partial class Label
///
/// se-28529731
///
- [JsonPropertyName("outbound_label_id"), JsonPropertyOrder(19), JsonWriteOnly]
+ [JsonPropertyName("outbound_label_id"), JsonPropertyOrder(20), JsonWriteOnly]
public string? OutboundLabelId { get; set; }
///
@@ -268,7 +278,7 @@ public partial class Label
/// An optional Return Merchandise Authorization number. This field is useful for return labels. You can set it to any string value.
///
/// An optional Return Merchandise Authorization number. This field is useful for return labels. You can set it to any string value.
- [JsonPropertyName("rma_number"), JsonPropertyOrder(25)]
+ [JsonPropertyName("rma_number"), JsonPropertyOrder(26)]
public string? RmaNumber { get; set; }
///
@@ -301,7 +311,7 @@ public partial class Label
/// The shipment information used to generate the label
///
/// The shipment information used to generate the label
- [JsonPropertyName("shipment"), JsonPropertyOrder(28), JsonWriteOnly]
+ [JsonPropertyName("shipment"), JsonPropertyOrder(29), JsonWriteOnly]
public Shipment? Shipment { get; set; }
///
@@ -340,7 +350,7 @@ public partial class Label
/// Indicate if this label is being used only for testing purposes. If true, then no charge will be added to your account.
///
/// Indicate if this label is being used only for testing purposes. If true, then no charge will be added to your account.
- [JsonPropertyName("test_label"), JsonPropertyOrder(32), JsonWriteOnly, Obsolete]
+ [JsonPropertyName("test_label"), JsonPropertyOrder(33), JsonWriteOnly, Obsolete]
public bool? TestLabel { get; set; }
///
@@ -392,7 +402,7 @@ public partial class Label
///
/// Gets or Sets ValidateAddress
///
- [JsonPropertyName("validate_address"), JsonPropertyOrder(37), JsonWriteOnly]
+ [JsonPropertyName("validate_address"), JsonPropertyOrder(38), JsonWriteOnly]
public ValidateAddress? ValidateAddress { get; set; }
///
@@ -433,6 +443,7 @@ public override string ToString()
sb.Append(" CarrierCode: ").Append(CarrierCode).Append("\n");
sb.Append(" CarrierId: ").Append(CarrierId).Append("\n");
sb.Append(" ChargeEvent: ").Append(ChargeEvent).Append("\n");
+ sb.Append(" Confirmation: ").Append(Confirmation).Append("\n");
sb.Append(" CreatedAt: ").Append(CreatedAt).Append("\n");
sb.Append(" DisplayScheme: ").Append(DisplayScheme).Append("\n");
sb.Append(" FormDownload: ").Append(FormDownload).Append("\n");
diff --git a/ShipEngineSDK/Model/ListLabelsResponseBody.cs b/ShipEngineSDK/Model/ListLabelsResponseBody.cs
index b9c28854..56063e6a 100644
--- a/ShipEngineSDK/Model/ListLabelsResponseBody.cs
+++ b/ShipEngineSDK/Model/ListLabelsResponseBody.cs
@@ -291,6 +291,13 @@ public class ListLabelsResponseBodyItem
[JsonPropertyName("tracking_status"), JsonInclude]
public TrackingStatus? TrackingStatus { get; set; }
+ ///
+ /// The type of delivery confirmation that is required for this shipment.
+ ///
+ /// The type of delivery confirmation that is required for this shipment.
+ [JsonPropertyName("confirmation"), JsonInclude]
+ public DeliveryConfirmation? Confirmation { get; set; }
+
///
/// Gets or Sets LabelDownload
///
diff --git a/ShipEngineSDK/Model/RateRequestBody.cs b/ShipEngineSDK/Model/RateRequestBody.cs
index 64142bed..c2dc3f5d 100644
--- a/ShipEngineSDK/Model/RateRequestBody.cs
+++ b/ShipEngineSDK/Model/RateRequestBody.cs
@@ -25,6 +25,72 @@ namespace ShipEngineSDK.Model;
///
public partial class RateRequestBody
{
+ ///
+ /// Indicates what type of rating to perform
+ ///
+ /// Indicates what type of rating to perform
+ [JsonConverter(typeof(RateTypeEnumJsonConverter))]
+ public class RateTypeEnum
+ {
+ private readonly string _value;
+
+ ///
+ /// Create a new instance of RateTypeEnum with a predefined value.
+ ///
+ internal RateTypeEnum()
+ {
+ _value = "check";
+ }
+
+ ///
+ /// Create a new instance of RateTypeEnum with a custom value.
+ ///
+ /// The value of the RateTypeEnum
+ ///
+ /// You can send a custom value to the API using this constructor, but the API most likely won't know what to do with it.
+ /// You should use the predefined values returned by the static properties of this class unless you know that the value is value.
+ ///
+ public RateTypeEnum(string value)
+ {
+ _value = value;
+ }
+
+ ///
+ /// Enum Check for value: check
+ ///
+ public static RateTypeEnum Check { get; } = new("check");
+
+
+ ///
+ /// Enum Shipment for value: shipment
+ ///
+ public static RateTypeEnum Shipment { get; } = new("shipment");
+
+
+ ///
+ /// Enum Quick for value: quick
+ ///
+ public static RateTypeEnum Quick { get; } = new("quick");
+
+
+ ///
+ /// Get a string representation of the current value
+ ///
+ public override string ToString() => _value;
+ }
+
+ internal class RateTypeEnumJsonConverter : JsonConverter
+ {
+ public override RateTypeEnum? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) =>
+ reader.TokenType == JsonTokenType.String ? new RateTypeEnum(reader.GetString()!) : null;
+
+ public override void Write(Utf8JsonWriter writer, RateTypeEnum value, JsonSerializerOptions options) =>
+ writer.WriteStringValue(value.ToString());
+
+ public override bool CanConvert(Type typeToConvert) =>
+ typeToConvert == typeof(RateTypeEnum);
+ }
+
///
/// Array of carrier ids to get rates for
@@ -60,10 +126,17 @@ public partial class RateRequestBody
[JsonPropertyName("preferred_currency"), JsonPropertyOrder(5)]
public string? PreferredCurrency { get; set; }
+ ///
+ /// Indicates what type of rating to perform
+ ///
+ /// Indicates what type of rating to perform
+ [JsonPropertyName("rate_type"), JsonPropertyOrder(6)]
+ public RateTypeEnum? RateType { get; set; }
+
///
/// Gets or Sets ServiceCodes
///
- [JsonPropertyName("service_codes"), JsonPropertyOrder(6)]
+ [JsonPropertyName("service_codes"), JsonPropertyOrder(7)]
public List? ServiceCodes { get; set; }
@@ -81,6 +154,7 @@ public override string ToString()
sb.Append(" IsReturn: ").Append(IsReturn).Append("\n");
sb.Append(" PackageTypes: ").Append(PackageTypes).Append("\n");
sb.Append(" PreferredCurrency: ").Append(PreferredCurrency).Append("\n");
+ sb.Append(" RateType: ").Append(RateType).Append("\n");
sb.Append(" ServiceCodes: ").Append(ServiceCodes).Append("\n");
#pragma warning restore CS0612 // Type or member is obsolete
sb.Append("}\n");
diff --git a/ShipEngineSDK/Model/Tag.cs b/ShipEngineSDK/Model/Tag.cs
index 2a551bd2..88a2958c 100644
--- a/ShipEngineSDK/Model/Tag.cs
+++ b/ShipEngineSDK/Model/Tag.cs
@@ -36,6 +36,29 @@ public partial class Tag
[JsonPropertyName("name"), JsonPropertyOrder(1)]
public required string Name { get; set; }
+ ///
+ /// A hex-coded string identifying the color of the tag.
+ ///
+ /// A hex-coded string identifying the color of the tag.
+ ///
+ /// #FF0000
+ ///
+ [JsonPropertyName("color"), JsonPropertyOrder(2)]
+ public string? Color { get; set; }
+
+ ///
+ /// An integer uniquely identifying a tag.
+ ///
+ /// An integer uniquely identifying a tag.
+ ///
+ /// This should not be used for input as it will be ignored on serialization.
+ ///
+ ///
+ /// 8712
+ ///
+ [JsonPropertyName("tag_id"), JsonInclude]
+ public int? TagId { get; set; }
+
///
/// Returns the string presentation of the object
@@ -47,6 +70,8 @@ public override string ToString()
sb.Append("class Tag {\n");
#pragma warning disable CS0612 // Type or member is obsolete
sb.Append(" Name: ").Append(Name).Append("\n");
+ sb.Append(" Color: ").Append(Color).Append("\n");
+ sb.Append(" TagId: ").Append(TagId).Append("\n");
#pragma warning restore CS0612 // Type or member is obsolete
sb.Append("}\n");
return sb.ToString();
diff --git a/ShipEngineSDK/ShipEngineSDK.csproj b/ShipEngineSDK/ShipEngineSDK.csproj
index bd9a837b..6171931b 100644
--- a/ShipEngineSDK/ShipEngineSDK.csproj
+++ b/ShipEngineSDK/ShipEngineSDK.csproj
@@ -4,7 +4,7 @@
ShipEngine
sdk;rest;api;shipping;rates;label;tracking;cost;address;validation;normalization;fedex;ups;usps;
- 3.0.0
+ 3.1.0
ShipEngine
ShipEngine
The official ShipEngine C# SDK for .NET
diff --git a/docs/apis/LabelsApi.md b/docs/apis/LabelsApi.md
index c5c302fa..b4ca0f4b 100644
--- a/docs/apis/LabelsApi.md
+++ b/docs/apis/LabelsApi.md
@@ -2,6 +2,7 @@
| Method | Description |
|--------|-------------|
+| [**CreateCombinedLabelDocument**](LabelsApi.md#createcombinedlabeldocument) | Created Combined Label Document |
| [**CreateLabel**](LabelsApi.md#createlabel) | Purchase Label |
| [**CreateLabelFromRate**](LabelsApi.md#createlabelfromrate) | Purchase Label with Rate ID |
| [**CreateLabelFromShipment**](LabelsApi.md#createlabelfromshipment) | Purchase Label with Shipment ID |
@@ -12,6 +13,62 @@
| [**ListLabels**](LabelsApi.md#listlabels) | List labels |
| [**VoidLabel**](LabelsApi.md#voidlabel) | Void a Label By ID |
+
+# **CreateCombinedLabelDocument**
+```csharp
+CreateCombinedLabelDocumentResponseBodyYaml CreateCombinedLabelDocument (CreateCombinedLabelDocumentRequestBody createCombinedLabelDocumentRequestBody, CancellationToken cancellationToken = default)
+
+CreateCombinedLabelDocumentResponseBodyYaml CreateCombinedLabelDocument (HttpClient methodClient, CreateCombinedLabelDocumentRequestBody createCombinedLabelDocumentRequestBody, CancellationToken cancellationToken = default)
+```
+
+Created Combined Label Document
+
+Download a combined label file
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using ShipEngineSDK;
+using ShipEngineSDK.Model;
+
+namespace Example
+{
+ public class CreateCombinedLabelDocumentExample
+ {
+ public static async Task Main()
+ {
+ var shipEngine = new ShipEngine("api_key");
+ var createCombinedLabelDocumentRequestBody = new CreateCombinedLabelDocumentRequestBody();
+
+ try
+ {
+ // Created Combined Label Document
+ CreateCombinedLabelDocumentResponseBodyYaml result = await shipEngine.CreateCombinedLabelDocument(createCombinedLabelDocumentRequestBody);
+ Debug.WriteLine(result);
+ }
+ catch (ShipEngineException e)
+ {
+ Debug.Print("Exception when calling LabelsApi.CreateCombinedLabelDocument: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
+### Parameters
+| Name | Type | Description | Notes |
+|------|------|-------------|-------|
+| **methodClient** | [**HttpClient**](https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpclient?view=netstandard-2.0) | The HttpClient instance to use for the request. | |
+| **createCombinedLabelDocumentRequestBody** | [**CreateCombinedLabelDocumentRequestBody**](../../docs//models/CreateCombinedLabelDocumentRequestBody.md) | | |
+| **cancellationToken** | [**CancellationToken**](https://learn.microsoft.com/en-us/dotnet/api/system.threading.cancellationtoken?view=netstandard-2.0) | The cancellation token to use for the request. | |
+
+### Return type
+
+[**CreateCombinedLabelDocumentResponseBodyYaml**](../models/CreateCombinedLabelDocumentResponseBodyYaml.md)
+
# **CreateLabel**
```csharp
diff --git a/docs/apis/TagsApi.md b/docs/apis/TagsApi.md
index 5e9041e0..77122d57 100644
--- a/docs/apis/TagsApi.md
+++ b/docs/apis/TagsApi.md
@@ -3,6 +3,7 @@
| Method | Description |
|--------|-------------|
| [**CreateTag**](TagsApi.md#createtag) | Create a New Tag |
+| [**CreateTag_0**](TagsApi.md#createtag_0) | Create a New Tag |
| [**DeleteTag**](TagsApi.md#deletetag) | Delete Tag |
| [**ListTags**](TagsApi.md#listtags) | Get Tags |
| [**RenameTag**](TagsApi.md#renametag) | Update Tag Name |
@@ -10,14 +11,14 @@
# **CreateTag**
```csharp
-CreateTagResponseBody CreateTag (string tagName, CancellationToken cancellationToken = default)
+CreateTagResponseBody CreateTag (CreateTagRequestBody createTagRequestBody, CancellationToken cancellationToken = default)
-CreateTagResponseBody CreateTag (HttpClient methodClient, string tagName, CancellationToken cancellationToken = default)
+CreateTagResponseBody CreateTag (HttpClient methodClient, CreateTagRequestBody createTagRequestBody, CancellationToken cancellationToken = default)
```
Create a New Tag
-Create a new Tag for customizing how you track your shipments
+Create a new tag for customizing how you track your shipments.
### Example
```csharp
@@ -33,12 +34,12 @@ namespace Example
public static async Task Main()
{
var shipEngine = new ShipEngine("api_key");
- var tagName = "tagName_example";
+ var createTagRequestBody = new CreateTagRequestBody();
try
{
// Create a New Tag
- CreateTagResponseBody result = await shipEngine.CreateTag(tagName);
+ CreateTagResponseBody result = await shipEngine.CreateTag(createTagRequestBody);
Debug.WriteLine(result);
}
catch (ShipEngineException e)
@@ -52,6 +53,62 @@ namespace Example
}
```
+### Parameters
+| Name | Type | Description | Notes |
+|------|------|-------------|-------|
+| **methodClient** | [**HttpClient**](https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpclient?view=netstandard-2.0) | The HttpClient instance to use for the request. | |
+| **createTagRequestBody** | [**CreateTagRequestBody**](../../docs//models/CreateTagRequestBody.md) | | |
+| **cancellationToken** | [**CancellationToken**](https://learn.microsoft.com/en-us/dotnet/api/system.threading.cancellationtoken?view=netstandard-2.0) | The cancellation token to use for the request. | |
+
+### Return type
+
+[**CreateTagResponseBody**](../models/CreateTagResponseBody.md)
+
+
+# **CreateTag_0**
+```csharp
+CreateTagResponseBody CreateTag_0 (string tagName, CancellationToken cancellationToken = default)
+
+CreateTagResponseBody CreateTag_0 (HttpClient methodClient, string tagName, CancellationToken cancellationToken = default)
+```
+
+Create a New Tag
+
+Create a new tag for customizing how you track your shipments (deprecated - use POST /v1/tags instead)
+
+### Example
+```csharp
+using System.Collections.Generic;
+using System.Diagnostics;
+using ShipEngineSDK;
+using ShipEngineSDK.Model;
+
+namespace Example
+{
+ public class CreateTag_0Example
+ {
+ public static async Task Main()
+ {
+ var shipEngine = new ShipEngine("api_key");
+ var tagName = "tagName_example";
+
+ try
+ {
+ // Create a New Tag
+ CreateTagResponseBody result = await shipEngine.CreateTag_0(tagName);
+ Debug.WriteLine(result);
+ }
+ catch (ShipEngineException e)
+ {
+ Debug.Print("Exception when calling TagsApi.CreateTag_0: " + e.Message);
+ Debug.Print("Status Code: " + e.ErrorCode);
+ Debug.Print(e.StackTrace);
+ }
+ }
+ }
+}
+```
+
### Parameters
| Name | Type | Description | Notes |
|------|------|-------------|-------|
diff --git a/docs/models/CreateCombinedLabelDocumentRequestBody.md b/docs/models/CreateCombinedLabelDocumentRequestBody.md
new file mode 100644
index 00000000..96ec00b6
--- /dev/null
+++ b/docs/models/CreateCombinedLabelDocumentRequestBody.md
@@ -0,0 +1,11 @@
+# ShipEngineSDK.Model.CreateCombinedLabelDocumentRequestBody
+A create combined label document request body
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**LabelDownloadType** | **string** | The download type for the combined label document; note that currently only `\"inline\"` is supported. | [optional]
+**LabelFormat** | **string** | The file format for the combined label document; note that currently only `\"pdf\"` is supported. | [optional]
+**LabelIds** | **List<string>** | The list of up to 30 label ids to include in the combined label document. Note that to avoid response size limits, you should only expect to be able to combine 30 single page labels similar in size to that of USPS labels. | [optional]
+
diff --git a/docs/models/CreateCombinedLabelDocumentResponseBodyYaml.md b/docs/models/CreateCombinedLabelDocumentResponseBodyYaml.md
new file mode 100644
index 00000000..7bdac139
--- /dev/null
+++ b/docs/models/CreateCombinedLabelDocumentResponseBodyYaml.md
@@ -0,0 +1,9 @@
+# ShipEngineSDK.Model.CreateCombinedLabelDocumentResponseBodyYaml
+A create combined label document response body
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**LabelDownload** | [**LabelDownload**](LabelDownload.md) | The download for the combined label document | [optional] [readonly]
+
diff --git a/docs/models/CreateLabelFromRateResponseBody.md b/docs/models/CreateLabelFromRateResponseBody.md
index 809cb55d..281ea216 100644
--- a/docs/models/CreateLabelFromRateResponseBody.md
+++ b/docs/models/CreateLabelFromRateResponseBody.md
@@ -10,6 +10,7 @@ Name | Type | Description | Notes
**CarrierCode** | **string** | The [shipping carrier](https://www.shipengine.com/docs/carriers/setup/) who will ship the package, such as `fedex`, `dhl_express`, `stamps_com`, etc. | [optional] [readonly]
**CarrierId** | **string** | The unique ID of the [carrier account](https://www.shipengine.com/docs/carriers/setup/) that was used to create this label | [optional] [readonly]
**ChargeEvent** | **LabelChargeEvent** | The label charge event. | [optional]
+**Confirmation** | **DeliveryConfirmation** | The type of delivery confirmation that is required for this shipment. | [optional] [readonly]
**CreatedAt** | **DateTimeOffset** | The date and time that the label was created in ShipEngine. | [optional] [readonly]
**DisplayScheme** | **DisplayScheme** | The display format that the label should be shown in. | [optional]
**FormDownload** | [**Link**](Link.md) | The link to download the customs form (a.k.a. commercial invoice) for this shipment, if any. Forms are in PDF format. This field is null if the shipment does not require a customs form, or if the carrier does not support it. | [optional] [readonly]
diff --git a/docs/models/CreateLabelFromShipmentResponseBody.md b/docs/models/CreateLabelFromShipmentResponseBody.md
index 1d4ec3d2..c130be75 100644
--- a/docs/models/CreateLabelFromShipmentResponseBody.md
+++ b/docs/models/CreateLabelFromShipmentResponseBody.md
@@ -10,6 +10,7 @@ Name | Type | Description | Notes
**CarrierCode** | **string** | The [shipping carrier](https://www.shipengine.com/docs/carriers/setup/) who will ship the package, such as `fedex`, `dhl_express`, `stamps_com`, etc. | [optional] [readonly]
**CarrierId** | **string** | The unique ID of the [carrier account](https://www.shipengine.com/docs/carriers/setup/) that was used to create this label | [optional] [readonly]
**ChargeEvent** | **LabelChargeEvent** | The label charge event. | [optional]
+**Confirmation** | **DeliveryConfirmation** | The type of delivery confirmation that is required for this shipment. | [optional] [readonly]
**CreatedAt** | **DateTimeOffset** | The date and time that the label was created in ShipEngine. | [optional] [readonly]
**DisplayScheme** | **DisplayScheme** | The display format that the label should be shown in. | [optional]
**FormDownload** | [**Link**](Link.md) | The link to download the customs form (a.k.a. commercial invoice) for this shipment, if any. Forms are in PDF format. This field is null if the shipment does not require a customs form, or if the carrier does not support it. | [optional] [readonly]
diff --git a/docs/models/CreateLabelResponseBody.md b/docs/models/CreateLabelResponseBody.md
index 1e5f4ff6..5738f53f 100644
--- a/docs/models/CreateLabelResponseBody.md
+++ b/docs/models/CreateLabelResponseBody.md
@@ -30,6 +30,7 @@ Name | Type | Description | Notes
**TrackingStatus** | **TrackingStatus** | The current status of the package, such as `in_transit` or `delivered` | [readonly]
**Voided** | **bool** | Indicates whether the label has been [voided](https://www.shipengine.com/docs/labels/voiding/) | [readonly]
**AlternativeIdentifiers** | [**List<AlternativeIdentifier>**](AlternativeIdentifier.md) | Additional information some carriers may provide by which to identify a given label in their system. | [optional] [readonly]
+**Confirmation** | **DeliveryConfirmation** | The type of delivery confirmation that is required for this shipment. | [optional] [readonly]
**FormDownload** | [**Link**](Link.md) | The link to download the customs form (a.k.a. commercial invoice) for this shipment, if any. Forms are in PDF format. This field is null if the shipment does not require a customs form, or if the carrier does not support it. | [readonly]
**InsuranceClaim** | [**Link**](Link.md) | The link to submit an insurance claim for the shipment. This field is null if the shipment is not insured or if the insurance provider does not support online claim submission. | [readonly]
**LabelDownloadType** | **LabelDownloadType** | | [optional]
diff --git a/docs/models/CreateReturnLabelResponseBody.md b/docs/models/CreateReturnLabelResponseBody.md
index 59cadf6a..226358a8 100644
--- a/docs/models/CreateReturnLabelResponseBody.md
+++ b/docs/models/CreateReturnLabelResponseBody.md
@@ -10,6 +10,7 @@ Name | Type | Description | Notes
**CarrierCode** | **string** | The [shipping carrier](https://www.shipengine.com/docs/carriers/setup/) who will ship the package, such as `fedex`, `dhl_express`, `stamps_com`, etc. | [optional] [readonly]
**CarrierId** | **string** | The unique ID of the [carrier account](https://www.shipengine.com/docs/carriers/setup/) that was used to create this label | [optional] [readonly]
**ChargeEvent** | **LabelChargeEvent** | The label charge event. | [optional]
+**Confirmation** | **DeliveryConfirmation** | The type of delivery confirmation that is required for this shipment. | [optional] [readonly]
**CreatedAt** | **DateTimeOffset** | The date and time that the label was created in ShipEngine. | [optional] [readonly]
**DisplayScheme** | **DisplayScheme** | The display format that the label should be shown in. | [optional]
**FormDownload** | [**Link**](Link.md) | The link to download the customs form (a.k.a. commercial invoice) for this shipment, if any. Forms are in PDF format. This field is null if the shipment does not require a customs form, or if the carrier does not support it. | [optional] [readonly]
diff --git a/docs/models/CreateTagRequestBody.md b/docs/models/CreateTagRequestBody.md
new file mode 100644
index 00000000..e548f238
--- /dev/null
+++ b/docs/models/CreateTagRequestBody.md
@@ -0,0 +1,10 @@
+# ShipEngineSDK.Model.CreateTagRequestBody
+A create tag request body
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Name** | **string** | The tag name. |
+**Color** | **string** | A hex-coded string identifying the color of the tag. | [optional]
+
diff --git a/docs/models/CreateTagResponseBody.md b/docs/models/CreateTagResponseBody.md
index 7f7990a3..db1bd963 100644
--- a/docs/models/CreateTagResponseBody.md
+++ b/docs/models/CreateTagResponseBody.md
@@ -6,4 +6,6 @@ Response body for creating tags
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**Name** | **string** | The tag name. |
+**Color** | **string** | A hex-coded string identifying the color of the tag. | [optional]
+**TagId** | **int** | An integer uniquely identifying a tag. | [optional] [readonly]
diff --git a/docs/models/EstimatedImportCharges.md b/docs/models/EstimatedImportCharges.md
new file mode 100644
index 00000000..9e6fc79a
--- /dev/null
+++ b/docs/models/EstimatedImportCharges.md
@@ -0,0 +1,10 @@
+# ShipEngineSDK.Model.EstimatedImportCharges
+Estimated import charges for commercial invoices for international shipments.
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Duties** | [**MonetaryValue**](MonetaryValue.md) | Estimated import duties. | [optional]
+**Taxes** | [**MonetaryValue**](MonetaryValue.md) | Estimated import taxes. | [optional]
+
diff --git a/docs/models/GetLabelByExternalShipmentIdResponseBody.md b/docs/models/GetLabelByExternalShipmentIdResponseBody.md
index 71950a4b..022899b8 100644
--- a/docs/models/GetLabelByExternalShipmentIdResponseBody.md
+++ b/docs/models/GetLabelByExternalShipmentIdResponseBody.md
@@ -10,6 +10,7 @@ Name | Type | Description | Notes
**CarrierCode** | **string** | The [shipping carrier](https://www.shipengine.com/docs/carriers/setup/) who will ship the package, such as `fedex`, `dhl_express`, `stamps_com`, etc. | [optional] [readonly]
**CarrierId** | **string** | The unique ID of the [carrier account](https://www.shipengine.com/docs/carriers/setup/) that was used to create this label | [optional] [readonly]
**ChargeEvent** | **LabelChargeEvent** | The label charge event. | [optional]
+**Confirmation** | **DeliveryConfirmation** | The type of delivery confirmation that is required for this shipment. | [optional] [readonly]
**CreatedAt** | **DateTimeOffset** | The date and time that the label was created in ShipEngine. | [optional] [readonly]
**DisplayScheme** | **DisplayScheme** | The display format that the label should be shown in. | [optional]
**FormDownload** | [**Link**](Link.md) | The link to download the customs form (a.k.a. commercial invoice) for this shipment, if any. Forms are in PDF format. This field is null if the shipment does not require a customs form, or if the carrier does not support it. | [optional] [readonly]
diff --git a/docs/models/GetLabelByIdResponseBody.md b/docs/models/GetLabelByIdResponseBody.md
index 4b4fb7ed..b65fd761 100644
--- a/docs/models/GetLabelByIdResponseBody.md
+++ b/docs/models/GetLabelByIdResponseBody.md
@@ -10,6 +10,7 @@ Name | Type | Description | Notes
**CarrierCode** | **string** | The [shipping carrier](https://www.shipengine.com/docs/carriers/setup/) who will ship the package, such as `fedex`, `dhl_express`, `stamps_com`, etc. | [optional] [readonly]
**CarrierId** | **string** | The unique ID of the [carrier account](https://www.shipengine.com/docs/carriers/setup/) that was used to create this label | [optional] [readonly]
**ChargeEvent** | **LabelChargeEvent** | The label charge event. | [optional]
+**Confirmation** | **DeliveryConfirmation** | The type of delivery confirmation that is required for this shipment. | [optional] [readonly]
**CreatedAt** | **DateTimeOffset** | The date and time that the label was created in ShipEngine. | [optional] [readonly]
**DisplayScheme** | **DisplayScheme** | The display format that the label should be shown in. | [optional]
**FormDownload** | [**Link**](Link.md) | The link to download the customs form (a.k.a. commercial invoice) for this shipment, if any. Forms are in PDF format. This field is null if the shipment does not require a customs form, or if the carrier does not support it. | [optional] [readonly]
diff --git a/docs/models/InvoiceAdditionalDetails.md b/docs/models/InvoiceAdditionalDetails.md
index 7a3bdb99..9c43638a 100644
--- a/docs/models/InvoiceAdditionalDetails.md
+++ b/docs/models/InvoiceAdditionalDetails.md
@@ -6,6 +6,7 @@ The additional information to put on commercial invoice
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**Discount** | [**MonetaryValue**](MonetaryValue.md) | Discount for shipment. | [optional]
+**EstimatedImportCharges** | [**EstimatedImportCharges**](EstimatedImportCharges.md) | Estimated import charges for commercial invoices for international shipments. | [optional]
**FreightCharge** | [**MonetaryValue**](MonetaryValue.md) | Freight Charge for shipment. | [optional]
**InsuranceCharge** | [**MonetaryValue**](MonetaryValue.md) | Insurance Charge for shipment. | [optional]
**OtherCharge** | [**MonetaryValue**](MonetaryValue.md) | Other charge for shipment. | [optional]
diff --git a/docs/models/Label.md b/docs/models/Label.md
index 6d99d562..dd147963 100644
--- a/docs/models/Label.md
+++ b/docs/models/Label.md
@@ -10,6 +10,7 @@ Name | Type | Description | Notes
**CarrierCode** | **string** | The [shipping carrier](https://www.shipengine.com/docs/carriers/setup/) who will ship the package, such as `fedex`, `dhl_express`, `stamps_com`, etc. | [optional] [readonly]
**CarrierId** | **string** | The unique ID of the [carrier account](https://www.shipengine.com/docs/carriers/setup/) that was used to create this label | [optional] [readonly]
**ChargeEvent** | **LabelChargeEvent** | The label charge event. | [optional]
+**Confirmation** | **DeliveryConfirmation** | The type of delivery confirmation that is required for this shipment. | [optional] [readonly]
**CreatedAt** | **DateTimeOffset** | The date and time that the label was created in ShipEngine. | [optional] [readonly]
**DisplayScheme** | **DisplayScheme** | The display format that the label should be shown in. | [optional]
**FormDownload** | [**Link**](Link.md) | The link to download the customs form (a.k.a. commercial invoice) for this shipment, if any. Forms are in PDF format. This field is null if the shipment does not require a customs form, or if the carrier does not support it. | [optional] [readonly]
diff --git a/docs/models/RateRequestBody.md b/docs/models/RateRequestBody.md
index 0bc7eb3e..5bad92a5 100644
--- a/docs/models/RateRequestBody.md
+++ b/docs/models/RateRequestBody.md
@@ -10,5 +10,6 @@ Name | Type | Description | Notes
**IsReturn** | **bool** | Indicate if it's a return shipment | [optional]
**PackageTypes** | **List<string>** | | [optional]
**PreferredCurrency** | **string** | The currencies that are supported by ShipEngine are the ones that specified by ISO 4217: https://www.iso.org/iso-4217-currency-codes.html | [optional]
+**RateType** | **string** | Indicates what type of rating to perform | [optional]
**ServiceCodes** | **List<string>** | | [optional]
diff --git a/docs/models/Tag.md b/docs/models/Tag.md
index 34cb6bed..84de4da8 100644
--- a/docs/models/Tag.md
+++ b/docs/models/Tag.md
@@ -6,4 +6,6 @@ Tags are arbitrary strings that you can use to categorize shipments. For exampl
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**Name** | **string** | The tag name. |
+**Color** | **string** | A hex-coded string identifying the color of the tag. | [optional]
+**TagId** | **int** | An integer uniquely identifying a tag. | [optional] [readonly]
diff --git a/generation/swagger.json b/generation/swagger.json
index 54262a7b..ecc58cbe 100644
--- a/generation/swagger.json
+++ b/generation/swagger.json
@@ -2,7 +2,7 @@
"openapi": "3.0.0",
"info": {
"title": "ShipEngine API",
- "version": "1.1.202501091801",
+ "version": "1.1.202503131403",
"termsOfService": "https://www.shipengine.com/terms-of-service/",
"x-logo": {
"url": "https://shipengine.github.io/img/shipengine-logo-square.png",
@@ -1790,6 +1790,49 @@
}
}
},
+ "/v1/documents/combined_labels": {
+ "summary": "Created Combined Label Document",
+ "description": "Download a combined label file",
+ "post": {
+ "summary": "Created Combined Label Document",
+ "description": "Download a combined label file",
+ "tags": [
+ "labels"
+ ],
+ "operationId": "create_combined_label_document",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/create_combined_label_document_request_body"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "The requested object creation was a success.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/create_combined_label_document_response_body.yaml"
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400_error_response"
+ },
+ "404": {
+ "$ref": "#/components/responses/404_error_response"
+ },
+ "500": {
+ "$ref": "#/components/responses/500_error_response"
+ }
+ }
+ }
+ },
"/v1/downloads/{dir}/{subdir}/{filename}": {
"summary": "File Download",
"description": "This endpoint is used to download forms that are generated in the various pdf, png, zpl formats\nsuch as labels and batches\n",
@@ -4885,6 +4928,45 @@
"$ref": "#/components/responses/500_error_response"
}
}
+ },
+ "post": {
+ "summary": "Create a New Tag",
+ "description": "Create a new tag for customizing how you track your shipments.",
+ "tags": [
+ "tags"
+ ],
+ "operationId": "create_tag",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/create_tag_request_body"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "The requested object creation was a success.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/create_tag_response_body"
+ }
+ }
+ }
+ },
+ "400": {
+ "$ref": "#/components/responses/400_error_response"
+ },
+ "404": {
+ "$ref": "#/components/responses/404_error_response"
+ },
+ "500": {
+ "$ref": "#/components/responses/500_error_response"
+ }
+ }
}
},
"/v1/tags/{tag_name}": {
@@ -4902,7 +4984,7 @@
],
"post": {
"summary": "Create a New Tag",
- "description": "Create a new Tag for customizing how you track your shipments",
+ "description": "Create a new tag for customizing how you track your shipments (deprecated - use POST /v1/tags instead)",
"tags": [
"tags"
],
@@ -5665,9 +5747,7 @@
"validation",
"security",
"system",
- "integrations",
- "wallet",
- "funding_sources"
+ "integrations"
],
"description": "The type of error\n"
},
@@ -9611,6 +9691,56 @@
"title": "connect_insurer_response_body",
"type": "object"
},
+ "create_combined_label_document_request_body": {
+ "title": "create_combined_label_document_request_body",
+ "type": "object",
+ "description": "A create combined label document request body",
+ "additionalProperties": false,
+ "properties": {
+ "label_ids": {
+ "type": "array",
+ "items": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/se_id"
+ }
+ ]
+ },
+ "description": "The list of up to 30 label ids to include in the combined label document.\nNote that to avoid response size limits, you should only expect to be able to combine 30 single page labels similar in size to that of USPS labels.\n"
+ },
+ "label_format": {
+ "enum": [
+ "pdf"
+ ],
+ "type": "string",
+ "description": "The file format for the combined label document; note that currently only `\"pdf\"` is supported."
+ },
+ "label_download_type": {
+ "enum": [
+ "inline"
+ ],
+ "type": "string",
+ "description": "The download type for the combined label document; note that currently only `\"inline\"` is supported."
+ }
+ }
+ },
+ "create_combined_label_document_response_body.yaml": {
+ "title": "create_combined_label_document_response_body.yaml",
+ "type": "object",
+ "description": "A create combined label document response body",
+ "additionalProperties": false,
+ "properties": {
+ "label_download": {
+ "readOnly": true,
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/label_download"
+ }
+ ],
+ "description": "The download for the combined label document"
+ }
+ }
+ },
"download_file_pdf_response_body": {
"title": "download_file_pdf_response_body",
"type": "string",
@@ -10161,6 +10291,15 @@
],
"description": "The current status of the package, such as `in_transit` or `delivered`"
},
+ "confirmation": {
+ "readOnly": true,
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/delivery_confirmation"
+ }
+ ],
+ "description": "The type of delivery confirmation that is required for this shipment."
+ },
"label_download": {
"allOf": [
{
@@ -10969,6 +11108,14 @@
],
"description": "Discount for shipment."
},
+ "estimated_import_charges": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/estimated_import_charges"
+ }
+ ],
+ "description": "Estimated import charges for commercial invoices for international shipments."
+ },
"other_charge": {
"allOf": [
{
@@ -10983,6 +11130,30 @@
}
}
},
+ "estimated_import_charges": {
+ "title": "estimated_import_charges",
+ "type": "object",
+ "description": "Estimated import charges for commercial invoices for international shipments.\n",
+ "additionalProperties": false,
+ "properties": {
+ "taxes": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/monetary_value"
+ }
+ ],
+ "description": "Estimated import taxes."
+ },
+ "duties": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/monetary_value"
+ }
+ ],
+ "description": "Estimated import duties."
+ }
+ }
+ },
"importer_of_records": {
"title": "importer_of_records",
"type": "object",
@@ -12226,6 +12397,15 @@
],
"description": "The current status of the package, such as `in_transit` or `delivered`"
},
+ "confirmation": {
+ "readOnly": true,
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/delivery_confirmation"
+ }
+ ],
+ "description": "The type of delivery confirmation that is required for this shipment."
+ },
"label_download": {
"allOf": [
{
@@ -12589,11 +12769,25 @@
],
"additionalProperties": false,
"properties": {
+ "tag_id": {
+ "type": "integer",
+ "format": "int32",
+ "readOnly": true,
+ "minimum": 1,
+ "example": 8712,
+ "description": "An integer uniquely identifying a tag."
+ },
"name": {
"type": "string",
"minLength": 1,
"example": "Fragile",
"description": "The tag name."
+ },
+ "color": {
+ "type": "string",
+ "minLength": 1,
+ "example": "#FF0000",
+ "description": "A hex-coded string identifying the color of the tag."
}
}
},
@@ -14634,6 +14828,15 @@
"is_return": {
"type": "boolean",
"description": "Indicate if it's a return shipment"
+ },
+ "rate_type": {
+ "type": "string",
+ "enum": [
+ "check",
+ "shipment",
+ "quick"
+ ],
+ "description": "Indicates what type of rating to perform"
}
}
},
@@ -16674,6 +16877,29 @@
}
}
},
+ "create_tag_request_body": {
+ "title": "create_tag_request_body",
+ "type": "object",
+ "description": "A create tag request body",
+ "required": [
+ "name"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "name": {
+ "type": "string",
+ "minLength": 1,
+ "example": "Fragile",
+ "description": "The tag name."
+ },
+ "color": {
+ "type": "string",
+ "minLength": 1,
+ "example": "#FF0000",
+ "description": "A hex-coded string identifying the color of the tag."
+ }
+ }
+ },
"create_tag_response_body": {
"title": "create_tag_response_body",
"type": "object",
diff --git a/openapitools.json b/openapitools.json
index e8b126b9..81137513 100644
--- a/openapitools.json
+++ b/openapitools.json
@@ -14,7 +14,7 @@
"ignoreFileOverride": "./.openapi-generator-ignore",
"library": "generichost",
"additionalProperties": {
- "packageVersion": "3.0.0",
+ "packageVersion": "3.1.0",
"targetFramework": "netstandard2.0",
"validatable": false,
"sourceFolder": "",