---
title: "Elixir SDK"
description: "Install and use the official server-side Inttegro SDK for Elixir."
canonical: "https://studio.inttegro.com/sdks/elixir"
format: inttegro-machine-docs/v1
language: "cURL"
reader_profile: optional
reader_manifest: "https://studio.inttegro.com/machine/curl/readers/index.json"
reader_identification: "Optional: declare your client only if known and your current-session capabilities; use reader_manifest for supplemental recommendations."
preamble_estimated_tokens: 535
model_token_report: "https://studio.inttegro.com/machine/token-report.json"
preamble_questions: 5
preamble_source: "general"
recommended_mcp_tools: ["get_integration_guide","check_integration_readiness"]
estimated_tokens: 1067
token_estimate_method: "utf8_bytes_divided_by_4"
---

## Machine preamble

**Summary:** Install and use the official server-side Inttegro SDK for Elixir. This cURL representation preserves HTTP paths and JSON wire names.

### Five questions

#### Q1. When should the reader use Elixir SDK?

Use this SDK guide when the selected runtime or framework matches the application being built.

#### Q2. What is authoritative on this page?

Use this page for orientation; follow its canonical SDK, guide, API, or MCP links for exact contracts.

#### Q3. What page-specific constraint matters most?

Use the current documented SDK version and native public API; do not invent members from JSON names or another language.

#### Q4. Can Inttegro MCP materially help with this task?

Yes, when the reader has an authenticated MCP connection and the task needs live context, guided planning, or a supported operation. The strongest matches are `get_integration_guide`, `check_integration_readiness`; their exact roles and boundaries are listed below.

#### Q5. How should the reader verify the answer and continue?

Install the documented version, compile or type-check the smallest example, run it against a disposable application, and verify the resulting resource through its canonical lookup. Continue with [Choose an API resource](https://studio.inttegro.com/machine/curl/api.md) when those concerns enter scope.

### Recommended MCP assistance

Use these through an authenticated Inttegro MCP connection. This document remains the contract source.

- [`get_integration_guide`](https://studio.inttegro.com/machine/curl/inttegro-mcp/tools.md#get_integration_guide) — read-only integration guidance. Returns a focused implementation sequence and canonical Studio links for authentication, checkout, orders, catalog, messaging, idempotency, or testing.
- [`check_integration_readiness`](https://studio.inttegro.com/machine/curl/inttegro-mcp/tools.md#check_integration_readiness) — read-only integration guidance. Audits platform secret storage, server-runtime compatibility, idempotency, errors, state verification, checkout returns, and messaging consent without receiving source code or credentials.

## Document content

# Inttegro Elixir SDK

The Inttegro Elixir SDK is the official typed client for BEAM applications and
services. Resource functions return domain structs such as `Inttegro.Order`;
HTTP response envelopes stay private.

## Install

```elixir
defp deps do
  [
    {:inttegro, "~> 0.9.0"}
  ]
end
```

## Create a client

```elixir
client = Inttegro.Client.new!(System.fetch_env!("INTTEGRO_API_KEY"))
request = Inttegro.LookupOrderRequest.new!(order_id: "order_...")

{:ok, order} = Inttegro.Orders.lookup(client, request)
IO.puts(order.id)
```

## Observability and error reporting

Pass application-owned functions when creating the client:

```elixir
client =
  Inttegro.Client.new!(api_key,
    telemetry: &MyApp.InttegroTelemetry.record/1,
    error_reporter: &MyApp.InttegroErrors.report/1
  )
```

The callbacks receive safe lifecycle metadata without API keys, bodies,
resource identifiers, or raw error messages. No error report is prepared when
`:error_reporter` is omitted.

## Continue

- [Browse the generated API reference](https://hexdocs.pm/inttegro/0.9.0/)
- [Browse the typed API source](https://github.com/inttegro/inttegro-sdk-elixir/tree/v0.10.0/lib)
- [Browse the repository](https://github.com/inttegro/inttegro-sdk-elixir)
- [Choose an API resource](https://studio.inttegro.com/machine/curl/api.md)
