SAP Concur Allocations API

Operations for retrieving and updating expense allocations, which distribute expense amounts across cost centers or accounts.

Operations 4

GET /expensereports/v4/users/{userID}/context/{contextType}/reports/{reportId}/expenses/{expenseId}/allocations Sap Concur Retrieve Allocations for an Expense #
GET /expensereports/v4/users/{userID}/context/{contextType}/reports/{reportId}/allocations/{allocationId} Sap Concur Retrieve a Single Allocation by Id #
PATCH /expensereports/v4/users/{userID}/context/{contextType}/reports/{reportId}/allocations/{allocationId} Sap Concur Update an Allocation #
GET /expense/allocations List Expense Allocations #

Documentation

📖
Documentation
https://developer.concur.com/api-reference/expense/
📖
Authentication
https://developer.concur.com/api-reference/authentication/getting-started.html
📖
Documentation
https://developer.concur.com/api-reference/expense/expense-report/v4.reports.html
📖
Documentation
https://developer.concur.com/api-reference/expense/expense-report/v4.allocations.html
📖
Documentation
https://developer.concur.com/api-reference/expense/expense-report/v4.workflows.html
📖
Documentation
https://developer.concur.com/api-reference/expense/expense-report/v4.comments.html
📖
Documentation
https://developer.concur.com/api-reference/expense/expense-report/v4.expense-attendee-associations.html
📖
Documentation
https://developer.concur.com/api-reference/travel/
📖
Documentation
https://developer.concur.com/api-reference/invoice/
📖
Documentation
https://developer.concur.com/api-reference/request/
📖
Documentation
https://developer.concur.com/api-reference/request/v4.get-started.html
📖
Documentation
https://developer.concur.com/api-reference/request/v4.endpoints.cashadvance-resources.html
📖
Documentation
https://developer.concur.com/api-reference/expense/expense-report/v3.reports.html
📖
Documentation
https://developer.concur.com/api-reference/expense/expense-report/expense-entry.html
📖
Documentation
https://developer.concur.com/api-reference/expense/quick-expense/v3.quick-expense.html
📖
Documentation
https://developer.concur.com/api-reference/image/v1.image.html

Specifications

Schemas & Data

Other Resources

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/concur:concur-allocations-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

concur-allocations-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Concur Allocations API
  x-refined-note:
  - x-api-id differs across the merged source definitions and was not carried
  - x-audience differs across the merged source definitions and was not carried
  version: '1.0'
  description: 'Operations tagged Allocations across 2 of this provider''s published API definitions: sap-concur-allocations-api-openapi.yml, sap-concur-expense-allocations-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://us.api.concursolutions.com
  description: US Production Datacenter
- url: https://us2.api.concursolutions.com
  description: US2 Production Datacenter
- url: https://emea.api.concursolutions.com
  description: EMEA Production Datacenter
- url: https://cn.api.concursolutions.com
  description: China Production Datacenter
- 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
tags:
- name: Allocations
  description: Operations for retrieving and updating expense allocations, which distribute expense amounts across cost centers or accounts.
