# Transactions

***

## Get transaction history

> Get paginated list of transactions

```json
{"openapi":"3.1.1","info":{"title":"ByteNite wallet API","version":"0.1"},"tags":[{"name":"Wallet"}],"servers":[{"url":"https://api.bytenite.com/v1/wallet"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","description":"Your ByteNite access token","name":"Authorization","in":"header"}},"schemas":{"walletTransactionHistoryResponse":{"type":"object","properties":{"pagination":{"$ref":"#/components/schemas/commonPaginatedResponse"},"data":{"type":"array","items":{"$ref":"#/components/schemas/bytenitewalletTransaction"}}}},"commonPaginatedResponse":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of transactions available."},"offset":{"type":"integer","format":"int64","description":"The starting position of the current page of results, starting from 0."},"hasPrevious":{"type":"boolean","description":"A boolean value (True/False) indicating whether there's a previous page of results. False if the current page is the first page."},"hasNext":{"type":"boolean","description":"A boolean value indicating whether there's a next page of results."}},"description":"This section provides information about how the results are divided into pages."},"bytenitewalletTransaction":{"type":"object","properties":{"id":{"type":"string","description":"A unique identifier for this specific transaction."},"createdAt":{"type":"string","format":"date-time","description":"The date and time when the transaction was created."},"accountFrom":{"type":"string","description":"The identifier of the account the transaction originated from."},"accountTo":{"type":"string","description":"The identifier of the account the transaction was sent to (e.g., stripe-main, our payment processor)."},"amount":{"type":"number","format":"double","description":"The cost in ByteChips of the transaction."},"transactionType":{"type":"string","description":"A classification of the transaction type."},"relatedEntity":{"$ref":"#/components/schemas/commonEntity","description":"This section provides information about any entity connected to the transaction."},"notes":{"type":"string","description":"Any additional notes or comments related to the transaction."},"transactionData":{"$ref":"#/components/schemas/protobufAny","description":"Extra data associated with the transaction."},"hash":{"type":"string","description":"A cryptographic hash of the transaction for security and verification."},"relatedEntityData":{"$ref":"#/components/schemas/walletRelatedEntityData","description":"Provides more detailed data about the related entity."},"description":{"type":"string","description":"A human-readable description of the transaction."},"balance":{"type":"number","format":"double","description":"The remaining balance after the transaction."}}},"commonEntity":{"type":"object","properties":{"type":{"type":"string","description":"The type of the entity. This is a string that represents the type of the entity, such as \"user\", \"device\", etc."},"id":{"type":"string","description":"The unique identifier for the entity. This is a string that represents the unique identifier of the entity."},"name":{"type":"string","description":"The name of the related entity."}},"description":"This message represents a generic entity with a type and an ID. It can be used to represent different types of entities in the system."},"protobufAny":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"walletRelatedEntityData":{"type":"object","properties":{"type":{"type":"string","description":"The type of related entity."},"id":{"type":"string","description":"The unique identifier for the related entity."},"name":{"type":"string","description":"The name of the related entity."},"jobName":{"type":"string","description":"For type = payment, The name of the job associated with the payment."},"jobId":{"type":"string","description":"The ID of the job associated with the payment."},"description":{"type":"string","description":"For type = topup, A description of the top-up transaction."},"currency":{"type":"string","description":"The currency used in the top-up."},"currencyAmount":{"type":"string","format":"int64","description":"The amount in the specified currency."},"exchangeRate":{"type":"number","format":"double","description":"The exchange rate applied to the transaction."},"couponCode":{"type":"string","description":"For type = coupon, The coupon code applied to the transaction."},"jobTemplate":{"type":"string","description":"The job template id associated with the corresponding job."}}},"rpcStatus":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"details":{"type":"array","items":{"$ref":"#/components/schemas/protobufAny"}}}}}},"paths":{"/transactions":{"get":{"summary":"Get transaction history","description":"Get paginated list of transactions","operationId":"Wallet_GetTransactionList","responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/walletTransactionHistoryResponse"}},"application/x-protobuf":{"schema":{"$ref":"#/components/schemas/walletTransactionHistoryResponse"}}}},"400":{"description":"Returned when the users sends a malformed request.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"401":{"description":"Returned when the user is not authenticated.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"403":{"description":"Returned when the user does not have permission to access the resource.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"404":{"description":"Returned when the resource does not exist.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"500":{"description":"Returned when an error on the server occurred.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"503":{"description":"Returned when the resource is temporarily unavailable.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"default":{"description":"An unexpected error response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpcStatus"}},"application/x-protobuf":{"schema":{"$ref":"#/components/schemas/rpcStatus"}}}}},"parameters":[{"schema":{"type":"integer","format":"int64"},"name":"pagination.limit","description":"Number of rows to return per page.","in":"query","required":false},{"schema":{"type":"integer","format":"int64"},"name":"pagination.offset","description":"Number of rows to skip before starting to collect the result set.","in":"query","required":false},{"schema":{"type":"string"},"name":"orderBy","in":"query","required":false}],"tags":["Wallet"]}}}}
```

***

## Get transaction history with filters

> post paginated list of transactions with filters

```json
{"openapi":"3.1.1","info":{"title":"ByteNite wallet API","version":"0.1"},"tags":[{"name":"Wallet"}],"servers":[{"url":"https://api.bytenite.com/v1/wallet"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","description":"Your ByteNite access token","name":"Authorization","in":"header"}},"schemas":{"walletTransactionHistoryResponse":{"type":"object","properties":{"pagination":{"$ref":"#/components/schemas/commonPaginatedResponse"},"data":{"type":"array","items":{"$ref":"#/components/schemas/bytenitewalletTransaction"}}}},"commonPaginatedResponse":{"type":"object","properties":{"total":{"type":"integer","format":"int64","description":"The total number of transactions available."},"offset":{"type":"integer","format":"int64","description":"The starting position of the current page of results, starting from 0."},"hasPrevious":{"type":"boolean","description":"A boolean value (True/False) indicating whether there's a previous page of results. False if the current page is the first page."},"hasNext":{"type":"boolean","description":"A boolean value indicating whether there's a next page of results."}},"description":"This section provides information about how the results are divided into pages."},"bytenitewalletTransaction":{"type":"object","properties":{"id":{"type":"string","description":"A unique identifier for this specific transaction."},"createdAt":{"type":"string","format":"date-time","description":"The date and time when the transaction was created."},"accountFrom":{"type":"string","description":"The identifier of the account the transaction originated from."},"accountTo":{"type":"string","description":"The identifier of the account the transaction was sent to (e.g., stripe-main, our payment processor)."},"amount":{"type":"number","format":"double","description":"The cost in ByteChips of the transaction."},"transactionType":{"type":"string","description":"A classification of the transaction type."},"relatedEntity":{"$ref":"#/components/schemas/commonEntity","description":"This section provides information about any entity connected to the transaction."},"notes":{"type":"string","description":"Any additional notes or comments related to the transaction."},"transactionData":{"$ref":"#/components/schemas/protobufAny","description":"Extra data associated with the transaction."},"hash":{"type":"string","description":"A cryptographic hash of the transaction for security and verification."},"relatedEntityData":{"$ref":"#/components/schemas/walletRelatedEntityData","description":"Provides more detailed data about the related entity."},"description":{"type":"string","description":"A human-readable description of the transaction."},"balance":{"type":"number","format":"double","description":"The remaining balance after the transaction."}}},"commonEntity":{"type":"object","properties":{"type":{"type":"string","description":"The type of the entity. This is a string that represents the type of the entity, such as \"user\", \"device\", etc."},"id":{"type":"string","description":"The unique identifier for the entity. This is a string that represents the unique identifier of the entity."},"name":{"type":"string","description":"The name of the related entity."}},"description":"This message represents a generic entity with a type and an ID. It can be used to represent different types of entities in the system."},"protobufAny":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"walletRelatedEntityData":{"type":"object","properties":{"type":{"type":"string","description":"The type of related entity."},"id":{"type":"string","description":"The unique identifier for the related entity."},"name":{"type":"string","description":"The name of the related entity."},"jobName":{"type":"string","description":"For type = payment, The name of the job associated with the payment."},"jobId":{"type":"string","description":"The ID of the job associated with the payment."},"description":{"type":"string","description":"For type = topup, A description of the top-up transaction."},"currency":{"type":"string","description":"The currency used in the top-up."},"currencyAmount":{"type":"string","format":"int64","description":"The amount in the specified currency."},"exchangeRate":{"type":"number","format":"double","description":"The exchange rate applied to the transaction."},"couponCode":{"type":"string","description":"For type = coupon, The coupon code applied to the transaction."},"jobTemplate":{"type":"string","description":"The job template id associated with the corresponding job."}}},"rpcStatus":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"details":{"type":"array","items":{"$ref":"#/components/schemas/protobufAny"}}}},"wallet_apiGetAllTransactionsRequest":{"type":"object","properties":{"pagination":{"$ref":"#/components/schemas/commonLimitOffsetPagination"},"filters":{"type":"array","items":{"$ref":"#/components/schemas/commonFilter"}},"orderBy":{"type":"string"}}},"commonLimitOffsetPagination":{"type":"object","properties":{"limit":{"type":"integer","format":"int64","description":"Number of rows to return per page."},"offset":{"type":"integer","format":"int64","description":"Number of rows to skip before starting to collect the result set."}}},"commonFilter":{"type":"object","properties":{"field":{"type":"string","description":"The field to apply the filter on"},"condition":{"$ref":"#/components/schemas/commonFilterCondition","description":"The condition to apply"},"value":{"type":"object","$ref":"#/components/schemas/protobufAny","description":"The value to filter on. Can be any type."}}},"commonFilterCondition":{"type":"string","enum":["FILTER_CONDITION_EQ","FILTER_CONDITION_NEQ","FILTER_CONDITION_GT","FILTER_CONDITION_GTE","FILTER_CONDITION_LT","FILTER_CONDITION_LTE","FILTER_CONDITION_ARRAY_CONTAINS","FILTER_CONDITION_ARRAY_CONTAINS_ANY","FILTER_CONDITION_IN","FILTER_CONDITION_NOT_IN","FILTER_CONDITION_LIKE"],"default":"FILTER_CONDITION_EQ"}}},"paths":{"/transactions/filter":{"post":{"summary":"Get transaction history with filters","description":"post paginated list of transactions with filters","operationId":"Wallet_PostTransactionListFilter","responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/walletTransactionHistoryResponse"}},"application/x-protobuf":{"schema":{"$ref":"#/components/schemas/walletTransactionHistoryResponse"}}}},"400":{"description":"Returned when the users sends a malformed request.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"401":{"description":"Returned when the user is not authenticated.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"403":{"description":"Returned when the user does not have permission to access the resource.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"404":{"description":"Returned when the resource does not exist.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"500":{"description":"Returned when an error on the server occurred.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"503":{"description":"Returned when the resource is temporarily unavailable.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"default":{"description":"An unexpected error response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpcStatus"}},"application/x-protobuf":{"schema":{"$ref":"#/components/schemas/rpcStatus"}}}}},"tags":["Wallet"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/wallet_apiGetAllTransactionsRequest"}},"application/x-protobuf":{"schema":{"$ref":"#/components/schemas/wallet_apiGetAllTransactionsRequest"}}},"required":true}}}}}
```

