openapi: 3.1.0
info:
title: Accounting subpackage_transactions API
version: 1.0.0
servers:
- url: https://api.merge.dev/api
- url: https://api-eu.merge.dev/api
- url: https://api-ap.merge.dev/api
tags:
- name: subpackage_transactions
paths:
/accounting/v1/transactions:
get:
operationId: list
summary: List
description: Returns a list of `Transaction` objects.{/* BEGIN_ACCOUNTING_TRANSACTION_FETCH_SUPPORTED_FIELDS */}{/* END_ACCOUNTING_TRANSACTION_FETCH_SUPPORTED_FIELDS */}
tags:
- subpackage_transactions
parameters:
- name: company_id
in: query
description: If provided, will only return accounting transactions for this company.
required: false
schema:
type: string
- name: created_after
in: query
description: If provided, will only return objects created after this datetime.
required: false
schema:
type: string
format: date-time
- name: created_before
in: query
description: If provided, will only return objects created before this datetime.
required: false
schema:
type: string
format: date-time
- name: cursor
in: query
description: The pagination cursor value.
required: false
schema:
type: string
- name: expand
in: query
description: Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces.
required: false
schema:
type: array
items:
$ref: '#/components/schemas/TransactionsGetParametersExpandSchemaItems'
- name: include_deleted_data
in: query
description: Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/).
required: false
schema:
type: boolean
- name: include_remote_data
in: query
description: Whether to include the original data Merge fetched from the third-party to produce these models.
required: false
schema:
type: boolean
- name: include_shell_data
in: query
description: Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null).
required: false
schema:
type: boolean
- name: modified_after
in: query
description: If provided, only objects synced by Merge after this date time will be returned.
required: false
schema:
type: string
format: date-time
- name: modified_before
in: query
description: If provided, only objects synced by Merge before this date time will be returned.
required: false
schema:
type: string
format: date-time
- name: page_size
in: query
description: Number of results to return per page. The maximum limit is 100.
required: false
schema:
type: integer
- name: remote_id
in: query
description: The API provider's ID for the given object.
required: false
schema:
type: string
- name: transaction_date_after
in: query
description: If provided, will only return objects created after this datetime.
required: false
schema:
type: string
format: date-time
- name: transaction_date_before
in: query
description: If provided, will only return objects created before this datetime.
required: false
schema:
type: string
format: date-time
- name: Authorization
in: header
description: Token-based authentication with required prefix "Bearer"
required: true
schema:
type: string
- name: X-Account-Token
in: header
description: Token identifying the end user.
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedTransactionList'
/accounting/v1/transactions/{id}:
get:
operationId: retrieve
summary: Retrieve
description: Returns a `Transaction` object with the given `id`.{/* BEGIN_ACCOUNTING_TRANSACTION_FETCH_SUPPORTED_FIELDS */}{/* END_ACCOUNTING_TRANSACTION_FETCH_SUPPORTED_FIELDS */}
tags:
- subpackage_transactions
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
- name: expand
in: query
description: Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces.
required: false
schema:
type: array
items:
$ref: '#/components/schemas/TransactionsIdGetParametersExpandSchemaItems'
- name: include_remote_data
in: query
description: Whether to include the original data Merge fetched from the third-party to produce these models.
required: false
schema:
type: boolean
- name: include_shell_data
in: query
description: Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null).
required: false
schema:
type: boolean
- name: Authorization
in: header
description: Token-based authentication with required prefix "Bearer"
required: true
schema:
type: string
- name: X-Account-Token
in: header
description: Token identifying the end user.
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Transaction'
components:
schemas:
TransactionsIdGetParametersExpandSchemaItems:
type: string
enum:
- account
- accounting_period
- company
- contact
- line_items
- tracking_categories
title: TransactionsIdGetParametersExpandSchemaItems
Transaction:
type: object
properties:
id:
type: string
format: uuid
remote_id:
type:
- string
- 'null'
description: The third-party API ID of the matching object.
created_at:
type: string
format: date-time
description: The datetime that this object was created by Merge.
modified_at:
type: string
format: date-time
description: The datetime that this object was modified by Merge.
transaction_type:
type:
- string
- 'null'
description: The type of transaction, which can by any transaction object not already included in Merge’s common model.
number:
type:
- string
- 'null'
description: The transaction's number used for identifying purposes.
transaction_date:
type:
- string
- 'null'
format: date-time
description: The date upon which the transaction occurred.
account:
type:
- string
- 'null'
format: uuid
description: The transaction's account.
contact:
type:
- string
- 'null'
format: uuid
description: The contact to whom the transaction relates to.
inclusive_of_tax:
type:
- boolean
- 'null'
description: If the transaction is inclusive or exclusive of tax. `True` if inclusive, `False` if exclusive.
total_amount:
type:
- string
- 'null'
format: decimal
description: The total amount being paid after taxes.
currency:
oneOf:
- $ref: '#/components/schemas/TransactionCurrencyEnum'
- type: 'null'
description: The transaction's currency. The currency code in ISO 4217 format.
exchange_rate:
type:
- string
- 'null'
format: decimal
description: The transaction's exchange rate.
company:
type:
- string
- 'null'
format: uuid
description: The company the transaction belongs to.
tracking_categories:
type: array
items:
type: string
format: uuid
line_items:
type: array
items:
$ref: '#/components/schemas/TransactionLineItem'
remote_was_deleted:
type: boolean
description: Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/).
accounting_period:
type:
- string
- 'null'
format: uuid
description: The accounting period that the Transaction was generated in.
field_mappings:
oneOf:
- $ref: '#/components/schemas/TransactionFieldMappings'
- type: 'null'
remote_data:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/RemoteData'
description: '# The Transaction Object
### Description
The `Transaction` common model includes records of all types of transactions that do not appear in other common models. The type of transaction can be identified through the type field. More specifically, it will contain all types of transactions outside of:
* __Credit Notes__
* __Expenses__
* __Invoices__
* __Journal Entries__
* __Payments__
* __Purchase Orders__
* __Vendor Credits__
### Usage Example
Fetch from the `GET Transaction` endpoint and view a company''s transactions.'
title: Transaction
TransactionsGetParametersExpandSchemaItems:
type: string
enum:
- account
- accounting_period
- company
- contact
- line_items
- tracking_categories
title: TransactionsGetParametersExpandSchemaItems
TransactionCurrencyEnum:
type: string
enum:
- XUA
- AFN
- AFA
- ALL
- ALK
- DZD
- ADP
- AOA
- AOK
- AON
- AOR
- ARA
- ARS
- ARM
- ARP
- ARL
- AMD
- AWG
- AUD
- ATS
- AZN
- AZM
- BSD
- BHD
- BDT
- BBD
- BYN
- BYB
- BYR
- BEF
- BEC
- BEL
- BZD
- BMD
- BTN
- BOB
- BOL
- BOV
- BOP
- BAM
- BAD
- BAN
- BWP
- BRC
- BRZ
- BRE
- BRR
- BRN
- BRB
- BRL
- GBP
- BND
- BGL
- BGN
- BGO
- BGM
- BUK
- BIF
- XPF
- KHR
- CAD
- CVE
- KYD
- XAF
- CLE
- CLP
- CLF
- CNX
- CNY
- CNH
- COP
- COU
- KMF
- CDF
- CRC
- HRD
- HRK
- CUC
- CUP
- CYP
- CZK
- CSK
- DKK
- DJF
- DOP
- NLG
- XCD
- DDM
- ECS
- ECV
- EGP
- GQE
- ERN
- EEK
- ETB
- EUR
- XBA
- XEU
- XBB
- XBC
- XBD
- FKP
- FJD
- FIM
- FRF
- XFO
- XFU
- GMD
- GEK
- GEL
- DEM
- GHS
- GHC
- GIP
- XAU
- GRD
- GTQ
- GWP
- GNF
- GNS
- GYD
- HTG
- HNL
- HKD
- HUF
- IMP
- ISK
- ISJ
- INR
- IDR
- IRR
- IQD
- IEP
- ILS
- ILP
- ILR
- ITL
- JMD
- JPY
- JOD
- KZT
- KES
- KWD
- KGS
- LAK
- LVL
- LVR
- LBP
- LSL
- LRD
- LYD
- LTL
- LTT
- LUL
- LUC
- LUF
- MOP
- MKD
- MKN
- MGA
- MGF
- MWK
- MYR
- MVR
- MVP
- MLF
- MTL
- MTP
- MRU
- MRO
- MUR
- MXV
- MXN
- MXP
- MDC
- MDL
- MCF
- MNT
- MAD
- MAF
- MZE
- MZN
- MZM
- MMK
- NAD
- NPR
- ANG
- TWD
- NZD
- NIO
- NIC
- NGN
- KPW
- NOK
- OMR
- PKR
- XPD
- PAB
- PGK
- PYG
- PEI
- PEN
- PES
- PHP
- XPT
- PLN
- PLZ
- PTE
- GWE
- QAR
- XRE
- RHD
- RON
- ROL
- RUB
- RUR
- RWF
- SVC
- WST
- SAR
- RSD
- CSD
- SCR
- SLL
- XAG
- SGD
- SKK
- SIT
- SBD
- SOS
- ZAR
- ZAL
- KRH
- KRW
- KRO
- SSP
- SUR
- ESP
- ESA
- ESB
- XDR
- LKR
- SHP
- XSU
- SDD
- SDG
- SDP
- SRD
- SRG
- SZL
- SEK
- CHF
- SYP
- STN
- STD
- TVD
- TJR
- TJS
- TZS
- XTS
- THB
- XXX
- TPE
- TOP
- TTD
- TND
- TRY
- TRL
- TMT
- TMM
- USD
- USN
- USS
- UGX
- UGS
- UAH
- UAK
- AED
- UYW
- UYU
- UYP
- UYI
- UZS
- VUV
- VES
- VEB
- VEF
- VND
- VNN
- CHE
- CHW
- XOF
- YDD
- YER
- YUN
- YUD
- YUM
- YUR
- ZWN
- ZRN
- ZRZ
- ZMW
- ZMK
- ZWD
- ZWR
- ZWL
description: The currency code in ISO 4217 format.
title: TransactionCurrencyEnum
TransactionFieldMappings:
type: object
properties:
organization_defined_targets:
type: object
additionalProperties:
description: Any type
linked_account_defined_targets:
type: object
additionalProperties:
description: Any type
title: TransactionFieldMappings
RemoteData:
type: object
properties:
path:
type: string
description: The third-party API path that is being called.
data:
description: The data returned from the third-party for this object in its original, unnormalized format.
required:
- path
description: '# The RemoteData Object
### Description
The `RemoteData` object is used to represent the full data pulled from the third-party API for an object.
### Usage Example
TODO'
title: RemoteData
TransactionLineItem:
type: object
properties:
id:
type: string
format: uuid
remote_id:
type:
- string
- 'null'
description: The third-party API ID of the matching object.
created_at:
type: string
format: date-time
description: The datetime that this object was created by Merge.
modified_at:
type: string
format: date-time
description: The datetime that this object was modified by Merge.
memo:
type:
- string
- 'null'
description: An internal note used by the business to clarify purpose of the transaction.
unit_price:
type:
- string
- 'null'
format: decimal
description: The line item's unit price.
quantity:
type:
- string
- 'null'
format: decimal
description: The line item's quantity.
item:
type:
- string
- 'null'
format: uuid
account:
type:
- string
- 'null'
format: uuid
description: The line item's account.
tracking_category:
type:
- string
- 'null'
format: uuid
description: The line's associated tracking category.
tracking_categories:
type: array
items:
type: string
format: uuid
description: The transaction line item's associated tracking categories.
total_line_amount:
type:
- string
- 'null'
format: decimal
description: The line item's total.
tax_rate:
type:
- string
- 'null'
format: uuid
description: The tax rate that applies to this line item.
currency:
oneOf:
- $ref: '#/components/schemas/TransactionCurrencyEnum'
- type: 'null'
description: The line item's currency. The currency code in ISO 4217 format.
exchange_rate:
type:
- string
- 'null'
format: decimal
description: The line item's exchange rate.
company:
type:
- string
- 'null'
format: uuid
description: The company the line belongs to.
remote_was_deleted:
type: boolean
description: Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/).
description: '# The TransactionLineItem Object
### Description
The `TransactionLineItem` object is used to represent a transaction''s line items.
### Usage Example
Fetch from the `GET TransactionLineItem` endpoint and view the transaction''s line items.'
title: TransactionLineItem
PaginatedTransactionList:
type: object
properties:
next:
type:
- string
- 'null'
previous:
type:
- string
- 'null'
results:
type: array
items:
$ref: '#/components/schemas/Transaction'
title: PaginatedTransactionList
securitySchemes:
tokenAuth:
type: http
scheme: bearer
description: Token-based authentication with required prefix "Bearer"