SAP Concur Expense Receipt Images API

Upload and retrieve receipt images associated with expense entries. Supports PNG, JPG, PDF, and TIFF image formats.

OpenAPI Specification

sap-concur-expense-receipt-images-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: SAP Concur Expense Allocations Receipt Images API
  description: SAP Concur Expense provides REST APIs for managing the full expense lifecycle including creating and submitting expense reports, managing individual expense entries, capturing receipt images, handling quick expenses, managing allocations across cost centers, and retrieving reimbursement payment batches. Authentication uses OAuth 2.0 with support for authorization code and refresh token flows.
  version: '3.0'
  contact:
    name: SAP Concur Developer Support
    url: https://developer.concur.com/support
  termsOfService: https://developer.concur.com/terms-of-use
servers:
- url: https://us.api.concursolutions.com/api/v3.0
  description: United States Production
- url: https://eu.api.concursolutions.com/api/v3.0
  description: Europe Production
- url: https://cn.api.concursolutions.com/api/v3.0
  description: China Production
security:
- OAuth2:
  - expense.report.read
  - expense.report.write
tags:
- name: Receipt Images
  description: Upload and retrieve receipt images associated with expense entries. Supports PNG, JPG, PDF, and TIFF image formats.
paths:
  /expense/receiptimages:
    get:
      operationId: listReceiptImages
      summary: List Receipt Images
      description: Returns a collection of receipt images associated with expense entries for the current user.
      tags:
      - Receipt Images
      parameters:
      - name: offset
        in: query
        description: Starting page offset for pagination
        required: false
        schema:
          type: string
      - name: limit
        in: query
        description: Number of records to return per page (max 100)
        required: false
        schema:
          type: integer
          maximum: 100
      - name: entryID
        in: query
        description: Filter receipt images by expense entry ID
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Success - Returns list of receipt images
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReceiptImageCollection'
        '401':
          description: Unauthorized
        '500':
          description: Internal Server Error
    post:
      operationId: createReceiptImage
      summary: Upload Receipt Image
      description: Uploads a new receipt image. The image can be in PNG, JPG, PDF, or TIFF format and will be associated with an expense entry.
      tags:
      - Receipt Images
      requestBody:
        required: true
        content:
          image/png:
            schema:
              type: string
              format: binary
          image/jpeg:
            schema:
              type: string
              format: binary
          application/pdf:
            schema:
              type: string
              format: binary
      responses:
        '200':
          description: Success - Returns receipt image ID
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReceiptImageCreateResponse'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '500':
          description: Internal Server Error
  /expense/receiptimages/{id}:
    get:
      operationId: getReceiptImage
      summary: Get Receipt Image
      description: Returns the receipt image URL for the specified image ID.
      tags:
      - Receipt Images
      parameters:
      - name: id
        in: path
        description: The unique identifier of the receipt image
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success - Returns the receipt image
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReceiptImage'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
        '500':
          description: Internal Server Error
    delete:
      operationId: deleteReceiptImage
      summary: Delete Receipt Image
      description: Deletes a receipt image by its ID.
      tags:
      - Receipt Images
      parameters:
      - name: id
        in: path
        description: The unique identifier of the receipt image
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Success - No content returned
        '401':
          description: Unauthorized
        '404':
          description: Not Found
        '500':
          description: Internal Server Error
components:
  schemas:
    ReceiptImageCreateResponse:
      type: object
      properties:
        ID:
          type: string
          description: The unique identifier of the uploaded receipt image
        URI:
          type: string
    ReceiptImageCollection:
      type: object
      properties:
        Items:
          type: array
          items:
            $ref: '#/components/schemas/ReceiptImage'
        NextPage:
          type: string
    ReceiptImage:
      type: object
      properties:
        ID:
          type: string
          description: The unique identifier of the receipt image
        EntryID:
          type: string
          description: The associated expense entry ID
        ReceiptImageURL:
          type: string
          description: Temporary URL to access the receipt image
        IsRequired:
          type: boolean
          description: Whether a receipt image is required for this entry
        URI:
          type: string
  securitySchemes:
    OAuth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://us.api.concursolutions.com/oauth2/v0/authorize
          tokenUrl: https://us.api.concursolutions.com/oauth2/v0/token
          scopes:
            expense.report.read: Read expense reports
            expense.report.write: Create and modify expense reports
            expense.report.delete: Delete expense reports
externalDocs:
  description: SAP Concur Expense API Reference
  url: https://developer.concur.com/api-reference/expense/