---
title: "Ensure installation"
method: POST
path: "/connectors/v1/installations"
tags: ["Connectors"]
---

# Ensure installation

`POST /connectors/v1/installations`

## Request

- Base URL: `https://api.case.dev`
- URL: `https://api.case.dev/connectors/v1/installations`
- Auth: HTTP bearer

Idempotently create (or return) the installation for (application, external_tenant_id) in this organization. Send the returned installation id as X-Case-Installation-Id on connector requests to scope them to this tenant.

## Request body

- object
  - `application` string, required: Consuming application key (e.g. "p3").
  - `external_tenant_id` string, required: The application's own tenant identifier (e.g. a P3 organization id).

## Response `200`

Existing installation returned

## Other responses

- `201`: Installation created
- `400`: Invalid payload
- `401`: Invalid API key
- `403`: Insufficient permissions or installation unavailable to this credential

## Changes

- **2026-10-16** `a21d188f4b21`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/casemark/apis/case-dev-api/changes/connectors/v1/installations/post.md)

---

[API](https://skmtc.dev/casemark/apis/case-dev-api.md) - [All operations](https://skmtc.dev/casemark/apis/case-dev-api/llms.txt) - [OpenAPI document](https://skmtc.dev/casemark/apis/case-dev-api/revisions/9a3245c00044?raw)
