Altimate AI SSO Group Mappings API

The SSO Group Mappings API from Altimate AI — 9 operation(s) for sso group mappings.

OpenAPI Specification

altimate-ai-sso-group-mappings-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Fast ACCOUNT_COSTS SSO Group Mappings API
  version: 0.1.0
tags:
- name: SSO Group Mappings
paths:
  /sso-group-mappings/targets:
    get:
      tags:
      - SSO Group Mappings
      summary: List Targets
      description: Return all teams and roles for SSO mapping target dropdowns (no RBAC filtering).
      operationId: list_targets_sso_group_mappings_targets_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      security:
      - HTTPBearer: []
      - HTTPBearer: []
  /sso-group-mappings/config:
    get:
      tags:
      - SSO Group Mappings
      summary: Get Config
      description: Read SSO team sync configuration, returning defaults if not yet configured.
      operationId: get_config_sso_group_mappings_config_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SSOTeamSyncConfigResponse'
      security:
      - HTTPBearer: []
      - HTTPBearer: []
    put:
      tags:
      - SSO Group Mappings
      summary: Update Config
      description: Create or update SSO team sync configuration.
      operationId: update_config_sso_group_mappings_config_put
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SSOTeamSyncConfigUpdate'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SSOTeamSyncConfigResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      deprecated: true
      security:
      - HTTPBearer: []
      - HTTPBearer: []
  /sso-group-mappings/mappings:
    get:
      tags:
      - SSO Group Mappings
      summary: List Mappings
      description: 'Get SSO group mappings with resolved target names and creator emails.


        Pass include_inactive=true to also see deactivated mappings (for reactivation).'
      operationId: list_mappings_sso_group_mappings_mappings_get
      security:
      - HTTPBearer: []
      - HTTPBearer: []
      parameters:
      - name: mapping_type
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Mapping Type
      - name: include_inactive
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Include Inactive
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SSOGroupMappingResponse'
                title: Response List Mappings Sso Group Mappings Mappings Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    post:
      tags:
      - SSO Group Mappings
      summary: Create Mapping
      description: Create a new SSO group mapping with duplicate and target validation.
      operationId: create_mapping_sso_group_mappings_mappings_post
      security:
      - HTTPBearer: []
      - HTTPBearer: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SSOGroupMappingCreate'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SSOGroupMappingResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /sso-group-mappings/mappings/{mapping_id}:
    put:
      tags:
      - SSO Group Mappings
      summary: Update Mapping
      description: Update an existing SSO group mapping.
      operationId: update_mapping_sso_group_mappings_mappings__mapping_id__put
      security:
      - HTTPBearer: []
      - HTTPBearer: []
      parameters:
      - name: mapping_id
        in: path
        required: true
        schema:
          type: integer
          title: Mapping Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SSOGroupMappingUpdate'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SSOGroupMappingResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - SSO Group Mappings
      summary: Delete Mapping
      description: Soft-delete an SSO group mapping and record an audit event.
      operationId: delete_mapping_sso_group_mappings_mappings__mapping_id__delete
      security:
      - HTTPBearer: []
      - HTTPBearer: []
      parameters:
      - name: mapping_id
        in: path
        required: true
        schema:
          type: integer
          title: Mapping Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /sso-group-mappings/preview:
    post:
      tags:
      - SSO Group Mappings
      summary: Preview Mappings
      description: Preview how external SSO groups would resolve to teams and roles.
      operationId: preview_mappings_sso_group_mappings_preview_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SSOPreviewRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SSOPreviewResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      deprecated: true
      security:
      - HTTPBearer: []
      - HTTPBearer: []
  /sso-group-mappings/external-groups:
    get:
      tags:
      - SSO Group Mappings
      summary: List External Groups
      description: List uploaded external SSO groups with optional search filter.
      operationId: list_external_groups_sso_group_mappings_external_groups_get
      security:
      - HTTPBearer: []
      - HTTPBearer: []
      parameters:
      - name: search
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Search
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SSOExternalGroupListResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /sso-group-mappings/external-groups/upload:
    post:
      tags:
      - SSO Group Mappings
      summary: Upload External Groups
      description: 'Upload a CSV of external SSO group names.


        CSV format: group_name

        Merge strategy: new groups inserted, existing skipped, soft-deleted re-activated.'
      operationId: upload_external_groups_sso_group_mappings_external_groups_upload_post
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Body_upload_external_groups_sso_group_mappings_external_groups_upload_post'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SSOBulkUploadResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      deprecated: true
      security:
      - HTTPBearer: []
      - HTTPBearer: []
  /sso-group-mappings/mappings/upload:
    post:
      tags:
      - SSO Group Mappings
      summary: Upload Mappings
      description: 'Upload a CSV of SSO group mappings for bulk creation.


        CSV format: external_group_identifier,match_type,mapping_type,target_name

        - mapping_type: "team" or "role"

        - target_name: team name (for team mappings) or role title (for role mappings)

        - match_type: exact, prefix, contains, suffix (defaults to "exact")'
      operationId: upload_mappings_sso_group_mappings_mappings_upload_post
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Body_upload_mappings_sso_group_mappings_mappings_upload_post'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SSOBulkMappingUploadResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      deprecated: true
      security:
      - HTTPBearer: []
      - HTTPBearer: []
  /sso-group-mappings/audit-events:
    get:
      tags:
      - SSO Group Mappings
      summary: List Audit Events
      description: Query SSO audit events with optional filters and pagination.
      operationId: list_audit_events_sso_group_mappings_audit_events_get
      security:
      - HTTPBearer: []
      - HTTPBearer: []
      parameters:
      - name: user_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: User Id
      - name: event_type
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Event Type
      - name: start_date
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Start Date
      - name: end_date
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: End Date
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 1000
          minimum: 1
          default: 100
          title: Limit
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          minimum: 0
          default: 0
          title: Offset
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SSOAuditEventListResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    PreviewTeamMatch:
      properties:
        user_group_id:
          type: integer
          title: User Group Id
        source_group:
          type: string
          title: Source Group
      type: object
      required:
      - user_group_id
      - source_group
      title: PreviewTeamMatch
    SSOTeamSyncConfigUpdate:
      properties:
        enabled:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Enabled
        provider:
          anyOf:
          - type: string
            enum:
            - azure
            - okta
            - other
          - type: 'null'
          title: Provider
        group_claim_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Group Claim Name
        group_prefix_filter:
          anyOf:
          - type: string
          - type: 'null'
          title: Group Prefix Filter
        enable_graph_api_fallback:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Enable Graph Api Fallback
        graph_api_tenant_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Graph Api Tenant Id
        enable_okta_api_fallback:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Enable Okta Api Fallback
        okta_domain:
          anyOf:
          - type: string
          - type: 'null'
          title: Okta Domain
      type: object
      title: SSOTeamSyncConfigUpdate
    SSOGroupMappingCreate:
      properties:
        external_group_identifier:
          type: string
          maxLength: 500
          minLength: 1
          title: External Group Identifier
        match_type:
          type: string
          enum:
          - exact
          - prefix
          - contains
          - suffix
          title: Match Type
          default: exact
        mapping_type:
          type: string
          enum:
          - team
          - role
          title: Mapping Type
        target_id:
          type: integer
          title: Target Id
      type: object
      required:
      - external_group_identifier
      - mapping_type
      - target_id
      title: SSOGroupMappingCreate
    BulkUploadFailure:
      properties:
        row:
          type: integer
          title: Row
        reason:
          type: string
          title: Reason
      type: object
      required:
      - row
      - reason
      title: BulkUploadFailure
    SSOPreviewRequest:
      properties:
        external_groups:
          items:
            type: string
          type: array
          maxItems: 200
          minItems: 1
          title: External Groups
      type: object
      required:
      - external_groups
      title: SSOPreviewRequest
    SSOGroupMappingResponse:
      properties:
        id:
          type: integer
          title: Id
        uuid:
          type: string
          format: uuid
          title: Uuid
        external_group_identifier:
          type: string
          title: External Group Identifier
        match_type:
          type: string
          title: Match Type
        mapping_type:
          type: string
          title: Mapping Type
        target_id:
          type: integer
          title: Target Id
        target_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Target Name
        is_active:
          type: boolean
          title: Is Active
        created_by_email:
          anyOf:
          - type: string
          - type: 'null'
          title: Created By Email
        created_at:
          type: string
          format: date-time
          title: Created At
        updated_at:
          type: string
          format: date-time
          title: Updated At
      type: object
      required:
      - id
      - uuid
      - external_group_identifier
      - match_type
      - mapping_type
      - target_id
      - is_active
      - created_at
      - updated_at
      title: SSOGroupMappingResponse
    SSOTeamSyncConfigResponse:
      properties:
        enabled:
          type: boolean
          title: Enabled
          default: false
        provider:
          anyOf:
          - type: string
          - type: 'null'
          title: Provider
          default: other
        group_claim_name:
          type: string
          title: Group Claim Name
          default: groups
        group_prefix_filter:
          anyOf:
          - type: string
          - type: 'null'
          title: Group Prefix Filter
        enable_graph_api_fallback:
          type: boolean
          title: Enable Graph Api Fallback
          default: false
        graph_api_tenant_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Graph Api Tenant Id
        enable_okta_api_fallback:
          type: boolean
          title: Enable Okta Api Fallback
          default: false
        okta_domain:
          anyOf:
          - type: string
          - type: 'null'
          title: Okta Domain
      type: object
      title: SSOTeamSyncConfigResponse
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    PreviewRoleMatch:
      properties:
        role:
          type: string
          title: Role
        source_group:
          type: string
          title: Source Group
      type: object
      required:
      - role
      - source_group
      title: PreviewRoleMatch
    SSOExternalGroupListResponse:
      properties:
        groups:
          items:
            $ref: '#/components/schemas/SSOExternalGroupResponse'
          type: array
          title: Groups
          default: []
        total:
          type: integer
          title: Total
          default: 0
      type: object
      title: SSOExternalGroupListResponse
    Body_upload_mappings_sso_group_mappings_mappings_upload_post:
      properties:
        file:
          type: string
          format: binary
          title: File
      type: object
      required:
      - file
      title: Body_upload_mappings_sso_group_mappings_mappings_upload_post
    SSOExternalGroupResponse:
      properties:
        id:
          type: integer
          title: Id
        group_name:
          type: string
          title: Group Name
        source:
          type: string
          title: Source
        created_at:
          type: string
          format: date-time
          title: Created At
      type: object
      required:
      - id
      - group_name
      - source
      - created_at
      title: SSOExternalGroupResponse
    SSOAuditEventResponse:
      properties:
        id:
          type: integer
          title: Id
        tenant:
          type: string
          title: Tenant
        user_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: User Id
        user_email:
          anyOf:
          - type: string
          - type: 'null'
          title: User Email
        event_type:
          type: string
          title: Event Type
        target_type:
          anyOf:
          - type: string
          - type: 'null'
          title: Target Type
        target_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Target Id
        target_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Target Name
        old_value:
          anyOf:
          - type: string
          - type: 'null'
          title: Old Value
        new_value:
          anyOf:
          - type: string
          - type: 'null'
          title: New Value
        source:
          type: string
          title: Source
        source_group_identifier:
          anyOf:
          - type: string
          - type: 'null'
          title: Source Group Identifier
        performed_by:
          anyOf:
          - type: integer
          - type: 'null'
          title: Performed By
        performed_by_email:
          anyOf:
          - type: string
          - type: 'null'
          title: Performed By Email
        created_at:
          type: string
          format: date-time
          title: Created At
      type: object
      required:
      - id
      - tenant
      - event_type
      - source
      - created_at
      title: SSOAuditEventResponse
    SSOPreviewResponse:
      properties:
        team_results:
          items:
            $ref: '#/components/schemas/PreviewTeamMatch'
          type: array
          title: Team Results
          default: []
        role_result:
          anyOf:
          - $ref: '#/components/schemas/PreviewRoleMatch'
          - type: 'null'
        matched_teams:
          type: integer
          title: Matched Teams
          default: 0
        unmatched_count:
          type: integer
          title: Unmatched Count
          default: 0
      type: object
      title: SSOPreviewResponse
    SSOBulkUploadResponse:
      properties:
        total_processed:
          type: integer
          title: Total Processed
          default: 0
        created:
          type: integer
          title: Created
          default: 0
        skipped:
          type: integer
          title: Skipped
          default: 0
        reactivated:
          type: integer
          title: Reactivated
          default: 0
        failures:
          items:
            $ref: '#/components/schemas/BulkUploadFailure'
          type: array
          title: Failures
          default: []
      type: object
      title: SSOBulkUploadResponse
    Body_upload_external_groups_sso_group_mappings_external_groups_upload_post:
      properties:
        file:
          type: string
          format: binary
          title: File
      type: object
      required:
      - file
      title: Body_upload_external_groups_sso_group_mappings_external_groups_upload_post
    SSOGroupMappingUpdate:
      properties:
        external_group_identifier:
          anyOf:
          - type: string
            maxLength: 500
            minLength: 1
          - type: 'null'
          title: External Group Identifier
        match_type:
          anyOf:
          - type: string
            enum:
            - exact
            - prefix
            - contains
            - suffix
          - type: 'null'
          title: Match Type
        target_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Target Id
        is_active:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Is Active
      type: object
      title: SSOGroupMappingUpdate
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    SSOAuditEventListResponse:
      properties:
        events:
          items:
            $ref: '#/components/schemas/SSOAuditEventResponse'
          type: array
          title: Events
          default: []
        total:
          type: integer
          title: Total
          default: 0
      type: object
      title: SSOAuditEventListResponse
    SSOBulkMappingUploadResponse:
      properties:
        total_processed:
          type: integer
          title: Total Processed
          default: 0
        created:
          type: integer
          title: Created
          default: 0
        failures:
          items:
            $ref: '#/components/schemas/BulkUploadFailure'
          type: array
          title: Failures
          default: []
      type: object
      title: SSOBulkMappingUploadResponse
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer