> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ruddr.io/llms.txt
> Use this file to discover all available pages before exploring further.

# List expense items

A purchased product or service recorded for reimbursement or project billing.


## OpenAPI

````yaml openapi.json GET /expense-items
openapi: 3.1.0
info:
  title: Ruddr API
  version: '1.0'
  license:
    name: Proprietary
    url: https://www.ruddr.com/master-subscription-agreement
servers:
  - url: https://www.ruddr.io/api/workspace
security:
  - bearerAuth: []
tags:
  - name: Allocations
    description: Manage resource allocations for scheduling team members to projects.
  - name: Availability Periods
    description: Manage member availability periods for capacity planning.
  - name: Business Units
    description: >-
      Manage business units for organizing invoice settings and grouping clients
      and projects.
  - name: Client Roles
    description: Manage client roles and their billing terms.
  - name: Client Tags
    description: Manage tags for categorizing clients.
  - name: Clients
    description: Manage clients and their billing settings.
  - name: Companies
    description: Manage companies in the CRM pipeline.
  - name: Company Spend Tiers
    description: Manage spend tier classifications for companies.
  - name: Company Types
    description: Manage type classifications for companies.
  - name: Contact Tags
    description: Manage tags for categorizing contacts.
  - name: Contacts
    description: Manage contacts associated with clients, companies, and opportunities.
  - name: Cost Periods
    description: Manage member cost rate periods for profitability tracking.
  - name: Credit Notes
    description: View credit notes issued against invoices.
  - name: Disciplines
    description: Manage disciplines for classifying member skill areas.
  - name: Exchange Rate
    description: Get exchange rates for multi-currency workspaces.
  - name: Exchange Rate Periods
    description: Manage custom exchange rate periods for currency conversion.
  - name: Expense Categories
    description: Manage expense categories for tracking and reporting.
  - name: Expense Items
    description: Manage individual expense line items.
  - name: Expense Reports
    description: Manage expense reports submitted by members.
  - name: Holiday Schedules
    description: Manage holiday schedules for capacity and availability planning.
  - name: Holidays
    description: Manage individual holidays within holiday schedules.
  - name: Industries
    description: Manage industry classifications for clients and companies.
  - name: Invoice Items
    description: Manage invoice line item types for billing.
  - name: Invoices
    description: View invoices and their line items.
  - name: Job Titles
    description: Manage job title classifications for members.
  - name: Locations
    description: Manage office locations for members and projects.
  - name: Member Certifications
    description: Manage certification types that can be assigned to members.
  - name: Member Levels
    description: Manage member level classifications for career tracking.
  - name: Member Tags
    description: Manage tags for categorizing members.
  - name: Members
    description: Manage workspace members and their profiles.
  - name: Opportunities
    description: Manage sales opportunities in the CRM pipeline.
  - name: Opportunity Pipelines
    description: Manage pipelines for tracking opportunity stages.
  - name: Opportunity Lead Sources
    description: Manage lead source classifications for opportunities.
  - name: Opportunity Stages
    description: Manage pipeline stage definitions for opportunities.
  - name: Opportunity Tags
    description: Manage tags for categorizing opportunities.
  - name: Opportunity Types
    description: Manage type classifications for opportunities.
  - name: Payment Methods
    description: Manage payment method options for invoices.
  - name: Payments
    description: View payments received against invoices.
  - name: Pipeline Activities
    description: >-
      Manage pipeline activities associated with companies, contacts, members,
      and opportunities.
  - name: Pipeline Activity Types
    description: Manage activity type classifications for pipeline activities.
  - name: Practices
    description: Manage practice area classifications for organizing projects and members.
  - name: Project Budget Expenses
    description: Manage expense budget line items on projects.
  - name: Project Budget Other Items
    description: Manage other budget line items on projects.
  - name: Project Budget Product Items
    description: Manage product budget line items on projects.
  - name: Project Budget Service Items
    description: Manage additional service budget line items on projects.
  - name: Project Expenses
    description: Manage project-level expense line items.
  - name: Project Groups
    description: View project groups for organizing related projects.
  - name: Project Health Reports
    description: Manage project health status reports.
  - name: Project Invoice Milestones
    description: Manage invoice milestones for fixed-fee project billing.
  - name: Project Members
    description: Manage team member assignments on projects.
  - name: Project Monthly Budget Expenses
    description: Manage monthly expense budget line items on projects.
  - name: Project Monthly Budget Other Items
    description: Manage monthly other budget line items on projects.
  - name: Project Monthly Budget Product Items
    description: Manage monthly product budget line items on projects.
  - name: Project Monthly Budget Service Items
    description: Manage monthly additional service budget line items on projects.
  - name: Project Other Items
    description: Manage project-level other item line items.
  - name: Project Product Items
    description: Manage project-level product line items.
  - name: Project Revenue Adjustments
    description: Manage earned revenue adjustments for projects.
  - name: Project Revenue Recognition Entries
    description: Manage revenue recognition entries for projects.
  - name: Project Roles
    description: Manage roles defined on projects for billing and staffing.
  - name: Project Service Items
    description: Manage project-level additional service line items.
  - name: Project Tags
    description: Manage tags for categorizing projects.
  - name: Project Tasks
    description: Manage tasks on projects for time tracking and planning.
  - name: Project Types
    description: Manage type classifications for projects.
  - name: Projects
    description: Manage projects and their settings.
  - name: Resource Placeholders
    description: Manage placeholder resources for allocation planning.
  - name: Security Roles
    description: View security roles for assigning member permissions.
  - name: Skills
    description: Manage skill classifications for members and resource planning.
  - name: Task Categories
    description: Manage task category classifications for project tasks.
  - name: Task Tags
    description: Manage tags for categorizing project tasks.
  - name: Task Templates
    description: Manage reusable task templates for projects.
  - name: Tax Rates
    description: Manage tax rates for invoicing.
  - name: Time Entries
    description: Manage time entries for tracking hours on projects.
  - name: Time Off Types
    description: Manage time off type classifications.
  - name: Timesheet Attestations
    description: Manage attestation statements members sign when submitting timesheets.
  - name: Timesheets
    description: Manage timesheet submissions for tracking hours across a period.
  - name: Utilization Target Periods
    description: Manage member utilization target periods for capacity planning.
  - name: Workspace Roles
    description: Manage workspace-level roles for billing rate configuration.
