---
title: "Create an integration configuration"
method: POST
path: "/api/v2/integrations"
tags: ["Integrations"]
---

# Create an integration configuration

`POST /api/v2/integrations`

> 🔑
>
> Required OAuth scope: `integrations:write`.

Create an integration configuration.

## Headers

- `360-api-version` 'v2.0', required

## Request body

- BaseIntegrationDTO
  - `defaultCompletion` boolean — True if the content is auto-completed at launch; false otherwise.
  - `defaultProgress` integer — The completion rate at launch as a percentage.
  - `noGroupPropagation` boolean — If true, the content is visible only within the integration group and is not propagated to subgroups. If false, the content is propagated to all subgroups.
  - `externalPlatformLogoUrl` string — The URL of the logo of the external platform this integration is created for. The URL must be a valid HTTPS URL pointing to a logo with transparent background.
  - `externalPlatformUnicolorLogoUrl` string — The URL of the unicolor logo of the external platform this integration is created for. The URL must be a valid HTTPS URL pointing to a logo with transparent background. If none is provided, the externalPlatformLogoUrl logo will be used.
  - `externalPlatform` string, required — The identifier of the external platform this integration is created for.
  - `authorId` string, ObjectId, required — The unique ID of the author of the imported content.
  - `groupId` string, ObjectId, required — The unique ID of the group to which the content is imported.

## Response `201`

Returns the created integration configuration.

- IntegrationDTO
  - `defaultCompletion` boolean — True if the content is auto-completed at launch; false otherwise.
  - `defaultProgress` integer — The completion rate at launch as a percentage.
  - `noGroupPropagation` boolean — If true, the content is visible only within the integration group and is not propagated to subgroups. If false, the content is propagated to all subgroups.
  - `externalPlatformLogoUrl` string — The URL of the logo of the external platform this integration is created for. The URL must be a valid HTTPS URL pointing to a logo with transparent background.
  - `externalPlatformUnicolorLogoUrl` string — The URL of the unicolor logo of the external platform this integration is created for. The URL must be a valid HTTPS URL pointing to a logo with transparent background. If none is provided, the externalPlatformLogoUrl logo will be used.
  - `externalPlatform` string, required — The identifier of the external platform this integration is created for.
  - `authorId` string, ObjectId, required — The unique ID of the author of the imported content.
  - `groupId` string, ObjectId, required — The unique ID of the group to which the content is imported.
  - `_id` string, ObjectId, required — The unique ID of the integration.

## Other responses

- `400` — The server cannot or will not process the request due to something that is perceived to be a client error.
- `401` — The given access token is either missing, invalid, has expired, or has been revoked.
- `403` — The given access token does not have the required OAuth scope to execute the request.
- `404` — The server cannot find the requested resource.
- `429` — The client has sent too many requests in a short amount of time.

---

[API](https://skmtc.net/360learning/apis/core-api.md) · [All operations](https://skmtc.net/360learning/apis/core-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/360learning/core-api/revisions/94b691b0b72c/schema)
