> ## Documentation Index
> Fetch the complete documentation index at: https://docs.shareofmodel.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Partially update the SSO configuration of an organization



## OpenAPI

````yaml https://openapi.shareofmodel.ai/swagger.json patch /v1/organizations/{organization_id}/sso
openapi: 3.0.3
info:
  title: Share Of Model API
  version: v1
  description: >-
    ## Model Context Protocol (MCP)


    In addition to this REST API, Share of Model exposes a **Model Context
    Protocol** server that lets AI assistants (Claude Desktop, Claude Code, MCP
    Inspector, custom agents…) call our endpoints directly as tools. Any
    MCP-compatible client can interact with Share of Model without writing
    custom integration code — connect once with your usual login and start
    asking the assistant to query the data for you.


    ### Connecting from Claude Desktop


    Open **Settings → Connectors**, scroll to the bottom and click **Add custom
    connector**, then paste `https://mcp.shareofmodel.ai/mcp/`. A browser window
    opens for you to log in with your Share of Model account (same login as the
    web app), and the assistant gains access to the tools.


    ### Connecting from Claude Code


    ```bash

    claude mcp add --transport http share-of-model
    https://mcp.shareofmodel.ai/mcp/

    ```


    The first time you call a tool, Claude Code opens your browser to complete
    the login.


    ### Connecting from MCP Inspector


    ```bash

    npx @modelcontextprotocol/inspector

    ```


    In the Inspector UI, pick **Streamable HTTP** as transport, paste
    `https://mcp.shareofmodel.ai/mcp/`, and click **Connect**. The first
    connection prompts you to log in.


    ### Available tools


    Only endpoints tagged `mcp` in this OpenAPI spec are exposed as MCP tools,
    and only read-only (`GET`) routes are exposed. Everything tagged `mcp` below
    is callable from any compliant MCP client.


    ### Example prompts


    Once connected, try asking your assistant things like:


    - _"List the workspaces I have access to."_

    - _"Show me the latest searches in workspace X."_

    - _"Compare the share of model between brand A and brand B over the last 30
    days."_


    For more details on the protocol itself, see the [Model Context Protocol
    specification](https://modelcontextprotocol.io/).
servers:
  - description: Production API
    url: https://api.shareofmodel.ai/
  - description: Development API
    url: https://api.dev.shareofmodel.ai/
security: []
tags:
  - name: Auth
    description: Endpoints needed for API authentication.
  - name: Organizations
    description: Endpoints related to organizations, to list all available organizations.
  - name: Workspaces
    description: Endpoints related to workspaces, to list all available workspaces.
  - name: Analyses
    description: Endpoints related to analyses and analyses management.
  - name: Asset Evaluations
    description: Endpoints related to assets and asset evaluations.
  - name: Brand Catalog
    description: Endpoints related to general brand information.
  - name: Content Briefs
    description: Endpoints related to content briefs generation and optimisation.
  - name: Metrics
    description: >+
      Endpoints related to brand metrics.


      **LEXICON**



      **Brand Awareness**: What opinion the LLMs have concerning specific
      brands, related to certain categories.



      **Brand Perception**: The general sentiment of the LLMs towards a brand,

      based on the pros and cons they mention.

paths:
  /v1/organizations/{organization_id}/sso:
    patch:
      tags:
        - SSO
      summary: Partially update the SSO configuration of an organization
      operationId: update_organization_sso_config
      parameters:
        - in: path
          name: organization_id
          schema:
            type: string
            format: uuid
          description: A UUID string identifying the organization.
          required: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedSSOConfigWrite'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedSSOConfigWrite'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedSSOConfigWrite'
          '*/*':
            schema:
              $ref: '#/components/schemas/PatchedSSOConfigWrite'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SSOConfig'
          description: ''
      security:
        - Bearer: []
components:
  schemas:
    PatchedSSOConfigWrite:
      type: object
      properties:
        protocol:
          enum:
            - saml
            - oidc
          type: string
          description: |-
            * `saml` - saml
            * `oidc` - oidc
          x-spec-enum-id: a07741fd8b754e18
        email_domains:
          type: array
          items:
            type: string
            maxLength: 255
        allow_idp_initiated:
          type: boolean
        allow_jit_provisioning:
          type: boolean
        default_organization_role:
          enum:
            - organization_guest
            - organization_viewer
            - organization_editor
          type: string
          description: |-
            * `organization_guest` - Organization Guest
            * `organization_viewer` - Organization Viewer
            * `organization_editor` - Organization Editor
          x-spec-enum-id: a795ca55dfbc00b9
        enforce_sso:
          type: boolean
        saml:
          $ref: '#/components/schemas/SSOSamlWrite'
        oidc:
          $ref: '#/components/schemas/SSOOidcWrite'
    SSOConfig:
      type: object
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        slug:
          type: string
          maxLength: 64
          pattern: ^[-a-zA-Z0-9_]+$
        protocol:
          enum:
            - saml
            - oidc
          type: string
          description: |-
            * `saml` - saml
            * `oidc` - oidc
          x-spec-enum-id: a07741fd8b754e18
        status:
          enum:
            - draft
            - tested
            - active
            - disabled
          type: string
          description: |-
            * `draft` - draft
            * `tested` - tested
            * `active` - active
            * `disabled` - disabled
          x-spec-enum-id: e6fa2d87a0a24ff7
        enforce_sso:
          type: boolean
        allow_idp_initiated:
          type: boolean
        allow_jit_provisioning:
          type: boolean
        default_organization_role:
          enum:
            - organization_guest
            - organization_viewer
            - organization_editor
            - organization_owner
          type: string
          description: |-
            * `organization_guest` - Organization Guest
            * `organization_viewer` - Organization Viewer
            * `organization_editor` - Organization Editor
            * `organization_owner` - Organization Owner
          x-spec-enum-id: fc548b3d3ee5f4a6
        email_domains:
          type: array
          items:
            type: string
            maxLength: 255
        domains_verified:
          type: boolean
        saml:
          allOf:
            - $ref: '#/components/schemas/SSOSamlRead'
          nullable: true
          readOnly: true
        oidc:
          allOf:
            - $ref: '#/components/schemas/SSOOidcRead'
          nullable: true
          readOnly: true
        sp:
          allOf:
            - $ref: '#/components/schemas/SSOServiceProvider'
          readOnly: true
        last_test:
          allOf:
            - $ref: '#/components/schemas/SSOLastTest'
          readOnly: true
        metadata_last_fetched_at:
          type: string
          format: date-time
          nullable: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
      required:
        - created
        - id
        - last_test
        - modified
        - oidc
        - protocol
        - saml
        - slug
        - sp
    SSOSamlWrite:
      type: object
      properties:
        idp_metadata_url:
          nullable: true
          oneOf:
            - type: string
              format: uri
            - type: string
              maxLength: 0
        idp_metadata_xml:
          type: string
        attribute_mapping:
          type: object
          additionalProperties:
            type: string
    SSOOidcWrite:
      type: object
      properties:
        issuer:
          type: string
          format: uri
        client_id:
          type: string
          maxLength: 255
        client_secret:
          type: string
          writeOnly: true
        scopes:
          type: string
          maxLength: 255
        attribute_mapping:
          type: object
          additionalProperties:
            type: string
    SSOSamlRead:
      type: object
      properties:
        idp_entity_id:
          type: string
        idp_metadata_url:
          type: string
          format: uri
          nullable: true
        idp_sso_url:
          type: string
          format: uri
        idp_certificates:
          type: array
          items:
            $ref: '#/components/schemas/SSOCertificate'
        attribute_mapping:
          type: object
          additionalProperties:
            type: string
      required:
        - attribute_mapping
        - idp_certificates
        - idp_entity_id
        - idp_metadata_url
        - idp_sso_url
    SSOOidcRead:
      type: object
      properties:
        issuer:
          type: string
          format: uri
        client_id:
          type: string
        client_secret_set:
          type: boolean
        scopes:
          type: string
      required:
        - client_id
        - client_secret_set
        - issuer
        - scopes
    SSOServiceProvider:
      type: object
      properties:
        entity_id:
          type: string
          format: uri
        acs_url:
          type: string
          format: uri
        metadata_url:
          type: string
          format: uri
        login_url:
          type: string
          format: uri
        callback_url:
          type: string
          format: uri
        certificate:
          type: string
        certificate_expires_at:
          type: string
          format: date-time
          nullable: true
      required:
        - acs_url
        - callback_url
        - certificate
        - certificate_expires_at
        - entity_id
        - login_url
        - metadata_url
    SSOLastTest:
      type: object
      properties:
        at:
          type: string
          format: date-time
          nullable: true
        success:
          type: boolean
          nullable: true
        error:
          type: string
          nullable: true
      required:
        - at
        - error
        - success
    SSOCertificate:
      type: object
      properties:
        fingerprint_sha256:
          type: string
        not_after:
          type: string
          format: date-time
      required:
        - fingerprint_sha256
        - not_after
  securitySchemes:
    Bearer:
      type: apiKey
      in: header
      name: Authorization

````