Abacus Authentication API

OAuth 2.0 authentication operations

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

abacus-authentication-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Abacus Authentication 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: Authentication
  description: OAuth 2.0 authentication operations
paths:
  /oauth/token:
    post:
      tags:
      - Authentication
      summary: Abacus Get OAuth Token
      description: Obtain an OAuth 2.0 access token using client credentials for API access.
      operationId: getOAuthToken
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/OAuthTokenRequest'
      responses:
        '200':
          description: Access token retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OAuthTokenResponse'
              examples:
                GetOAuthToken200Example:
                  summary: Default getOAuthToken 200 response
                  x-microcks-default: true
                  value:
                    access_token: a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4
                    token_type: Bearer
                    expires_in: 3600
        '401':
          $ref: '#/components/responses/UnauthorizedError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  responses:
    UnauthorizedError:
      description: Authentication required or failed
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: unauthorized
            message: Invalid or missing access token
  schemas:
    OAuthTokenResponse:
      type: object
      description: OAuth 2.0 access token response
      properties:
        access_token:
          type: string
          description: Access token for API requests
          example: a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4
        token_type:
          type: string
          description: Token type (always Bearer)
          example: Bearer
        expires_in:
          type: integer
          description: Token expiration time in seconds
          example: 3600
    OAuthTokenRequest:
      type: object
      description: OAuth 2.0 token request using client credentials
      required:
      - grant_type
      - client_id
      - client_secret
      properties:
        grant_type:
          type: string
          description: OAuth grant type
          enum:
          - client_credentials
          example: client_credentials
        client_id:
          type: string
          description: OAuth client ID
          example: example-client-id
        client_secret:
          type: string
          description: OAuth client secret
          example: example-client-secret
    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