zazu
Version, currently 0.2.11 version
- 0.2.1latestJul 16, 2026
github.com/getzazu/zazu-crystal
Crystal SDK for the Zazu API.
Installation
# Add this to your shard.yml
dependencies:
zazu:
github: getzazu/zazu-crystal
version: ~> 0.2.1Then run:
shards installshard.yml
- Crystal
>= 1.10.0- License
- MIT
- Author
- Zazu
Dependencies
This version declares no dependencies.
README
zazu-crystal
Crystal SDK for the Zazu API.
# shard.yml
dependencies:
zazu:
github: getzazu/zazu-crystal
require "zazu"
client = Zazu::Client.new # reads ZAZU_API_KEY
entity = client.entity.get
page = client.accounts.list
page.data.each do |account|
puts "#{account["id"]} #{account["name"]}"
end
# Initiate a transfer — it lands in your workspace's in-app approval
# queue; the API never executes a transfer itself.
draft = client.transfer_drafts.create(
account_id: account_id,
beneficiary_id: beneficiary_id,
amount: "150.00",
payment_reference: "INV-000042"
)
Response shape
Response bodies are returned as-is from the API — snake_case keys as
JSON::Any, no typed models. The same shape ships across every Zazu
SDK (Ruby, TypeScript, Python, Go, ...) so the cassette contract is
one-to-one.
Pagination
List endpoints return a Zazu::Page (data, has_more, next_cursor)
with a #next method that fetches the following page, or nil on the
last one. Page size is capped at 100.
Errors
Non-2xx responses raise Zazu::Error with status, kind
(authentication, forbidden, not_found, validation, rate_limit,
server, api), the API's type/message/param, the request_id,
and retry_after for 429s. Transport failures raise
Zazu::ConnectionError; a client misconfiguration (missing API key)
raises Zazu::ConfigurationError.
Configuration
| Option | Env var | Default |
|---|---|---|
api_key | ZAZU_API_KEY | required |
base_url | ZAZU_BASE_URL | https://zazu.ma |
api_version (Zazu-Version header) | ZAZU_API_VERSION | unset |
timeout | — | 30 seconds |
Tests
Tests replay the canonical cassettes recorded by
zazu-ruby. The cassettes are
downloaded from the Ruby SDK's release tarball and served from a
stdlib HTTP::Server. Same interactions, same assertions, every
language.
scripts/fetch-cassettes.sh
crystal spec
The SDK family
- zazu-ruby — reference implementation (records the cassettes)
- zazu-ts
- zazu-python
- zazu-go
- cli
Documentation
Built from the current release. The first visit to a release nobody has asked for starts its build.
Links
This release
- Version
0.2.1- Tagged
- Jul 16, 2026
- Commit
d6422211d0fd- Crystal
>= 1.10.0- Indexed
- yes
Dependents
No indexed shard depends on this one yet.
Repository
github.com/getzazu/zazu-crystal
Metadata
- Created
- Aug 12, 2026
- Updated
- Aug 17, 2026
- Synced
- Aug 17, 2026
- Versions
- 1