xero-apimatic/xero-apimatic-sdk

Xero APIMatic SDKs

Maintainers

Package info

github.com/sdks-io/xero-apimatic-php-sdk

Homepage

pkg:composer/xero-apimatic/xero-apimatic-sdk

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

1.0.0 2026-03-06 17:55 UTC

This package is auto-updated.

Last update: 2026-04-06 18:06:38 UTC


README

Introduction

The Assets API exposes fixed asset related functions of the Xero Accounting application and can be used for a variety of purposes such as creating assets, retrieving asset valuations etc., The Bank Feeds API is a closed API that is only available to financial institutions that have an established financial services partnership with Xero. If you're an existing financial services partner that wants access, contact your local Partner Manager. If you're a financial institution who wants to provide bank feeds to your business customers, contact us to become a financial services partner., These endpoints are related to managing authentication tokens and identity for Xero API, This is the Xero Projects API

Install the Package

Run the following command to install the package and automatically add the dependency to your composer.json file:

composer require "xero-apimatic/xero-apimatic-sdk:1.0.0"

Or add it to the composer.json file manually as given below:

"require": {
    "xero-apimatic/xero-apimatic-sdk": "1.0.0"
}

You can also view the package at: https://packagist.org/packages/xero-apimatic/xero-apimatic-sdk#1.0.0

Initialize the API Client

Note: Documentation for the client can be found here.

The following parameters are configurable for the API Client:

Parameter Type Description
environment Environment The API environment.
Default: Environment.PRODUCTION
timeout int Timeout for API calls in seconds.
Default: 30
enableRetries bool Whether to enable retries and backoff feature.
Default: false
numberOfRetries int The number of retries to make.
Default: 0
retryInterval float The retry time interval between the endpoint calls.
Default: 1
backOffFactor float Exponential backoff factor to increase interval between retries.
Default: 2
maximumRetryWaitTime int The maximum wait time in seconds for overall retrying requests.
Default: 0
retryOnTimeout bool Whether to retry on request timeout.
Default: true
httpStatusCodesToRetry array Http status codes to retry against.
Default: 408, 413, 429, 500, 502, 503, 504, 521, 522, 524
httpMethodsToRetry array Http methods to retry against.
Default: 'GET', 'PUT'
loggingConfiguration LoggingConfigurationBuilder Represents the logging configurations for API calls
proxyConfiguration ProxyConfigurationBuilder Represents the proxy configurations for API calls
oauth2Credentials Oauth2Credentials The Credentials Setter for OAuth 2 Authorization Code Grant
basicAuthCredentials BasicAuthCredentials The Credentials Setter for Basic Authentication

The API client can be initialized as follows:

use XeroApIsLib\Logging\LoggingConfigurationBuilder;
use XeroApIsLib\Logging\RequestLoggingConfigurationBuilder;
use XeroApIsLib\Logging\ResponseLoggingConfigurationBuilder;
use Psr\Log\LogLevel;
use XeroApIsLib\Environment;
use XeroApIsLib\Authentication\Oauth2CredentialsBuilder;
use XeroApIsLib\Models\OauthScopeOauth2;
use XeroApIsLib\Authentication\BasicAuthCredentialsBuilder;
use XeroApIsLib\XeroApIsClientBuilder;

$client = XeroApIsClientBuilder::init()
    ->oauth2Credentials(
        Oauth2CredentialsBuilder::init(
            'OAuthClientId',
            'OAuthClientSecret',
            'OAuthRedirectUri'
        )
            ->oauthScopes(
                [
                    OauthScopeOauth2::EMAIL,
                    OauthScopeOauth2::OPENID
                ]
            )
    )
    ->basicAuthCredentials(
        BasicAuthCredentialsBuilder::init(
            'Username',
            'Password'
        )
    )
    ->environment(Environment::PRODUCTION)
    ->loggingConfiguration(
        LoggingConfigurationBuilder::init()
            ->level(LogLevel::INFO)
            ->requestConfiguration(RequestLoggingConfigurationBuilder::init()->body(true))
            ->responseConfiguration(ResponseLoggingConfigurationBuilder::init()->headers(true))
    )
    ->build();

Environments

The SDK can be configured to use a different environment for making API calls. Available environments are:

Fields

Name Description
PRODUCTION Default The Xero Accounting API exposes accounting and related functions of the main Xero application and can be used for a variety of purposes such as creating transactions like invoices and credit notes, right through to extracting accounting data via our reports endpoint., Xero API servers, Xero Bank Feeds API base url, Xero Identity service API, Xero API server for projects

Authorization

This API uses the following authentication schemes.

List of APIs

SDK Infrastructure

Configuration

HTTP

Utilities