Invoices, by version or by seq
using System.Net.Http.Headers;var client = new HttpClient();var request = new HttpRequestMessage{ Method = HttpMethod.Get, RequestUri = new Uri("https://api.slflo.com/api/integration/v1/invoices?filter%5Bversion_after%5D=18000&filter%5Bupdated_after%5D=2026-10-01T00%3A00%3A00Z&filter%5Back%5D=pending&filter%5Bid%5D=ord_01J9X%2Cord_01J9Y&filter%5Bexternal_ref%5D=SO-0012345&per_page=100&filter%5Bseq_after%5D=40"), Headers = { { "Authorization", "Bearer <token>" }, },};using (var response = await client.SendAsync(request)){ response.EnsureSuccessStatusCode(); var body = await response.Content.ReadAsStringAsync(); Console.WriteLine(body);}HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://api.slflo.com/api/integration/v1/invoices?filter%5Bversion_after%5D=18000&filter%5Bupdated_after%5D=2026-10-01T00%3A00%3A00Z&filter%5Back%5D=pending&filter%5Bid%5D=ord_01J9X%2Cord_01J9Y&filter%5Bexternal_ref%5D=SO-0012345&per_page=100&filter%5Bseq_after%5D=40")) .header("Authorization", "Bearer <token>") .method("GET", HttpRequest.BodyPublishers.noBody()) .build();HttpResponse<String> response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());System.out.println(response.body());const url = 'https://api.slflo.com/api/integration/v1/invoices?filter%5Bversion_after%5D=18000&filter%5Bupdated_after%5D=2026-10-01T00%3A00%3A00Z&filter%5Back%5D=pending&filter%5Bid%5D=ord_01J9X%2Cord_01J9Y&filter%5Bexternal_ref%5D=SO-0012345&per_page=100&filter%5Bseq_after%5D=40';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://api.slflo.com/api/integration/v1/invoices?filter%5Bversion_after%5D=18000&filter%5Bupdated_after%5D=2026-10-01T00%3A00%3A00Z&filter%5Back%5D=pending&filter%5Bid%5D=ord_01J9X%2Cord_01J9Y&filter%5Bexternal_ref%5D=SO-0012345&per_page=100&filter%5Bseq_after%5D=40' \ --header 'Authorization: Bearer <token>'By version (every change, reversals included) or, with filter[seq_after], each invoice once as it is issued, with no gaps. Needs invoices:read.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”The cursor: the last version you staged, or meta.next_version_after. version_after is accepted too.
Example
18000ISO-8601 time; starts a first load at the first change from then. Not beside a cursor.
Example
2026-10-01T00:00:00ZPending (no ack at the current version), accepted, rejected or any (default).
Example
pendingComma list of our ids, at most 100.
Example
ord_01J9X,ord_01J9YYour key for the record, as you acked it.
Example
SO-00123451 to 500, default 100.
Example
100Follow newly issued documents in issue order instead: the last seq you took (meta.last_seq). On its own.
Example
40Responses
Section titled “Responses”Invoices, by version or by seq
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
Example
{ "data": [ { "ack": null, "branch": { "code": "MAIN", "external_ref": "CUST-0042/01", "id": "C0000001:main" }, "currency": "EGP", "customer": { "code": "CUST-1", "external_ref": "CUST-0042", "id": "C0000001" }, "external_number": null, "external_ref": null, "handover_id": "ord_01J9X", "id": "inv_01J9", "issue_date": "2026-10-05", "issued_at": "2026-10-05T10:42:00Z", "lines": [ { "description": "Cola 330ml", "discount": "0.00", "is_free_goods": false, "line_number": 1, "line_total": "1430.70", "product": { "code": "SKU-COLA", "external_ref": "ITEM-1001", "id": "P0000001" }, "promotion_code": null, "quantity": "10.000", "tax": [ { "amount": "175.70", "code": "VAT", "rate": "14.00" } ], "unit": { "code": "CASE", "external_ref": "cs", "id": "CASE" }, "unit_price": "125.50" } ], "number": "INV-000041", "order": { "branch": { "code": "MAIN", "external_ref": "CUST-0042/01", "id": "C0000001:main" }, "customer": { "code": "CUST-1", "external_ref": "CUST-0042", "id": "C0000001" }, "external_number": "SO-0012345", "external_ref": "SO-0012345", "id": "ord_01J9X", "lines": [ { "discount": "0.00", "is_free_goods": false, "line_number": 1, "product": { "code": "SKU-COLA", "external_ref": "ITEM-1001", "id": "P0000001" }, "promotion_code": null, "quantity": "10.000", "unit": { "code": "CASE", "external_ref": "cs", "id": "CASE" }, "unit_price": "125.50" } ], "number": "SO-000123", "sales_rep": { "code": "R012", "external_ref": "EMP-0451", "id": "rep_12" }, "status": "DELIVERED" }, "prices_include_tax": false, "seq": 41, "status": "ISSUED", "tax_submission": { "eta_uuid": "3F1D2C9A7B", "reason": null, "status": "VALID", "submitted_at": "2026-10-05T10:42:00Z" }, "totals": { "discount": "0.00", "subtotal": "1255.00", "tax": "175.70", "total": "1430.70" }, "updated_at": "2026-10-05T10:42:00Z", "version": 9120 } ], "meta": { "has_more": false, "high_water": 9140, "next_version_after": 9140, "per_page": 100 }}default
Section titled “default”An error: the code says what, retryable whether to try again.
object
object
Stable code, e.g. SCOPE_MISSING, UNKNOWN_REFERENCE.
Field-level problems: {field, code}.
object
What happened and how to fix it.
Quote it to support; it finds the server log.
Whether the same call may succeed later.
Example
{ "error": { "code": "SCOPE_MISSING", "details": [], "message": "This client does not hold the invoices:read scope.", "request_id": "req_01J9X4Q7T2M8P3NRT6V5WZ", "retryable": false }}
