Sökningen laddas först när du använder den. Bläddra bland alla kategorier nedan.

MCP-verktyg

Uppdatera projektprofil

sosoapi_update_project_profile

Patcha ett projekts varumärkesprofilfält. Utelämnade fält förblir oförändrade. Kräver expected_profile_version från senaste läsningen och en idempotency_key (rollen editor).

Läs som Markdown

Profiler och transporter

Profiler: full · Transporter: stdio, http

Välj core eller full för att styra vilka verktyg klienten ser; detta ändrar inte dess behörigheter. Lokal filuppladdning kräver stdio och är inte tillgänglig via HTTP. Ange SOSOAPI_OUTPUT_SCHEMAS=1 för att inkludera utdatascheman vid identifiering. Verktygen returnerar strukturerade resultat med eller utan inställningen.

Behörigheter och sidoeffekter

Annoteringar hjälper klienter att beskriva ett verktyg. Varje anrop kontrollerar fortfarande användarens autentisering, roll, resursåtkomst och tilldelade funktionsbehörigheter.

{
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false
}

Indatafält

Obligatoriskt betyder obligatoriskt inom sitt överordnade objekt och vald gren. Ett obligatoriskt underfält gör inte ett valfritt överordnat objekt obligatoriskt. Regler och fältnamn nedan kopieras från kontraktet.

Indatafält
Fält / grenTyp / obligatorisktBegränsningar
$objectObligatoriskt i överordnat objekt
  • additionalProperties: false
project_idstringObligatoriskt i överordnat objekt
  • format: "uuid"
expected_profile_versionintegerObligatoriskt i överordnat objekt
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
idempotency_keystringObligatoriskt i överordnat objekt
  • minLength: 8
  • maxLength: 160
patchobjectObligatoriskt i överordnat objekt
  • additionalProperties: false
patch.taglinestring | nullValfritt / objekt—
patch.taglineanyOf 1stringValfritt / objekt
  • maxLength: 300
patch.taglineanyOf 2nullValfritt / objekt—
patch.descriptionstring | nullValfritt / objekt—
patch.descriptionanyOf 1stringValfritt / objekt
  • maxLength: 4000
patch.descriptionanyOf 2nullValfritt / objekt—
patch.voicestring | nullValfritt / objekt—
patch.voiceanyOf 1stringValfritt / objekt
  • maxLength: 1000
patch.voiceanyOf 2nullValfritt / objekt—
patch.target_audiencestring | nullValfritt / objekt—
patch.target_audienceanyOf 1stringValfritt / objekt
  • maxLength: 1000
patch.target_audienceanyOf 2nullValfritt / objekt—
patch.color_palettearrayValfritt / objekt
  • maxItems: 20
patch.color_palette[]stringValfritt / objekt
  • maxLength: 64
patch.goalsarrayValfritt / objekt
  • maxItems: 50
patch.goals[]stringValfritt / objekt
  • maxLength: 160
patch.no_go_topicsarrayValfritt / objekt
  • maxItems: 100
patch.no_go_topics[]stringValfritt / objekt
  • maxLength: 160
patch.language_primarystringValfritt / objekt
  • minLength: 2
  • maxLength: 35
patch.positioningstring | nullValfritt / objekt—
patch.positioninganyOf 1stringValfritt / objekt
  • maxLength: 2000
patch.positioninganyOf 2nullValfritt / objekt—
patch.uspstring | nullValfritt / objekt—
patch.uspanyOf 1stringValfritt / objekt
  • maxLength: 1000
patch.uspanyOf 2nullValfritt / objekt—
patch.visual_identityobject | nullValfritt / objekt—
patch.visual_identityanyOf 1objectValfritt / objekt
  • additionalProperties: {}
patch.visual_identity.*anyOf 1any JSON valueValfritt / objekt—
patch.visual_identityanyOf 2nullValfritt / objekt—
patch.forbidden_claimsarrayValfritt / objekt
  • maxItems: 100
patch.forbidden_claims[]stringValfritt / objekt
  • maxLength: 240
patch.north_star_metricstring | nullValfritt / objekt—
patch.north_star_metricanyOf 1stringValfritt / objekt
  • maxLength: 300
patch.north_star_metricanyOf 2nullValfritt / objekt—
patch.posting_cadenceobject | nullValfritt / objekt—
patch.posting_cadenceanyOf 1objectValfritt / objekt
  • additionalProperties: {}
