Lithic Management Operations API
The Management Operations API from Lithic — 3 operation(s) for management operations.
The Management Operations API from Lithic — 3 operation(s) for management operations.
openapi: 3.1.0
info:
contact:
email: support@lithic.com
description: 'The Lithic Developer API is designed to provide a predictable programmatic interface for accessing your Lithic account through an API and transaction webhooks.
Note that your API key is a secret and should be treated as such. Don''t share it with anyone, including us. We will never ask you for it.
'
termsOfService: https://lithic.com/legal/terms
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0.txt
title: Lithic Developer 3DS Management Operations API
version: 1.0.0
servers:
- description: Sandbox environment that provides key functionality mirroring production
url: https://sandbox.lithic.com
security:
- ApiKeyAuth: []
tags:
- name: Management Operations
paths:
/v1/management_operations:
get:
description: List management operations
parameters:
- description: Management operation category to be returned.
in: query
name: category
schema:
$ref: '#/components/schemas/management_operation_category'
- description: Globally unique identifier for the financial account. Accepted type dependent on the program's use case.
in: query
name: financial_account_token
schema:
format: uuid
type: string
- in: query
name: business_account_token
required: false
schema:
format: uuid
title: Business Account Token
type: string
- description: Management operation status to be returned.
in: query
name: status
schema:
$ref: '#/components/schemas/transaction_status'
- $ref: '#/components/parameters/beginTime'
- $ref: '#/components/parameters/endingBefore'
- $ref: '#/components/parameters/endTime'
- $ref: '#/components/parameters/pageSize'
- $ref: '#/components/parameters/startingAfter'
operationId: getManagementOperations
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/management_operation_transactions_response'
description: OK
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/TooManyRequests'
summary: List management operations
tags:
- Management Operations
post:
description: Create management operation
operationId: postManagementOperations
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/create_management_operation_request'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/management_operation_transaction'
description: OK
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
summary: Create management operation
tags:
- Management Operations
/v1/management_operations/{management_operation_token}:
get:
description: Get management operation
parameters:
- description: Globally unique identifier for the management operation
in: path
name: management_operation_token
required: true
schema:
format: uuid
type: string
operationId: getManagementOperation
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/management_operation_transaction'
description: OK
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
summary: Get management operation
tags:
- Management Operations
/v1/management_operations/{management_operation_token}/reverse:
post:
description: Reverse a management operation
parameters:
- description: Globally unique identifier for the management operation
in: path
name: management_operation_token
required: true
schema:
format: uuid
type: string
operationId: reverseManagementOperation
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/management_operation_action_request'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/management_operation_transaction'
description: OK
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
summary: Reverse management operation
tags:
- Management Operations
components:
schemas:
base_transaction:
title: base_transaction
description: Base class for all transaction types in the ledger service
type: object
properties:
status:
$ref: '#/components/schemas/transaction_status'
description: The status of the transaction
token:
type: string
description: Unique identifier for the transaction
format: uuid
created:
type: string
description: ISO 8601 timestamp of when the transaction was created
format: date-time
updated:
type: string
description: ISO 8601 timestamp of when the transaction was last updated
format: date-time
required:
- status
- token
- created
- updated
management_operation_transaction:
title: Management Operation Transaction
allOf:
- $ref: '#/components/schemas/base_transaction'
- type: object
properties:
family:
type: string
const: MANAGEMENT_OPERATION
description: MANAGEMENT_OPERATION - Management Operation Transaction
result:
$ref: '#/components/schemas/transaction_result'
category:
$ref: '#/components/schemas/management_operation_category'
settled_amount:
type: integer
pending_amount:
type: integer
currency:
type: string
events:
type: array
items:
$ref: '#/components/schemas/management_operation_event'
user_defined_id:
type:
- string
- 'null'
financial_account_token:
type: string
format: uuid
direction:
$ref: '#/components/schemas/management_operation_direction'
transaction_series:
oneOf:
- $ref: '#/components/schemas/transaction_series'
- type: 'null'
external_resource:
oneOf:
- $ref: '#/components/schemas/external_resource'
- type: 'null'
required:
- result
- category
- family
- settled_amount
- pending_amount
- currency
- events
- financial_account_token
- direction
- transaction_series
management_operation_transactions_response:
title: Management Operation Transactions Response
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/management_operation_transaction'
has_more:
type: boolean
required:
- data
- has_more
management_operation_category:
title: Management Operation Category
type: string
enum:
- MANAGEMENT_FEE
- MANAGEMENT_DISPUTE
- MANAGEMENT_REWARD
- MANAGEMENT_ADJUSTMENT
- MANAGEMENT_DISBURSEMENT
management_operation_event_type:
title: Management Operation Event Type
type: string
enum:
- LOSS_WRITE_OFF
- CASH_BACK
- CASH_BACK_REVERSAL
- CURRENCY_CONVERSION
- CURRENCY_CONVERSION_REVERSAL
- INTEREST
- INTEREST_REVERSAL
- LATE_PAYMENT
- LATE_PAYMENT_REVERSAL
- BILLING_ERROR
- BILLING_ERROR_REVERSAL
- PROVISIONAL_CREDIT
- PROVISIONAL_CREDIT_REVERSAL
- RETURNED_PAYMENT
- RETURNED_PAYMENT_REVERSAL
- DISPUTE_WON
- DISPUTE_WON_REVERSAL
- DISBURSE
- DISBURSE_REVERSAL
- ANNUAL
- ANNUAL_REVERSAL
- QUARTERLY
- QUARTERLY_REVERSAL
- MONTHLY
- MONTHLY_REVERSAL
external_resource_type:
title: ExternalResourceType
type: string
enum:
- STATEMENT
- COLLECTION
- DISPUTE
- UNKNOWN
description: Type of external resource associated with the management operation
external_resource:
title: ExternalResource
type: object
required:
- external_resource_type
- external_resource_token
properties:
external_resource_type:
$ref: '#/components/schemas/external_resource_type'
external_resource_token:
type: string
description: Token identifying the external resource
external_resource_sub_token:
type: string
description: Token identifying the external resource sub-resource
description: External resource associated with the management operation
additionalProperties: false
transaction_status:
title: Transaction Status
type: string
enum:
- PENDING
- SETTLED
- DECLINED
- REVERSED
- CANCELED
- RETURNED
detailed_results:
title: Detailed Results
type: string
enum:
- APPROVED
- INSUFFICIENT_FUNDS
create_management_operation_request:
title: Create Management Operation Request
type: object
properties:
category:
$ref: '#/components/schemas/management_operation_category'
event_type:
$ref: '#/components/schemas/management_operation_event_type'
subtype:
type: string
financial_account_token:
type: string
format: uuid
amount:
type: integer
minimum: 1
memo:
type: string
user_defined_id:
type: string
effective_date:
type: string
format: date
token:
description: Customer-provided token that will serve as an idempotency token. This token will become the transaction token.
type: string
format: uuid
direction:
$ref: '#/components/schemas/management_operation_direction'
on_closed_account:
$ref: '#/components/schemas/on_closed_account'
required:
- category
- event_type
- financial_account_token
- amount
- effective_date
- direction
on_closed_account:
title: On Closed Account
description: What to do if the financial account is closed when posting an operation
type: string
enum:
- FAIL
- USE_SUSPENSE
default: FAIL
transaction_result:
title: Transaction Result
type: string
enum:
- APPROVED
- DECLINED
transaction_series:
title: Transaction Series
type: object
properties:
type:
type: string
example: FEE
related_transaction_token:
oneOf:
- type: string
format: uuid
example: 123e4567-e89b-12d3-a456-426614174000
- type: 'null'
related_transaction_event_token:
oneOf:
- type: string
format: uuid
example: 123e4567-e89b-12d3-a456-426614174000
- type: 'null'
required:
- type
- related_transaction_token
- related_transaction_event_token
management_operation_direction:
title: Management Operation Direction
type: string
enum:
- CREDIT
- DEBIT
error:
type: object
properties:
debugging_request_id:
type: string
format: uuid
description: Identifier to help debug an error.
message:
type: string
description: Explanation of error response.
required:
- debugging_request_id
- message
management_operation_action_request:
title: Management Operation Action Request
type: object
properties:
memo:
type: string
effective_date:
type: string
format: date
required:
- effective_date
management_operation_event:
title: Management Operation Event
type: object
properties:
amount:
type: integer
type:
$ref: '#/components/schemas/management_operation_event_type'
subtype:
type:
- string
- 'null'
result:
$ref: '#/components/schemas/transaction_result'
detailed_results:
type: array
items:
$ref: '#/components/schemas/detailed_results'
created:
type: string
format: date-time
token:
type: string
format: uuid
memo:
type: string
effective_date:
type: string
format: date
required:
- amount
- type
- result
- detailed_results
- created
- token
- memo
- effective_date
responses:
BadRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: A parameter in the query given in the request does not match the valid queries for the endpoint.
NotFound:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: The specified resource was not found.
Unauthorized:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: '| | |
|---|---|
| User has not been authenticated | Invalid or missing API key |
| API key is not active | The API key used is no longer active |
| Could not find API key | The API key provided is not associated with any user |
| Please provide API key in Authorization header | The Authorization header is not in the request |
| Please provide API key in the form Authorization: [api-key] | The Authorization header is not formatted properly |
| Insufficient privileges. Issuing API key required | Write access requires an Issuing API key. Reach out at [lithic.com/contact](https://lithic.com/contact) |
| Insufficient privileges to create virtual cards. | Creating virtual cards requires an additional privilege | Reach out at [lithic.com/contact](https://lithic.com/contact) |
'
TooManyRequests:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: 'Client has exceeded the number of allowed requests in a given time period.
| | |
|---|---|
| Rate limited, too many requests per second | User has exceeded their per second rate limit |
| Rate limited, reached daily limit | User has exceeded their daily rate limit |
| Rate limited, too many keys tried | One IP has queried too many different API keys |
'
parameters:
startingAfter:
description: A cursor representing an item's token after which a page of results should begin. Used to retrieve the next page of results after this item.
in: query
name: starting_after
required: false
schema:
type: string
endTime:
description: Date string in RFC 3339 format. Only entries created before the specified time will be included. UTC time zone.
in: query
name: end
schema:
format: date-time
type: string
beginTime:
description: Date string in RFC 3339 format. Only entries created after the specified time will be included. UTC time zone.
in: query
name: begin
schema:
format: date-time
type: string
endingBefore:
description: A cursor representing an item's token before which a page of results should end. Used to retrieve the previous page of results before this item.
in: query
name: ending_before
required: false
schema:
type: string
pageSize:
description: Page size (for pagination).
in: query
name: page_size
schema:
default: 50
maximum: 100
minimum: 1
type: integer
securitySchemes:
ApiKeyAuth:
in: header
name: Authorization
type: apiKey