---
title: "Create a new identity provider."
method: POST
path: "/v1/auth/saml/idp/"
---

# Create a new identity provider.

`POST /v1/auth/saml/idp/`

## Request

- Base URL: `https://app.iconik.io/API/auth`
- URL: `https://app.iconik.io/API/auth/v1/auth/saml/idp/`
- Auth: none declared. Required headers: `App-ID`, `Auth-Token`
- TypeScript: <https://skmtc.dev/iconik/apis/iconik-auth/docs/v1/auth/saml/idp/post.ts> (a function with typed inputs; its response is checked against the schema)

<br/>Input can either be an IdentityProviderSchema as json or a SAML<br/>EntityDescriptor XML.<br/>Input can either be an IdentityProviderSchema as json or a SAML<br/>EntityDescriptor XML.
Required roles:
 - can_write_identity_providers

## Headers

- `App-ID` string, required
- `Auth-Token` string, required

## Request body

- IdentityProviderSchema
  - `date_created` string, date-time
  - `date_modified` string, date-time
  - `id` string, uuid
  - `public_id` string, uuid
  - `saml_settings` object
  - `settings` object, required
  - `type` 'onelogin.com' | 'auth0.com' | 'okta.com' | 'GENERIC', required
  - `verbose_logging` boolean

## Response `201`

Returns an identity provider

- IdentityProviderSchema
  - `date_created` string, date-time
  - `date_modified` string, date-time
  - `id` string, uuid
  - `public_id` string, uuid
  - `saml_settings` object
  - `settings` object, required
  - `type` 'onelogin.com' | 'auth0.com' | 'okta.com' | 'GENERIC', required
  - `verbose_logging` boolean

## Other responses

- `400`: Bad request
- `401`: Token is invalid
- `default`: Error response

---

[API](https://skmtc.dev/iconik/apis/iconik-auth.md) - [All operations](https://skmtc.dev/iconik/apis/iconik-auth/llms.txt) - [OpenAPI document](https://skmtc.dev/iconik/apis/iconik-auth/revisions/5dde985bb742?raw)
