Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .openapi-generator/FILES
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand All @@ -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
Expand Down Expand Up @@ -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
Expand All @@ -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
Expand All @@ -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
Expand Down
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -223,3 +223,13 @@ Fixed handling of No Content responses
### Changed

- Marked v2 methods as obsolete

## 3.0.1

### Added

- Created new EstimatedImportCharges model for commercial invoices for international shipments.

### Changed

- Extend shipment endpoints to request, create, update and delete estimated import charges.
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
63 changes: 63 additions & 0 deletions ShipEngineSDK/Api/LabelsApi.cs
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,27 @@ namespace ShipEngineSDK;
/// </summary>
public partial interface IShipEngine
{
/// <summary>
/// Created Combined Label Document Download a combined label file
/// </summary>
/// <exception cref="System.ArgumentNullException">Thrown when required argument is null</exception>
/// <exception cref="ShipEngineSDK.ShipEngineException">Thrown when fails to make API call</exception>
/// <param name="createCombinedLabelDocumentRequestBody"></param>
/// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
/// <returns>Task of ApiResponse (CreateCombinedLabelDocumentResponseBodyYaml)</returns>
Task<CreateCombinedLabelDocumentResponseBodyYaml> CreateCombinedLabelDocument(CreateCombinedLabelDocumentRequestBody createCombinedLabelDocumentRequestBody, CancellationToken cancellationToken = default);

/// <summary>
/// Created Combined Label Document Download a combined label file
/// </summary>
/// <exception cref="System.ArgumentNullException">Thrown when required argument is null</exception>
/// <exception cref="ShipEngineSDK.ShipEngineException">Thrown when fails to make API call</exception>
/// <param name="methodClient">HttpClient to use for the request</param>
/// <param name="createCombinedLabelDocumentRequestBody"></param>
/// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
/// <returns>Task of ApiResponse (CreateCombinedLabelDocumentResponseBodyYaml)</returns>
Task<CreateCombinedLabelDocumentResponseBodyYaml> CreateCombinedLabelDocument(HttpClient methodClient, CreateCombinedLabelDocumentRequestBody createCombinedLabelDocumentRequestBody, CancellationToken cancellationToken = default);

/// <summary>
/// Purchase Label Purchase and print a label for shipment
/// </summary>
Expand Down Expand Up @@ -256,6 +277,48 @@ public partial interface IShipEngine
/// </summary>
public partial class ShipEngine
{
/// <summary>
/// Created Combined Label Document Download a combined label file
/// </summary>
/// <exception cref="System.ArgumentNullException">Thrown when required argument is null</exception>
/// <exception cref="ShipEngineSDK.ShipEngineException">Thrown when fails to make API call</exception>
/// <param name="createCombinedLabelDocumentRequestBody"></param>
/// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
/// <returns>Task of ApiResponse (CreateCombinedLabelDocumentResponseBodyYaml)</returns>
public Task<CreateCombinedLabelDocumentResponseBodyYaml> CreateCombinedLabelDocument(CreateCombinedLabelDocumentRequestBody createCombinedLabelDocumentRequestBody, CancellationToken cancellationToken = default)
{
return CreateCombinedLabelDocument(_client, createCombinedLabelDocumentRequestBody, cancellationToken);
}

/// <summary>
/// Created Combined Label Document Download a combined label file
/// </summary>
/// <exception cref="System.ArgumentNullException">Thrown when required argument is null</exception>
/// <exception cref="ShipEngineSDK.ShipEngineException">Thrown when fails to make API call</exception>
/// <param name="methodClient">HttpClient to use for the request</param>
/// <param name="createCombinedLabelDocumentRequestBody"></param>
/// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
/// <returns>Task of ApiResponse (CreateCombinedLabelDocumentResponseBodyYaml)</returns>
public async Task<CreateCombinedLabelDocumentResponseBodyYaml> 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<CreateCombinedLabelDocumentResponseBodyYaml>(HttpMethods.Post, requestOptions, methodClient, _config, cancellationToken);

return result;
}

/// <summary>
/// Purchase Label Purchase and print a label for shipment
/// </summary>
Expand Down
83 changes: 73 additions & 10 deletions ShipEngineSDK/Api/TagsApi.cs
Original file line number Diff line number Diff line change
Expand Up @@ -25,25 +25,46 @@ namespace ShipEngineSDK;
public partial interface IShipEngine
{
/// <summary>
/// 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.
/// </summary>
/// <exception cref="System.ArgumentNullException">Thrown when required argument is null</exception>
/// <exception cref="ShipEngineSDK.ShipEngineException">Thrown when fails to make API call</exception>
/// <param name="createTagRequestBody"></param>
/// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
/// <returns>Task of ApiResponse (CreateTagResponseBody)</returns>
Task<CreateTagResponseBody> CreateTag(CreateTagRequestBody createTagRequestBody, CancellationToken cancellationToken = default);

/// <summary>
/// Create a New Tag Create a new tag for customizing how you track your shipments.
/// </summary>
/// <exception cref="System.ArgumentNullException">Thrown when required argument is null</exception>
/// <exception cref="ShipEngineSDK.ShipEngineException">Thrown when fails to make API call</exception>
/// <param name="methodClient">HttpClient to use for the request</param>
/// <param name="createTagRequestBody"></param>
/// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
/// <returns>Task of ApiResponse (CreateTagResponseBody)</returns>
Task<CreateTagResponseBody> CreateTag(HttpClient methodClient, CreateTagRequestBody createTagRequestBody, CancellationToken cancellationToken = default);

/// <summary>
/// Create a New Tag Create a new tag for customizing how you track your shipments (deprecated - use POST /v1/tags instead)
/// </summary>
/// <exception cref="System.ArgumentNullException">Thrown when required argument is null</exception>
/// <exception cref="ShipEngineSDK.ShipEngineException">Thrown when fails to make API call</exception>
/// <param name="tagName"></param>
/// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
/// <returns>Task of ApiResponse (CreateTagResponseBody)</returns>
Task<CreateTagResponseBody> CreateTag(string tagName, CancellationToken cancellationToken = default);
Task<CreateTagResponseBody> CreateTag_0(string tagName, CancellationToken cancellationToken = default);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we know why this got created as CreateTag_0? That seems kinda strange.

Copy link
Contributor Author

@r3dnaxel r3dnaxel Mar 14, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe It is connected to these Tags API changes
We added a new endpoint with the same name than the old one, the second one marked as deprecated, so probably It generates the name of the old one with that "_0" suffix to differentiate them


/// <summary>
/// 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)
/// </summary>
/// <exception cref="System.ArgumentNullException">Thrown when required argument is null</exception>
/// <exception cref="ShipEngineSDK.ShipEngineException">Thrown when fails to make API call</exception>
/// <param name="methodClient">HttpClient to use for the request</param>
/// <param name="tagName"></param>
/// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
/// <returns>Task of ApiResponse (CreateTagResponseBody)</returns>
Task<CreateTagResponseBody> CreateTag(HttpClient methodClient, string tagName, CancellationToken cancellationToken = default);
Task<CreateTagResponseBody> CreateTag_0(HttpClient methodClient, string tagName, CancellationToken cancellationToken = default);

/// <summary>
/// Delete Tag Delete a tag that is no longer needed
Expand Down Expand Up @@ -116,28 +137,70 @@ public partial interface IShipEngine
public partial class ShipEngine
{
/// <summary>
/// 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.
/// </summary>
/// <exception cref="System.ArgumentNullException">Thrown when required argument is null</exception>
/// <exception cref="ShipEngineSDK.ShipEngineException">Thrown when fails to make API call</exception>
/// <param name="createTagRequestBody"></param>
/// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
/// <returns>Task of ApiResponse (CreateTagResponseBody)</returns>
public Task<CreateTagResponseBody> CreateTag(CreateTagRequestBody createTagRequestBody, CancellationToken cancellationToken = default)
{
return CreateTag(_client, createTagRequestBody, cancellationToken);
}

/// <summary>
/// Create a New Tag Create a new tag for customizing how you track your shipments.
/// </summary>
/// <exception cref="System.ArgumentNullException">Thrown when required argument is null</exception>
/// <exception cref="ShipEngineSDK.ShipEngineException">Thrown when fails to make API call</exception>
/// <param name="methodClient">HttpClient to use for the request</param>
/// <param name="createTagRequestBody"></param>
/// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
/// <returns>Task of ApiResponse (CreateTagResponseBody)</returns>
public async Task<CreateTagResponseBody> 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<CreateTagResponseBody>(HttpMethods.Post, requestOptions, methodClient, _config, cancellationToken);

return result;
}

/// <summary>
/// Create a New Tag Create a new tag for customizing how you track your shipments (deprecated - use POST /v1/tags instead)
/// </summary>
/// <exception cref="System.ArgumentNullException">Thrown when required argument is null</exception>
/// <exception cref="ShipEngineSDK.ShipEngineException">Thrown when fails to make API call</exception>
/// <param name="tagName"></param>
/// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
/// <returns>Task of ApiResponse (CreateTagResponseBody)</returns>
public Task<CreateTagResponseBody> CreateTag(string tagName, CancellationToken cancellationToken = default)
public Task<CreateTagResponseBody> CreateTag_0(string tagName, CancellationToken cancellationToken = default)
{
return CreateTag(_client, tagName, cancellationToken);
return CreateTag_0(_client, tagName, cancellationToken);
}

/// <summary>
/// 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)
/// </summary>
/// <exception cref="System.ArgumentNullException">Thrown when required argument is null</exception>
/// <exception cref="ShipEngineSDK.ShipEngineException">Thrown when fails to make API call</exception>
/// <param name="methodClient">HttpClient to use for the request</param>
/// <param name="tagName"></param>
/// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
/// <returns>Task of ApiResponse (CreateTagResponseBody)</returns>
public async Task<CreateTagResponseBody> CreateTag(HttpClient methodClient, string tagName, CancellationToken cancellationToken = default)
public async Task<CreateTagResponseBody> CreateTag_0(HttpClient methodClient, string tagName, CancellationToken cancellationToken = default)
{
// verify the required parameter 'tagName' is set
if (tagName == null)
Expand All @@ -150,7 +213,7 @@ public async Task<CreateTagResponseBody> 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<CreateTagResponseBody>(HttpMethods.Post, requestOptions, methodClient, _config, cancellationToken);

Expand Down
Loading
Loading