paths:
  /expense-items:
    get:
      tags:
        - Expense Items
      summary: List expense items
      operationId: list-expense-items
      parameters:
        - $ref: '#/components/parameters/StartingAfter'
        - $ref: '#/components/parameters/EndingBefore'
        - $ref: '#/components/parameters/Limit'
        - name: expenseReportId
          in: query
          description: >-
            An expense report ID (uuid) used to filter objects for a specific
            expense report.
          schema:
            type: string
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: array
                    description: The list of results for the current page.
                    items:
                      $ref: '#/components/schemas/ExpenseItem'
                  hasMore:
                    type: boolean
                    description: Whether there are more results available after this page.
              examples:
                Result:
                  value:
                    results:
                      - id: 3b7e1f2a-4c8d-4e9f-a0b1-2c3d4e5f6a7b
                        statusId: approved
                        vendor: Personal Vehicle
                        notes: Client site visit for project kickoff meeting.
                        attendees: Alice Johnson, Bob Smith
                        date: '2025-01-15'
                        currency: USD
                        amount: 33.5
                        markupMethod: amount
                        markupRatio: null
                        markupAmount: 5
                        markup: 5
                        total: 38.5
                        unitCount: 50
                        unitAmount: 0.67
                        isReimbursable: true
                        isBillable: true
                        createdAt: '2025-01-15T20:47:03.284Z'
                        expenseReport:
                          id: 4a186944-4259-4e8a-8aba-b9aaf6937c04
                          title: January 2025 Expenses
                        expenseCategory:
                          id: 175e0635-ac9e-4880-8492-07fa584f1b15
                          name: Mileage
                          unitName: Mile
                        member:
                          id: 7c8f2e19-4d5a-4a3b-9c6d-2e8f1a0b3c4d
                          name: Jane Smith
                        project:
                          id: b4cc2b99-3b3a-4b73-8f4e-8c1d7a94e5b0
                          name: Website Redesign
                          client:
                            id: 56deca22-a707-4148-a5f7-ea3ae6391d67
                            name: Acme Corp
                        invoiced: false
                    hasMore: false
        '400':
          description: '400'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                InvalidId:
                  value:
                    status: 400
                    message: Parameter 'startingAfter' is not a valid UUID.
                InvalidReportId:
                  value:
                    status: 400
                    message: Parameter 'expenseReportId' is not a valid UUID.
        '403':
          description: '403'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Feature:
                  value:
                    status: 403
                    message: Feature 'Expense Reporting' is not enabled.
      deprecated: false
