Skip to main content
All CollectionsOthers
Does Aspire provide APIs?
Does Aspire provide APIs?
Updated over a week ago

Yes, Aspire provides APIs that are designed to offer flexibility in managing currency conversions, payments, and account management. Tailored for developers, our intuitive APIs ensure seamless deployment and customization to precisely meet your business needs.

Aspire API Capabilities

Payment APIs

Do local and international payouts using your Aspire SGD, USD, EUR* and GBP* Accounts!

  • Mass payouts

  • Customize payment flows

  • Create automated payment links

*Note: Only local payments are supported for Aspire EUR and GBP Accounts. We’re working towards enabling international payments for these accounts.

Card Issuance APIs

Accounting Automation APIs

  • Sync Aspire transactions to accounting software

  • Pull bank feeds

  • Run reconciliation with chart of account mapping to categories

Additional information about Aspire APIs

The Aspire API is organised around REST. Our API has predictable resource-oriented URLs, accepts form-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs.

Demo account access can also be provided, and the Client ID and API key can be generated within Account settings > API keys in the Web Application.

For any assistance with the integration, your Aspire Account Manager will be able to guide you.

Getting Started

An example workflow is set out below for guidance on how the Aspire API operates in practice.

In this example, we want to make a SGD$10,000 payment in SGD to a beneficiary in SG, funded by an available account balance in the SGD account.

1. Authentication

To begin you will need to obtain an access token to allow you to reach all other API endpoints. Using your unique Client ID and API key (these can be found in the API menu in the Aspire Web Application) you can call the Authentication API endpoint. On success, an access token will be granted.

curl --location '<https://api.aspireapp.com/public/v1/login>' \\
--header 'Content-Type: application/json' \\
--data '{
"grant_type": "client_credentials",
"client_id": "SGLTTC-qXox2XXxxHs7Erd",
"client_secret": "CkuDGSF1HXXxx9ZEgthbor2suQAITZ36"
}'

[
{
"access_token": "eyJ0eXAiOiJKV1QxXXxhbGciOiJSUzI1NiJ9.eyJhdWQiOiIxMyIsImp0aSI6ImU3NTkxOWIwMzRkZGM1NjdkMDQ3NTM0OWU2MTlkOGNiYzA2NTI4NzI0MjgwYTg3NjZkMmRjN2QzMDA1MDk1ZTc1OGJkZDdhMDYwYjAwZWM0IiwiaWF0IjoxNzAxNzcxMTcyLCJuYmYiOjE3MDE3NzExNzIsImV4cCI6MTcwMTc3Mjk3Miwic3ViIjoiNzIyIn0.CPDe-EguskAKuyqRm04-oNuD-MLabe9lbiv74P1EEroO2zphk7mrfOAIm4jco5fVD7T_1-L-PoehhCF3rVU15GIlHqU8W-mrQzOn74_TL4aNviZQ78A0CwcXAqvimRco5d_dZaPIVvCOfIfdab3IL2F2vqQGDX_MzfFX45sbXKwehxvBRSC3DoK5dq-75MWv1jB1YWrcAHMGPK6K11PE2ud0h1lpx-BLWnHVy04tEuCHb4prCN64gWLUYLhGqmINSEpJ83DK34f4cZmJ16WzOYe6LoTproHGa24pfmSsXr_OzWmMYPxtFKLWzmmGqI_28pOHsQoyzX4061cEhAxP6g",
"token_type": "Bearer",
"expires_in": "1799",
"refresh_token": null
}
]

2. Get Accounts

curl --request GET \
--url 'https://api.aspireapp.com/public/v1/accounts' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QxXXxhbGciOiJSUzI1NiJ9.eyJhdWQiOiIxMyIsImp0aSI6ImU3NTkxOWIwMzRkZGM1NjdkMDQ3NTM0OWU2MTlkOGNiYzA2NTI4NzI0MjgwYTg3NjZkMmRjN2QzMDA1MDk1ZTc1OGJkZDdhMDYwYjAwZWM0IiwiaWF0IjoxNzAxNzcxMTcyLCJuYmYiOjE3MDE3NzExNzIsImV4cCI6MTcwMTc3Mjk3Miwic3ViIjoiNzIyIn0.CPDe-EguskAKuyqRm04-oNuD-MLabe9lbiv74P1EEroO2zphk7mrfOAIm4jco5fVD7T_1-L-PoehhCF3rVU15GIlHqU8W-mrQzOn74_TL4aNviZQ78A0CwcXAqvimRco5d_dZaPIVvCOfIfdab3IL2F2vqQGDX_MzfFX45sbXKwehxvBRSC3DoK5dq-75MWv1jB1YWrcAHMGPK6K11PE2ud0h1lpx-BLWnHVy04tEuCHb4prCN64gWLUYLhGqmINSEpJ83DK34f4cZmJ16WzOYe6LoTproHGa24pfmSsXr_OzWmMYPxtFKLWzmmGqI_28pOHsQoyzX4061cEhAxP6g'

Example Accounts Request

{
"data": [
{
"id": "9046d563-6d62-421f-acda-0b000b4aa4c8",
"account_status": "active",
"account_type": "debit",
"available_balance": 1889,
"currency_code": "SGD",
"debit_details": [
{
"account_name": "Larisa & Company Private Limited",
"funding_type": "LOCAL",
"account_number": "8852-1558-7308",
"bank_swift": "",
"bank_code": "DBSSSGSG",
"bank_name": "DBS",
"bank_address": "",
"bank_country": ""
},
{
"account_name": "Larisa & Company Private Limited",
"funding_type": "SWIFT",
"account_number": "GB68TCCL04140450470872",
"bank_swift": "TCCLGB3L",
"bank_code": "DBSSSGSG",
"bank_name": "The Currency Cloud Limited",
"bank_address": "12 Steward Street, The Steward Building, London, E1 6FQ, GB",
"bank_country": "United Kingdom"
}
],
"advance_details": []
}
],
"metadata": {
"total": 1,
"per_page": 100,
"current_page": 1,
"first_page_url": "https://api.aspireapp.com/public/v1/accounts?page=1",
"last_page_url": "https://api.aspireapp.com/public/v1/accounts?page=1",
"next_page_url": null,
"prev_page_url": null,
"from": 1,
"to": 1,
"aspire-request-id": "c4aa3565-06ca-41be-a775-fbd623c1c280"
}
}

Example Account Response

3. Get Balances

Before conducting a transaction, you may wish to query any balances you have available in your Aspire account.

curl --request GET \
--url 'https://api.aspireapp.com/public/v1/accounts/9046d563-6d62-421f-acda-0b000b4aa4c8/balance' \
--header 'Authorization: Bearer {{Token}}'

Example Account Balance Request

{
"data": {
"account_id": "9046d563-6d62-421f-acda-0b000b4aa4c8",
"account_type": "debit",
"available_balance": 885756587,
"currency_code": "SGD",
"account_name": "Swaniawski PLC"
},
"metadata": {
"aspire-request-id": "b82b63d7-3a00-4b9a-bffc-49c4be9e5236"
}
}

Example Account Balance Response

4. Create transfer

When creating a transfer, you can have the FX transaction booked automatically and linked to the payment by specifying a different target currency to the source currency. The response will return all requisite details on the transaction, including transfer ID, Transaction ID (if transfer is successful) & transfer status. In case of FX Transfer, you need to add the QuoteID

curl --location 'https://api.aspireapp.com/public/v1/transfer/create' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{Token}}'
--data '{
"source_currency": "SGD",
"source_account_id": "9b91285b-9c28-4207-af0f-a6dc8ffe8dcb",
"destination_currency": "SGD",
"bank_country_code": "SG",
"payment_method": "LOCAL",
"clearing_system":"REGULAR",
"entity_type": "INDIVIDUAL",
"beneficiary": {
"account_holder_name": "test SGD local",
"bank_code":"DBSSSGSGXXX",
"bank_account_number": "885215898101"
},
"reference":"budget",
"approval":true,
"source_amount": 1000
}'

Example Create Transfer Request for SGD Local Transfer

{
"data": {
"id": "9b993fc3-5d85-435f-a013-d240f4b54def",
"initiated_at": "2024-03-19T05:10:20Z",
"transaction_id": null,
"source_currency": "SGD",
"source_account_id": "9b91285b-9c28-4207-af0f-a6dc8ffe8dcb",
"destination_currency": "SGD",
"bank_country_code": "SG",
"payment_method": "LOCAL",
"clearing_system": "FAST",
"entity_type": "INDIVIDUAL",
"beneficiary": {
"account_holder_name": "test SGD local",
"bank_code": "DBSSSGSGXXX",
"bank_account_number": "885215898101"
},
"beneficiary_id": null,
"payment_amount": null,
"source_amount": 1000,
"payment_date": null,
"reference": "budget",
"internal_notes": null,
"quote_id": null,
"budget_id": null,
"category_id": null,
"approval": true,
"transaction_datetime": null,
"transfer_status": "pending_approval",
"failure_reason": null,
"failure_id": null,
"fee": 0,
"fee_currency": null,
"fee_transaction_id": null,
"fee_reason": null
},
"metadata": {
"aspire-request-id": "e0eb50b2-6dd4-4c1a-8824-f9a2d0f6bb7c"
}
}

Example Create Transfer response

5. Check Transfer Status

Following a successful transfer creation, updates on the status of the transfer can be returned from Get transfer by ID.

--request GET \ --url 'https://api.aspireapp.com/public/v1/transfer/9c282e55-90cc-428c-a3bf-fcdd33accff2/status' --header 'Authorization: Bearer {{Token}}'

Example Check Transfer Status Request

