curl --request POST \
  --url https://api.turnkey.com/public/v1/submit/create_policy \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header "X-Stamp: <YOUR_API_KEY.YOUR_API_SECRET>" \
  --data '{
    "type": "ACTIVITY_TYPE_CREATE_POLICY_V3",
    "timestampMs": "<string> (e.g., 1745474677465)",
    "organizationId": "<string> (Your Organization ID)",
    "parameters": {
        "policyName": "<string>",
        "effect": "<EFFECT_ALLOW>",
        "condition": "<string>",
        "consensus": "<string>",
        "notes": "<string>"
    }
}'
{
  "activity": {
    "id": "<activity-id>",
    "status": "ACTIVITY_STATUS_COMPLETED",
    "type": "ACTIVITY_TYPE_CREATE_POLICY_V3",
    "organizationId": "<organization-id>",
    "timestampMs": "<timestamp> (e.g., 1745474677465)",
    "result": {
      "activity": {
        "type": "<string>",
        "intent": {
          "createPolicyIntent": {
            "policyName": "<string>",
            "selectors": [
              {
                "subject": "<string>",
                "operator": "<OPERATOR_EQUAL>",
                "target": "<string>"
              }
            ],
            "effect": "<EFFECT_ALLOW>",
            "notes": "<string>"
          }
        },
        "result": {
          "createPolicyResult": {
            "policyId": "<string>"
          }
        }
      }
    }
  }
}
POST
/
public
/
v1
/
submit
/
create_policy

Authorizations

X-Stamp
string
header
required

Body

type
enum<string>
required

Enum options: ACTIVITY_TYPE_CREATE_POLICY_V3

timestampMs
string
required

Timestamp (in milliseconds) of the request, used to verify liveness of user requests.

organizationId
string
required

Unique identifier for a given Organization.

parameters
object
required

parameters field

Response

A successful response returns the following fields:

activity
object
required

The activity object containing type, intent, and result

curl --request POST \
  --url https://api.turnkey.com/public/v1/submit/create_policy \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header "X-Stamp: <YOUR_API_KEY.YOUR_API_SECRET>" \
  --data '{
    "type": "ACTIVITY_TYPE_CREATE_POLICY_V3",
    "timestampMs": "<string> (e.g., 1745474677465)",
    "organizationId": "<string> (Your Organization ID)",
    "parameters": {
        "policyName": "<string>",
        "effect": "<EFFECT_ALLOW>",
        "condition": "<string>",
        "consensus": "<string>",
        "notes": "<string>"
    }
}'
{
  "activity": {
    "id": "<activity-id>",
    "status": "ACTIVITY_STATUS_COMPLETED",
    "type": "ACTIVITY_TYPE_CREATE_POLICY_V3",
    "organizationId": "<organization-id>",
    "timestampMs": "<timestamp> (e.g., 1745474677465)",
    "result": {
      "activity": {
        "type": "<string>",
        "intent": {
          "createPolicyIntent": {
            "policyName": "<string>",
            "selectors": [
              {
                "subject": "<string>",
                "operator": "<OPERATOR_EQUAL>",
                "target": "<string>"
              }
            ],
            "effect": "<EFFECT_ALLOW>",
            "notes": "<string>"
          }
        },
        "result": {
          "createPolicyResult": {
            "policyId": "<string>"
          }
        }
      }
    }
  }
}