Tessell Identity Providers API

The Identity Providers API from Tessell — 3 operation(s) for identity providers.

OpenAPI Specification

tessell-identity-providers-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Tessell APIs activity-center Identity Providers API
  contact:
    email: support@tessell.com
    name: Tessell Inc
    url: https://www.tessell.com
  description: Tessell API Documentation
  termsOfService: https://www.tessell.com/terms
  version: '1.0'
servers:
- url: '{server}'
  variables:
    server:
      default: console.tessell.com
tags:
- name: Identity Providers
paths:
  /iam/idps:
    post:
      tags:
      - Identity Providers
      summary: Create a new integration with an Identity Provider
      operationId: createIdpConfiguration
      security:
      - BearerAuth: []
      parameters:
      - $ref: '#/components/parameters/tenantIdMandatory'
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateIdpPayload'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IdentityProviderDTO'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /iam/idps/configured-idps:
    get:
      tags:
      - Identity Providers
      summary: Get a list of integrated Identity Providers
      operationId: getConfiguredIdps
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfiguredIdpsApiResponse'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      parameters:
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
  /iam/idps/{idp-id}:
    put:
      tags:
      - Identity Providers
      summary: Update an Identity Provider
      operationId: updateIdpConfiguration
      security:
      - BearerAuth: []
      parameters:
      - $ref: '#/components/parameters/tenantIdMandatory'
      - name: idp-id
        in: path
        description: UUID of an Identity Provider Integration
        required: true
        style: simple
        schema:
          type: string
          format: uuid
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateIdpPayload'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IdentityProviderDTO'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
    delete:
      tags:
      - Identity Providers
      summary: Delete an Identity Provider integration
      operationId: deleteIdpConfiguration
      security:
      - BearerAuth: []
      parameters:
      - $ref: '#/components/parameters/tenantIdMandatory'
      - name: idp-id
        in: path
        description: UUID of an Identity Provider Integration
        required: true
        style: simple
        schema:
          type: string
          format: uuid
      - name: Authorization
        in: header
        description: Authorization Token
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiStatus'
        default:
          description: API error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
components:
  schemas:
    apiStatus:
      title: apiStatus
      type: object
      properties:
        status:
          type: string
        message:
          type: string
    ApiError:
      type: object
      description: Common error response object for non 2xx responses
      properties:
        code:
          type: string
          description: Status code for the error response
        message:
          type: string
          description: Error message for API response
        resolution:
          type: string
        timestamp:
          type: string
          format: date-time
        contextId:
          type: string
          description: ContextId of API request
        sessionId:
          type: string
          description: SessionId of API request
        tessellErrorCode:
          type: string
          description: Unique error code specific to Tessell
    ConfiguredIdpsApiResponse:
      title: ConfiguredIdpsApiResponse
      description: Array of currently configured IDP types
      type: object
      properties:
        metadata:
          $ref: '#/components/schemas/apiMetadata'
        response:
          type: array
          items:
            $ref: '#/components/schemas/IdentityProviderType'
    IdentityProviderDTO:
      title: IdentityProviderDTO
      type: object
      description: Component to represent Identity Provider properties
      properties:
        id:
          type: string
          description: Unique ID of Identity Provider configuration
          format: uuid
        type:
          $ref: '#/components/schemas/IdentityProviderType'
        entityId:
          type: string
          description: Entity ID of Identity Provider
        loginUrl:
          type: string
          description: Login URL of Identity Provider
        certificate:
          type: string
          description: Certificate of Identity Provider
        status:
          $ref: '#/components/schemas/IdentityProviderStatus'
        dateCreated:
          type: string
          description: Date when the IDP configuration was created
          format: date-time
        dateModified:
          type: string
          description: Date when the IDP configuration was last modified
          format: date-time
    CreateIdpPayload:
      title: CreateIdpPayload
      type: object
      description: Payload for Creating Identity Provider
      required:
      - type
      - entityId
      - loginUrl
      - certificate
      properties:
        type:
          $ref: '#/components/schemas/IdentityProviderType'
        entityId:
          type: string
          description: Entity ID of Identity Provider
          minLength: 1
          maxLength: 2000
          example: http://www.okta.com/abcd1234
        loginUrl:
          type: string
          description: Login URL of Identity Provider
          minLength: 1
          maxLength: 2000
          example: https://sandwich.okta.com/app/sandwich_app_1/abcd1234/sso/saml
        certificate:
          type: string
          description: Certificate of Identity Provider
          minLength: 1
          maxLength: 10000
          example: '-----BEGIN CERTIFICATE-----\nMIIF0jCCA ... tg3g\n-----END CERTIFICATE-----'
    apiPaginationInfo:
      title: apiPaginationInfo
      type: object
      properties:
        pageSize:
          type: integer
          format: int32
        pageOffset:
          type: integer
          format: int32
    IdentityProviderStatus:
      title: IdentityProviderStatus
      type: string
      description: Status of Identity Provider for SSO
      enum:
      - ENABLED
      - DISABLED
      - DELETED
    IdentityProviderType:
      title: IdentityProviderType
      type: string
      description: Currently supported Identity Providers for SSO
      enum:
      - AZURE_AD
      - OKTA
    apiMetadata:
      title: apiMetadata
      type: object
      properties:
        timeZone:
          type: string
        records:
          type: integer
          format: int32
        pagination:
          $ref: '#/components/schemas/apiPaginationInfo'
  parameters:
    tenantIdMandatory:
      name: tenant-id
      in: header
      description: Id of the Tenant
      required: true
      schema:
        type: string
        minLength: 1
        maxLength: 128
        example: 12345678-abcd-1234-abcd-1234abcd5678
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer