# List items GET https://api-sandbox.payabli.com/api/Query/lineitems/{entry} Retrieves a list of line items and their details from an entrypoint. Line items are also known as items, products, and services. Use filters to limit results. Reference: https://docs.payabli.com/developers/api-reference/lineitem/get-list-of-items-for-entrypoint ## OpenAPI Specification ```yaml openapi: 3.1.1 info: title: Get list of items for entrypoint version: endpoint_lineItem.ListLineItems paths: /Query/lineitems/{entry}: get: operationId: list-line-items summary: Get list of items for entrypoint description: >- Retrieves a list of line items and their details from an entrypoint. Line items are also known as items, products, and services. Use filters to limit results. tags: - - subpackage_lineItem parameters: - name: entry in: path description: >- The paypoint's entrypoint identifier. [Learn more](/developers/api-reference/api-overview#entrypoint-vs-entry) required: true schema: type: string - name: fromRecord in: query description: >- The number of records to skip before starting to collect the result set. required: false schema: type: integer default: 0 - name: limitRecord in: query description: >- Max number of records to return for the query. Use `0` or negative value to return all records. required: false schema: type: integer default: 20 - name: parameters in: query description: >- Collection of field names, conditions, and values used to filter the query **You must remove `parameters=` from the request before you send it, otherwise Payabli will ignore the filters.** Because of a technical limitation, you can't make a request that includes filters from the API console on this page. The response won't be filtered. Instead, copy the request, remove `parameters=` and run the request in a different client. For example: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?parameters=totalAmount(gt)=1000&limitRecord=20 should become: --url https://api-sandbox.payabli.com/api/Query/transactions/org/236?totalAmount(gt)=1000&limitRecord=20 See [Filters and Conditions Reference](/developers/developer-guides/pay-ops-reporting-engine-overview#filters-and-conditions-reference) for help. List of field names accepted: - `categories` (ct, nct) - `code` (ne, eq, ct, nct) - `commodityCode` (ne, eq, ct, nct) - `createdDate` (gt, ge, lt, le, eq, ne) - `description` (ne, eq, ct, nct) - `externalPaypointID` (ct, nct, ne, eq) - `mode` (eq, ne) - `name` (ne, eq, ct, nct) - `orgName` (ne, eq, ct, nct) - `paypointDba` (ne, eq, ct, nct) - `paypointId` (ne, eq) - `paypointLegal` (ne, eq, ct, nct) - `quantity` (gt, ge, lt, le, eq, ne) - `uom` (ne, eq, ct, nct) - `updatedDate` (gt, ge, lt, le, eq, ne) - `value` (gt, ge, lt, le, eq, ne) List of comparison accepted - enclosed between parentheses: - eq or empty => equal - gt => greater than - ge => greater or equal - lt => less than - le => less or equal - ne => not equal - ct => contains - nct => not contains - in => inside array separated by "|" - nin => not inside array separated by "|" List of parameters accepted: - limitRecord : max number of records for query (default="20", "0" or negative value for all) - fromRecord : initial record in query Example: name(ct)=john return all records with name containing john required: false schema: type: object additionalProperties: type: string - name: sortBy in: query description: >- The field name to use for sorting results. Use `desc(field_name)` to sort descending by `field_name`, and use `asc(field_name)` to sort ascending by `field_name`. required: false schema: type: string - name: requestToken in: header required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/type_:QueryResponseItems' '400': description: Bad request/ invalid data content: {} '401': description: Unauthorized request. content: {} '500': description: Internal API Error content: {} '503': description: Database connection error content: {} components: schemas: type_:ItemCommodityCode: type: string type_:ItemDescription: type: string type_:ItemProductCode: type: string type_:ItemProductName: type: string type_:ItemUnitofMeasure: type: string type_:LineItem: type: object properties: itemCategories: type: array items: type: string description: Array of tags classifying item or product. itemCommodityCode: $ref: '#/components/schemas/type_:ItemCommodityCode' itemCost: type: number format: double description: Item or product price per unit. itemDescription: $ref: '#/components/schemas/type_:ItemDescription' itemMode: type: integer description: >- Internal class of item or product: value '0' is only for invoices, '1' for bills, and '2' is common for both. itemProductCode: $ref: '#/components/schemas/type_:ItemProductCode' itemProductName: $ref: '#/components/schemas/type_:ItemProductName' itemQty: type: integer description: Quantity of item or product. itemUnitOfMeasure: $ref: '#/components/schemas/type_:ItemUnitofMeasure' required: - itemCost - itemQty type_:OrgParentName: type: string type_:Dbaname: type: string type_:Entrypointfield: type: string type_:Legalname: type: string type_:QueryResponseItemsRecordsItem: type: object properties: LineItem: $ref: '#/components/schemas/type_:LineItem' ParentOrgName: $ref: '#/components/schemas/type_:OrgParentName' PaypointDbaname: $ref: '#/components/schemas/type_:Dbaname' description: The paypoint's DBA name. PaypointEntryname: $ref: '#/components/schemas/type_:Entrypointfield' description: The paypoint's entry name (entrypoint). PaypointLegalname: $ref: '#/components/schemas/type_:Legalname' description: the Paypoint's legal name. type_:PageIdentifier: type: string type_:Pagesize: type: integer type_:Totalrecords: type: integer type_:QuerySummary: type: object properties: pageIdentifier: $ref: '#/components/schemas/type_:PageIdentifier' pageSize: $ref: '#/components/schemas/type_:Pagesize' totalAmount: type: number format: double description: Total amount for the records. totalNetAmount: type: number format: double description: Total net amount for the records. totalPages: $ref: '#/components/schemas/type_:Totalrecords' totalRecords: $ref: '#/components/schemas/type_:Totalrecords' type_:QueryResponseItems: type: object properties: Records: type: array items: $ref: '#/components/schemas/type_:QueryResponseItemsRecordsItem' Summary: $ref: '#/components/schemas/type_:QuerySummary' ``` ## SDK Code Examples ```python ListItems from payabli import payabli client = payabli( api_key="YOUR_API_KEY", ) client.line_item.list_line_items( entry="8cfec329267", from_record=251, limit_record=0, sort_by="desc(field_name)", ) ``` ```typescript ListItems import { PayabliClient } from "@payabli/sdk-node"; const client = new PayabliClient({ apiKey: "YOUR_API_KEY" }); await client.lineItem.listLineItems("8cfec329267", { fromRecord: 251, limitRecord: 0, sortBy: "desc(field_name)" }); ``` ```go ListItems import ( context "context" option "github.com/payabli/sdk-go/option" sdkgo "github.com/payabli/sdk-go" sdkgoclient "github.com/payabli/sdk-go/client" ) client := sdkgoclient.NewClient( option.WithApiKey( "", ), ) response, err := client.LineItem.ListLineItems( context.TODO(), "8cfec329267", &sdkgo.ListLineItemsRequest{ FromRecord: sdkgo.Int( 251, ), LimitRecord: sdkgo.Int( 0, ), SortBy: sdkgo.String( "desc(field_name)", ), }, ) ``` ```csharp ListItems using PayabliApi; var client = new PayabliApiClient("API_KEY"); await client.LineItem.ListLineItemsAsync( "8cfec329267", new ListLineItemsRequest { FromRecord = 251, LimitRecord = 0, SortBy = "desc(field_name)", } ); ``` ```ruby ListItems require 'uri' require 'net/http' url = URI("https://api-sandbox.payabli.com/api/Query/lineitems/8cfec329267?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["requestToken"] = '' response = http.request(request) puts response.read_body ``` ```java ListItems HttpResponse response = Unirest.get("https://api-sandbox.payabli.com/api/Query/lineitems/8cfec329267?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29") .header("requestToken", "") .asString(); ``` ```php ListItems request('GET', 'https://api-sandbox.payabli.com/api/Query/lineitems/8cfec329267?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29', [ 'headers' => [ 'requestToken' => '', ], ]); echo $response->getBody(); ``` ```swift ListItems import Foundation let headers = ["requestToken": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Query/lineitems/8cfec329267?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ```