Abacus Expenses API

Expense report management and operations

Operations 2

GET /expenses Abacus List Expenses #
GET /expenses/{expense_id} Abacus Get Expense #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/abacus-expenses-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

abacus-expenses-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Abacus Authentication Expenses API
  version: 1.0.0
  description: The Abacus API (now part of Emburse Spend) provides programmatic access to expense management functionality, including member management and expense operations. Available to partners and enterprise customers using OAuth 2.0 authentication. The API enables third-party integrations with the Abacus expense platform for automating expense workflows, member provisioning, and data synchronization.
  contact:
    name: Abacus Support
    url: https://support.abacus.com/hc/en-us
  x-generated-from: documentation
servers:
- url: https://api.abacus.com
  description: Production server
security:
- OAuth2: []
tags:
- name: Expenses
  description: Expense report management and operations
paths:
  /expenses:
    get:
      tags:
      - Expenses
      summary: Abacus List Expenses
      description: Retrieve a list of expense reports for the organization.
      operationId: listExpenses
      parameters:
      - name: page
        in: query
        description: Page number for pagination
        required: false
        schema:
          type: integer
          default: 1
        example: 1
      - name: per_page
        in: query
        description: Number of results per page
        required: false
        schema:
          type: integer
          default: 25
          maximum: 100
        example: 25
      - name: status
        in: query
        description: Filter by expense status
        required: false
        schema:
          type: string
          enum:
          - pending
          - approved
          - rejected
          - reimbursed
        example: pending
      - name: member_id
        in: query
        description: Filter expenses by member ID
        required: false
        schema:
          type: string
        example: '500123'
      - name: from_date
        in: query
        description: Filter expenses from this date (ISO 8601)
        required: false
        schema:
          type: string
          format: date
        example: '2025-01-01'
      - name: to_date
        in: query
        description: Filter expenses to this date (ISO 8601)
        required: false
        schema:
          type: string
          format: date
        example: '2025-03-31'
      responses:
        '200':
          description: List of expenses retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExpenseListResponse'
              examples:
                ListExpenses200Example:
                  summary: Default listExpenses 200 response
                  x-microcks-default: true
                  value:
                    expenses:
                    - id: exp-500123
                      member_id: '500123'
                      amount: 45.5
                      currency: USD
                      category: meals
                      description: Team lunch
                      date: '2025-03-15'
                      status: pending
                    total: 1
                    page: 1
                    per_page: 25
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /expenses/{expense_id}:
    get:
      tags:
      - Expenses
      summary: Abacus Get Expense
      description: Retrieve details for a specific expense report.
      operationId: getExpense
      parameters:
      - $ref: '#/components/parameters/ExpenseId'
      responses:
        '200':
          description: Expense details retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Expense'
              examples:
                GetExpense200Example:
                  summary: Default getExpense 200 response
                  x-microcks-default: true
                  value:
                    id: exp-500123
                    member_id: '500123'
                    amount: 45.5
                    currency: USD
                    category: meals
                    description: Team lunch
                    date: '2025-03-15'
                    status: pending
                    receipt_url: https://portal.example.com/path/abc123
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '404':
          $ref: '#/components/responses/NotFoundError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  responses:
    NotFoundError:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: not_found
            message: The requested resource was not found
    UnauthorizedError:
      description: Authentication required or failed
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: unauthorized
            message: Invalid or missing access token
    ForbiddenError:
      description: Insufficient permissions for this operation
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: forbidden
            message: You do not have permission to perform this action
  parameters:
    ExpenseId:
      name: expense_id
      in: path
      required: true
      description: Unique identifier for the expense
      schema:
        type: string
      example: exp-500123
  schemas:
    Expense:
      type: object
      description: An expense report submitted by a member
      properties:
        id:
          type: string
          description: Unique expense identifier
          example: exp-500123
        member_id:
          type: string
          description: ID of the member who submitted the expense
          example: '500123'
        amount:
          type: number
          description: Expense amount
          example: 45.5
        currency:
          type: string
          description: Currency code (ISO 4217)
          example: USD
        category:
          type: string
          description: Expense category
          enum:
          - meals
          - travel
          - lodging
          - office_supplies
          - software
          - other
          example: meals
        description:
          type: string
          description: Description of the expense
          example: Team lunch
        date:
          type: string
          format: date
          description: Date of the expense
          example: '2025-03-15'
        status:
          type: string
          description: Current status of the expense
          enum:
          - pending
          - approved
          - rejected
          - reimbursed
          example: pending
        receipt_url:
          type: string
          format: uri
          description: URL to the uploaded receipt
          example: https://api.abacus.com/receipts/abc123
        created_at:
          type: string
          format: date-time
          description: Timestamp when the expense was created
          example: '2025-03-15T14:30:00Z'
        updated_at:
          type: string
          format: date-time
          description: Timestamp when the expense was last updated
          example: '2025-03-16T10:00:00Z'
    ExpenseListResponse:
      type: object
      description: Paginated list of expenses
      properties:
        expenses:
          type: array
          items:
            $ref: '#/components/schemas/Expense'
        total:
          type: integer
          description: Total number of expenses
          example: 250
        page:
          type: integer
          description: Current page number
          example: 1
        per_page:
          type: integer
          description: Number of results per page
          example: 25
    Error:
      type: object
      description: Error response
      properties:
        error:
          type: string
          description: Error code
          example: invalid_request
        message:
          type: string
          description: Human-readable error message
          example: The request is missing required parameters
  securitySchemes:
    OAuth2:
      type: oauth2
      description: OAuth 2.0 client credentials flow for API authentication
      flows:
        clientCredentials:
          tokenUrl: https://api.abacus.com/oauth/token
          scopes:
            members:read: Read member information
            members:write: Create and update members
            expenses:read: Read expense reports