MCP-verktyg
Förnya API-nyckel
sosoapi_renew_api_keySkapa en efterföljare till en API-nyckel (id) med en ny hemlighet som returneras en gång och samma funktioner och arbetsytegräns, eventuellt med nytt namn eller livslängd (högst 365 dagar, 30 för en agentskapad nyckel). Ursprunglig nyckel återkallas inte. Kräver behörigheten Hantera API-nycklar.
Läs som MarkdownProfiler 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": false,
"openWorldHint": false
}- /identity-api/api-keys/renew: agent:manage_api_keys · synchronous_http_response
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.
| Fält / gren | Typ / obligatoriskt | Begränsningar |
|---|---|---|
$ | objectObligatoriskt i överordnat objekt |
|
id | stringObligatoriskt i överordnat objekt |
|
name | stringValfritt / objekt |
|
lifetime_days | integerValfritt / objekt | Dagar tills efterföljaren löper ut (1-365, standard 365; högst 30 för en nyckel skapad av en delegerad agent). Efterföljaren behåller föregångarens funktioner och arbetsytegräns.
|
idempotency_key | stringValfritt / objekt | Valfritt. Återanvänd samma nyckel för ett säkert nytt försök. Den nya hemligheten visas en gång: ett nytt försök som hittar en redan skapad efterföljare svarar 409 IDEMPOTENT_REPLAY (details.existing_key anger den). Återkalla den och förnya igen med en ny idempotency_key.
|
Fullständigt JSON Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"lifetime_days": {
"description": "Days until the successor expires (1-365, default 365; 30 at most for a key created by a delegated agent). The successor keeps the predecessor's capabilities and Workspace limit.",
"type": "integer",
"minimum": 1,
"maximum": 365
},
"idempotency_key": {
"description": "Optional. Reuse the same key to retry safely. The new secret is shown once: a retry that finds the successor already created answers 409 IDEMPOTENT_REPLAY (details.existing_key names it). Revoke it and renew again with a new idempotency_key.",
"type": "string",
"minLength": 8,
"maxLength": 160,
"pattern": "^[!-~]+$"
}
},
"required": [
"id"
],
"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.
| Fält / gren | Typ / obligatoriskt | Begränsningar |
|---|---|---|
$ | objectObligatoriskt i överordnat objekt |
|
apiKey | objectObligatoriskt i överordnat objekt |
|
apiKey.id | stringObligatoriskt i överordnat objekt |
|
apiKey.name | stringObligatoriskt i överordnat objekt | — |
apiKey.last_4 | stringObligatoriskt i överordnat objekt | — |
apiKey.scopes | arrayObligatoriskt i överordnat objekt | — |
apiKey.scopes[] | stringValfritt / objekt | — |
apiKey.created_at | stringObligatoriskt i överordnat objekt |
|
apiKey.expires_at | string | nullObligatoriskt i överordnat objekt | — |
apiKey.expires_atanyOf 1 | stringObligatoriskt i överordnat objekt |
|
apiKey.expires_atanyOf 2 | nullObligatoriskt i överordnat objekt | — |
apiKey.last_used_at | string | nullObligatoriskt i överordnat objekt | — |
apiKey.last_used_atanyOf 1 | stringObligatoriskt i överordnat objekt |
|
apiKey.last_used_atanyOf 2 | nullObligatoriskt i överordnat objekt | — |
apiKey.revoked_at | string | nullObligatoriskt i överordnat objekt | — |
apiKey.revoked_atanyOf 1 | stringObligatoriskt i överordnat objekt |
|
apiKey.revoked_atanyOf 2 | nullObligatoriskt i överordnat objekt | — |
apiKey.status | stringObligatoriskt i överordnat objekt |
|
apiKey.replaces | object | nullObligatoriskt i överordnat objekt | — |
apiKey.replacesanyOf 1 | objectObligatoriskt i överordnat objekt |
|
apiKey.replaces.idanyOf 1 | stringObligatoriskt i överordnat objekt |
|
apiKey.replaces.nameanyOf 1 | stringObligatoriskt i överordnat objekt | — |
apiKey.replaces.last_4anyOf 1 | stringObligatoriskt i överordnat objekt | — |
apiKey.replaces.statusanyOf 1 | stringObligatoriskt i överordnat objekt |
|
apiKey.replacesanyOf 2 | nullObligatoriskt i överordnat objekt | — |
apiKey.replaced_by | arrayObligatoriskt i överordnat objekt | — |
apiKey.replaced_by[] | objectValfritt / objekt |
|
apiKey.replaced_by[].id | stringObligatoriskt i överordnat objekt |
|
apiKey.replaced_by[].name | stringObligatoriskt i överordnat objekt | — |
apiKey.replaced_by[].last_4 | stringObligatoriskt i överordnat objekt | — |
apiKey.replaced_by[].status | stringObligatoriskt i överordnat objekt |
|
apiKey.capabilities | arrayValfritt / objekt | — |
apiKey.capabilities[] | stringValfritt / objekt |
|
apiKey.workspace_ids | array | nullValfritt / objekt | — |
apiKey.workspace_idsanyOf 1 | arrayValfritt / objekt | — |
apiKey.workspace_ids[]anyOf 1 | stringValfritt / objekt |
|
apiKey.workspace_idsanyOf 2 | nullValfritt / objekt | — |
apiKey.created_by_delegated_grant_id | string | nullValfritt / objekt | — |
apiKey.created_by_delegated_grant_idanyOf 1 | stringValfritt / objekt |
|
apiKey.created_by_delegated_grant_idanyOf 2 | nullValfritt / objekt | — |
secret | stringObligatoriskt i överordnat objekt |
|
Fullständigt JSON Schema
{
"type": "object",
"properties": {
"apiKey": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"last_4": {
"type": "string"
},
"scopes": {
"type": "array",
"items": {
"type": "string"
}
},
"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)))$"
},
"expires_at": {
"anyOf": [
{
"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)))$"
},
{
"type": "null"
}
]
},
"last_used_at": {
"anyOf": [
{
"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)))$"
},
{
"type": "null"
}
]
},
"revoked_at": {
"anyOf": [
{
"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)))$"
},
{
"type": "null"
}
]
},
"status": {
"type": "string",
"enum": [
"active",
"expired",
"revoked"
]
},
"replaces": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"last_4": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"active",
"expired",
"revoked"
]
}
},
"required": [
"id",
"name",
"last_4",
"status"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"replaced_by": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"last_4": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"active",
"expired",
"revoked"
]
}
},
"required": [
"id",
"name",
"last_4",
"status"
],
"additionalProperties": false
}
},
"capabilities": {
"type": "array",
"items": {
"type": "string",
"enum": [
"agent:operate",
"agent:publish",
"agent:engage"
]
}
},
"workspace_ids": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
},
{
"type": "null"
}
]
},
"created_by_delegated_grant_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"name",
"last_4",
"scopes",
"created_at",
"expires_at",
"last_used_at",
"revoked_at",
"status",
"replaces",
"replaced_by"
],
"additionalProperties": false
},
"secret": {
"type": "string",
"minLength": 1
}
},
"required": [
"apiKey",
"secret"
],
"$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_renew_api_key",
"arguments": {
"id": "11111111-1111-4111-8111-111111111111"
}
}structuredContent
{
"apiKey": {
"id": "11111111-1111-4111-8111-111111111111",
"name": "example",
"last_4": "example",
"scopes": [],
"created_at": "2099-01-15T09:00:00Z",
"expires_at": null,
"last_used_at": null,
"revoked_at": null,
"status": "active",
"replaces": null,
"replaced_by": []
},
"secret": "example"
}