# Integrating SailPoint with Kobiton

Kobiton is a cloud-based mobile device testing platform built for QA and engineering teams to manage, execute, and monitor mobile app testing at scale on real devices. It combines a Mobile Device Cloud for remote access to a broad range of real iOS and Android devices with Device Lab Management for organizing on-premises, hybrid, or cloud-hosted device labs, alongside AI-augmented and scriptless Test Automation for building and running functional, performance, visual, and accessibility tests without heavy coding overhead. This document provides the instructions required to configure a new direct connection between SailPoint and Kobiton. For a reference to the terminology specific to SailPoint products, refer to [Source and Connector Definitions](<https://documentation.sailpoint.com/saas/help/sources/index.html#source-and-connector-definitions>).

> [!NOTE]
>
> To view the latest features, enhancements, and fixes for all SaaS connectors, refer to the [SaaS Release Notes](<https://community.sailpoint.com/release-notes/saas>) page.

## Supported Features

The Kobiton connector supports the following:

### Account Management

- Aggregate Accounts

### Entitlement Management

- Aggregate Roles

> [!IMPORTANT]
>
> Quick Compliance connectors have the following manual aggregation limits within a 24-hour period:
>
> - **Organization Admins**: Limited to 3 manual account or entitlement aggregations per day per source. This limit is cumulative across all admins in the organization.
> - **Regular Users**: Limited to 1 manual account or entitlement aggregation per day per source.
>
> These limits ensure that individual compliance statuses are kept up to date while maintaining continuous compliance monitoring. If you need to run additional aggregations beyond these limits, contact SailPoint Support.

### Pagination

The Kobiton source uses numeric offset-based pagination rather than cursor-based paging. Each request to `GET /v2/teams` returns `current_page`, `current_size`, and `total_items` in the response envelope. The connector increments the page number after each request and continues paging until the number of records returned is less than the configured page `limit`, at which point aggregation terminates.

#### How Pagination Works for This Operation

- **Initial Page Offset:** `1` - starting point for the first request (Kobiton pages are 1-indexed via the `page` query parameter).
- **Page Size:** `100` - number of team records requested per page, passed via the `size` query parameter.

Paging steps:

- `$limit$` = `100`
- `TERMINATE_IF $RECORDS_COUNT$ < $limit$`
- `$offset$` = `$offset$ + 1`
- `$endpoint.fullUrl$` = `$application.baseUrl$` + `"/teams?page=" + $offset$ + "&size=" + $limit$`

## Prerequisites

Before configuring the Kobiton connector, ensure the following requirements are met:

1. Sign in to Kobiton.
2. Go to **Account Settings \> API** to retrieve your **API Key** (this is a long-lived credential tied to your user account).

   - **Base URL**(REST endpoint)
   - **Username** (Kobiton account email)
   - **API Key**
3. Construct the **Authorization** header by Base64-encoding `{email}:{api_key}` and prefixing it with `Basic`:

```text
Authorization: Basic <base64(email:api_key)>
```

For more detailed information on obtaining an API key, refer to the official Kobiton documentation: [Kobiton Organization API](<https://api.kobiton.com/v2/docs#tag/OrganizationAPI>).

> [!NOTE]
>
> The linked document is not maintained by SailPoint and is subject to change without notice.

## Required Permissions

- **Organization Owner** - Super-user who can manage all aspects of the organization (teams, members, devices, etc.). Can view and manage every team, including teams they are not directly a member of.
- **Team Owner** - Can manage members, settings, and devices within the teams they own. Scoped to teams under their ownership rather than the full organization.
- **Member** - Standard team member with access to run tests and view devices/sessions within their assigned team(s), but without administrative rights over team membership or settings.
