SAP Concur Expenses API

Manage individual expense entries

OpenAPI Specification

concur-expenses-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: SAP Concur Expense Expense Reports Expenses API
  description: REST API for managing expense reports, entries, allocations, and attendees. Supports creating, updating, and submitting expense reports with receipt images, policy validation, and approval workflows.
  version: '4.0'
  contact:
    name: SAP Concur Developer Support
    url: https://developer.concur.com/
  x-generated-from: documentation
  x-last-validated: '2026-04-18'
servers:
- url: https://us.api.concursolutions.com
  description: US Production
- url: https://emea.api.concursolutions.com
  description: EMEA Production
security:
- bearerAuth: []
tags:
- name: Expenses
  description: Manage individual expense entries
paths:
  /expensereports/v4/reports/{reportId}/expenses:
    get:
      operationId: getExpenses
      summary: SAP Concur Get Expenses for Report
      description: Retrieves all expense entries for a specific report.
      tags:
      - Expenses
      parameters:
      - name: reportId
        in: path
        required: true
        description: The unique identifier of the expense report.
        schema:
          type: string
      responses:
        '200':
          description: Successfully retrieved expenses.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExpenseCollection'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createExpense
      summary: SAP Concur Create Expense Entry
      description: Creates a new expense entry within an expense report.
      tags:
      - Expenses
      parameters:
      - name: reportId
        in: path
        required: true
        description: The unique identifier of the expense report.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExpenseCreate'
      responses:
        '201':
          description: Expense entry created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Expense'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    Expense:
      type: object
      description: An individual expense entry.
      properties:
        expenseId:
          type: string
          description: Unique identifier for the expense entry.
          example: '600456'
        expenseTypeName:
          type: string
          description: Name of the expense type.
          example: Airfare
        transactionDate:
          type: string
          format: date
          description: Date of the transaction.
          example: '2026-03-10'
        transactionAmount:
          type: number
          format: double
          description: Amount of the transaction.
          example: 875.5
        transactionCurrencyCode:
          type: string
          description: Currency code of the transaction.
          example: USD
        vendorName:
          type: string
          description: Name of the vendor.
          example: United Airlines
        description:
          type: string
          description: Description of the expense.
          example: Flight from SFO to JFK
        receiptRequired:
          type: boolean
          description: Whether a receipt is required.
          example: true
    ExpenseCollection:
      type: object
      description: Collection of expense entries.
      properties:
        expenses:
          type: array
          items:
            $ref: '#/components/schemas/Expense'
    ExpenseCreate:
      type: object
      description: Request body for creating an expense entry.
      required:
      - expenseTypeName
      - transactionDate
      - transactionAmount
      - transactionCurrencyCode
      properties:
        expenseTypeName:
          type: string
          description: Name of the expense type.
          example: Airfare
        transactionDate:
          type: string
          format: date
          description: Date of the transaction.
          example: '2026-03-10'
        transactionAmount:
          type: number
          format: double
          description: Amount of the transaction.
          example: 875.5
        transactionCurrencyCode:
          type: string
          description: Currency code.
          example: USD
        vendorName:
          type: string
          description: Name of the vendor.
          example: United Airlines
        description:
          type: string
          description: Description of the expense.
          example: Flight from SFO to JFK
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: OAuth 2.0 Bearer Token authentication.