Xero AppStore API

AppStore

getSubscription

Retrieves a subscription for a given subscriptionId


/subscriptions/{subscriptionId}

Usage and SDK Samples

import org.openapitools.client.api.*;
import org.openapitools.client.api.client.AppStoreApi;
import org.openapitools.client.models.appStore.*;

import java.io.File;
import java.util.*;

public class AppStoreApiExample {
    private AppStoreApi apiInstance;
    
    public static void main(String[] args) {
        String accessToken = "YOUR_ACCESS_TOKEN";
        ApiClient defaultClient = new ApiClient();

        apiInstance = AccountingApi.getInstance(defaultClient);
        UUID subscriptionId = UUID.fromString("00000000-0000-0000-0000-000000000000");
        UUID subscriptionId = '00000000-0000-0000-0000-000000000000';

        try {
            Subscription result = apiInstance.getSubscription(accessToken, subscriptionId);
            System.out.println(result);
        } catch (XeroException e) {
            System.err.println("Exception when calling AppStoreApi#getSubscription");
            e.printStackTrace();
        }
    }
}

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

import org.openapitools.client.api.*;
import org.openapitools.client.api.client.AppStoreApi;
import org.openapitools.client.models.appStore.*;

import java.io.File;
import java.util.*;

public class AppStoreApiExample {
    private AppStoreApi apiInstance;
    
    public static void main(String[] args) {
        String accessToken = "YOUR_ACCESS_TOKEN";
        ApiClient defaultClient = new ApiClient();

        apiInstance = AccountingApi.getInstance(defaultClient);
        UUID subscriptionId = UUID.fromString("00000000-0000-0000-0000-000000000000");
        UUID subscriptionId = '00000000-0000-0000-0000-000000000000';

        try {
            UsageRecordsList result = apiInstance.getUsageRecords(accessToken, subscriptionId);
            System.out.println(result);
        } catch (XeroException e) {
            System.err.println("Exception when calling AppStoreApi#getUsageRecords");
            e.printStackTrace();
        }
    }
}

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

import org.openapitools.client.api.*;
import org.openapitools.client.api.client.AppStoreApi;
import org.openapitools.client.models.appStore.*;

import java.io.File;
import java.util.*;

public class AppStoreApiExample {
    private AppStoreApi apiInstance;
    
    public static void main(String[] args) {
        String accessToken = "YOUR_ACCESS_TOKEN";
        ApiClient defaultClient = new ApiClient();

        apiInstance = AccountingApi.getInstance(defaultClient);
        UUID subscriptionId = UUID.fromString("00000000-0000-0000-0000-000000000000");
        UUID subscriptionId = '00000000-0000-0000-0000-000000000000';
        UUID subscriptionItemId = UUID.fromString("00000000-0000-0000-0000-000000000000");
        UUID subscriptionItemId = '00000000-0000-0000-0000-000000000000';
        String idempotencyKey = 'KEY_VALUE';

        try {
            UsageRecord result = apiInstance.postUsageRecords(accessToken, subscriptionId, subscriptionItemId, createUsageRecord, idempotencyKey);
            System.out.println(result);
        } catch (XeroException e) {
            System.err.println("Exception when calling AppStoreApi#postUsageRecords");
            e.printStackTrace();
        }
    }
}

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

import org.openapitools.client.api.*;
import org.openapitools.client.api.client.AppStoreApi;
import org.openapitools.client.models.appStore.*;

import java.io.File;
import java.util.*;

public class AppStoreApiExample {
    private AppStoreApi apiInstance;
    
    public static void main(String[] args) {
        String accessToken = "YOUR_ACCESS_TOKEN";
        ApiClient defaultClient = new ApiClient();

        apiInstance = AccountingApi.getInstance(defaultClient);
        UUID subscriptionId = UUID.fromString("00000000-0000-0000-0000-000000000000");
        UUID subscriptionId = '00000000-0000-0000-0000-000000000000';
        UUID subscriptionItemId = UUID.fromString("00000000-0000-0000-0000-000000000000");
        UUID subscriptionItemId = '00000000-0000-0000-0000-000000000000';
        UUID usageRecordId = UUID.fromString("00000000-0000-0000-0000-000000000000");
        UUID usageRecordId = '00000000-0000-0000-0000-000000000000';
        String idempotencyKey = 'KEY_VALUE';

        try {
            UsageRecord result = apiInstance.putUsageRecords(accessToken, subscriptionId, subscriptionItemId, usageRecordId, updateUsageRecord, idempotencyKey);
            System.out.println(result);
        } catch (XeroException e) {
            System.err.println("Exception when calling AppStoreApi#putUsageRecords");
            e.printStackTrace();
        }
    }
}

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