> ## 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.

# Resolve personas by key, creating the missing ones

> For each key (archetype, brand, tag, country, language), return the active persona of the workspace matching it case-insensitively, or create a light persona holding only the key fields when none matches. Results follow the order of the request; repeated keys resolve to the same persona. Required permission: `write:analysis`.



## OpenAPI

````yaml https://openapi.shareofmodel.ai/swagger.json post /v1/organizations/{organization_id}/workspaces/{workspace_id}/personas/resolve
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}/workspaces/{workspace_id}/personas/resolve:
    post:
      tags:
        - Personas
      summary: Resolve personas by key, creating the missing ones
      description: >-
        For each key (archetype, brand, tag, country, language), return the
        active persona of the workspace matching it case-insensitively, or
        create a light persona holding only the key fields when none matches.
        Results follow the order of the request; repeated keys resolve to the
        same persona. Required permission: `write:analysis`.
      operationId: resolve_personas
      parameters:
        - in: path
          name: organization_id
          schema:
            type: string
            format: uuid
          description: A UUID string identifying the organization.
          required: true
        - in: path
          name: workspace_id
          schema:
            type: string
            format: uuid
          description: A UUID string identifying the workspace.
          required: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PersonaResolve'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PersonaResolve'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PersonaResolve'
          '*/*':
            schema:
              $ref: '#/components/schemas/PersonaResolve'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PersonaResolved'
          description: ''
        '400':
          description: Validation error.
        '403':
          description: Insufficient permissions.
      security:
        - Bearer: []
components:
  schemas:
    PersonaResolve:
      type: object
      properties:
        personas:
          type: array
          items:
            $ref: '#/components/schemas/PersonaResolveKey'
          maxItems: 100
      required:
        - personas
    PersonaResolved:
      type: object
      properties:
        id:
          type: string
          format: uuid
        created:
          type: boolean
      required:
        - created
        - id
    PersonaResolveKey:
      type: object
      properties:
        archetype:
          type: string
          maxLength: 255
        brand:
          type: string
          maxLength: 255
        tag:
          type: string
          maxLength: 255
        country:
          enum:
            - AE
            - AR
            - AT
            - AU
            - BE
            - BH
            - BO
            - BR
            - CA
            - CH
            - CL
            - CN
            - CO
            - CR
            - CZ
            - DE
            - DK
            - DO
            - EC
            - EG
            - ES
            - FI
            - FR
            - GB
            - GQ
            - GR
            - GT
            - HK
            - HU
            - IE
            - ID
            - IL
            - IN
            - IQ
            - IT
            - JP
            - KR
            - KW
            - LU
            - MA
            - MX
            - MY
            - NG
            - NL
            - 'NO'
            - NZ
            - PA
            - PE
            - PH
            - PK
            - PL
            - PT
            - QA
            - RO
            - RU
            - SA
            - SE
            - SG
            - TH
            - TR
            - TW
            - VN
            - US
            - ZA
            - EU
            - NA
            - WW
          type: string
          description: |-
            * `AE` - AE
            * `AR` - AR
            * `AT` - AT
            * `AU` - AU
            * `BE` - BE
            * `BH` - BH
            * `BO` - BO
            * `BR` - BR
            * `CA` - CA
            * `CH` - CH
            * `CL` - CL
            * `CN` - CN
            * `CO` - CO
            * `CR` - CR
            * `CZ` - CZ
            * `DE` - DE
            * `DK` - DK
            * `DO` - DO
            * `EC` - EC
            * `EG` - EG
            * `ES` - ES
            * `FI` - FI
            * `FR` - FR
            * `GB` - GB
            * `GQ` - GQ
            * `GR` - GR
            * `GT` - GT
            * `HK` - HK
            * `HU` - HU
            * `IE` - IE
            * `ID` - ID
            * `IL` - IL
            * `IN` - IN
            * `IQ` - IQ
            * `IT` - IT
            * `JP` - JP
            * `KR` - KR
            * `KW` - KW
            * `LU` - LU
            * `MA` - MA
            * `MX` - MX
            * `MY` - MY
            * `NG` - NG
            * `NL` - NL
            * `NO` - NO
            * `NZ` - NZ
            * `PA` - PA
            * `PE` - PE
            * `PH` - PH
            * `PK` - PK
            * `PL` - PL
            * `PT` - PT
            * `QA` - QA
            * `RO` - RO
            * `RU` - RU
            * `SA` - SA
            * `SE` - SE
            * `SG` - SG
            * `TH` - TH
            * `TR` - TR
            * `TW` - TW
            * `VN` - VN
            * `US` - US
            * `ZA` - ZA
            * `EU` - EU
            * `NA` - NA
            * `WW` - WW
          x-spec-enum-id: 8d89072a93365767
        language:
          enum:
            - ar
            - da
            - de
            - en
            - es
            - eu
            - fi
            - fil
            - fr
            - he
            - hi
            - hu
            - id
            - it
            - ja
            - ko
            - nl
            - 'no'
            - pl
            - pt
            - ro
            - sv
            - th
            - tr
            - ur
            - vi
            - zh
            - zh-TW
            - zh-HK
          type: string
          description: |-
            * `ar` - ar
            * `da` - da
            * `de` - de
            * `en` - en
            * `es` - es
            * `eu` - eu
            * `fi` - fi
            * `fil` - fil
            * `fr` - fr
            * `he` - he
            * `hi` - hi
            * `hu` - hu
            * `id` - id
            * `it` - it
            * `ja` - ja
            * `ko` - ko
            * `nl` - nl
            * `no` - no
            * `pl` - pl
            * `pt` - pt
            * `ro` - ro
            * `sv` - sv
            * `th` - th
            * `tr` - tr
            * `ur` - ur
            * `vi` - vi
            * `zh` - zh
            * `zh-TW` - zh TW
            * `zh-HK` - zh HK
          x-spec-enum-id: fde45f3d59bf4297
      required:
        - archetype
        - brand
        - country
        - language
        - tag
  securitySchemes:
    Bearer:
      type: apiKey
      in: header
      name: Authorization

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.