POST
/
public
/
v1
/
submit
/
update_policy
Authorizations
Body
Enum options:
ACTIVITY_TYPE_UPDATE_POLICY_V2Timestamp (in milliseconds) of the request, used to verify liveness of user requests.
Unique identifier for a given Organization.
The parameters object containing the specific intent data for this activity.
Show details
Show details
Enable to have your activity generate and return App Proofs, enabling verifiability.
Response
A successful response returns the following fields:The activity object containing type, intent, and result
Show activity details
Show activity details
The intent of the activity
Show intent details
Show intent details
The updatePolicyIntentV2 object
Show updatePolicyIntentV2 details
Show updatePolicyIntentV2 details
policyEffect fieldEnum options:
EFFECT_ALLOW, EFFECT_DENYThe condition expression that triggers the Effect (optional).
The consensus expression that triggers the Effect (optional).
A list of objects representing a particular User’s approval or rejection of a Consensus request, including all relevant metadata.
curl --request POST \
--url https://api.turnkey.com/public/v1/submit/update_policy \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header "X-Stamp: <string> (see Authorizations)" \
--data '{
"type": "ACTIVITY_TYPE_UPDATE_POLICY_V2",
"timestampMs": "<string> (e.g. 1746736509954)",
"organizationId": "<string> (Your Organization ID)",
"parameters": {
"policyId": "<string>",
"policyName": "<string>",
"policyEffect": "<EFFECT_ALLOW>",
"policyCondition": "<string>",
"policyConsensus": "<string>",
"policyNotes": "<string>"
}
}'
import { Turnkey } from "@turnkey/sdk-server";
const turnkeyClient = new Turnkey({
apiBaseUrl: "https://api.turnkey.com",
apiPublicKey: process.env.API_PUBLIC_KEY!,
apiPrivateKey: process.env.API_PRIVATE_KEY!,
defaultOrganizationId: process.env.ORGANIZATION_ID!,
});
const response = await turnkeyClient.apiClient().updatePolicy({
policyId: "<string> (Unique identifier for a given Policy.)",
policyName: "<string> (Human-readable name for a Policy.)",
policyEffect: "<EFFECT_ALLOW>" // policyEffect field,
policyCondition: "<string> (The condition expression that triggers the Effect (optional).)",
policyConsensus: "<string> (The consensus expression that triggers the Effect (optional).)",
policyNotes: "<string> (Accompanying notes for a Policy (optional).)"
});
{
"activity": {
"id": "<activity-id>",
"status": "ACTIVITY_STATUS_COMPLETED",
"type": "ACTIVITY_TYPE_UPDATE_POLICY_V2",
"organizationId": "<organization-id>",
"timestampMs": "<timestamp> (e.g. 1746736509954)",
"result": {
"activity": {
"id": "<string>",
"organizationId": "<string>",
"status": "<string>",
"type": "<string>",
"intent": {
"updatePolicyIntentV2": {
"policyId": "<string>",
"policyName": "<string>",
"policyEffect": "<EFFECT_ALLOW>",
"policyCondition": "<string>",
"policyConsensus": "<string>",
"policyNotes": "<string>"
}
},
"result": {
"updatePolicyResultV2": {
"policyId": "<string>"
}
},
"votes": "<array>",
"fingerprint": "<string>",
"canApprove": "<boolean>",
"canReject": "<boolean>",
"createdAt": "<string>",
"updatedAt": "<string>"
}
}
}
}