> ## Documentation Index
> Fetch the complete documentation index at: https://portkey-docs-add-third-party-integration-issues-fixes.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Create SCIM Workspace Mapping

> Create a mapping between a SCIM group and a workspace. 
You can either reference an existing SCIM group by ID, or provide a group name 
to pre-create the SCIM group before the IdP provisions it.


<Info>
  A single SCIM group can be mapped to multiple workspaces. Call this endpoint once per (group, workspace) pair. If the same (group, workspace, role) mapping already exists, the existing mapping is returned and no duplicate is created.
</Info>

<Warning>
  The same SCIM group must use the **same role** across every workspace it is mapped to. If the group already has an active mapping with a different role, this request is rejected with a validation error such as:

  ```
  SCIM group is already mapped to other workspace(s) with role '<existing-role>'.
  A group can only be mapped with a single role across workspaces.
  ```

  To change the role, delete the existing mapping(s) first and re-create them with the new role.
</Warning>


## OpenAPI

````yaml post /scim/workspaces
openapi: 3.0.0
info:
  title: Portkey API
  description: >-
    The Portkey REST API. Please see https://portkey.ai/docs/api-reference for
    more details.
  version: 2.0.0
  termsOfService: https://portkey.ai/terms
  contact:
    name: Portkey Developer Forum
    url: https://portkey.wiki/community
  license:
    name: MIT
    url: https://github.com/Portkey-AI/portkey-openapi/blob/master/LICENSE
servers:
  - url: https://api.portkey.ai/v1
    description: Portkey API Public Endpoint
security:
  - Portkey-Key: []
tags:
  - name: Assistants
    description: Build Assistants that can call models and use tools.
  - name: Audio
    description: Turn audio into text or text into audio.
  - name: Chat
    description: >-
      Given a list of messages comprising a conversation, the model will return
      a response.
  - name: Realtime
    description: WebSocket proxy for provider Realtime APIs
  - name: Collections
    description: Create, List, Retrieve, Update, and Delete collections of prompts.
  - name: Labels
    description: Create, List, Retrieve, Update, and Delete labels.
  - name: Prompt Collections
    description: Create, List, Retrieve, Update, and Delete prompt collections.
  - name: PromptPartials
    description: Create, List, Retrieve, Update, and Delete prompt partials.
  - name: Prompts
    description: >-
      Given a prompt template ID and variables, will run the saved prompt
      template and return a response.
  - name: Guardrails
    description: Create, List, Retrieve, Update, and Delete prompt Guardrails.
  - name: Completions
    description: >-
      Given a prompt, the model will return one or more predicted completions,
      and can also return the probabilities of alternative tokens at each
      position.
  - name: Embeddings
    description: >-
      Get a vector representation of a given input that can be easily consumed
      by machine learning models and algorithms.
  - name: Rerank
    description: >-
      Rerank a list of documents based on their relevance to a query. Supported
      providers include Cohere, Voyage, Jina, Pinecone, Bedrock, and Azure AI.
  - name: Fine-tuning
    description: Manage fine-tuning jobs to tailor a model to your specific training data.
  - name: Batch
    description: Create large batches of API requests to run asynchronously.
  - name: Files
    description: >-
      Files are used to upload documents that can be used with features like
      Assistants and Fine-tuning.
  - name: Images
    description: Given a prompt and/or an input image, the model will generate a new image.
  - name: Models
    description: List and describe the various models available in the API.
  - name: Moderations
    description: >-
      Given a input text, outputs if the model classifies it as potentially
      harmful.
  - name: Configs
    description: Create, List, Retrieve, and Update your Portkey Configs.
  - name: Feedback
    description: Send and Update any feedback.
  - name: Logs
    description: Custom Logger to add external logs to Portkey.
  - name: Integrations
    description: Create, List, Retrieve, Update, and Delete your Portkey Integrations.
  - name: Integrations > Workspaces
    description: Manage workspace access for your Portkey Integrations.
  - name: Integrations > Models
    description: Manage model access for your Portkey Integrations.
  - name: Providers
    description: Create, List, Retrieve, Update, and Delete your Portkey Providers.
  - name: Virtual-keys
    description: Create, List, Retrieve, Update, and Delete your Portkey Virtual keys.
  - name: Users
    description: Create and manage users.
  - name: User-invites
    description: Create and manage user invites.
  - name: Workspaces
    description: Create and manage workspaces.
  - name: Workspaces > Members
    description: Create and manage workspace members.
  - name: MCP Integrations
    description: Create, List, Retrieve, Update, and Delete MCP Integrations.
  - name: MCP Integrations > Workspaces
    description: Manage workspace access for MCP Integrations.
  - name: MCP Integrations > Capabilities
    description: List and manage capabilities for MCP Integrations.
  - name: MCP Integrations > Metadata
    description: Get MCP Integration metadata and sync info.
  - name: MCP Servers
    description: >-
      Create, List, Retrieve, Update, and Delete MCP Servers (workspace
      instances of MCP Integrations).
  - name: MCP Servers > Capabilities
    description: List and manage capabilities for MCP Servers.
  - name: MCP Servers > User Access
    description: List and manage user access for MCP Servers.
  - name: MCP Servers > Connections
    description: List and manage user connections for MCP Servers.
  - name: Api-Keys
    description: Create, List, Retrieve, Update, and Delete your Portkey API keys.
  - name: Logs Export
    description: Exports logs service.
  - name: Audit Logs
    description: Get audit logs for your Portkey account.
  - name: Analytics
    description: >-
      Get analytics over different data points like requests, costs, tokens,
      etc.
  - name: Analytics > Graphs
    description: Get data points for graphical representation.
  - name: Analytics > Summary
    description: Get overall summary for the selected time bucket.
  - name: Analytics > Groups
    description: Get grouped metrics for the selected time bucket.
  - name: Usage Limits Policies
    description: Manage usage limits policies to control total usage over time
  - name: Rate Limits Policies
    description: Manage rate limits policies to control request or token rates
  - name: Model Pricing
    description: Model pricing configurations for 2300+ LLMs across 40+ providers
  - name: Secret-References
    description: >-
      Create, List, Retrieve, Update, and Delete secret references to external
      secret managers.