paths:
  /expensereports/v4/users/{userID}/context/{contextType}/reports/{reportId}/expenses/{expenseId}/allocations:
    get:
      operationId: getAllocations
      summary: Sap Concur Retrieve Allocations for an Expense
      description: Returns all allocations associated with a specific expense entry, showing how the expense amount is distributed across cost centers, departments, or accounts.
      tags:
      - Allocations
      parameters:
      - $ref: '#/components/parameters/userID'
      - $ref: '#/components/parameters/contextType'
      - $ref: '#/components/parameters/reportId'
      - $ref: '#/components/parameters/expenseId'
      responses:
        '200':
          description: Allocations retrieved successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Allocation'
              examples:
                Getallocations200Example:
                  summary: Default getAllocations 200 response
                  x-microcks-default: true
                  value:
                  - allocationId: '500123'
                    expenseId: '500123'
                    accountCode: example_value
                    overLimitAccountCode: example_value
                    allocationAmount:
                      value: 42.5
                      currencyCode: example_value
                    approvedAmount:
                      value: 42.5
                      currencyCode: example_value
                    claimedAmount:
                      value: 42.5
                      currencyCode: example_value
                    percentage: 42.5
                    isSystemAllocation: true
                    isPercentEdited: true
                    customData:
                    - {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      security:
      - bearerAuth: []
    servers:
    - url: https://us.api.concursolutions.com
      description: US Production Datacenter
    - url: https://us2.api.concursolutions.com
      description: US2 Production Datacenter
    - url: https://emea.api.concursolutions.com
      description: EMEA Production Datacenter
    - url: https://cn.api.concursolutions.com
      description: China Production Datacenter
  /expensereports/v4/users/{userID}/context/{contextType}/reports/{reportId}/allocations/{allocationId}:
    get:
      operationId: getAllocation
      summary: Sap Concur Retrieve a Single Allocation by Id
      description: Returns the full details of a specific allocation including account codes, amounts, percentage, and custom data fields.
      tags:
      - Allocations
      parameters:
      - $ref: '#/components/parameters/userID'
      - $ref: '#/components/parameters/contextType'
      - $ref: '#/components/parameters/reportId'
      - $ref: '#/components/parameters/allocationId'
      responses:
        '200':
          description: Allocation retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Allocation'
              examples:
                Getallocation200Example:
                  summary: Default getAllocation 200 response
                  x-microcks-default: true
                  value:
                    allocationId: '500123'
                    expenseId: '500123'
                    accountCode: example_value
                    overLimitAccountCode: example_value
                    allocationAmount:
                      value: 42.5
                      currencyCode: example_value
                    approvedAmount:
                      value: 42.5
                      currencyCode: example_value
                    claimedAmount:
                      value: 42.5
                      currencyCode: example_value
                    percentage: 42.5
                    isSystemAllocation: true
                    isPercentEdited: true
                    customData:
                    - id: abc123
                      value: example_value
                      isValid: '500123'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      security:
      - bearerAuth: []
    patch:
      operationId: updateAllocation
      summary: Sap Concur Update an Allocation
      description: Partially updates an allocation using JSON Merge Patch (RFC 7386). Typically used to update custom data fields on allocations. The request body includes the allocation update and the list of expense IDs to which the update applies.
      tags:
      - Allocations
      parameters:
      - $ref: '#/components/parameters/userID'
      - $ref: '#/components/parameters/contextTypeWritable'
      - $ref: '#/components/parameters/reportId'
      - $ref: '#/components/parameters/allocationId'
      requestBody:
        required: true
        content:
          application/merge-patch+json:
            schema:
              $ref: '#/components/schemas/UpdateAllocationRequest'
            examples:
              UpdateallocationRequestExample:
                summary: Default updateAllocation request
                x-microcks-default: true
                value:
                  allocation:
                    customData:
                    - {}
                  expenseIds:
                  - example_value
      responses:
        '204':
          description: Allocation updated successfully
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      security:
      - bearerAuth: []
    servers:
    - url: https://us.api.concursolutions.com
      description: US Production Datacenter
    - url: https://us2.api.concursolutions.com
      description: US2 Production Datacenter
    - url: https://emea.api.concursolutions.com
      description: EMEA Production Datacenter
    - url: https://cn.api.concursolutions.com
      description: China Production Datacenter
  /expense/allocations:
    get:
      operationId: listAllocations
      summary: List Expense Allocations
      description: Returns expense allocations for the specified entry ID. Allocations split an expense across multiple cost centers, projects, or GL accounts.
      tags:
      - Allocations
      parameters:
      - name: entryID
        in: query
        description: The expense entry ID to retrieve allocations for
        required: true
        schema:
          type: string
      - 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
      responses:
        '200':
          description: Success - Returns list of allocations
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AllocationCollection'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '500':
          description: Internal Server Error
      security:
      - OAuth2:
        - expense.report.read
        - expense.report.write
    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
components:
  responses:
    NotFound:
      description: The requested resource (report, expense, allocation, or user) was not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Forbidden:
      description: The authenticated user does not have the required scope or permission to perform this operation.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    InternalServerError:
      description: An unexpected server error occurred. Retry the request or contact SAP Concur support with the Concur-CorrelationId header.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Unauthorized:
      description: Authentication failed. The bearer token is missing, expired, or invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    BadRequest:
      description: The request was malformed or contained invalid parameters. Check the validationErrors array for field-level details.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  parameters:
    reportId:
      name: reportId
      in: path
      required: true
      description: The unique identifier of the expense report
      schema:
        type: string
    contextType:
      name: contextType
      in: path
      required: true
      description: The access context for the request. TRAVELER for the report owner, MANAGER for an approver, PROXY for a delegate.
      schema:
        type: string
        enum:
        - TRAVELER
        - MANAGER
        - PROXY
    expenseId:
      name: expenseId
      in: path
      required: true
      description: The unique identifier of the expense entry
      schema:
        type: string
    allocationId:
      name: allocationId
      in: path
      required: true
      description: The unique identifier of the allocation
      schema:
        type: string
    contextTypeWritable:
      name: contextType
      in: path
      required: true
      description: The access context for write operations. TRAVELER for the report owner or PROXY for a delegate acting on behalf of the owner.
      schema:
        type: string
        enum:
        - TRAVELER
        - PROXY
    userID:
      name: userID
      in: path
      required: true
      description: The unique identifier (UUID) of the SAP Concur user. Obtain via the Identity v4 API.
      schema:
        type: string
        format: uuid
  schemas:
    UpdateAllocationRequest:
      type: object
      description: Request body for updating an allocation
      properties:
        allocation:
          type: object
          description: The allocation fields to update
          properties:
            customData:
              type: array
              items:
                $ref: '#/components/schemas/CustomData'
          example: example_value
        expenseIds:
          type: array
          description: The expense IDs to which this update applies
          items:
            type: string
          example: []
    Allocation:
      type: object
      description: An expense allocation that distributes an expense amount across cost centers, departments, or general ledger accounts.
      required:
      - allocationId
      - expenseId
      - percentage
      - isSystemAllocation
      - isPercentEdited
      properties:
        allocationId:
          type: string
          description: Unique identifier of the allocation
          example: '500123'
        expenseId:
          type: string
          description: The expense this allocation belongs to
          example: '500123'
        accountCode:
          type: string
          description: The ledger account code
          example: example_value
        overLimitAccountCode:
          type: string
          description: Account code for amounts exceeding policy limits
          example: example_value
        allocationAmount:
          $ref: '#/components/schemas/Amount'
        approvedAmount:
          $ref: '#/components/schemas/Amount'
        claimedAmount:
          $ref: '#/components/schemas/Amount'
        percentage:
          type: number
          format: double
          description: The percentage of the total expense allocated (0-100)
          minimum: 0
          maximum: 100
          example: 42.5
        isSystemAllocation:
          type: boolean
          description: Whether this allocation was automatically created by the system (true) or manually created by a user (false)
          example: true
        isPercentEdited:
          type: boolean
          description: Whether the allocation percentage has been modified
          example: true
        customData:
          type: array
          description: Custom field values on the allocation
          items:
            $ref: '#/components/schemas/CustomData'
          example: []
    ErrorResponse:
      type: object
      description: Standard error response
      properties:
        errorId:
          type: string
          description: Unique identifier for this error occurrence
          example: '500123'
        errorMessage:
          type: string
          description: Human-readable error description
          example: example_value
        httpStatus:
          type: string
          description: The HTTP status code as a string
          example: example_value
        path:
          type: string
          description: The request path that triggered the error
          example: example_value
        timestamp:
          type: string
          format: date-time
          description: When the error occurred
          example: '2026-01-15T10:30:00Z'
        validationErrors:
          type: array
          description: Detailed field-level validation failures
          items:
            type: object
            properties:
              source:
                type: string
                description: The field or parameter that failed validation
              message:
                type: string
                description: Description of the validation failure
          example: []
    CustomData:
      type: object
      description: A custom field value configured by the organization. Field IDs follow patterns like custom1-custom40 and orgUnit1-orgUnit6.
      required:
      - id
      properties:
        id:
          type: string
          description: The identifier of the custom field (e.g., custom1, orgUnit1)
          examples:
          - custom1
        value:
          type: string
          description: The value assigned to the custom field
          maxLength: 48
          examples:
          - Marketing Department
        isValid:
          type: boolean
          description: Whether the current value passes validation rules
          example: '500123'
    Amount:
      type: object
      description: A monetary amount with its currency code
      required:
      - value
      - currencyCode
      properties:
        value:
          type: number
          format: double
          description: The numeric monetary amount
          examples:
          - 250.0
        currencyCode:
          type: string
          description: ISO 4217 three-letter currency code
          minLength: 3
          maxLength: 3
          examples:
          - USD
    Allocation_2:
      type: object
      properties:
        AllocationID:
          type: string
          description: The unique identifier of the allocation
        EntryID:
          type: string
          description: The associated expense entry ID
        Percentage:
          type: number
          format: double
          description: Percentage of the expense allocated to this cost object
        Amount:
          type: number
          format: double
          description: Amount allocated in report currency
        AccountCode1:
          type: string
          description: Primary GL account code
        AccountCode2:
          type: string
          description: Secondary GL account code
        Custom1:
          type: string
          description: Custom allocation field 1 (e.g., cost center)
        Custom2:
          type: string
          description: Custom allocation field 2 (e.g., project code)
        URI:
          type: string
    AllocationCollection:
      type: object
      properties:
        Items:
          type: array
          items:
            $ref: '#/components/schemas/Allocation_2'
        NextPage:
          type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: OAuth 2.0 Bearer token. Obtain tokens via the SAP Concur Authentication API using either Company or User level grants. Required scopes vary by operation.
    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/
x-refined-from:
- sap-concur-allocations-api-openapi.yml
- sap-concur-expense-allocations-api-openapi.yml