Xero AppStore API

AppStore

getSubscription

Retrieves a subscription for a given subscriptionId


/subscriptions/{subscriptionId}

Usage and SDK Samples

using System;
using System.Diagnostics;
using Xero.NetStandard.OAuth2.Api;
using Xero.NetStandard.OAuth2.Client;
using Xero.NetStandard.OAuth2.Model;

namespace Example
{
    public class GetSubscriptionExample
    {
        public async Task Main()
        {            
            var accessToken = "YOUR_ACCESS_TOKEN";          
            var apiInstance = new AppStoreApi();
            var subscriptionId = Guid.Parse("00000000-0000-0000-0000-000000000000");
            
            try {
                var result = await apiInstance.GetSubscriptionAsync(accessToken, subscriptionId);
                Console.WriteLine(result);
            }
            catch (Exception e)
            {
                Console.WriteLine("Exception when calling apiInstance.GetSubscription: " + e.Message );
            }
        }
    }
}

Scopes

marketplace.billing Grant read-only access to fixed assets

Parameters

Path parameters
Name Description
subscriptionId*
UUID (uuid)
Unique identifier for Subscription object
Required

getUsageRecords

Gets all usage records related to the subscription


/subscriptions/{subscriptionId}/usage-records

Usage and SDK Samples

using System;
using System.Diagnostics;
using Xero.NetStandard.OAuth2.Api;
using Xero.NetStandard.OAuth2.Client;
using Xero.NetStandard.OAuth2.Model;

namespace Example
{
    public class GetUsageRecordsExample
    {
        public async Task Main()
        {            
            var accessToken = "YOUR_ACCESS_TOKEN";          
            var apiInstance = new AppStoreApi();
            var subscriptionId = Guid.Parse("00000000-0000-0000-0000-000000000000");
            
            try {
                var result = await apiInstance.GetUsageRecordsAsync(accessToken, subscriptionId);
                Console.WriteLine(result);
            }
            catch (Exception e)
            {
                Console.WriteLine("Exception when calling apiInstance.GetUsageRecords: " + e.Message );
            }
        }
    }
}

Scopes

marketplace.billing Grant read-only access to fixed assets

Parameters

Path parameters
Name Description
subscriptionId*
UUID (uuid)
Unique identifier for Subscription object
Required

postUsageRecords

Send metered usage belonging to this subscription and subscription item


/subscriptions/{subscriptionId}/items/{subscriptionItemId}/usage-records

Usage and SDK Samples

using System;
using System.Diagnostics;
using Xero.NetStandard.OAuth2.Api;
using Xero.NetStandard.OAuth2.Client;
using Xero.NetStandard.OAuth2.Model;

namespace Example
{
    public class PostUsageRecordsExample
    {
        public async Task Main()
        {            
            var accessToken = "YOUR_ACCESS_TOKEN";          
            var apiInstance = new AppStoreApi();
            var subscriptionId = Guid.Parse("00000000-0000-0000-0000-000000000000");
            var subscriptionItemId = Guid.Parse("00000000-0000-0000-0000-000000000000");
            var idempotencyKey = "KEY_VALUE";
            
            try {
                var result = await apiInstance.PostUsageRecordsAsync(accessToken, subscriptionId, subscriptionItemId, createUsageRecord, idempotencyKey);
                Console.WriteLine(result);
            }
            catch (Exception e)
            {
                Console.WriteLine("Exception when calling apiInstance.PostUsageRecords: " + e.Message );
            }
        }
    }
}

Scopes

marketplace.billing Grant read-only access to fixed assets

Parameters

Path parameters
Name Description
subscriptionId*
UUID (uuid)
Unique identifier for Subscription object
Required
subscriptionItemId*
UUID (uuid)
The unique identifier of the subscriptionItem
Required
Header parameters
Name Description
Idempotency-Key
String
This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
Body parameters
Name Description
createUsageRecord *
CreateUsageRecord
Contains the quantity for the usage record to create
Required

putUsageRecords

Update and existing metered usage belonging to this subscription and subscription item


/subscriptions/{subscriptionId}/items/{subscriptionItemId}/usage-records/{usageRecordId}

Usage and SDK Samples

using System;
using System.Diagnostics;
using Xero.NetStandard.OAuth2.Api;
using Xero.NetStandard.OAuth2.Client;
using Xero.NetStandard.OAuth2.Model;

namespace Example
{
    public class PutUsageRecordsExample
    {
        public async Task Main()
        {            
            var accessToken = "YOUR_ACCESS_TOKEN";          
            var apiInstance = new AppStoreApi();
            var subscriptionId = Guid.Parse("00000000-0000-0000-0000-000000000000");
            var subscriptionItemId = Guid.Parse("00000000-0000-0000-0000-000000000000");
            var usageRecordId = Guid.Parse("00000000-0000-0000-0000-000000000000");
            var idempotencyKey = "KEY_VALUE";
            
            try {
                var result = await apiInstance.PutUsageRecordsAsync(accessToken, subscriptionId, subscriptionItemId, usageRecordId, updateUsageRecord, idempotencyKey);
                Console.WriteLine(result);
            }
            catch (Exception e)
            {
                Console.WriteLine("Exception when calling apiInstance.PutUsageRecords: " + e.Message );
            }
        }
    }
}

Scopes

marketplace.billing Grant read-only access to fixed assets

Parameters

Path parameters
Name Description
subscriptionId*
UUID (uuid)
Unique identifier for Subscription object
Required
subscriptionItemId*
UUID (uuid)
The unique identifier of the subscriptionItem
Required
usageRecordId*
UUID (uuid)
The unique identifier of the usage record
Required
Header parameters
Name Description
Idempotency-Key
String
This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
Body parameters
Name Description
updateUsageRecord *
UpdateUsageRecord
Contains the quantity for the usage record to update
Required