***

## Get transaction history as CSV

> Get CSV of all transactions

```json
{"openapi":"3.1.1","info":{"title":"ByteNite wallet API","version":"0.1"},"tags":[{"name":"Wallet"}],"servers":[{"url":"https://api.bytenite.com/v1/wallet"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","description":"Your ByteNite access token","name":"Authorization","in":"header"}},"schemas":{"walletTransactionHistoryCsvResponse":{"type":"object","properties":{"csv":{"type":"string"}}},"rpcStatus":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"details":{"type":"array","items":{"$ref":"#/components/schemas/protobufAny"}}}},"protobufAny":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}}}},"paths":{"/transactions/csv":{"get":{"summary":"Get transaction history as CSV","description":"Get CSV of all transactions","operationId":"Wallet_GetTransactionsCsv","responses":{"200":{"description":"A successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/walletTransactionHistoryCsvResponse"}},"application/x-protobuf":{"schema":{"$ref":"#/components/schemas/walletTransactionHistoryCsvResponse"}}}},"400":{"description":"Returned when the users sends a malformed request.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"401":{"description":"Returned when the user is not authenticated.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"403":{"description":"Returned when the user does not have permission to access the resource.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"404":{"description":"Returned when the resource does not exist.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"500":{"description":"Returned when an error on the server occurred.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"503":{"description":"Returned when the resource is temporarily unavailable.","content":{"application/json":{"schema":{}},"application/x-protobuf":{"schema":{}}}},"default":{"description":"An unexpected error response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpcStatus"}},"application/x-protobuf":{"schema":{"$ref":"#/components/schemas/rpcStatus"}}}}},"tags":["Wallet"]}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.bytenite.com/api-reference/wallet-api/transactions.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
