Lokalise APIv2 Elixir SDK

Elixir interface for the Lokalise APIv2.




Audit logs

List audit logs

API doc

The audit logs endpoint uses Lokalise API v1 rather than APIv2.

The API v1 base URL is configured separately with :base_url_api_v1. The existing :base_url_api option continues to control APIv2 endpoints.

config :elixir_lokalise_api,
  base_url_api_v1: "https://api.lokalise.com/v1/"

You do not need to set this option unless you want to override the default API v1 URL.

alias ElixirLokaliseApi.CursorPagination
alias ElixirLokaliseApi.V1.AuditLogs

{:ok, audit_logs} = AuditLogs.all(limit: 2)

audit_log = audit_logs.items |> List.first()

audit_log.class_uid # => 6003
audit_log.class_name # => "API Activity"
audit_log.metadata.event_code # => "project.deleted"

Audit logs use cursor-based pagination. Pagination information is returned in the collection:

audit_logs.has_more # => true
audit_logs.next_cursor # => "eyJpZCI6..."

You can also use the cursor pagination helpers:

CursorPagination.has_more?(audit_logs) # => true
CursorPagination.next_cursor?(audit_logs) # => true
CursorPagination.last_page?(audit_logs) # => false
CursorPagination.next_cursor(audit_logs) # => "eyJpZCI6..."

Pass the returned cursor to fetch the next collection:

{:ok, next_audit_logs} =
  AuditLogs.all(
    limit: 2,
    cursor: CursorPagination.next_cursor(audit_logs)
  )