Skip to main content

Getting started with the Moss API

What data is available through the API, what is included, and how to get started.

Written by Rosanna Howard

The Moss API gives your organisation direct, programmable access to Moss data. It is typically used by IT teams, data teams, or implementation partners to connect Moss with other systems, automate workflows, and build custom reporting.

This article explains:


What data is available?

The API provides access to core data that finance teams work with every day. This includes transactional data, accounting reference data, and organisational data.

You can review the full Moss Data Model and API reference in the API documentation.

Data

Description

Expenses

All card transactions, invoices, and reimbursements, including line-item detail, amounts, VAT, status, accounting dimensions, and export history

Suppliers

Supplier names, banking details, default accounting settings, and addresses. You can also create and update suppliers via the API

Chart of accounts

Your expense account codes and names, as configured in Moss

Tax rates

All tax rate codes, rates, and country assignments

Cost centres and dimensions

Your cost centres, cost carriers, and any custom accounting dimensions with their values

Teams and departments

Your organisational structure as set up in Moss

Users

Employee names, emails, and roles

Bank transactions

Money movements in your Moss wallets, including balance movements


What can you do with the Moss API

Customers use the Moss API to build workflows and reporting that go beyond standard exports.

Common use cases include:

Custom financial reporting and insights

Replace manual CSV exports with live dashboards that combine Moss data with other business data.

For example:

  • Create a rolling cash forecast by pulling pending payment data across all entities and visualising it in your BI tool (e.g. Google BigQuery, Looker Studio, or Metabase)

  • Analyse your spend across entities with a comprehensive view

How often can the API pull data?

The API supports near-real-time access. Your integration can request updated data as frequently as needed within the published rate limits. Many organisations choose to sync on a schedule, often daily, depending on their requirements

Key Endpoints

Data

Endpoint

Description

Expenses

GET /v1/expenses

Card transactions, invoices, and reimbursements with full accounting detail (amounts, expense accounts, tax rates, dimensions, statuses)

Chart of accounts

GET /v1/expense-accounts

Chart of accounts — the ledger accounts expenses are posted to

Cost centres and dimensions

GET /v1/dimensions

Accounting dimensions (cost centres, cost carriers, custom dimensions)

Cost centres and dimensions

GET /v1/dimension-items

Values within a dimension (e.g., individual cost centres or project codes)

Teams

GET /v1/teams

Teams — useful for grouping spend by team

Departments

GET /v1/departments

Departments — useful for higher-level aggregation

Suppliers

GET /v1/suppliers

Supplier master data — useful for spend-by-vendor analysis

Users

GET /v1/users

Users — useful for attributing spend to individuals

You can review the full use case in the API documentation here.

Project and Job Management Integrations

Service businesses (e.g. agencies, consultancies, construction firms), often need to track spend against client projects or jobs. The API allows you to sync project structures into Moss and retrieve enriched expense data for downstream reporting.

For example:

  • Create a corresponding dimension item in Moss via API when a new project is created in your project management tool. This keeps project lists synchronised without manual data entry

  • Retrieve expenses tagged with project codes and load them into your data warehouse to build per-project profit-and-loss views

  • Retrieve project or client codes from expenses in Moss and generate accurate client invoices based on actual costs incurred

Key Endpoints

Data

Endpoint

Description

Cost centres and dimensions

POST /v1/dimension-items

Create a new dimension value (e.g., a project code)

Cost centres and dimensions

PATCH /v1/dimension-items/{id}

Update or deactivate a dimension item

Expenses

GET /v1/expenses

Retrieve expenses with their dimension values to determine which project each expense belongs to

Cost centres and dimensions

GET /v1/dimensions

List available dimensions to identify the one representing projects

Cost centres and dimensions

GET /v1/dimension-items

List all values within a given dimension

Review the full use case in the API documentation here.

Accounting Software Integrations

