Get a replica

GET /v1/replicas/{replicaUUID}

Get an existing replica.

Headers

  • X-API-Version string

    Default value is 2025-03-25.

Path parameters

  • replicaUUID string(uuid) Required

    The replica unique identifier (UUID)

Responses

  • 200 application/json

    The requested replica

    Hide response attributes Show response attributes object
    • name string Required

      The name of the replica.

      Maximum length is 50.

    • purpose string

      The purpose of the replica. This field is not used for training the replica.

      Maximum length is 1000.

    • shortDescription string Required

      A short description of your replica. This field is not used for training the replica.

      Maximum length is 50.

    • greeting string Required

      The first thing your replica will say when you start a conversation with them.

      Maximum length is 600.

    • type string

      The replica type. individual: A replica of yourself. character: A replica of a character: can be anything you want. brand: A replica of a business persona or organization.

      Values are individual, character, or brand. Default value is character.

    • ownerID string Required

      The replica owner ID.

    • private boolean

      Visibility of the replica. When set to true, only the owner and users on the allowlist will be able to find the replica and chat with it.

      Default value is false.

    • whitelistEmails array[string(email)]

      Emails of users who can use the replica when the replica is private.

      Default value is [] (empty).

    • slug string Required

      The slug of the replica. Slugs can be used by API consumers to determine the URLs where replicas can be found.

      Maximum length is 50.

    • tags array[string]

      The tags associated with the replica. Tags help categorize replicas and make them easier to find.

      Default value is [] (empty).

    • profileImage string

      The URL of the profile image of the replica. The image will be downloaded, optimized and stored on our servers, so the URL in the response will be different. Supported formats: image/jpeg, image/jpg, image/pjpeg, image/png, image/bmp, image/x-windows-bmp, image/x-bmp, image/x-bitmap, image/x-ms-bmp, image/webp, image/avif

      Format should match the following pattern: https?:\/\/[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]+\b([-a-zA-Z0-9()@:%_+.~#?&\/=]*). Default value is https://studio.sensay.io/assets/default-replica-profile.webp.

    • suggestedQuestions array[string]

      Suggested questions when starting a conversation.

      Default value is [] (empty).

    • llm object Required
      Hide llm attributes Show llm attributes object
      • model string

        The LLM model of the replica.

        Any of:

        The LLM model of the replica.

        Values are asi1-mini, claude-3-7-sonnet-latest, claude-haiku-4-5, claude-sonnet-4-5, deepseek-chat, gemini-2.5-flash, gemini-2.5-pro, gpt-4o, gpt-4o-mini, gpt-5, gpt-5-mini, gpt-5-nano, grok-3-latest, grok-4-latest, o3-mini, or targon-gpt-oss-120b. Default value is claude-haiku-4-5.

        Deprecated. Use claude-haiku-4-5 instead. Fast and cost-effective model for quick responses and high-volume tasks with reliable performance.

        Value is claude-3-5-haiku-latest. Default value is claude-haiku-4-5.

        Deprecated. Use claude-sonnet-4-5 instead. Balances thoughtful responses with practical conciseness, making it well-suited for both casual conversations and focused work tasks

        Value is claude-4-sonnet-20250514. Default value is claude-haiku-4-5.

        Deprecated. Use grok-3-latest instead. Best for casual, creative, and engaging conversations. Fun and dynamic but may not always be highly precise.

        Value is grok-2-latest. Default value is claude-haiku-4-5.

        Deprecated. Use grok-3-latest instead. Experimental model focused on casual, creative conversations. More dynamic and fun but may sacrifice some precision.

        Value is grok-3-beta. Default value is claude-haiku-4-5.

      • memoryMode string Deprecated

        Deprecated. The system will automatically choose the best approach.

        Values are prompt-caching or rag-search. Default value is rag-search.

      • systemMessage string

        Who is your replica? How do you want it to talk, respond and act.

        Maximum length is 30000.

      • tools array[string]

        The replica's tools. Tools enable agents to interact with the world. getTokenInfo: Allows replica to get token information

        Values are getTokenInfo, getUdaoTokenInfo, getSensayTokenInfo, getTokenInfoMEAI, answerToLife, toolhouse, brightUnionGetQuoteTool, or brightUnionGetCoverablesTool. Default value is [] (empty).

      • embeddingModel string

        The embedding model used for semantic search and knowledge base operations.

        Values are multilingual-e5-large or qwen3-embedding-8b. Default value is multilingual-e5-large.

    • voicePreviewText string

      Text that can be used to generate a voice preview.

      Maximum length is 400.

    • isEveryConversationAccessibleBySupport boolean

      Whether the replica conversations are accessible to customer support

    • uuid string(uuid) Required

      The replica UUID

    • distilledKnowledge string

      The distilled knowledge of the replica

    • success boolean Required

      Indicates the request was successful

      Value is true.

  • 400 application/json

    Bad Request

    Hide response attributes Show response attributes object
    • success boolean Required

      Indicates the status of the request

    • error string Required

      A text representation of the error

    • error_code string

      A machine-readable error code indicating the specific error condition. Used for programmatic error handling

    • fingerprint string

      A unique identifier of the event, useful for reporting

    • request_id string Required

      A unique identifier of the request, useful for reporting

  • 401 application/json

    Unauthorized

    Hide response attributes Show response attributes object
    • success boolean Required

      Indicates the status of the request

    • error string Required

      A text representation of the error

    • error_code string

      A machine-readable error code indicating the specific error condition. Used for programmatic error handling

    • fingerprint string

      A unique identifier of the event, useful for reporting

    • request_id string Required

      A unique identifier of the request, useful for reporting

  • 404 application/json

    Not Found

    Hide response attributes Show response attributes object
    • success boolean Required

      Indicates the status of the request

    • error string Required

      A text representation of the error

    • request_id string Required

      A unique identifier of the request, useful for reporting

  • 415 application/json

    Unsupported Media Type

    Hide response attributes Show response attributes object
    • success boolean Required

      Indicates the status of the request

    • error string Required

      A text representation of the error

    • error_code string

      A machine-readable error code indicating the specific error condition. Used for programmatic error handling

    • fingerprint string

      A unique identifier of the event, useful for reporting

    • request_id string Required

      A unique identifier of the request, useful for reporting

  • 500 application/json

    Internal Server Error

    Hide response attributes Show response attributes object
    • success boolean Required

      Indicates the status of the request

    • error string Required

      A text representation of the error

    • fingerprint string

      A unique identifier of the event, useful for reporting

    • request_id string Required

      A unique identifier of the request, useful for reporting

    • inner_exception object

      The inner exception

      Hide inner_exception attributes Show inner_exception attributes object
      • name string Required
      • message string Required
      • cause string
      • stack string
GET /v1/replicas/{replicaUUID}
curl \
 --request GET 'https://api.sensay.io/v1/replicas/03db5651-cb61-4bdf-9ef0-89561f7c9c53' \
 --header "X-ORGANIZATION-SECRET: $API_KEY" \
 --header "X-API-Version: 2025-03-25"
Response examples (200)
{
  "name": "John Smith",
  "purpose": "Acts as my AI twin for answering questions about my creative work.",
  "shortDescription": "Accountant from Brooklyn who loves sports.",
  "greeting": "What would you like to know?",
  "type": "character",
  "ownerID": "a-user-id",
  "private": false,
  "whitelistEmails": [
    "user@domain.example"
  ],
  "slug": "example-replica",
  "tags": [
    "male",
    "italian"
  ],
  "profileImage": "https://images.invalid/photo.jpeg",
  "suggestedQuestions": [
    "What is the meaning of life?"
  ],
  "llm": {
    "model": "gpt-4o",
    "memoryMode": "rag-search",
    "systemMessage": "Concise, knowledgeable, empathetic and cheerful.",
    "tools": [
      "getTokenInfo"
    ],
    "embeddingModel": "multilingual-e5-large"
  },
  "voicePreviewText": "Hi, I'm your Sensay replica! How can I assist you today?",
  "isEveryConversationAccessibleBySupport": true,
  "uuid": "4830597b-f3be-42b4-9587-fa15299ccd63",
  "distilledKnowledge": "This is the distilled knowledge of the replica.",
  "success": true
}
Response examples (400)
{
  "error": "Replica owner knowledge base entry custom quota exceeded. Current usage: 10/10. To fix this, either increase the totalUserQuota value in your request's usageLimits parameter or remove some existing Knowledge Base entries.",
  "success": false,
  "error_code": "KNOWLEDGE_BASE_CUSTOM_QUOTA_EXCEEDED",
  "request_id": "xyz1::reg1:reg1::ab3c4-1234567890123-0123456789ab",
  "fingerprint": "14fceadd84e74ec499afe9b0f7952d6b"
}
Response examples (401)
{
  "error": "Replica owner knowledge base entry custom quota exceeded. Current usage: 10/10. To fix this, either increase the totalUserQuota value in your request's usageLimits parameter or remove some existing Knowledge Base entries.",
  "success": false,
  "error_code": "KNOWLEDGE_BASE_CUSTOM_QUOTA_EXCEEDED",
  "request_id": "xyz1::reg1:reg1::ab3c4-1234567890123-0123456789ab",
  "fingerprint": "14fceadd84e74ec499afe9b0f7952d6b"
}
Response examples (404)
{
  "error": "A text representation of the error",
  "success": false,
  "request_id": "xyz1::reg1:reg1::ab3c4-1234567890123-0123456789ab"
}
Response examples (415)
{
  "error": "Replica owner knowledge base entry custom quota exceeded. Current usage: 10/10. To fix this, either increase the totalUserQuota value in your request's usageLimits parameter or remove some existing Knowledge Base entries.",
  "success": false,
  "error_code": "KNOWLEDGE_BASE_CUSTOM_QUOTA_EXCEEDED",
  "request_id": "xyz1::reg1:reg1::ab3c4-1234567890123-0123456789ab",
  "fingerprint": "14fceadd84e74ec499afe9b0f7952d6b"
}
Response examples (500)
{
  "error": "A text representation of the error",
  "success": false,
  "request_id": "xyz1::reg1:reg1::ab3c4-1234567890123-0123456789ab",
  "fingerprint": "14fceadd84e74ec499afe9b0f7952d6b",
  "inner_exception": {
    "name": "Server overheated",
    "cause": "Request too complicated",
    "stack": "Error: Server overheated due to an unexpected situation\n    at Object.eval (eval at <anonymous>...",
    "message": "The server overheated due to an unexpected situation"
  }
}