{
"data": {
"id": "9c282e55-90cc-428c-a3bf-fcdd33accff2",
"initiated_at": "2024-05-29T07:35:58Z",
"transaction_id": "9c2847b7-cd80-4e30-b622-ab48e62ebdce",
"source_currency": "USD",
"source_account_id": "9c19d3fe-90e9-4ccf-a63c-ef706fbe5287",
"destination_currency": "USD",
"bank_country_code": "US",
"payment_method": "LOCAL",
"clearing_system": "REGULAR",
"entity_type": "INDIVIDUAL",
"beneficiary": {
"aba": "123456789",
"acct_number": "1234567890",
"beneficiary_city": "some city",
"account_holder_name": "test account",
"beneficiary_address": "some address",
"beneficiary_postcode": "some post",
"beneficiary_state_or_province": "some state"
},
"beneficiary_id": null,
"payment_amount": 1200,
"source_amount": 1200,
"payment_date": "2024-05-29T07:35:58Z",
"reference": "reference",
"internal_notes": "to test internal note",
"quote_id": null,
"budget_id": null,
"approval": null,
"transaction_datetime": "2024-05-29T07:35:58Z",
"transfer_status": "posted",
"failure_reason": null,
"failure_id": null,
"fee": 100,
"fee_currency": "USD",
"fee_transaction_id": "9c2847b8-1dc1-4264-a947-ce717b40cf24",
"fee_reason": "Fee for transaction Y5GJTYK5EGMG"
},
"metadata": {
"aspire-request-id": "785d563a-272a-4692-a502-cf9730e06158"
}
}

Example Check Transfer Status Response

6. Create a card

You can create virtual cards associated with your organisation, these cards can be single or multi-usage and be restricted by merchant code, currency and transaction amount.

After creating a card, you can also access the secure card details using our secure encrypted endpoint.

curl --location 'https://api.aspireapp.com/public/v1/cards' \
--header 'Authorization: Bearer {{your_bearer_token}}' \
--data-raw '
{
"user_id": "9a1119e9-6746-413b-9dd9-354c5f927c9e",
"card_name": "IDR card",
"category": "Travel",
"account_id": "9a1119f6-3fec-4595-8122-59759937a6e5",
"email": "johndoe@example.com",
"country_code": "IN",
"phone_number": "9514567890",
"budget_id": "9b54f47a-6a2d-4051-9977-15be157a0273",
"reporting_field_values": [
{
"reporting_field_uuid": "1122aa22-12av-3321-a0f8-115e60587722",
"reporting_field_option_uuid": "3344bb44-12av-3321-a0f8-115e60587722",
"text_value": null

}
"spend_controls": {
"active_to": "2024-02-19",
"active_from": "2024-02-14",
"freeze_automatically_after": 10,
"spend_limit": null,
"merchant_locks": "98bd588b-fe98-4bff-89cb-89b80e67edfd,98bd58a8-96d7-4be2-a1d0-b697345a0ae4",
"category_locks": "9ad3f0ec-70aa-4406-83a5-dc38d6dc4a40,9ad3f0e8-e9ec-46a3-9f10-996151462ccb",
"currency_locks": "USD,SGD"

}
},
'

Example Create Card Request

{
"data": {
"card_id": "9b52f47e-b95f-4286-97af-acdb9b59aa2a",
"card_name": "IDR card",
"last_four": "3354",
"card_status": "Frozen",
"user_id": "9a1119e9-6746-413b-9dd9-354c5f927c9e",
"category": "Travel",
"account_id": "9a1119f6-3fec-4595-8122-59759937a6e5",
"email": "johndoe@example.com",
"country_code": "IN",
"phone_number": "9514567890",
"budget_id": "9b54f47a-6a2d-4051-9977-15be157a0273",
"issued_by": "All Client 2",
"reporting_field_values": [
{
"reporting_field_uuid": "1122aa22-12av-3321-a0f8-115e60587722",
"reporting_field_option_uuid": "3344bb44-12av-3321-a0f8-115e60587722",
"text_value": null

}
"spend_controls": {
"active_to": "2024-02-19",
"active_from": "2024-02-14",
"freeze_automatically_after": 10,
"spend_limit": null,
"merchant_locks": [
{
"merchant_id": "98bd588b-fe98-4bff-89cb-89b80e67edfd",
"merchant_name": "Facebook"
},
{
"merchant_id": "98bd58a8-96d7-4be2-a1d0-b697345a0ae4",
"merchant_name": "Google"
}
],
"category_locks": [
{
"category_id": "9ad3f0ec-70aa-4406-83a5-dc38d6dc4a40",
"category_name": "Agricultural Co-operatives"
},
{
"category_id": "9ad3f0e8-e9ec-46a3-9f10-996151462ccb",
"category_name": "Airlines"
}
],
"currency_locks": [
{
"currency_code": "SGD",
"currency_name": "Singapore Dollar"
},
{
"currency_code": "USD",
"currency_name": "United States Dollar"
}
]
}
},
"metadata": []
}

Example Create Card Response

Want to learn more about how you can scale your business with Aspire API? Visit our page and click “Request early access” to be connected with our experts!

Questions? Chat with us by clicking on the messenger icon at the bottom right of the screen once you are logged in.

Did this answer your question?