patch.posting_cadence.*anyOf 1any JSON valueValfritt / objekt—
patch.posting_cadenceanyOf 2nullValfritt / objekt—
patch.app_store_url_iosstring | nullValfritt / objekt—
patch.app_store_url_iosanyOf 1stringValfritt / objekt
  • format: "uri"
patch.app_store_url_iosanyOf 2nullValfritt / objekt—
patch.app_store_url_androidstring | nullValfritt / objekt—
patch.app_store_url_androidanyOf 1stringValfritt / objekt
  • format: "uri"
patch.app_store_url_androidanyOf 2nullValfritt / objekt—
patch.app_metadataobjectValfritt / objekt
  • additionalProperties: {}
patch.app_metadata.*any JSON valueValfritt / objekt—
Fullständigt JSON Schema
{
  "type": "object",
  "properties": {
    "project_id": {
      "type": "string",
      "format": "uuid"
    },
    "expected_profile_version": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "idempotency_key": {
      "type": "string",
      "minLength": 8,
      "maxLength": 160
    },
    "patch": {
      "type": "object",
      "properties": {
        "tagline": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 300
            },
            {
              "type": "null"
            }
          ]
        },
        "description": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 4000
            },
            {
              "type": "null"
            }
          ]
        },
        "voice": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 1000
            },
            {
              "type": "null"
            }
          ]
        },
        "target_audience": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 1000
            },
            {
              "type": "null"
            }
          ]
        },
        "color_palette": {
          "maxItems": 20,
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 64
          }
        },
        "goals": {
          "maxItems": 50,
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 160
          }
        },
        "no_go_topics": {
          "maxItems": 100,
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 160
          }
        },
        "language_primary": {
          "type": "string",
          "minLength": 2,
          "maxLength": 35
        },
        "positioning": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 2000
            },
            {
              "type": "null"
            }
          ]
        },
        "usp": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 1000
            },
            {
              "type": "null"
            }
          ]
        },
        "visual_identity": {
          "anyOf": [
            {
              "type": "object",
              "additionalProperties": {}
            },
            {
              "type": "null"
            }
          ]
        },
        "forbidden_claims": {
          "maxItems": 100,
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 240
          }
        },
        "north_star_metric": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 300
            },
            {
              "type": "null"
            }
          ]
        },
        "posting_cadence": {
          "anyOf": [
            {
              "type": "object",
              "additionalProperties": {}
            },
            {
              "type": "null"
            }
          ]
        },
        "app_store_url_ios": {
          "anyOf": [
            {
              "type": "string",
              "format": "uri"
            },
            {
              "type": "null"
            }
          ]
        },
        "app_store_url_android": {
          "anyOf": [
            {
              "type": "string",
              "format": "uri"
            },
            {
              "type": "null"
            }
          ]
        },
        "app_metadata": {
          "type": "object",
          "additionalProperties": {}
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "project_id",
    "expected_profile_version",
    "idempotency_key",
    "patch"
  ],
  "additionalProperties": false
}

Strukturerat resultat

Detta schema beskriver structuredContent i ett lyckat verktygsresultat. MCP-svaret innehåller även content och kan ange isError när ett anrop misslyckas. För publicering ska du läsa inläggets slutresultat i stället för att tolka en accepterad begäran eller ett textsvar som bekräftelse. Den länkade API-åtgärden förklarar behörigheter och regler för nya försök.

Obligatoriskt betyder obligatoriskt inom sitt överordnade objekt och vald gren. Ett obligatoriskt underfält gör inte ett valfritt överordnat objekt obligatoriskt. Regler och fältnamn nedan kopieras från kontraktet.

Strukturerat resultat
Fält / grenTyp / obligatorisktBegränsningar
$objectObligatoriskt i överordnat objekt
  • additionalProperties: false
contract_versionstringObligatoriskt i överordnat objekt
  • const: "project/v1"
profileobjectObligatoriskt i överordnat objekt
  • additionalProperties: false
profile.project_idstringObligatoriskt i överordnat objekt
  • format: "uuid"
profile.workspace_idstringObligatoriskt i överordnat objekt
  • format: "uuid"
