Simplifi/Simplifipay Funding Source API
The Funding Source API from Simplifi/Simplifipay — 6 operation(s) for funding source.
The Funding Source API from Simplifi/Simplifipay — 6 operation(s) for funding source.
openapi: 3.0.1
info:
title: SimpliFi Cards Auth Funding Source API
version: 1.0.0
description: 'SimpliFi Cards-as-a-Service API for issuing and managing virtual and physical cards across the GCC. Covers authentication (JWT), card programs, funding sources, cards, users, transactions, fees, rule groups, and webhook management. SimpliFi uses an asynchronous architecture: API calls return 2xx on receipt and final outcomes are delivered via webhooks.'
contact:
name: SimpliFi Support
email: info@simplifipay.com
url: https://apidoc.simplifipay.com/
servers:
- url: https://{env}-lb.simplifipay.com
description: Load-balanced API host; {env} is the environment token issued during onboarding
variables:
env:
default: uat
description: Environment token issued by SimpliFi
security:
- bearerAuth: []
tags:
- name: Funding Source
paths:
/v2/card-program/{uuid}/funding-source:
post:
summary: Link Funding Source to Card Program
deprecated: false
description: 'The Link Funding Source to Card Program endpoint links a funding source to a card program.
The funding source works as an account that would be used to fund all its cards under this
Card Program. Following are the properties of this endpoint.'
tags:
- Funding Source
parameters:
- name: uuid
in: path
description: This is a unique identifier for the program that was created using the Create Card Program API.
required: true
example: ''
schema:
type: string
- name: Authorization
in: header
description: This field contains the JWT token that is used to authenticate the user.
required: true
example: ''
schema:
type: string
allowEmptyValue: false
- name: requestUuid
in: header
description: 'A unique id is required to be passed as part of the header whenever a SimpliFi API is called from your
system. This would help us in debugging in case of a discrepancy in the expected behavior of the API.'
required: true
example: ''
schema:
type: string
allowEmptyValue: false
minLength: 20
maxLength: 40
examples:
- 00d366f2-a6e9-4714-b172-02c4e58c29d8
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FundingSourceRequestModel'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/FundingSourceResponseModel'
headers: {}
'400':
description: Access token is missing or invalid
content:
application/json:
schema:
type: object
properties: {}
headers: {}
'401':
description: Access token is missing or invalid
content:
application/json:
schema:
type: object
properties: {}
headers: {}
security:
- bearerAuth: []
operationId: linkFundingSourceToCardProgram
/v1/card-program/{uuid}/funding-source-balance:
get:
summary: Get Balance of Funding Source
deprecated: false
description: 'The Get Balance of Funding Source endpoint retrieves the remaining balance of a funding source.
Following are the properties of this endpoint.'
tags:
- Funding Source
parameters:
- name: uuid
in: path
description: This is a unique identifier for the program that was created using the Create Card Program API.
required: true
example: ''
schema:
type: string
- name: Authorization
in: header
description: This field contains the JWT token that is used to authenticate the user.
required: true
example: ''
schema:
type: string
allowEmptyValue: false
- name: requestUuid
in: header
description: 'A unique id is required to be passed as part of the header whenever a SimpliFi API is called from your
system. This would help us in debugging in case of a discrepancy in the expected behavior of the API.'
required: true
example: ''
schema:
type: string
allowEmptyValue: false
minLength: 20
maxLength: 40
examples:
- 00d366f2-a6e9-4714-b172-02c4e58c29d8
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/FundingSourceBalanceModel'
headers: {}
'400':
description: Access token is missing or invalid
content:
application/json:
schema:
type: object
properties: {}
headers: {}
'401':
description: Access token is missing or invalid
content:
application/json:
schema:
type: object
properties: {}
headers: {}
security:
- bearerAuth: []
operationId: getBalanceOfFundingSource
/v1/card-program/raise-funding:
post:
summary: Raise Funding
deprecated: false
description: 'The Raise Funding endpoint helps in adding or removing funds from a funding source. This API doesn''t
actually move the money between accounts but should be used so that the proof of funds is shared with
the Issuer/Processor Bank. After the proof of funds attachment is verified by the Issuer/Processor
funds would reflect in the respective funding source. Following are the properties of this endpoint.'
tags:
- Funding Source
parameters:
- name: Authorization
in: header
description: This field contains the JWT token that is used to authenticate the user.
required: true
example: ''
schema:
type: string
allowEmptyValue: false
- name: requestUuid
in: header
description: 'A unique id is required to be passed as part of the header whenever a SimpliFi API is called from your
system. This would help us in debugging in case of a discrepancy in the expected behavior of the API.'
required: true
example: ''
schema:
type: string
allowEmptyValue: false
minLength: 20
maxLength: 40
examples:
- 00d366f2-a6e9-4714-b172-02c4e58c29d8
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RaiseFundingRequestModel'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RaiseFundingResponseModel'
headers: {}
'400':
description: Access token is missing or invalid
content:
application/json:
schema:
type: object
properties: {}
headers: {}
'401':
description: Access token is missing or invalid
content:
application/json:
schema:
type: object
properties: {}
headers: {}
security:
- bearerAuth: []
operationId: raiseFunding
/v1/statement:
get:
summary: Funding Source Statement
deprecated: false
description: Get funding source statement based on date range.
tags:
- Funding Source
parameters:
- name: accountId
in: query
description: The account ID of the processor mapping (wallet).
required: true
schema:
type: string
- name: startDate
in: query
description: start date of date-range
required: false
schema:
type: string
format: date
examples:
- '2025-02-28'
- name: endDate
in: query
description: end date date of date-range
required: false
schema:
type: string
format: date
examples:
- '2025-02-28'
- name: sortBy
in: query
description: sort statement column value
required: false
schema:
type: string
- name: sortDir
in: query
description: sort direction
required: false
schema:
type: string
- name: Authorization
in: header
description: This field contains the JWT token that is used to authenticate the user.
required: true
example: ''
schema:
type: string
allowEmptyValue: false
- name: requestUuid
in: header
description: 'A unique id is required to be passed as part of the header whenever a SimpliFi API is called from your
system. This would help us in debugging in case of a discrepancy in the expected behavior of the API.'
required: true
example: ''
schema:
type: string
allowEmptyValue: false
minLength: 20
maxLength: 40
examples:
- 00d366f2-a6e9-4714-b172-02c4e58c29d8
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/StatementResponse'
headers: {}
'401':
description: Access token is missing or invalid
content:
application/json:
schema:
type: object
properties: {}
headers: {}
security:
- bearerAuth: []
operationId: fundingSourceStatement
/v1/funding-source/{thirdPartyId}/rule-group:
post:
summary: Create Rule Group on Funding Account
deprecated: false
description: The 'Create Rule Group' endpoint creates new rule group on the Funding Account.
tags:
- Funding Source
parameters:
- name: thirdPartyId
in: path
description: This is a unique identifier for the Account ID of funding source (wallet)
required: true
example: ''
schema:
type: string
- name: Authorization
in: header
description: This field contains the JWT token that is used to authenticate the user.
required: true
example: ''
schema:
type: string
allowEmptyValue: false
- name: requestUuid
in: header
description: 'A unique id is required to be passed as part of the header whenever a SimpliFi API is called from your
system. This would help us in debugging in case of a discrepancy in the expected behavior of the API.'
required: true
example: ''
schema:
type: string
allowEmptyValue: false
minLength: 20
maxLength: 40
examples:
- 00d366f2-a6e9-4714-b172-02c4e58c29d8
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RuleGroupModel'
responses:
'202':
description: Successful operation.
content:
application/json:
schema:
$ref: '#/components/schemas/RuleGroupModel'
headers: {}
'400':
description: Entity not found with the specified UUID
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
headers: {}
'401':
description: Access token is missing or invalid
content:
application/json:
schema:
type: object
properties: {}
headers: {}
security:
- bearerAuth: []
operationId: createRuleGroupOnFundingAccount
put:
summary: Update Rule Group on Funding Account
deprecated: false
description: The 'Update Rule Group' endpoint updates an existing group on the Funding Account.
tags:
- Funding Source
parameters:
- name: thirdPartyId
in: path
description: This is a unique identifier for the Account ID of funding source (wallet)
required: true
example: ''
schema:
type: string
- name: requestUuid
in: header
description: 'A unique id is required to be passed as part of the header whenever a SimpliFi API is called from your
system. This would help us in debugging in case of a discrepancy in the expected behavior of the API.'
required: true
example: ''
schema:
type: string
allowEmptyValue: false
minLength: 20
maxLength: 40
examples:
- 00d366f2-a6e9-4714-b172-02c4e58c29d8
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RuleGroupModel'
responses:
'202':
description: Successful operation.
content:
application/json:
schema:
$ref: '#/components/schemas/RuleGroupModel'
headers: {}
'400':
description: Entity not found with the specified UUID
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
headers: {}
'401':
description: Access token is missing or invalid
content:
application/json:
schema:
type: object
properties: {}
headers: {}
security:
- bearerAuth: []
operationId: updateRuleGroupOnFundingAccount
delete:
summary: Delete Rule Group on Funding Account
deprecated: false
description: The 'Delete Rule Group' endpoint deletes an existing group on the Funding Account.
tags:
- Funding Source
parameters:
- name: thirdPartyId
in: path
description: This is a unique identifier for the Account ID of funding source (wallet)
required: true
example: ''
schema:
type: string
- name: Authorization
in: header
description: This field contains the JWT token that is used to authenticate the user.
required: true
example: ''
schema:
type: string
allowEmptyValue: false
- name: requestUuid
in: header
description: 'A unique id is required to be passed as part of the header whenever a SimpliFi API is called from your
system. This would help us in debugging in case of a discrepancy in the expected behavior of the API.'
required: true
example: ''
schema:
type: string
allowEmptyValue: false
minLength: 20
maxLength: 40
examples:
- 00d366f2-a6e9-4714-b172-02c4e58c29d8
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RuleGroupModel'
responses:
'202':
description: Successful operation.
content:
application/json:
schema:
$ref: '#/components/schemas/RuleGroupModel'
headers: {}
'400':
description: Entity not found with the specified UUID
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
headers: {}
'401':
description: Access token is missing or invalid
content:
application/json:
schema:
type: object
properties: {}
x--orders: []
x--ignore-properties: []
headers: {}
security:
- bearerAuth: []
operationId: deleteRuleGroupOnFundingAccount
get:
summary: Get Rule Groups on Funding Account
deprecated: false
description: The 'Get Rule Group' endpoint fetches all existing groups on the Funding Account.
tags:
- Funding Source
parameters:
- name: thirdPartyId
in: path
description: This is a unique identifier for the Account ID of funding source (wallet)
required: true
example: ''
schema:
type: string
- name: Authorization
in: header
description: This field contains the JWT token that is used to authenticate the user.
required: true
example: ''
schema:
type: string
allowEmptyValue: false
- name: requestUuid
in: header
description: 'A unique id is required to be passed as part of the header whenever a SimpliFi API is called from your
system. This would help us in debugging in case of a discrepancy in the expected behavior of the API.'
required: true
example: ''
schema:
type: string
allowEmptyValue: false
minLength: 20
maxLength: 40
examples:
- 00d366f2-a6e9-4714-b172-02c4e58c29d8
responses:
'202':
description: Successful operation.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/RuleGroupResponseModel'
headers: {}
'400':
description: Entity not found with the specified UUID
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
headers: {}
'401':
description: Access token is missing or invalid
content:
application/json:
schema:
type: object
properties: {}
headers: {}
security:
- bearerAuth: []
operationId: getRuleGroupsOnFundingAccount
/v1/funding-source/{thirdPartyId}/rule-group/{ruleGroupUuid}:
post:
summary: Appply Rule Group on Funding Account
deprecated: false
description: The 'Apply Rule Group' endpoint applies an existing rule group on the Funding Account.
tags:
- Funding Source
parameters:
- name: thirdPartyId
in: path
description: This is a unique identifier for the Account ID of funding source (wallet)
required: true
example: ''
schema:
type: string
- name: ruleGroupUuid
in: path
description: This is a unique identifier for the Rule Group
required: true
example: ''
schema:
type: string
- name: Authorization
in: header
description: This field contains the JWT token that is used to authenticate the user.
required: true
example: ''
schema:
type: string
allowEmptyValue: false
- name: requestUuid
in: header
description: 'A unique id is required to be passed as part of the header whenever a SimpliFi API is called from your
system. This would help us in debugging in case of a discrepancy in the expected behavior of the API.'
required: true
example: ''
schema:
type: string
allowEmptyValue: false
minLength: 20
maxLength: 40
examples:
- 00d366f2-a6e9-4714-b172-02c4e58c29d8
responses:
'202':
description: accepted.
headers: {}
'400':
description: Entity not found with the specified UUID
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
headers: {}
'401':
description: Access token is missing or invalid
content:
application/json:
schema:
type: object
properties: {}
headers: {}
security:
- bearerAuth: []
operationId: appplyRuleGroupOnFundingAccount
delete:
summary: Remove Rule Group on Funding Account
deprecated: false
description: The 'Remove Rule Group' endpoint removes an existing rule group on the Funding Account.
tags:
- Funding Source
parameters:
- name: thirdPartyId
in: path
description: This is a unique identifier for the Account ID of funding source (wallet)
required: true
example: ''
schema:
type: string
- name: ruleGroupUuid
in: path
description: This is a unique identifier for the Rule Group
required: true
example: ''
schema:
type: string
- name: Authorization
in: header
description: This field contains the JWT token that is used to authenticate the user.
required: true
example: ''
schema:
type: string
allowEmptyValue: false
- name: requestUuid
in: header
description: 'A unique id is required to be passed as part of the header whenever a SimpliFi API is called from your
system. This would help us in debugging in case of a discrepancy in the expected behavior of the API.'
required: true
example: ''
schema:
type: string
allowEmptyValue: false
minLength: 20
maxLength: 40
examples:
- 00d366f2-a6e9-4714-b172-02c4e58c29d8
responses:
'202':
description: accepted.
headers: {}
'400':
description: Entity not found with the specified UUID
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorModel'
headers: {}
'401':
description: Access token is missing or invalid
content:
application/json:
schema:
type: object
properties: {}
headers: {}
security:
- bearerAuth: []
operationId: removeRuleGroupOnFundingAccount
components:
schemas:
StatementResponse:
type: object
properties:
companyName:
type: string
description: Name of the company.
examples:
- SimpliFi
statementDate:
type: string
format: date
description: The date on which the statement is created.
examples:
- '2025-02-28'
accountId:
type: string
description: The account ID of wallet.
examples:
- '885180123'
currency:
type: string
description: The currency in which the amounts are transacted.
examples:
- USD
startDate:
type: string
format: date-time
description: The start date of the date range.
examples:
- '2025-02-28 13:31:00'
endDate:
type: string
format: date-time
description: The end date of the date range.
examples:
- '2025-02-28 13:31:00'
openingBalance:
type: number
format: decimal
description: The opening balance on the account from the start date of the date range.
examples:
- '6.95'
closingBalance:
type: number
format: decimal
description: The closing balance on the account till the end date of the date range.
examples:
- '6.95'
transactions:
type: array
description: The array of transactions.
items:
$ref: '#/components/schemas/StatementResponseDetails'
required:
- companyName
- statementDate
- accountId
- currency
- startDate
- endDate
- openingBalance
- closingBalance
- transactions
RaiseFundingResponseModel:
type: object
properties:
cardProgramUuid:
type: string
description: 'This field contains the system generated unique identifier for the program
that was created using the Create Card Program API.'
examples:
- c83d26ed-f093-4e43-b81b-35884f068d4b
amount:
type: number
format: decimal
description: This field contains the amount that has been requested for fund transfer.
examples:
- '10000.00'
transactionType:
type: string
description: This field contains the type of the transaction either `CREDIT` or `DEBIT`.
enum:
- CREDIT
- DEBIT
examples:
- CREDIT
status:
type: string
description: This field contains the status of the Raise Funding
enum:
- PENDING
- ACKNOWLEDGED
- APPROVED
- NOT_APPROVED
- REJECTED
examples:
- PENDING
required:
- cardProgramUuid
- amount
- transactionType
- status
RuleGroupModel:
type: object
properties:
uuid:
type: string
description: 'This field contains the system generated unique identifier for the rule group
that was created using the Rule Group API.'
examples:
- cceec464-eb26-4fbf-8e91-695f133ced0a
name:
type: string
description: Name of the rule group
examples:
- Rule Group 1
description:
type: string
description: Description of the rule group
examples:
- Rule Group 1 Description
transactionRestrictions:
$ref: '#/components/schemas/RuleGroupTransactionRestrictions'
loadRestrictions:
$ref: '#/components/schemas/RuleGroupLoadRestrictions'
spendRestrictions:
$ref: '#/components/schemas/RuleGroupSpendRestrictions'
required:
- name
TransactionIdParameter:
type: string
description: This is an identifier of the transaction.
examples:
- '6712309'
ErrorModel:
type: object
properties:
errorCode:
type: integer
description: A 5-7 digit number defining the error
examples:
- '99997'
message:
type: string
description: A brief message defining the error
examples:
- General Error
RuleGroupResponseModel:
type: object
properties:
ruleGroup:
$ref: '#/components/schemas/RuleGroupModel'
enabled:
type: boolean
description: This field tells whether the `ruleGroup` is enabled or not
examples:
- 'true'
required:
- ruleGroup
- enabled
RuleGroupTransactionRestrictions:
type: object
description: Details of transaction-related restrictions.
properties:
merchantRules:
$ref: '#/components/schemas/RuleGroupMerchantRules'
required:
- merchantRules
RuleGroupMerchantRules:
type: object
description: Allow or deny merchant category codes.
properties:
allow:
type: boolean
examples:
- 'true'
mcc:
type: array
items:
type: string
mccException:
type: array
items:
type: string
required:
- allow
- mcc
RuleGroupSpendRestrictions:
type: object
description: Details of card spend-related restrictions.
properties:
setLimitPerTxn:
type: number
format: decimal
examples:
- 123.45
velocityDailyLimit:
type: number
format: decimal
examples:
- 3.45
velocityWeeklyLimit:
type: number
format: decimal
examples:
- 23.45
velocityMonthlyLimit:
type: number
format: decimal
examples:
- 123.45
txnCountDaily:
type: number
format: int32
examples:
- 3
txnCountWeekly:
type: number
format: int32
examples:
- 5
txnCountMonthly:
type: number
format: int32
examples:
- 10
FundingSourceRequestModel:
type: object
properties:
fundingSource:
type: string
description: 'This field contains a token that identifies the funding source that is to be linked with
the card program. This information will be shared separately. If you don’t have them
already, click on [this link](https://simplifipay.com/).'
examples:
- '1234567'
required:
- fundingSource
RaiseFundingRequestModel:
type: object
properties:
cardProgramUuid:
type: string
description: 'This field contains the system generated unique identifier for the program
that was created using the Create Card Program API.'
examples:
- c83d26ed-f093-4e43-b81b-35884f068d4b
amount:
type: number
format: decimal
description: This field contains the amount that has been requested for fund transfer.
examples:
- '10000.00'
transactionType:
type: string
description: This field contains the type of the transaction either `CREDIT` or `DEBIT`.
enum:
- CREDIT
- DEBIT
examples:
- CREDIT
documentUploadUuid:
type: string
description: 'This field contains the system generated unique identifier for the document
that was uploaded'
examples:
- e95a7a97-5889-4001-8c40-ed79a8ab6ae9
required:
- cardProgramUuid
- amount
- transactionType
- documentUploadUuid
StatementResponseDetails:
type: object
properties:
fundRequestUuid:
type: string
description: This is a unique identifier of the fund request.
examples:
- 11e082c2-993d-4026-82c4-1234ec464796
transactionId:
$ref: '#/components/schemas/TransactionIdParameter'
transactionDate:
type: string
format: date-time
description: The date on which the transaction was carried out.
examples:
- '2025-02-28 13:31:00'
amount:
type: number
format: decimal
description: The fund amount.
examples:
- '6.95'
fundRequestType:
type: string
description: The type for fund request.
enum:
- LOAD
- UNLOAD
examples:
- LOAD
fundRequestCategory:
type: string
description: The category for fund request.
enum:
- RAISE_FUNDING
- FUND_TRANSFER
- CARD_LOAD
- CARD_UNLOAD
examples:
- RAISE_FUNDING
previousBalance:
type: number
format: decimal
description: The balance on the account before this transaction.
examples:
- '6.95'
currentBalance:
type: number
format: decimal
description: The current balance on the account.
examples:
- '6.95'
maskPan:
type: string
description: The mask pan of the transaction.
examples:
- '************2737'
userName:
type: string
description: The username of the user of this transaction.
examples:
- john.smith@simplifipay.com
userFullName:
type: string
description: The full name of the user of this transaction.
examples:
- John Smith
userUuid:
type: string
description: The UUID of the user of this transaction.
examples:
- 1b2dbfc7-3432-4eb8-9367-fb123dcf2ba0
srcCurrency:
# --- truncated at 32 KB (34 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/simplifi-simplifipay/refs/heads/main/openapi/simplifi-simplifipay-funding-source-api-openapi.yml