paths:
  /scim/workspaces:
    servers:
      - url: https://api.portkey.ai/v1
        description: Portkey API Public Endpoint
      - url: SELF_HOSTED_CONTROL_PLANE_URL
        description: Self-Hosted Control Plane URL
    post:
      tags:
        - Workspaces
      summary: Create SCIM Group to Workspace Mapping
      description: >
        Create a mapping between a SCIM group and a workspace. 

        You can either reference an existing SCIM group by ID, or provide a
        group name 

        to pre-create the SCIM group before the IdP provisions it.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - workspace_id
                - role
              properties:
                workspace_id:
                  type: string
                  description: >-
                    ID or slug (ws_ prefix) of the workspace to map the SCIM
                    group to.
                role:
                  type: string
                  enum:
                    - admin
                    - member
                    - manager
                  description: Role assigned to group members in the workspace.
                scim_group_id:
                  type: string
                  description: >-
                    ID of an existing SCIM group. Required if scim_group_name is
                    not provided.
                scim_group_name:
                  type: string
                  description: >-
                    Display name for the SCIM group. If the group doesn't exist,
                    it will be created. Required if scim_group_id is not
                    provided. Must not match the pattern-based auto-provisioning
                    format (e.g. ws-name-role-admin).
              oneOf:
                - required:
                    - scim_group_id
                - required:
                    - scim_group_name
            examples:
              pre_create_group:
                summary: Pre-create a SCIM group and map it
                value:
                  scim_group_name: Engineering Team
                  workspace_id: a1b2c3d4-e5f6-7890-abcd-ef1234567890
                  role: admin
      responses:
        '200':
          description: OK
          headers:
            Content-Type:
              schema:
                type: string
                example: application/json
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScimWorkspaceMapping'
      x-code-samples:
        - lang: curl
          label: Default
          source: |
            curl -X POST https://api.portkey.ai/v1/scim/workspaces \
            -H "x-portkey-api-key: PORTKEY_API_KEY" \
            -H "Content-Type: application/json" \
            -d '{
                "scim_group_name": "Engineering Team",
                "workspace_id": "ws_my-workspace",
                "role": "member"
            }'
        - lang: curl
          label: With existing group
          source: |
            curl -X POST https://api.portkey.ai/v1/scim/workspaces \
            -H "x-portkey-api-key: PORTKEY_API_KEY" \
            -H "Content-Type: application/json" \
            -d '{
                "scim_group_id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
                "workspace_id": "ws_my-workspace",
                "role": "admin"
            }'
        - lang: curl
          label: Self-Hosted
          source: |
            curl -X POST SELF_HOSTED_CONTROL_PLANE_URL/scim/workspaces \
            -H "x-portkey-api-key: PORTKEY_API_KEY" \
            -H "Content-Type: application/json" \
            -d '{
                "scim_group_name": "Engineering Team",
                "workspace_id": "ws_my-workspace",
                "role": "member"
            }'
components:
  schemas:
    ScimWorkspaceMapping:
      type: object
      properties:
        id:
          type: string
          description: Unique ID of the mapping
        workspace_id:
          type: string
          description: ID of the mapped workspace
        scim_group:
          type: string
          description: Display name of the SCIM group
        role:
          type: string
          enum:
            - admin
            - member
            - manager
          description: Role assigned to group members
        scim_group_id:
          type: string
          description: ID of the SCIM group
      example:
        id: a1b2c3d4-e5f6-7890-abcd-ef1234567890
        workspace_id: ws-12345
        scim_group: Engineering Team
        role: member
        scim_group_id: d290f1ee-6c54-4b01-90e6-d701748f0851
  securitySchemes:
    Portkey-Key:
      type: apiKey
      in: header
      name: x-portkey-api-key

````