profile.taglinestring | nullObligatoriskt i överordnat objekt—
profile.taglineanyOf 1stringObligatoriskt i överordnat objekt—
profile.taglineanyOf 2nullObligatoriskt i överordnat objekt—
profile.descriptionstring | nullObligatoriskt i överordnat objekt—
profile.descriptionanyOf 1stringObligatoriskt i överordnat objekt—
profile.descriptionanyOf 2nullObligatoriskt i överordnat objekt—
profile.voicestring | nullObligatoriskt i överordnat objekt—
profile.voiceanyOf 1stringObligatoriskt i överordnat objekt—
profile.voiceanyOf 2nullObligatoriskt i överordnat objekt—
profile.target_audiencestring | nullObligatoriskt i överordnat objekt—
profile.target_audienceanyOf 1stringObligatoriskt i överordnat objekt—
profile.target_audienceanyOf 2nullObligatoriskt i överordnat objekt—
profile.color_palettearrayObligatoriskt i överordnat objekt—
profile.color_palette[]stringValfritt / objekt—
profile.goalsarrayObligatoriskt i överordnat objekt—
profile.goals[]stringValfritt / objekt—
profile.no_go_topicsarrayObligatoriskt i överordnat objekt—
profile.no_go_topics[]stringValfritt / objekt—
profile.language_primarystringObligatoriskt i överordnat objekt—
profile.positioningstring | nullObligatoriskt i överordnat objekt—
profile.positioninganyOf 1stringObligatoriskt i överordnat objekt—
profile.positioninganyOf 2nullObligatoriskt i överordnat objekt—
profile.uspstring | nullObligatoriskt i överordnat objekt—
profile.uspanyOf 1stringObligatoriskt i överordnat objekt—
profile.uspanyOf 2nullObligatoriskt i överordnat objekt—
profile.visual_identityobject | nullObligatoriskt i överordnat objekt—
profile.visual_identityanyOf 1objectObligatoriskt i överordnat objekt
  • additionalProperties: {}
profile.visual_identity.*anyOf 1any JSON valueValfritt / objekt—
profile.visual_identityanyOf 2nullObligatoriskt i överordnat objekt—
profile.forbidden_claimsarrayObligatoriskt i överordnat objekt—
profile.forbidden_claims[]stringValfritt / objekt—
profile.north_star_metricstring | nullObligatoriskt i överordnat objekt—
profile.north_star_metricanyOf 1stringObligatoriskt i överordnat objekt—
profile.north_star_metricanyOf 2nullObligatoriskt i överordnat objekt—
profile.posting_cadenceobject | nullObligatoriskt i överordnat objekt—
profile.posting_cadenceanyOf 1objectObligatoriskt i överordnat objekt
  • additionalProperties: {}
profile.posting_cadence.*anyOf 1any JSON valueValfritt / objekt—
profile.posting_cadenceanyOf 2nullObligatoriskt i överordnat objekt—
profile.app_store_url_iosstring | nullObligatoriskt i överordnat objekt—
profile.app_store_url_iosanyOf 1stringObligatoriskt i överordnat objekt—
profile.app_store_url_iosanyOf 2nullObligatoriskt i överordnat objekt—
profile.app_store_url_androidstring | nullObligatoriskt i överordnat objekt—
profile.app_store_url_androidanyOf 1stringObligatoriskt i överordnat objekt—
profile.app_store_url_androidanyOf 2nullObligatoriskt i överordnat objekt—
profile.app_metadataobjectObligatoriskt i överordnat objekt
  • additionalProperties: {}
profile.app_metadata.*any JSON valueValfritt / objekt—
profile.profile_versionintegerObligatoriskt i överordnat objekt
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
profile.updated_bystring | nullObligatoriskt i överordnat objekt—
profile.updated_byanyOf 1stringObligatoriskt i överordnat objekt
  • format: "uuid"
profile.updated_byanyOf 2nullObligatoriskt i överordnat objekt—
profile.updated_by_kindstringObligatoriskt i överordnat objekt
  • enum: ["jwt","api_key","delegated_ai","migration"]
profile.updated_by_api_key_idstring | nullObligatoriskt i överordnat objekt—
profile.updated_by_api_key_idanyOf 1stringObligatoriskt i överordnat objekt
  • format: "uuid"
profile.updated_by_api_key_idanyOf 2nullObligatoriskt i överordnat objekt—
profile.updated_by_delegated_grant_idstring | nullObligatoriskt i överordnat objekt—
profile.updated_by_delegated_grant_idanyOf 1stringObligatoriskt i överordnat objekt
  • format: "uuid"
profile.updated_by_delegated_grant_idanyOf 2nullObligatoriskt i överordnat objekt—
profile.created_atstringObligatoriskt i överordnat objekt
  • format: "date-time"
  • pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
profile.updated_atstringObligatoriskt i överordnat objekt
  • format: "date-time"
  • pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
