# Overview (/docs/sdks)



Insion SDKs provide idiomatic, typed access to the same moderation, records, users, and appeals API. Each language guide documents its actual client surface installation, authentication, configuration, errors, and every supported operation so start by choosing the runtime used by your application.

## Choose your language [#choose-your-language]

<Cards className="grid-cols-3">
  <Card title="TypeScript" href="/docs/sdks/typescript" description="A typed client for TypeScript and JavaScript applications." icon="<img src=&#x22;/assets/logos/typescript.svg&#x22; alt=&#x22;TypeScript&#x22; width={16} height={16} className=&#x22;size-4&#x22; />" />

  <Card title="Python" href="/docs/sdks/python" description="Synchronous and asynchronous clients for Python services." icon="<img src=&#x22;/assets/logos/python.svg&#x22; alt=&#x22;Python&#x22; width={16} height={16} className=&#x22;size-4&#x22; />" />

  <Card title="Java" href="/docs/sdks/java" description="A Java client for JVM applications and backend services." icon="<img src=&#x22;/assets/logos/java.svg&#x22; alt=&#x22;Java&#x22; width={16} height={16} className=&#x22;size-4&#x22; />" />

  <Card title="Ruby" href="/docs/sdks/ruby" description="An idiomatic Ruby client for Rails and Ruby applications." icon="<img src=&#x22;/assets/logos/ruby.svg&#x22; alt=&#x22;Ruby&#x22; width={16} height={16} className=&#x22;size-4&#x22; />" />

  <Card title="Go" href="/docs/sdks/go" description="A context-aware Go client for services and workers." icon="<img src=&#x22;/assets/logos/go.svg&#x22; alt=&#x22;Go&#x22; width={16} height={16} className=&#x22;size-4&#x22; />" />

  <Card title="C#" href="/docs/sdks/csharp" description="An asynchronous .NET client with cancellation support." icon="<img src=&#x22;/assets/logos/csharp.svg&#x22; alt=&#x22;C#&#x22; width={16} height={16} className=&#x22;size-4&#x22; />" />

  <Card title="PHP" href="/docs/sdks/php" description="A PHP client for web applications and server-side workflows." icon="<img src=&#x22;/assets/logos/php.svg&#x22; alt=&#x22;PHP&#x22; width={16} height={16} className=&#x22;size-4&#x22; />" />

  <Card title="Swift" href="/docs/sdks/swift" description="A Swift-concurrency client for Apple-platform applications." icon="<img src=&#x22;/assets/logos/swift.svg&#x22; alt=&#x22;Swift&#x22; width={16} height={16} className=&#x22;size-4&#x22; />" />

  <Card title="Rust" href="/docs/sdks/rust" description="An asynchronous Rust client with builders and models." icon="<img src=&#x22;/assets/logos/rust.svg&#x22; alt=&#x22;Rust&#x22; width={16} height={16} className=&#x22;size-4&#x22; />" />
</Cards>

## What every SDK lets you do [#what-every-sdk-lets-you-do]

All clients authenticate with an Insion API token and expose the same core capabilities.

| Capability        | Use it when you need to                                                              |
| ----------------- | ------------------------------------------------------------------------------------ |
| Ingest a record   | Submit content for asynchronous moderation and consume the outcome through webhooks. |
| Moderate a record | Create or update content and receive a moderation decision immediately.              |
| Manage users      | Create or update users, list them, and inspect their moderation action state.        |
| Retrieve and list | Query stored records and users using Insion IDs, filters, and cursor pagination.     |
| Create appeals    | Submit an appeal for an eligible suspended user when appeals are enabled.            |

## Integration path [#integration-path]

1. Choose the appropriate SDK, follow its installation and client-creation instructions.
2. Configure a token and, where needed, timeouts, retry behavior, custom headers, or a custom HTTP client.
3. Choose synchronous moderation when the caller needs the outcome now; choose ingestion when your webhook flow handles the result later.
4. Implement the error-handling guidance in the selected SDK before putting requests on a user-facing or background-processing path.

<Callout type="info" title="Client IDs and Insion IDs">
  A client ID is supplied by your application, while an Insion ID is generated by Insion.
</Callout>

## Use the API instead? [#use-the-api-instead]

For more details and semantics shared across SDKs, including request/response behavior and webhook integration, use the [API reference](/docs/api-overview).
