---
title: "Create Custom-Code external user source"
method: POST
path: "/resources/user-sources/v1/external/custom-code"
tags: ["User sources (pools)"]
---

# Create Custom-Code external user source

`POST /resources/user-sources/v1/external/custom-code`

## Request

- Base URL: `http://localhost:8181`
- URL: `http://localhost:8181/resources/user-sources/v1/external/custom-code`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/frontegg/apis/entitlements-agent-pdp/docs/resources/user-sources/v1/external/custom-code/post.ts> (a function with typed inputs; its response is checked against the schema)

This route creates a new external user source. A vendor token is required for this route.

## Request body

- CreateCustomCodeExternalUserSourceRequestDTO
  - `name` string, required: The user source name
  - `configuration` ExternalCustomCodeUserSourceConfig, required
    - `syncOnLogin` boolean, required: Whether to sync user profile attributes on each login
    - `isMigrated` boolean, required: Whether to migrate the users
    - `codePayload` string, required
    - `getUserCodePayload` string
    - `tenantConfig` union, required
      - UserSourceNewTenantConfig
        - `tenantResolverType` 'new', required
      - UserSourceFromSourceTenantConfig
        - `tenantResolverType` 'from-source', required
  - `appIds` string[]: The application ids to assign to this user source
  - `index` number, required: The user source index
  - `description` string: The user source description

## Response `201`

- CreateUserSourceResponse
  - `id` string, required
  - `name` string, required
  - `type` string, required
  - `appIds` string[], required
  - `description` string, required
  - `index` number, required

---

[API](https://skmtc.dev/frontegg/apis/entitlements-agent-pdp.md) - [All operations](https://skmtc.dev/frontegg/apis/entitlements-agent-pdp/llms.txt) - [OpenAPI document](https://skmtc.dev/frontegg/apis/entitlements-agent-pdp/revisions/c496ae9e1c3e?raw)
