# Trustap API

The Trustap API is a REST-based API for managing user data and
transactions for Trustap users.

Note that, like Stripe, all API `price` and `charge` fields expect
amounts to be provided in a currency's smallest unit. See [the Stripe
documentation](https://stripe.com/docs/currencies#zero-decimal) for more
details.

API Keys
--------

Some endpoints such as `/charge` endpoints can be accessed directly
using an API key. API keys are provided as the "username" portion of a
basic auth authentication. For example, the Trustap fee for a new online
transaction can be determined using the following cURL request with an
API key:

``` bash
curl -u '<api_key>': 'https://dev.stage.trustap.com/api/v1/charge?currency=eur&price=1234'
```

Deprecation
-----------

Deprecated endpoints are tagged with the word `DEPRECATED` at the start
of their description. The deprecation message will describe what
endpoints/approach should be used instead.

Note that deprecated endpoints will not be removed from the current
version of the API, but their use is discouraged. Furthermore, migrating
to later major versions of the API will be made easier by avoiding
deprecated endpoints.

Production
----------

This documentation references the staging environment of the Trustap
API, which is available at `https://dev.stage.trustap.com` and uses the
`trustap-stage` realm during authentication. This environment can be
used for implementing and testing features using test credit cards, bank
accounts, etc.

When all features using Trustap have been implemented and tested
sufficiently, the production environment of the Trustap API can be used
to process actual currency. This environment is available at
`https://dev.trustap.com` and uses the `trustap` realm during
authentication.

Note that only your client ID will be the same in the staging and
production Trustap API environments; your client secret and API key will
be different in the two environments.


Version: 0.1.0

## Servers

```
https://dev.stage.trustap.com
```

## Security

### APIKey

Type: http
Scheme: basic

### OAuth2

Type: oauth2
Authorization URL: https://sso.trustap.com/auth/realms/trustap-stage/protocol/openid-connect/auth
Token URL: https://sso.trustap.com/auth/realms/trustap-stage/protocol/openid-connect/token
Scopes:
- `basic_ls:offline_accept_listing`: This client may accept Online listings on the user's behalf
while the user is offline.

- `basic_ls:offline_create`: This client may create Online listings for the user while the
user is offline.

- `basic_tx:offline_accept_payment`: This client may accept payments for Online transactions on the
user's behalf while the user is offline.

- `basic_tx:offline_cancel`: This client may cancel Online transactions on the user's behalf
while the user is offline.

- `basic_tx:offline_claim`: This client may claim Online transactions on the user's behalf
while the user is offline.

- `basic_tx:offline_complain`: This client may submit complaints for Online transactions on the
user's behalf while the user is offline.

- `basic_tx:offline_create_join`: This client may create and join Online transactions on the
user's behalf while the user is offline.

- `basic_tx:offline_track`: This client may submit tracking information for Online
transactions on the user's behalf while the user is offline.

- `openid`: This client is making an OpenID Connect request.

- `p2p_ls:offline_create`: This client may create F2F listings for the user while the user
is offline.

- `p2p_ls:offline_update`: This client may update F2F listings on the user's behalf while
the user is offline.

- `p2p_tx:offline_accept_deposit`: This client may accept deposits for F2F transactions on the
user's behalf while the user is offline.

- `p2p_tx:offline_cancel`: This client may cancel F2F transactions on the user's behalf
while the user is offline.

- `p2p_tx:offline_claim`: This client may claim F2F transactions on the user's behalf
while the user is offline.

- `p2p_tx:offline_complain`: This client may submit complaints for F2F transactions on the
user's behalf while the user is offline.

- `p2p_tx:offline_confirm_handover`: This client may confirm handovers for F2F transactions on the
user's behalf while the user is offline.

- `p2p_tx:offline_create_join`: This client may create and join F2F transactions on the user's
behalf while the user is offline.

- `p2p_tx:offline_set_price`: This client may set the price for F2F transactions on the user's
behalf while the user is offline.

- `profile`: This client may access the user's default profile claims: `name`,
`family_name`, `given_name`, `middle_name`, `nickname`,
`preferred_username`, `profile`, `picture`, `website`, `gender`,
`birthdate`, `zoneinfo`, `locale`, and `updated_at`.


## Download OpenAPI description

 - [Trustap API](https://docs.trustap.com/_bundle/apis/@v1.0/openapi.yaml)

## Buyers and Sellers

 - [POST /api/v1/guest_users](https://docs.trustap.com/apis/v1.0/openapi/buyers-and-sellers/users.createguestuser.md): This endpoint creates guest user which can be used as the buyer or the seller. If guest user is used as the seller in a transaction, they need to be created with `country_code` parameter correctly set
 - [GET /api/v1/me/balances](https://docs.trustap.com/apis/v1.0/openapi/buyers-and-sellers/users.getbalances.md)
 - [GET /api/v1/me/features](https://docs.trustap.com/apis/v1.0/openapi/buyers-and-sellers/users.getuserfeatures.md)
 - [POST /api/v1/me/features/instant_payouts](https://docs.trustap.com/apis/v1.0/openapi/buyers-and-sellers/users.setinstantpayouts.md)
 - [GET /api/v1/me/payouts](https://docs.trustap.com/apis/v1.0/openapi/buyers-and-sellers/users.getpayouts.md)
## Clients

 - [GET /api/v1/client/supported_registration_countries](https://docs.trustap.com/apis/v1.0/openapi/clients/client.getsupportedregistrationcountries.md)
 - [GET /api/v1/clients/{client_id}/timelines](https://docs.trustap.com/apis/v1.0/openapi/clients/basic_client.gettimelinesforclient.md)
 - [GET /api/v1/p2p/clients/{client_id}/timelines](https://docs.trustap.com/apis/v1.0/openapi/clients/p2p_client.gettimelinesforclient.md)
## Personal

 - [GET /api/v1/me/account_session](https://docs.trustap.com/apis/v1.0/openapi/personal/personal.getaccountsession.md)
 - [GET /api/v1/me/instant_payout_balance](https://docs.trustap.com/apis/v1.0/openapi/personal/personal.getinstantpayoutbalance.md)
 - [GET /api/v1/me/payout_attempts](https://docs.trustap.com/apis/v1.0/openapi/personal/personal.getpayoutattempts.md): Payout attempts are returned in reverse chronological order - the first attempt in the returned array will be the most recent payout attempt.
 - [GET /api/v1/me/personal/additional_identity_document/verification_status](https://docs.trustap.com/apis/v1.0/openapi/personal/getadditionalidentitydocumentverificationstatus.md)
 - [GET /api/v1/me/personal/additional_identity_document_back/verification_status](https://docs.trustap.com/apis/v1.0/openapi/personal/getadditionalidentitydocumentbackverificationstatus.md)
 - [GET /api/v1/me/personal/details](https://docs.trustap.com/apis/v1.0/openapi/personal/personal.getdetails.md)
 - [PATCH /api/v1/me/personal/details](https://docs.trustap.com/apis/v1.0/openapi/personal/personal.setdetails.md)
 - [GET /api/v1/me/personal/identity_document/verification_status](https://docs.trustap.com/apis/v1.0/openapi/personal/getidentitydocumentverificationstatus.md)
 - [GET /api/v1/me/personal/identity_document_back/verification_status](https://docs.trustap.com/apis/v1.0/openapi/personal/getidentitydocumentbackverificationstatus.md)
 - [GET /api/v1/me/personal/stripe_publishable_key](https://docs.trustap.com/apis/v1.0/openapi/personal/getstripepublishablekeyforuser.md): Returns the Publishable Key for the Stripe Platform which the user is linked to.
 - [GET /api/v1/me/profile/payout_status](https://docs.trustap.com/apis/v1.0/openapi/personal/getprofilepayoutstatus.md): This endpoint requires the user identified by the `Trustap-User` header to have granted the `profile` scope to the client that is performing the request. Offline access is allowed for this endpoint wh
 - [POST /api/v1/me/stripe_financial_connections/add_account](https://docs.trustap.com/apis/v1.0/openapi/personal/personal.addstripefinancialconnectionsaccount.md)
 - [GET /api/v1/me/stripe_financial_connections/ownership](https://docs.trustap.com/apis/v1.0/openapi/personal/personal.getstripefinancialconnectionsownership.md)
 - [POST /api/v1/me/stripe_financial_connections/prepare_account](https://docs.trustap.com/apis/v1.0/openapi/personal/personal.preparestripefinancialconnectionsaccount.md)
 - [GET /api/v1/me/verification_method](https://docs.trustap.com/apis/v1.0/openapi/personal/personal.getverificationmethod.md)
 - [GET /api/v1/me/verification_session](https://docs.trustap.com/apis/v1.0/openapi/personal/personal.getverificationsession.md): Offline access is allowed for this endpoint when the user has granted the `profile` scope to the client that is performing the request.
 - [GET /api/v1/me/verification_session_native](https://docs.trustap.com/apis/v1.0/openapi/personal/personal.getverificationsessionnative.md): Creates verification session for native apps that use Stripe native SDK, and returns it's `Verification Session ID` with appropriate `Ephemeral Key`. Offline access is allowed for this endpoint when t
 - [GET /api/v1/me/verification_status](https://docs.trustap.com/apis/v1.0/openapi/personal/personal.getverificationstatus.md): Offline access is allowed for this endpoint when the user has granted the `profile` scope to the client that is performing the request.
## Online Transactions

 - [GET /api/v1/batch/transactions](https://docs.trustap.com/apis/v1.0/openapi/online-transactions/basic.gettransactionsbyids.md): This endpoint takes a required `ids` parameter that contains a comma-separated list of transaction IDs, and returns the transactions corresponding to those IDs. A maximum of 50 IDs may be provided, re
 - [GET /api/v1/me/transactions](https://docs.trustap.com/apis/v1.0/openapi/online-transactions/basic.gettransactions.md): Transactions are currently sorted by ID.
 - [POST /api/v1/me/transactions](https://docs.trustap.com/apis/v1.0/openapi/online-transactions/basic.createtransaction.md): A request to this endpoint must be preceded by a call to `/charge` with the price of the goods specified in `price`.
 - [POST /api/v1/me/transactions/create_and_join](https://docs.trustap.com/apis/v1.0/openapi/online-transactions/basic.createandjointransaction.md): This endpoint is an optimised call that allows a transaction to be created and joined in a single request. It requires the user identified by `join_user_id` to have granted the `basic_tx:offline_creat
 - [POST /api/v1/me/transactions/create_with_guest_user](https://docs.trustap.com/apis/v1.0/openapi/online-transactions/basic.createtransactionwithguestuser.md): This endpoint is an optimised call that allows a transaction to be created and joined in a single request. It requires the online user to have granted the `basic_tx:offline_create_join` scope to the c
 - [GET /api/v1/transactions](https://docs.trustap.com/apis/v1.0/openapi/online-transactions/basic.gettransactionbyjoincode.md)
 - [PUT /api/v1/transactions](https://docs.trustap.com/apis/v1.0/openapi/online-transactions/basic.jointransaction.md): A transaction can't be joined using its ID, because only the buyer and seller of a transaction can access a transaction using its ID.
 - [GET /api/v1/transactions/{transaction_id}](https://docs.trustap.com/apis/v1.0/openapi/online-transactions/basic.gettransaction.md)
 - [POST /api/v1/transactions/{transaction_id}/claim_for_buyer](https://docs.trustap.com/apis/v1.0/openapi/online-transactions/basic.claimtransactionforbuyer.md): This endpoint enables a client to claim an online transaction on behalf of a buyer. This endpoint is only accessible for a client.
 - [POST /api/v1/transactions/{transaction_id}/claim_for_seller](https://docs.trustap.com/apis/v1.0/openapi/online-transactions/basic.claimtransactionforseller.md): This endpoint enables a client to claim an online transaction on behalf of a seller. This endpoint is only accessible for a client.
 - [POST /api/v1/transactions/{transaction_id}/submit_order_issue](https://docs.trustap.com/apis/v1.0/openapi/online-transactions/basic.submitorderissue.md)
 - [POST /api/v1/transactions_by_claim_secret/{secret}/claim_as_buyer](https://docs.trustap.com/apis/v1.0/openapi/online-transactions/basic.claimasbuyer.md): This endpoint allows a full user to claim for a transaction as buyer given a claim secret.
 - [POST /api/v1/transactions_by_claim_secret/{secret}/claim_as_seller](https://docs.trustap.com/apis/v1.0/openapi/online-transactions/basic.claimtransactionasseller.md): This endpoint allows a full user to claim a transaction as seller given a claim secret.
## Online Payment

 - [GET /api/v1/charge](https://docs.trustap.com/apis/v1.0/openapi/online-payment/basic.getcharge.md): This returns the Trustap fee, in the `currency`'s smallest unit, for a transaction involving goods with the supplied `price`. See [the Stripe documentation](https://stripe.com/docs/currencies#zero-dec
 - [PATCH /api/v1/transactions/{transaction_id}](https://docs.trustap.com/apis/v1.0/openapi/online-payment/updatetransaction.md)
 - [POST /api/v1/transactions/{transaction_id}/accept_payment](https://docs.trustap.com/apis/v1.0/openapi/online-payment/basic.acceptpayment.md): This endpoint lets the seller accept payment and is accessible only if the seller has granted a feature `require_seller_acceptance`. Offline access is allowed for this endpoint when the user has grant
 - [POST /api/v1/transactions/{transaction_id}/accept_payment_with_guest_seller](https://docs.trustap.com/apis/v1.0/openapi/online-payment/basic.acceptpaymentwithguestseller.md): This endpoint allows payment acceptance for the seller specified in the header as `Trustap-User`.
 - [GET /api/v1/transactions/{transaction_id}/bank_transfer_details](https://docs.trustap.com/apis/v1.0/openapi/online-payment/basic.getbanktransferdetails.md)
 - [GET /api/v1/transactions/{transaction_id}/charge](https://docs.trustap.com/apis/v1.0/openapi/online-payment/basic.getchargefortransaction.md): This returns the Trustap fee, in the `currency`'s smallest unit, for a transaction involving goods with the supplied `price`. See [the Stripe documentation](https://stripe.com/docs/currencies#zero-dec
 - [POST /api/v1/transactions/{transaction_id}/set_payment_method](https://docs.trustap.com/apis/v1.0/openapi/online-payment/basic.setpaymentmethodfortransaction.md): Different payment methods incur different rates, so the payment method to be used for a transaction must be set before the payment is made. This requires retrieving the charge associated with the paym
## Online Shipping

 - [POST /api/v1/shippo_shipping_rates](https://docs.trustap.com/apis/v1.0/openapi/online-shipping/basic.getshipposhippingrates.md): This returns the list of Shippo shipping rates available for the addreses provided i.e sender's address and recipient's address.
 - [GET /api/v1/supported_carriers](https://docs.trustap.com/apis/v1.0/openapi/online-shipping/getsupportedcarriers.md): This returns the carriers that are currently supported for automated tracking in the online model. The carrier `name` should be shown to users but the `code` should be submitted to the `/track` endpoi
 - [POST /api/v1/transactions/{transaction_id}/confirm_delivery](https://docs.trustap.com/apis/v1.0/openapi/online-shipping/basic.confirmdelivery.md): This endpoint allows the buyer to manually confirm the delivery of the item in the case that the state of the transaction was not updated asynchronously by Trustap.
 - [POST /api/v1/transactions/{transaction_id}/confirm_delivery_with_guest_buyer](https://docs.trustap.com/apis/v1.0/openapi/online-shipping/basic.confirmdeliverywithguestbuyer.md): This endpoint allows the client to manually confirm the delivery on behalf of the guest buyer specified in the header as `Trustap-User`.
 - [POST /api/v1/transactions/{transaction_id}/extend_tracking_deadline](https://docs.trustap.com/apis/v1.0/openapi/online-shipping/basic.extendtrackingdeadlinefortransaction.md): This endpoint allows the buyer to extend the tracking details submission deadline for the seller.
 - [POST /api/v1/transactions/{transaction_id}/generate_shipment_label](https://docs.trustap.com/apis/v1.0/openapi/online-shipping/basic.generateshipmentlabel.md): This endpoint returns a PDF containing the label for the transaction's parcel. Both sender and recipient details have to be submitted before making a call to this endpoint.
 - [GET /api/v1/transactions/{transaction_id}/shipping_details](https://docs.trustap.com/apis/v1.0/openapi/online-shipping/basic.getshippingdetailsfromtransaction.md)
 - [POST /api/v1/transactions/{transaction_id}/shipping_details](https://docs.trustap.com/apis/v1.0/openapi/online-shipping/basic.setshippingdetails.md)
 - [POST /api/v1/transactions/{transaction_id}/shippo_address](https://docs.trustap.com/apis/v1.0/openapi/online-shipping/basic.setshippoaddress.md)
 - [POST /api/v1/transactions/{transaction_id}/shippo_customs_declaration](https://docs.trustap.com/apis/v1.0/openapi/online-shipping/basic.setshippocustomsdeclaration.md)
 - [POST /api/v1/transactions/{transaction_id}/shippo_parcel_details](https://docs.trustap.com/apis/v1.0/openapi/online-shipping/basic.setshippoparceldetails.md)
 - [GET /api/v1/transactions/{transaction_id}/shippo_shipping_label](https://docs.trustap.com/apis/v1.0/openapi/online-shipping/basic.getshipposhippinglabel.md)
 - [POST /api/v1/transactions/{transaction_id}/shippo_shipping_rate](https://docs.trustap.com/apis/v1.0/openapi/online-shipping/basic.setshipposhippingrate.md): Set Shippo shipping rate for the transaction. This rate will be used to purchase the Shippo label once the transaction is paid. Shipment ID can be provided as an optional parameter, depending on the f
 - [GET /api/v1/transactions/{transaction_id}/shippo_shipping_rates](https://docs.trustap.com/apis/v1.0/openapi/online-shipping/basic.getshipposhippingratesfortransaction.md)
 - [POST /api/v1/transactions/{transaction_id}/track](https://docs.trustap.com/apis/v1.0/openapi/online-shipping/basic.tracktransaction.md): After the tracking information has been submitted then the state of the transaction will be updated asynchronously by Trustap once the delivery of the item has been confirmed, at which point the `deli
 - [POST /api/v1/transactions/{transaction_id}/track_with_guest_seller](https://docs.trustap.com/apis/v1.0/openapi/online-shipping/basic.tracktransactionwithguestseller.md): Add tracking details for the guest seller specified in the header as `Trustap-User`.
## Online Complaint

 - [POST /api/v1/transactions/{transaction_id}/accept_complaint](https://docs.trustap.com/apis/v1.0/openapi/online-complaint/basic.acceptcomplaint.md)
 - [POST /api/v1/transactions/{transaction_id}/complain_with_description](https://docs.trustap.com/apis/v1.0/openapi/online-complaint/basic.submitcomplaintwithdescription.md)
 - [POST /api/v1/transactions/{transaction_id}/complain_with_guest_buyer](https://docs.trustap.com/apis/v1.0/openapi/online-complaint/basic.submitcomplaintwithguestbuyer.md)
 - [POST /api/v1/transactions/{transaction_id}/end_complaint_period](https://docs.trustap.com/apis/v1.0/openapi/online-complaint/basic.endcomplaintperiod.md)
## Online Cancel

 - [POST /api/v1/transactions/{transaction_id}/cancel](https://docs.trustap.com/apis/v1.0/openapi/online-cancel/basic.canceltransaction.md): Transaction can be cancelled until it's paid or if the feature `RequireSellerAcceptance` is present, it can be cancelled until it's tracked. Offline access is allowed for this endpoint when the user h
 - [POST /api/v1/transactions/{transaction_id}/cancel_with_guest_user](https://docs.trustap.com/apis/v1.0/openapi/online-cancel/basic.canceltransactionwithguestuser.md): This endpoint cancels a transaction for the user specified in the header as `Trustap-User`. Transaction can be cancelled until it's paid or if the feature `RequireSellerAcceptance` is present, it can
## Online Buyer/Seller Details

 - [GET /api/v1/transactions/{transaction_id}/billing_details](https://docs.trustap.com/apis/v1.0/openapi/online-buyerseller-details/basic.getbillingdetails.md)
 - [GET /api/v1/transactions/{transaction_id}/buyer_details](https://docs.trustap.com/apis/v1.0/openapi/online-buyerseller-details/basic.getbuyerdetails.md)
 - [GET /api/v1/transactions/{transaction_id}/seller_details](https://docs.trustap.com/apis/v1.0/openapi/online-buyerseller-details/basic.getsellerdetails.md)
 - [GET /api/v1/transactions/{transaction_id}/stripe_client_secret](https://docs.trustap.com/apis/v1.0/openapi/online-buyerseller-details/getstripeclientsecretfortransaction.md): This endpoint is used for the asynchronous payment flow using Stripe. The `client_secret` returned from this endpoint should be passed to [stripe.confirmCardPayment](https://stripe.com/docs/stripe-js/
 - [GET /api/v1/transactions/{transaction_id}/stripe_publishable_key](https://docs.trustap.com/apis/v1.0/openapi/online-buyerseller-details/basic.getstripepublishablekeyfortransaction.md): Returns the Publishable Key for the Stripe Platform which is hosting this transaction.
## F2F Transactions

 - [GET /api/v1/p2p/batch/transactions](https://docs.trustap.com/apis/v1.0/openapi/f2f-transactions/p2p.gettransactionsbyids.md): This endpoint takes a required `ids` parameter that contains a comma-separated list of transaction IDs, and returns the transactions corresponding to those IDs. A maximum of 50 IDs may be provided, an
 - [GET /api/v1/p2p/me/transactions](https://docs.trustap.com/apis/v1.0/openapi/f2f-transactions/p2p.gettransactions.md): Transactions are currently sorted by ID.
 - [POST /api/v1/p2p/me/transactions](https://docs.trustap.com/apis/v1.0/openapi/f2f-transactions/p2p.createtransaction.md): Note that this endpoint is similar to `POST /me/transactions` but takes `deposit_price` and `deposit_charge` fields instead of the `price` and `charge` fields. Offline access is allowed for this endpo
 - [POST /api/v1/p2p/me/transactions/create_and_join](https://docs.trustap.com/apis/v1.0/openapi/f2f-transactions/p2p.createandjointransaction.md): This endpoint is an optimised call that allows a transaction to be created and joined in a single request. It requires the user identified by `join_user_id` to have granted the `p2p_tx:offline_create_
 - [POST /api/v1/p2p/me/transactions/create_with_guest_user](https://docs.trustap.com/apis/v1.0/openapi/f2f-transactions/p2p.createtransactionwithguestuser.md): This endpoint is an optimised call that allows a transaction to be created and joined in a single request. It requires the online user to have granted the `p2p_tx:offline_create_join` scope to the cli
 - [GET /api/v1/p2p/transactions/{transaction_id}](https://docs.trustap.com/apis/v1.0/openapi/f2f-transactions/p2p.gettransaction.md)
 - [GET /api/v1/p2p/transactions/{transaction_id}/charge](https://docs.trustap.com/apis/v1.0/openapi/f2f-transactions/p2p.getchargefortransaction.md): This returns the Trustap fee, in the `currency`'s smallest unit, for a transaction involving goods with the supplied `price`. See [the Stripe documentation](https://stripe.com/docs/currencies#zero-dec
 - [POST /api/v1/p2p/transactions/{transaction_id}/claim_for_buyer](https://docs.trustap.com/apis/v1.0/openapi/f2f-transactions/p2p.claimtransactionforbuyer.md): This endpoint enables a client to claim a face-to-face transaction on behalf of a buyer. This endpoint is only accessible for a client.
 - [POST /api/v1/p2p/transactions/{transaction_id}/claim_for_seller](https://docs.trustap.com/apis/v1.0/openapi/f2f-transactions/p2p.claimtransactionforseller.md): This endpoint enables a client to claim a face-to-face transaction on behalf of a seller. This endpoint is only accessible for a client.
 - [POST /api/v1/p2p/transactions/{transaction_id}/join_with_guest](https://docs.trustap.com/apis/v1.0/openapi/f2f-transactions/p2p.joinwithguest.md)
 - [GET /api/v1/p2p/transactions/{transaction_id}/metadata](https://docs.trustap.com/apis/v1.0/openapi/f2f-transactions/p2p.gettransactionmetadata.md): DEPRECATED Metadata is now always included in the transaction object returned by `GET /api/v1/p2p/transactions/{transaction_id}`.
 - [POST /api/v1/p2p/transactions/{transaction_id}/metadata](https://docs.trustap.com/apis/v1.0/openapi/f2f-transactions/p2p.settransactionmetadata.md)
 - [POST /api/v1/p2p/transactions_by_claim_secret/{secret}/claim_as_buyer](https://docs.trustap.com/apis/v1.0/openapi/f2f-transactions/p2p.claimasbuyer.md): This endpoint allows a full user to claim a transaction as buyer given a claim secret.
 - [POST /api/v1/p2p/transactions_by_claim_secret/{secret}/claim_as_seller](https://docs.trustap.com/apis/v1.0/openapi/f2f-transactions/p2p.claimtransactionasseller.md): This endpoint allows a full user to claim a transaction as seller given a claim secret.
 - [GET /api/v1/p2p/transactions_by_join_code/{join_code}](https://docs.trustap.com/apis/v1.0/openapi/f2f-transactions/p2p.gettransactionbyjoincode.md)
 - [POST /api/v1/p2p/transactions_by_join_code/{join_code}/join](https://docs.trustap.com/apis/v1.0/openapi/f2f-transactions/p2p.jointransactionbyjoincode.md): This endpoint allows a user to join a transaction provided a join code. Offline access is allowed for this endpoint when the user has granted the `p2p_tx:offline_create_join` scope to the client that
## F2F Payment

 - [GET /api/v1/p2p/charge](https://docs.trustap.com/apis/v1.0/openapi/f2f-payment/p2p.getcharge.md): This returns the Trustap fee, in the `currency`'s smallest unit, for a transaction involving goods with the supplied `price`. See [the Stripe documentation](https://stripe.com/docs/currencies#zero-dec
 - [PATCH /api/v1/p2p/transactions/{transaction_id}](https://docs.trustap.com/apis/v1.0/openapi/f2f-payment/p2p.updatetransaction.md)
 - [POST /api/v1/p2p/transactions/{transaction_id}/accept_deposit](https://docs.trustap.com/apis/v1.0/openapi/f2f-payment/p2p.acceptdeposit.md): Offline access is allowed for this endpoint when the user has granted the `p2p_tx:offline_accept_deposit` scope to the client that is performing the request.
 - [POST /api/v1/p2p/transactions/{transaction_id}/accept_deposit_with_guest_seller](https://docs.trustap.com/apis/v1.0/openapi/f2f-payment/p2p.acceptdepositwithguestseller.md)
 - [GET /api/v1/p2p/transactions/{transaction_id}/bank_transfer_details](https://docs.trustap.com/apis/v1.0/openapi/f2f-payment/p2p.getbanktransferdetails.md)
 - [GET /api/v1/p2p/transactions/{transaction_id}/deposit_stripe_client_secret](https://docs.trustap.com/apis/v1.0/openapi/f2f-payment/p2p.getdepositstripeclientsecretfortransaction.md): This endpoint is used for the asynchronous payment flow using Stripe. The `client_secret` returned from this endpoint should be passed to [stripe.confirmCardPayment](https://stripe.com/docs/stripe-js/
 - [POST /api/v1/p2p/transactions/{transaction_id}/set_deposit_payment_method](https://docs.trustap.com/apis/v1.0/openapi/f2f-payment/p2p.setdepositpaymentmethod.md): Set deposit payment method for face-to-face transaction. Values can be `card`, `bank_transfer`, `p24`, and `fpx`.
 - [POST /api/v1/p2p/transactions/{transactionId}/set_price](https://docs.trustap.com/apis/v1.0/openapi/f2f-payment/setpriceforp2ptransaction.md): `price` is the total price of the item, and thus includes the price already paid for the deposit. Note that this endpoint will return a `remainder_too_low` response if the difference between the total
 - [POST /api/v1/p2p/transactions/{transactionId}/skip_remainder](https://docs.trustap.com/apis/v1.0/openapi/f2f-payment/skipremainderforp2ptransaction.md): This will skip the remainder payment of this transaction, and the total price of the transaction will not need to be set. Note that this must be done before the total price of the transaction is set u
## F2F Handover

 - [POST /api/v1/p2p/transactions/{transaction_id}/confirm_handover](https://docs.trustap.com/apis/v1.0/openapi/f2f-handover/p2p.confirmhandover.md): Both parties should confirm the handover for a face-to-face transaction. The complaints period begins when the seller confirms the handover. Offline access is allowed for this endpoint when the user h
 - [POST /api/v1/p2p/transactions/{transaction_id}/confirm_handover_with_guest_user](https://docs.trustap.com/apis/v1.0/openapi/f2f-handover/p2p.confirmhandoverwithguestuserfortransaction.md): Both parties should confirm the handover for a face-to-face transaction. Full users don't have access to this endpoint.
## F2F Complaint

 - [POST /api/v1/p2p/transactions/{transaction_id}/accept_complaint](https://docs.trustap.com/apis/v1.0/openapi/f2f-complaint/p2p.acceptcomplaint.md)
 - [POST /api/v1/p2p/transactions/{transaction_id}/complain](https://docs.trustap.com/apis/v1.0/openapi/f2f-complaint/p2p.submitcomplaint.md): Offline access is allowed for this endpoint when the user has granted the `p2p_tx:offline_complain` scope to the client that is performing the request.
 - [POST /api/v1/p2p/transactions/{transaction_id}/complain_with_guest_buyer](https://docs.trustap.com/apis/v1.0/openapi/f2f-complaint/p2p.submitcomplaintwithguestbuyer.md)
 - [POST /api/v1/p2p/transactions/{transaction_id}/end_complaint_period](https://docs.trustap.com/apis/v1.0/openapi/f2f-complaint/p2p.endcomplaintperiod.md)
 - [POST /api/v1/p2p/transactions/{transaction_id}/end_complaint_period_with_guest_buyer](https://docs.trustap.com/apis/v1.0/openapi/f2f-complaint/p2p.endcomplaintperiodwithguestbuyer.md)
## F2F Cancel

 - [POST /api/v1/p2p/transactions/{transaction_id}/cancel_with_description](https://docs.trustap.com/apis/v1.0/openapi/f2f-cancel/p2p.cancelwithdescription.md): If a transaction is cancelled after the deposit has been paid then the deposit (excluding the Trustap fee) will be returned to the buyer. Offline access is allowed for this endpoint when the user has
 - [POST /api/v1/p2p/transactions/{transaction_id}/cancel_with_description_with_guest_user](https://docs.trustap.com/apis/v1.0/openapi/f2f-cancel/p2p.cancelp2ptransactionwithdescriptionasguest.md): If a transaction is cancelled after the deposit has been paid then the deposit (excluding the Trustap fee) will be returned to the buyer.
## F2F Buyer/Seller Details

 - [GET /api/v1/p2p/transactions/{transaction_id}/billing_details](https://docs.trustap.com/apis/v1.0/openapi/f2f-buyerseller-details/p2p.getbillingdetails.md)
 - [GET /api/v1/p2p/transactions/{transaction_id}/buyer_details](https://docs.trustap.com/apis/v1.0/openapi/f2f-buyerseller-details/p2p.getbuyerdetails.md)
 - [GET /api/v1/p2p/transactions/{transaction_id}/seller_details](https://docs.trustap.com/apis/v1.0/openapi/f2f-buyerseller-details/p2p.getsellerdetailsfortransaction.md)
 - [GET /api/v1/p2p/transactions/{transaction_id}/stripe_publishable_key](https://docs.trustap.com/apis/v1.0/openapi/f2f-buyerseller-details/p2p.getstripepublishablekeyfortransaction.md): Returns the Publishable Key for the Stripe Platform which is hosting this transaction.
## F2F Shipping

 - [POST /api/v1/p2p/transactions/{transaction_id}/confirm_delivery](https://docs.trustap.com/apis/v1.0/openapi/f2f-shipping/p2p.confirmdelivery.md): This endpoint allows the buyer to manually confirm the delivery of the item in the case that the state of the transaction was not updated asynchronously by Trustap.
 - [POST /api/v1/p2p/transactions/{transaction_id}/confirm_delivery_with_guest_buyer](https://docs.trustap.com/apis/v1.0/openapi/f2f-shipping/p2p.confirmdeliverywithguestbuyer.md): This endpoint allows the client to manually confirm the delivery on behalf of the guest buyer specified in the header as `Trustap-User`.
## Trustap Lite

 - [POST /api/v1/p2p/listings/create_with_seller](https://docs.trustap.com/apis/v1.0/openapi/trustap-lite/p2p.createlistingwithseller.md)
## Notifications

 - [GET /api/v1/me/notifications](https://docs.trustap.com/apis/v1.0/openapi/notifications/app_notifs.getnotifications.md)
 - [GET /api/v1/notifications/{notification_id}](https://docs.trustap.com/apis/v1.0/openapi/notifications/app_notifs.getnotification.md)
 - [POST /api/v1/notifications/{notification_id}/mark_as_read](https://docs.trustap.com/apis/v1.0/openapi/notifications/app_notifs.marknotificationasread.md)
## F2F Multi-use Listings

## F2F Single-use Listings

