Documentation Index Fetch the complete documentation index at: https://docs.turnkey.com/llms.txt
Use this file to discover all available pages before exploring further.
Authorizations API Key
WebAuthn (Passkey)
Cryptographically signed (stamped) request to be passed in as a header. For more info, see
here .
Cryptographically signed (stamped) request to be passed in as a header. For more info, see
here .
Body
Enum options: ACTIVITY_TYPE_CREATE_READ_WRITE_SESSION_V2
Timestamp (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.
parameters. targetPublicKey
Client-side public key generated by the user, to which the read write session bundle (credentials) will be encrypted.
Unique identifier for a given User.
Optional human-readable name for an API Key. If none provided, default to Read Write Session - <Timestamp>
parameters. expirationSeconds
Expiration window (in seconds) indicating how long the API key is valid for. If not provided, a default of 15 minutes will be used.
parameters. invalidateExisting
Invalidate all other previously generated ReadWriteSession API keys
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 Unique identifier for a given Activity object.
Unique identifier for a given Organization.
The intent of the activity activity.intent. createReadWriteSessionIntentV2
The createReadWriteSessionIntentV2 object Show createReadWriteSessionIntentV2 details
activity.intent.createReadWriteSessionIntentV2. targetPublicKey
Client-side public key generated by the user, to which the read write session bundle (credentials) will be encrypted.
activity.intent.createReadWriteSessionIntentV2. userId
Unique identifier for a given User.
activity.intent.createReadWriteSessionIntentV2. apiKeyName
Optional human-readable name for an API Key. If none provided, default to Read Write Session - <Timestamp>
activity.intent.createReadWriteSessionIntentV2. expirationSeconds
Expiration window (in seconds) indicating how long the API key is valid for. If not provided, a default of 15 minutes will be used.
activity.intent.createReadWriteSessionIntentV2. invalidateExisting
Invalidate all other previously generated ReadWriteSession API keys
The result of the activity activity.result. createReadWriteSessionResultV2
The createReadWriteSessionResultV2 object Show createReadWriteSessionResultV2 details
activity.result.createReadWriteSessionResultV2. organizationId
Unique identifier for a given Organization. If the request is being made by a user and their Sub-Organization ID is unknown, this can be the Parent Organization ID. However, using the Sub-Organization ID is preferred due to performance reasons.
activity.result.createReadWriteSessionResultV2. organizationName
Human-readable name for an Organization.
activity.result.createReadWriteSessionResultV2. userId
Unique identifier for a given User.
activity.result.createReadWriteSessionResultV2. username
Human-readable name for a User.
activity.result.createReadWriteSessionResultV2. apiKeyId
Unique identifier for the created API key.
activity.result.createReadWriteSessionResultV2. credentialBundle
HPKE encrypted credential bundle
A list of objects representing a particular User’s approval or rejection of a Consensus request, including all relevant metadata.
An artifact verifying a User’s action.
Whether the activity can be approved.
Whether the activity can be rejected.
The last update timestamp.
curl --request POST \
--url https://api.turnkey.com/public/v1/submit/create_read_write_session \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header "X-Stamp: <string> (see Authorizations)" \
--data '{
"type": "ACTIVITY_TYPE_CREATE_READ_WRITE_SESSION_V2",
"timestampMs": "<string> (e.g. 1746736509954)",
"organizationId": "<string> (Your Organization ID)",
"parameters": {
"targetPublicKey": "<string>",
"userId": "<string>",
"apiKeyName": "<string>",
"expirationSeconds": "<string>",
"invalidateExisting": "<boolean>"
}
}'
{
"activity" : {
"id" : "<activity-id>" ,
"status" : "ACTIVITY_STATUS_COMPLETED" ,
"type" : "ACTIVITY_TYPE_CREATE_READ_WRITE_SESSION_V2" ,
"organizationId" : "<organization-id>" ,
"timestampMs" : "<timestamp> (e.g. 1746736509954)" ,
"result" : {
"activity" : {
"id" : "<string>" ,
"organizationId" : "<string>" ,
"status" : "<string>" ,
"type" : "<string>" ,
"intent" : {
"createReadWriteSessionIntentV2" : {
"targetPublicKey" : "<string>" ,
"userId" : "<string>" ,
"apiKeyName" : "<string>" ,
"expirationSeconds" : "<string>" ,
"invalidateExisting" : "<boolean>"
}
},
"result" : {
"createReadWriteSessionResultV2" : {
"organizationId" : "<string>" ,
"organizationName" : "<string>" ,
"userId" : "<string>" ,
"username" : "<string>" ,
"apiKeyId" : "<string>" ,
"credentialBundle" : "<string>"
}
},
"votes" : "<array>" ,
"fingerprint" : "<string>" ,
"canApprove" : "<boolean>" ,
"canReject" : "<boolean>" ,
"createdAt" : "<string>" ,
"updatedAt" : "<string>"
}
}
}
}