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