components:
  parameters:
    StartingAfter:
      name: startingAfter
      in: query
      description: >-
        A cursor ID (`uuid`) used to request the next page of results. If not
        provided, defaults to the first page of results.
      schema:
        type: string
    EndingBefore:
      name: endingBefore
      in: query
      description: >-
        A cursor ID (`uuid`) used to request the previous page of results. Is
        mutually exclusive with `startingAfter`.
      schema:
        type: string
    Limit:
      name: limit
      in: query
      description: >-
        The maximum number of results to be returned. Can be any number from 1
        to 100. Defaults to 10, if not provided.
      schema:
        type: integer
  schemas:
    ExpenseItem:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier for the object.
        statusId:
          type: string
          description: The approval status of the expense item.
          enum:
            - not_submitted
            - pending_approval
            - approved
            - rejected
        vendor:
          type:
            - string
            - 'null'
          description: The name of the vendor for the expense.
        notes:
          type:
            - string
            - 'null'
          description: Additional notes about the expense item.
        attendees:
          type:
            - string
            - 'null'
          description: >-
            The attendees for the expense (e.g. for meals or entertainment
            categories).
        date:
          type: string
          format: date
          description: The date of the expense. In the form `YYYY-MM-DD`.
        currency:
          type: string
          description: The ISO 4217 currency code for the expense amount (e.g. `USD`).
        amount:
          type: number
          description: The expense amount in the expense's currency.
        markupMethod:
          type:
            - string
            - 'null'
          description: >-
            The markup method applied to the expense. `null` if no markup is
            applied.
          enum:
            - percentage
            - amount
            - null
        markupRatio:
          type:
            - number
            - 'null'
          description: >-
            The markup ratio (e.g. 0.1 for 10%). Present when `markupMethod` is
            `percentage`, otherwise `null`.
        markupAmount:
          type:
            - number
            - 'null'
          description: >-
            The fixed markup amount. Present when `markupMethod` is `amount`,
            otherwise `null`.
        markup:
          type:
            - number
            - 'null'
          description: >-
            The computed markup value in the expense's currency. `null` when no
            markup method is set.
        total:
          type: number
          description: >-
            The total billed amount including any markup, in the expense's
            currency.
        unitCount:
          type:
            - number
            - 'null'
          description: >-
            The number of units for unit-based expense categories. `null` if not
            applicable.
        unitAmount:
          type:
            - number
            - 'null'
          description: >-
            The per-unit amount for unit-based expense categories. `null` if not
            applicable.
        isReimbursable:
          type: boolean
          description: Whether the expense is reimbursable to the member.
        isBillable:
          type: boolean
          description: Whether the expense item is billable back to the client.
        createdAt:
          type: string
          format: date-time
          description: The timestamp when the object was created.
        expenseReport:
          type: object
          properties:
            id:
              type: string
              description: The unique identifier for the object.
            title:
              type: string
              description: The title of the expense report.
          description: The expense report this item belongs to.
        expenseCategory:
          type: object
          properties:
            id:
              type: string
              description: The unique identifier for the object.
            name:
              type: string
              description: The name of the expense category.
            unitName:
              type:
                - string
                - 'null'
              description: >-
                The unit name for unit-based categories (e.g. "mile"). `null` if
                not a unit-based category.
          description: The expense category for this item.
        member:
          type: object
          properties:
            id:
              type: string
              description: The unique identifier for the object.
            name:
              type: string
              description: The name of the member.
          description: The member who submitted the expense.
        project:
          type:
            - object
            - 'null'
          description: >-
            The project associated with this expense item. `null` if not
            assigned to a project.
          properties:
            id:
              type: string
              description: The unique identifier for the object.
            name:
              type: string
              description: The name of the project.
            client:
              type: object
              description: The client associated with the project.
              properties:
                id:
                  type: string
                  description: The unique identifier for the object.
                name:
                  type: string
                  description: The name of the client.
        invoiced:
          type: boolean
          description: Whether this record has been invoiced.
    ErrorResponse:
      type: object
      properties:
        status:
          type: integer
          description: The HTTP status code.
        message:
          type: string
          description: A human-readable error message.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````