Outdoorsy Transactions API
The transactions API from Outdoorsy — 5 operation(s) for transactions.
The transactions API from Outdoorsy — 5 operation(s) for transactions.
openapi: 3.2.0
info:
description: 'The Outdoorsy API (or simply "API") is organized around REST. It uses
predictable, resource-oriented URLs and implements standard HTTP response
codes, verbs, authentication mechanisms, and a variety of request encodings.
## Versioning
The API implements semantic versioning.'
title: Outdoorsy API Documentation Transactions API
version: 0.0.1
servers:
- url: /v0
security:
- Bearer:
- '[]'
- API-Key:
- '[]'
tags:
- name: transactions
paths:
/transactions:
get:
tags:
- transactions
summary: Global read many transactions, across all bookings.
operationId: listTransactions
parameters:
- x-go-name: Scheduled
name: scheduled
in: query
schema:
type: boolean
- x-go-name: From
name: from
in: query
schema:
type: string
- x-go-name: To
name: to
in: query
schema:
type: string
- x-go-name: DepGT
name: deposited_gt
in: query
schema:
type: string
- x-go-name: DepLT
name: deposited_lt
in: query
schema:
type: string
- x-go-name: CreatedGT
x-go-type: github.com/outdoorsy/api/clocks.RfcTime
name: created_gt
in: query
schema:
type: string
- x-go-name: CreatedLT
x-go-type: github.com/outdoorsy/api/clocks.RfcTime
name: created_lt
in: query
schema:
type: string
- x-go-name: Type
name: type
in: query
schema:
type: string
- x-go-name: Limit
name: limit
in: query
schema:
type: integer
format: int64
- x-go-name: Offset
name: offset
in: query
schema:
type: integer
format: int64
- x-go-name: Brand
name: brand
in: query
schema:
type: string
- x-go-name: LocationIDs
name: location_ids
in: query
schema:
type: string
- x-go-name: RentalIDs
name: rental_ids
in: query
schema:
type: string
- x-go-name: SortBy
name: sort_by
in: query
schema:
type: string
- x-go-name: SortDir
name: sort_dir
in: query
schema:
type: string
- x-go-name: PaymentSource
name: payment_source
in: query
schema:
type: string
- x-go-name: Status
name: status
in: query
schema:
type: string
- x-go-name: ProcessorSettlementID
name: processor_settlement_id
in: query
schema:
type: string
- x-go-name: PaymentProcessorIDs
name: payment_processor_ids
in: query
schema:
type: string
- x-go-name: ActualDepGT
name: actual_deposited_gt
in: query
schema:
type: string
- x-go-name: ActualDepLT
name: actual_deposited_lt
in: query
schema:
type: string
- x-go-name: CSVToken
name: csv-token
in: query
schema:
type: string
- x-go-name: CSV
name: csv
in: query
schema:
type: boolean
- x-go-name: Simple
name: simple
in: query
schema:
type: boolean
- x-go-name: IncludeFailed
name: include_failed
in: query
schema:
type: boolean
- x-go-name: IncludeIncomplete
name: include_incomplete
in: query
schema:
type: boolean
responses:
'200':
$ref: '#/components/responses/transactionsResponse'
'400':
$ref: '#/components/responses/badRequestError'
'401':
$ref: '#/components/responses/unauthorizedError'
'404':
$ref: '#/components/responses/notFoundError'
default:
$ref: '#/components/responses/genericError'
/transactions/batch-events:
get:
description: List batch events
tags:
- transactions
operationId: getBatchEvents
parameters:
- $ref: '#/components/schemas/Date'
x-go-name: DateLowerBound
name: date_lower_bound
in: query
- $ref: '#/components/schemas/Date'
x-go-name: DateUpperBound
name: date_upper_bound
in: query
- x-go-name: PaymentProcessorIDs
name: payment_processor_ids
in: query
schema:
type: string
- x-go-name: Limit
name: limit
in: query
schema:
type: integer
format: int64
- x-go-name: Offset
name: offset
in: query
schema:
type: integer
format: int64
- x-go-name: OK
name: ok
in: query
schema:
type: boolean
responses:
'200':
$ref: '#/components/responses/batchEventsResponse'
'400':
$ref: '#/components/responses/badRequestError'
'401':
$ref: '#/components/responses/unauthorizedError'
'404':
$ref: '#/components/responses/notFoundError'
default:
$ref: '#/components/responses/genericError'
/transactions/batches/{batch_id}/details:
get:
description: List batch events
tags:
- transactions
operationId: getBatchDetails
responses:
'200':
$ref: '#/components/responses/batchDetailsResponse'
'400':
$ref: '#/components/responses/badRequestError'
'401':
$ref: '#/components/responses/unauthorizedError'
'404':
$ref: '#/components/responses/notFoundError'
default:
$ref: '#/components/responses/genericError'
/transactions/deposits:
get:
description: Grouped deposits report
tags:
- transactions
operationId: getGroupedDeposits
parameters:
- x-go-name: CSVToken
name: csv-token
in: query
schema:
type: string
- x-go-name: DateGT
name: date_gt
in: query
schema:
type: string
- x-go-name: DateLT
name: date_lt
in: query
schema:
type: string
- x-go-name: CSV
name: csv
in: query
schema:
type: boolean
- x-go-name: PaymentProcessorIDs
name: payment_processor_ids
in: query
schema:
type: string
- x-go-name: BookingID
name: booking_id
in: query
schema:
type: integer
format: int64
responses:
'200':
$ref: '#/components/responses/groupedDepositsResponse'
'400':
$ref: '#/components/responses/badRequestError'
'401':
$ref: '#/components/responses/unauthorizedError'
'404':
$ref: '#/components/responses/notFoundError'
default:
$ref: '#/components/responses/genericError'
/transactions/deposits/details:
get:
description: Details for requested transfers
tags:
- transactions
operationId: getDepositDetails
parameters:
- x-go-name: TransferIDs
name: transfer_ids
in: query
required: true
schema:
type: string
responses:
'200':
$ref: '#/components/responses/depositDetailsResponse'
'400':
$ref: '#/components/responses/badRequestError'
'401':
$ref: '#/components/responses/unauthorizedError'
'404':
$ref: '#/components/responses/notFoundError'
default:
$ref: '#/components/responses/genericError'
components:
schemas:
PaymentProcessorName:
type: string
x-go-package: github.com/outdoorsy/api/controller/broker
DBIntSlice:
description: DBIntSlice is a []int with database conversion methods
type: array
items:
type: integer
format: int64
x-go-package: github.com/outdoorsy/api/utils
DepositInfo:
type: object
properties:
amount:
type: integer
format: int64
x-go-name: Amount
date:
type: string
processor_settlement_id:
type: string
x-go-name: ProcessorSettlementID
transaction_ids:
$ref: '#/components/schemas/DBIntSlice'
x-go-package: github.com/outdoorsy/api/model
PaymentProcessor:
description: 'Typically this object is composed into a struct, but embedded into the
same table using the `db:",embed"` struct tag.'
type: object
title: 'PaymentProcessor is a struct defining identifiers so objects can know which
payment processor should be used when communicating with a payment processor.'
properties:
country:
type: string
x-go-name: Country
external_processor:
type: string
x-go-name: ExternalProcessor
external_processor_id:
type: string
x-go-name: ExternalProcessorID
name:
$ref: '#/components/schemas/PaymentProcessorName'
x-go-package: github.com/outdoorsy/api/model
BatchEventContents:
type: object
properties:
payout_ids:
type: array
items:
type: string
x-go-name: PayoutIDs
reversal_ids:
type: array
items:
type: string
x-go-name: ReversalIDs
withdrawal_ids:
type: array
items:
type: string
x-go-name: WithdrawalIDs
x-go-package: github.com/outdoorsy/api/model
DepositDetail:
type: object
properties:
amount:
type: integer
format: int64
x-go-name: Amount
bank_last_four:
type: string
x-go-name: BankLastFour
bank_name:
type: string
x-go-name: BankName
booking_id:
type: integer
format: int64
x-go-name: BookingID
date:
type: string
location_name:
type: string
x-go-name: LocationName
processor_settlement_id:
type: string
x-go-name: ProcessorSettlementID
renter_name:
type: string
x-go-name: RenterName
transaction_type:
type: string
x-go-name: TransactionType
x-go-package: github.com/outdoorsy/api/model
BatchEventWithFundInfo:
type: object
properties:
bank_last_four:
type: string
x-go-name: BankLastFour
bank_name:
type: string
x-go-name: BankName
batch_id:
type: string
x-go-name: BatchID
contents:
$ref: '#/components/schemas/BatchEventContents'
created:
$ref: '#/components/schemas/Date'
fund_id:
type: string
x-go-name: FundID
net:
type: integer
format: int64
x-go-name: Net
result:
type: string
x-go-name: Result
result_human_readable:
type: string
x-go-name: ResultHumanReadable
total_payouts:
type: integer
format: int64
x-go-name: TotalPayouts
total_withdrawals:
type: integer
format: int64
x-go-name: TotalWithdrawals
type:
type: string
x-go-name: Type
type_human_readable:
type: string
x-go-name: TypeHumanReadable
x-go-package: github.com/outdoorsy/api/model
Transaction:
type: object
properties:
actual_deposit_date:
type: string
adjustment:
type: integer
format: uint64
x-go-name: Adjustment
amount:
type: integer
format: uint64
x-go-name: Amount
auto_deposit:
type: boolean
x-go-name: AutoDeposit
available:
description: Available tells us when the funds are expected to have cleared the bank
type: string
x-go-name: Available
x-go-type: github.com/outdoorsy/api/clocks.RfcTime
booking_id:
type: integer
format: int64
brand:
type: string
x-go-name: Brand
can_delete:
type: boolean
x-go-name: CanDelete
can_finance_sync:
type: boolean
x-go-name: CanFinanceSync
can_refund:
type: boolean
x-go-name: CanRefund
can_retry:
type: boolean
x-go-name: CanRetry
can_reverse_transfer:
type: boolean
x-go-name: CanReverseTransfer
can_sync:
type: boolean
x-go-name: CanSync
can_transfer:
type: boolean
x-go-name: CanTransfer
cc_fee:
type: integer
format: uint64
x-go-name: CCFee
charged:
type: string
created:
type: string
x-go-name: Created
x-go-type: github.com/outdoorsy/api/clocks.RfcTime
created_by_id:
type: integer
format: int64
x-go-name: CreatedByID
deposit_date:
type: string
description:
type: string
x-go-name: Description
display_charge_type:
type: string
x-go-name: DisplayChargeType
display_payment_processor_name:
type: string
x-go-name: DisplayPaymentProcessorName
display_type:
type: string
x-go-name: DisplayType
dispute_reason:
type:
- string
- 'null'
dispute_status:
type:
- string
- 'null'
disputed:
type: boolean
x-go-name: Disputed
expected_deposit_date:
type: string
failed:
type: boolean
x-go-name: Failed
fraudulent:
type: boolean
x-go-name: Fraudulent
fx_fee:
description: DEPRECATED - DO NOT USE
type: integer
format: uint64
x-go-name: FXFee
id:
type: integer
format: int64
x-go-name: ID
is_refund:
type: boolean
x-go-name: IsRefund
last_four:
type: string
x-go-name: LastFour
original_charge_id:
$ref: '#/components/schemas/Transaction'
our_fee:
type: integer
format: uint64
x-go-name: OurFee
outdoorsy_fee:
type: integer
format: uint64
x-go-name: RenterIntegrationsFee
owner_federal_withholding_tax:
type: integer
format: uint64
x-go-name: OwnerFederalWithholdingTax
owner_fee:
type: integer
format: uint64
x-go-name: OwnerFee
owner_integrations_fee:
type:
- integer
- 'null'
format: int64
owner_quebec_sales_tax:
type: integer
format: uint64
x-go-name: OwnerQuebecSalesTax
paid:
type: boolean
x-go-name: Paid
payment_meta:
$ref: '#/components/schemas/DBInterfaceMap'
payment_processor:
$ref: '#/components/schemas/PaymentProcessor'
payment_source:
type: string
x-go-name: PaymentSource
processor_settlement_id:
type:
- string
- 'null'
recipient_id:
type: integer
format: int64
x-go-name: RecipientID
refund_source:
type: string
x-go-name: RefundSource
refunded:
type: integer
format: uint64
x-go-name: Refunded
refunded_cc_fee:
type: integer
format: uint64
x-go-name: RefundedCCFee
refunded_fee:
type: integer
format: uint64
x-go-name: RefundedFee
refunded_fx_fee:
type: integer
format: uint64
x-go-name: RefundedFXFee
refunded_outdoorsy_fee:
type: integer
format: uint64
x-go-name: RefundedRenterIntegrationsFee
refunded_owner_federal_withholding_tax:
type: integer
format: uint64
x-go-name: RefundedOwnerFederalWithholdingTax
refunded_owner_fee:
type: integer
format: uint64
x-go-name: RefundedOwnerFee
refunded_owner_integrations_fee:
type:
- integer
- 'null'
format: int64
refunded_owner_quebec_sales_tax:
type: integer
format: uint64
x-go-name: RefundedOwnerQuebecSalesTax
refunded_service_fee:
type: integer
format: uint64
x-go-name: RefundedServiceFee
retry_payout_id:
$ref: '#/components/schemas/Transaction'
sales_tax:
type: integer
format: uint64
x-go-name: SalesTax
service_fee:
type: integer
format: uint64
x-go-name: ServiceFee
status:
type: string
x-go-name: Status
stripe_fee:
type: integer
format: int64
x-go-name: Fee
stripe_fee_refund:
type: integer
format: uint64
x-go-name: StripeFeeRefund
stripe_id:
type: string
x-go-name: StripeID
transfer:
$ref: '#/components/schemas/Transaction'
type:
type: string
x-go-name: Type
x-go-package: github.com/outdoorsy/api/model
DBInterfaceMap:
description: DBInterfaceMap is a map[string]interface{} with database conversion methods
type: object
additionalProperties: {}
x-go-package: github.com/outdoorsy/api/utils
Date:
type: object
x-go-package: github.com/outdoorsy/api/pkg/time/date
responses:
notFoundError:
description: Not found error
badRequestError:
description: Invalid input or state means you're bad
headers:
Error:
schema:
type: string
transactionsResponse:
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Transaction'
groupedDepositsResponse:
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/DepositInfo'
batchEventsResponse:
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/BatchEventWithFundInfo'
depositDetailsResponse:
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/DepositDetail'
unauthorizedError:
description: Unauthorized error
genericError:
description: An unknown, unexpected error.
securitySchemes:
API-Key:
type: apiKey
name: API-Key
in: header
Bearer:
type: apiKey
name: Authorization
in: header