Britive Identity Providers API

Manage identity providers and settings

OpenAPI Specification

britive-identity-providers-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Britive Services API Documentation Identity Providers API
  version: v1
  description: API documentation for Users, Tags, Identity providers, Applications, Reporting, Audit logs, Tenants, SSO, Profiles, Password policies, MFA, Access Builder Settings, etc.
servers:
- url: https://{tenantURL}
  description: The primary server
  variables:
    tenantURL:
      default: test.britive-app.com
      description: The host of the server
security:
- bearerAuth: []
tags:
- name: Identity Providers
  description: Manage identity providers and settings
paths:
  /api/identity-providers:
    post:
      tags:
      - Identity Providers
      summary: Create a identity provider
      operationId: identityProviders_6
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IdentityProviderBeanRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IdentityProviderBeanResponse'
    get:
      tags:
      - Identity Providers
      summary: Get a list of all identity providers
      operationId: identityProviders_5
      parameters:
      - name: name
        in: query
        required: false
        schema:
          type: string
      - name: metadata
        in: query
        required: false
        schema:
          type: boolean
          default: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IdentityProviderBeanResponse'
  /api/identity-providers/password-policy:
    get:
      tags:
      - Identity Providers
      summary: Get password policy details
      operationId: getPasswordPolicy
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PasswordPolicyBean'
    post:
      tags:
      - Identity Providers
      summary: Update password policy details
      operationId: savePasswordPolicy
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PasswordPolicyBean'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PasswordPolicyBean'
  /api/identity-providers/types:
    get:
      tags:
      - Identity Providers
      summary: Get identity provider types
      operationId: types
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
  /api/identity-providers/{id}:
    delete:
      tags:
      - Identity Providers
      summary: Delete a specified identity provider
      operationId: identityProviders
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No content
    get:
      tags:
      - Identity Providers
      summary: Get details for a specified identity provider
      operationId: identityProviders_1
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IdentityProviderBean'
    patch:
      tags:
      - Identity Providers
      summary: Update specified identity provider's details
      operationId: identityProviders_3
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IdentityProviderBeanPatchRequest'
      responses:
        '204':
          description: No content
  /api/identity-providers/{id}/mfa:
    patch:
      tags:
      - Identity Providers
      summary: Enable or disable Multi-factor Authentication (MFA) for users
      operationId: mfa
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IdentityProviderBeanMFA'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
  /api/identity-providers/{id}/scim-attribute-mappings:
    patch:
      tags:
      - Identity Providers
      summary: Adds SCIM mappings for an identity provider
      description: When new SCIM mappings are added, the existing SCIM mappings for the identity attribute are deleted, if they are already defined.
      operationId: scimAttributeMappings
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/UserAttributeScimMappingHelper'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
  /api/identity-providers/{id}/scim-token:
    post:
      tags:
      - Identity Providers
      summary: Create a token used for SCIM provisioning of users and groups
      description: When this token is created, the old token associated with the identity provider is removed. An identity provider can have only one token at any given time. The generated token is returned only once.
      operationId: scimToken_1
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                tokenExpirationDays:
                  type: integer
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiTokenBean'
    get:
      tags:
      - Identity Providers
      summary: Get SCIM token details
      operationId: scimToken
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiTokenBean'
    patch:
      tags:
      - Identity Providers
      summary: Update token expiration days for the existing SCIM token of an identity provider
      operationId: scimToken_2
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                tokenExpirationDays:
                  type: integer
      responses:
        '204':
          description: No content
components:
  schemas:
    AccountLockoutPolicy:
      type: object
      properties:
        minAttempts:
          type: integer
          format: int32
        lockoutDurationInMinutes:
          type: integer
          format: int32
    IdentityProviderBeanRequest:
      type: object
      properties:
        name:
          pattern: ^((?!\-\-).)*$
          type: string
        description:
          type: string
        type:
          type: string
          enum:
          - DEFAULT
          - SAML
    UserAttributeScimMappingHelper:
      type: object
      properties:
        op:
          type: string
          enum:
          - add
          - remove
        attributeId:
          type: string
        scimAttributeName:
          type: string
        attributeName:
          type: string
    IdentityProviderBean:
      type: object
      properties:
        id:
          type: string
        name:
          pattern: ^((?!\-\-).)*$
          type: string
        description:
          type: string
        type:
          type: string
          enum:
          - DEFAULT
          - SAML
        scimProvider:
          type: string
          enum:
          - Generic
          - Azure
        ssoProvider:
          type: string
          enum:
          - Generic
          - Azure
        scimEnabled:
          type: boolean
        samlMetadata:
          type: object
          additionalProperties:
            type: string
        ssoConfig:
          type: object
          additionalProperties:
            type: string
        mfaEnabled:
          type: boolean
        mfaRootUserEnabled:
          type: boolean
        apiToken:
          $ref: '#/components/schemas/ApiToken'
        userAttributeScimMappings:
          type: array
          items:
            $ref: '#/components/schemas/UserAttributeScimMapping'
    PasswordPolicyBean:
      type: object
      properties:
        minLength:
          type: integer
          format: int32
        requiredUpperCase:
          type: boolean
        requiredLowerCase:
          type: boolean
        requiredNumbers:
          type: boolean
        requiredSymbols:
          type: boolean
        passwordExpirationPolicy:
          $ref: '#/components/schemas/PasswordExpirationPolicy'
        accountLockoutPolicy:
          $ref: '#/components/schemas/AccountLockoutPolicy'
    ApiToken:
      type: object
      properties:
        name:
          type: string
        id:
          type: string
        type:
          type: string
          enum:
          - DEFAULT
          - SCIM
          - ServiceIdentity
        status:
          type: string
          enum:
          - Active
          - Inactive
        token:
          type: string
        createdOn:
          type: string
          format: date-time
        assignedTo:
          $ref: '#/components/schemas/User'
        expiresOn:
          type: string
          format: date-time
        tokenExpirationDays:
          type: integer
          format: int32
        clearTextToken:
          type: string
        createdBy:
          $ref: '#/components/schemas/User'
        lastAccessed:
          type: string
          format: date-time
    PasswordExpirationPolicy:
      type: object
      properties:
        days:
          type: integer
          format: int32
        enabled:
          type: boolean
    Tenant:
      type: object
      properties:
        type:
          type: string
        billingAddress:
          type: string
        businessContactNo:
          type: string
        technicalContactNo:
          type: string
        pricingTier:
          type: string
        rootUserId:
          type: string
        namespace:
          type: string
        created:
          $ref: '#/components/schemas/AuditStamp'
        status:
          type: string
        tenantId:
          type: integer
          format: int32
        companyName:
          type: string
        modified:
          $ref: '#/components/schemas/AuditStamp'
        verified:
          $ref: '#/components/schemas/AuditStamp'
    User:
      type: object
      properties:
        name:
          type: string
        id:
          type: string
        type:
          type: string
          enum:
          - User
          - ServiceIdentity
          - AIIdentity
        attributes:
          type: array
          items:
            $ref: '#/components/schemas/CustomUserAttribute'
        external:
          type: boolean
        description:
          type: string
        created:
          type: string
          format: date-time
        status:
          type: string
          enum:
          - inactive
          - active
        userId:
          type: integer
          format: int32
        tenant:
          $ref: '#/components/schemas/Tenant'
        tenantId:
          type: integer
          format: int32
        email:
          type: string
        userTags:
          type: array
          items:
            $ref: '#/components/schemas/UserTag'
        username:
          type: string
        mobile:
          type: string
        firstName:
          type: string
        lastName:
          type: string
        phone:
          type: string
        modified:
          type: string
          format: date-time
        passwordChars:
          type: array
          items:
            type: string
        authnDirUsername:
          type: string
        identityProvider:
          $ref: '#/components/schemas/IdentityProvider'
        createdBy:
          type: integer
          format: int32
        modifiedBy:
          type: integer
          format: int32
        attributesMap:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/CustomUserAttribute'
        externalId:
          type: string
        adminRoles:
          type: array
          items:
            $ref: '#/components/schemas/AdminRole'
        lastLogin:
          type: string
          format: date-time
        canChangeOrResetPassword:
          type: boolean
    IdentityProviderBeanResponse:
      type: object
      properties:
        id:
          type: string
        name:
          pattern: ^((?!\-\-).)*$
          type: string
        description:
          type: string
        type:
          type: string
          enum:
          - DEFAULT
          - SAML
        scimProvider:
          type: string
          enum:
          - Generic
          - Azure
        ssoProvider:
          type: string
          enum:
          - Generic
          - Azure
        scimEnabled:
          type: boolean
        samlMetadata:
          type: object
          additionalProperties:
            type: string
        ssoConfig:
          type: object
          additionalProperties:
            type: string
        mfaEnabled:
          type: boolean
        mfaRootUserEnabled:
          type: boolean
        apiToken:
          type: object
          example: null
        userAttributeScimMappings:
          type: array
          items:
            $ref: '#/components/schemas/UserAttributeScimMapping'
    UserTag:
      type: object
      properties:
        name:
          type: string
        external:
          type: boolean
        users:
          type: array
          items:
            $ref: '#/components/schemas/User'
        description:
          type: string
        userTagId:
          type: string
        created:
          type: string
          format: date-time
        status:
          type: string
          enum:
          - Inactive
          - Active
        modified:
          type: string
          format: date-time
        userCount:
          type: integer
          format: int32
        identityProviderId:
          type: string
        identityProvider:
          $ref: '#/components/schemas/IdentityProvider'
        membershipRule:
          type: boolean
    IdentityProvider:
      required:
      - idpType
      - name
      type: object
      properties:
        id:
          type: integer
          format: int32
        name:
          type: string
        description:
          type: string
        attributesMap:
          type: array
          description: Provider's identity attributes mapped to Britive service identity custom attributes.
          items:
            $ref: '#/components/schemas/AttributeMap'
        validationWindow:
          type: integer
          description: The amount of time in seconds, after the token has been issued/signed, Britive will attempt to validate the unverified token.  Outside this window, token validation will fail.
          format: int32
        idpType:
          type: string
      discriminator:
        propertyName: idpType
    AttributeMap:
      required:
      - idpAttr
      - userAttr
      type: object
      properties:
        idpAttr:
          type: string
        userAttr:
          type: string
      description: Single identity provider attribute mapped to service identity custom attribute
    CustomUserAttribute:
      type: object
      properties:
        id:
          type: integer
          format: int64
        attributeValue:
          type: string
        attributeId:
          type: string
        attributeName:
          type: string
    ApiTokenBean:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        expiresOn:
          type: string
          format: date-time
        createdOn:
          type: string
          format: date-time
        type:
          type: string
          enum:
          - DEFAULT
          - SCIM
          - ServiceIdentity
        tokenExpirationDays:
          type: integer
          description: Any value between 1 and 90 days.
          format: int32
        status:
          type: string
          enum:
          - Active
          - Inactive
        lastAccessed:
          type: string
          format: date-time
        assignedTo:
          type: string
        token:
          type: string
        createdBy:
          type: string
    IdentityProviderBeanMFA:
      type: object
      properties:
        mfaEnabled:
          type: boolean
        mfaRootUserEnabled:
          type: boolean
    AuditStamp:
      type: object
      properties:
        user:
          type: string
        date:
          type: string
          format: date-time
        action:
          type: string
    UserAttributeScimMapping:
      type: object
      properties:
        attributeId:
          type: string
        scimAttributeName:
          type: string
        attributeName:
          type: string
        identityProviderId:
          type: string
        builtIn:
          type: boolean
    IdentityProviderBeanPatchRequest:
      type: object
      properties:
        name:
          pattern: ^((?!\-\-).)*$
          type: string
        description:
          type: string
        scimProvider:
          type: string
          enum:
          - Generic
          - Azure
        ssoProvider:
          type: string
          enum:
          - Generic
          - Azure
    AdminRole:
      type: object
      properties:
        name:
          type: string
        adminRoleId:
          type: integer
          format: int32
        authority:
          type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
x-api-evangelist:
  assembled_from: https://docs.britive.com/apidocs/ (one OpenAPI fragment per operation page, .md variant)
  assembled_on: '2026-08-08'
  fragments: 372
  note: Britive publishes this contract only as per-operation fragments inside its Document360 API reference. This file is the faithful union of those fragments; the verbatim assembly is in openapi/_original/.