If your ERP or accounting software is not natively supported by Moss, you can use the API to build a custom data sync.

For example:

  • Retrieve approved expenses from Moss and transform them into journal entries in your ERP. Each expense includes the expense account, tax rate, dimensions, and supplier required for a complete posting

  • Push supplier lists and dimension items from your ERP into Moss to keep expense coding consistent with your accounting system

  • Maintain supplier data across both systems. When a vendor is created or updated in either Moss or your ERP, propagate the change to the other

Key Endpoints

Data

Endpoint

Description

Expenses

GET /v1/expenses

Expenses with full accounting detail for creating journal entries

Expenses

GET /v1/expense-accounts

Ledger account mappings

Tax rates

GET /v1/tax-rates

Tax and VAT rates for correct tax treatment

Suppliers

GET /v1/suppliers

Supplier data including addresses and payment terms

Files

POST /v1/files/search-query

Search for files (receipts, invoices) attached to expenses

Files

GET /v1/files/{fileId}/content

Download file content

Cost centres and dimensions

GET /v1/dimension-items

Dimension items mappings in Moss (cost centre, project, etc.)

Suppliers

POST /v1/suppliers

Create a new supplier

Suppliers

PATCH /v1/suppliers/{id}

Update an existing supplier

Cost centres and dimensions

POST /v1/dimensions

Create a new dimension

Cost centres and dimensions

POST /v1/dimension-items

Create a new dimension item (cost centre, project, etc.)

Review the full use case in the API documentation here.

Document Retrieval and Archiving

Retrieve receipts, invoices, and other documents attached to expenses for archiving, compliance, or automated processing.

For example:

  • Pull receipts and invoices from Moss into a document management system with full metadata linking each document to its source transaction

  • Programmatically retrieve document samples for external auditors, replacing manual collection

  • Feed invoice PDFs to an LLM for data extraction, compliance validation, or duplicate detection

Key Endpoints

Data

Endpoint

Description

Files

POST /v1/files/search-query

Search for files attached to expenses

Files

GET /v1/files/{fileId}/content

Download file content (PDF, image)

Expenses

GET /v1/expenses

Expense data including file references at each line item

Review the full use case in the API documentation here.


How to get started

The API is usually used by your IT team or data team. Getting started normally follows four steps.

1. Decide what you need

Start by defining which systems should receive Moss data and what data those systems need. This helps you decide what kind of integration you want to build and which endpoints your team will need to use.

2. Involve your IT team or integration partner

Share your requirements with your IT team, data team, or implementation partner. They should also review the Moss API documentation, which contains the information needed to build the connection.

If you don’t have an IT team or integration partner available, there are other ways you can export data from Moss. Learn more about export methods here.

3. Request API credentials

Your Moss admin can generate API credentials in Moss settings. These credentials are what your IT team will use to connect.

To create API keys, complete the following:

  1. Log in to your Moss account as an admin

  2. Navigate to SettingsCompany SettingsAPI Keys

  3. Click "Generate API Key"

  4. Confirm the operation with Moss mobile app

  5. Save both the Key ID (kid_) and Secret Key (sk_) securely

Important: Store credentials securely and never expose them in client-side code.

For more information on obtaining and using access tokens, visit our API documentation here.

4. Test and go live

Your IT team builds and tests the integration, then enables it for production use.


Security and access control

The Moss API is designed to give your organisation secure, controlled access to your Moss data.

Key security measures include:

  • Authenticated access only: Every API connection requires secure credentials that are unique to your organisation.

  • Separate API credentials: API connections use their own credentials, separate from employee login details. No employee passwords are shared.

  • Rate limits: The API enforces request limits to help prevent misuse and support reliable performance.

  • Auditable activity: API updates are logged and traceable.

Is data shared with third parties?

No. The API provides access only to your own organisation’s data, only to applications you explicitly authorise with your credentials. Moss does not share your data with any third party through the API.

Did this answer your question?