receipt_idstringObligatoriskt i överordnat objekt
  • format: "uuid"
appliedbooleanObligatoriskt i överordnat objekt—
dedupedbooleanObligatoriskt i överordnat objekt—
Fullständigt JSON Schema
{
  "type": "object",
  "properties": {
    "contract_version": {
      "type": "string",
      "const": "project/v1"
    },
    "profile": {
      "type": "object",
      "properties": {
        "project_id": {
          "type": "string",
          "format": "uuid"
        },
        "workspace_id": {
          "type": "string",
          "format": "uuid"
        },
        "tagline": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "voice": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "target_audience": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "color_palette": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "goals": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "no_go_topics": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "language_primary": {
          "type": "string"
        },
        "positioning": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "usp": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "visual_identity": {
          "anyOf": [
            {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {}
            },
            {
              "type": "null"
            }
          ]
        },
        "forbidden_claims": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "north_star_metric": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "posting_cadence": {
          "anyOf": [
            {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {}
            },
            {
              "type": "null"
            }
          ]
        },
        "app_store_url_ios": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "app_store_url_android": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "app_metadata": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {}
        },
        "profile_version": {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        },
        "updated_by": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid"
            },
            {
              "type": "null"
            }
          ]
        },
        "updated_by_kind": {
          "type": "string",
          "enum": [
            "jwt",
            "api_key",
            "delegated_ai",
            "migration"
          ]
        },
        "updated_by_api_key_id": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid"
            },
            {
              "type": "null"
            }
          ]
        },
        "updated_by_delegated_grant_id": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid"
            },
            {
              "type": "null"
            }
          ]
        },
        "created_at": {
          "type": "string",
          "format": "date-time",
          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
        },
        "updated_at": {
          "type": "string",
          "format": "date-time",
          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
        }
      },
      "required": [
        "project_id",
        "workspace_id",
        "tagline",
        "description",
        "voice",
        "target_audience",
        "color_palette",
        "goals",
        "no_go_topics",
        "language_primary",
        "positioning",
        "usp",
        "visual_identity",
        "forbidden_claims",
        "north_star_metric",
        "posting_cadence",
        "app_store_url_ios",
        "app_store_url_android",
        "app_metadata",
        "profile_version",
        "updated_by",
        "updated_by_kind",
        "updated_by_api_key_id",
        "updated_by_delegated_grant_id",
        "created_at",
        "updated_at"
      ],
      "additionalProperties": false
    },
    "receipt_id": {
      "type": "string",
      "format": "uuid"
    },
    "applied": {
      "type": "boolean"
    },
    "deduped": {
      "type": "boolean"
    }
  },
  "required": [
    "contract_version",
    "profile",
    "receipt_id",
    "applied",
    "deduped"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Exempel på verktygsanrop

Exemplen använder fiktiva värden som kontrollerats mot schemana. Ersätt ID:n med sådana du får använda, medier med färdiga mediefiler och datum med din bekräftade publiceringstid. Kontrollera kontots behörighet före en skrivning. Denna sida skickar inga API-anrop.

{
  "name": "sosoapi_update_project_profile",
  "arguments": {
    "project_id": "11111111-1111-4111-8111-111111111111",
    "expected_profile_version": 1,
    "idempotency_key": "example-intent-0001",
    "patch": {
      "tagline": "A fictional project for the documentation example."
    }
  }
}

structuredContent

{
  "contract_version": "project/v1",
  "profile": {
    "project_id": "11111111-1111-4111-8111-111111111111",
    "workspace_id": "11111111-1111-4111-8111-111111111111",
    "tagline": null,
    "description": null,
    "voice": null,
    "target_audience": null,
    "color_palette": [],
    "goals": [],
    "no_go_topics": [],
    "language_primary": "example",
    "positioning": null,
    "usp": null,
    "visual_identity": null,
    "forbidden_claims": [],
    "north_star_metric": null,
    "posting_cadence": null,
    "app_store_url_ios": null,
    "app_store_url_android": null,
    "app_metadata": {},
    "profile_version": 1,
    "updated_by": null,
    "updated_by_kind": "jwt",
    "updated_by_api_key_id": null,
    "updated_by_delegated_grant_id": null,
    "created_at": "2099-01-15T09:00:00Z",
    "updated_at": "2099-01-15T09:00:00Z"
  },
  "receipt_id": "11111111-1111-4111-8111-111111111111",
  "applied": false,
  "deduped": false
}
Installera eller anslut MCP