Skip to content

Create a pouch: signed create_pouch statement + key envelopes for every member

POST
/v1/pouches
curl --request POST \
--url https://app.skillpouch.net/v1/pouches \
--header 'Content-Type: application/json' \
--data '{ "statement": { "statement": "example", "signature": "example" }, "key_envelopes": [ { "pouch_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "member_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "key_gen": 1, "hpke_enc": "example", "ciphertext": "example", "created_by_member": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "signature": "example" } ] }'
Media typeapplication/json
object
statement
required
object
statement
required
string
<= 87382 characters /^[A-Za-z0-9_-]*$/
signature
required
string
<= 342 characters /^[A-Za-z0-9_-]*$/
key_envelopes
required
Array<object>
>= 1 items <= 2000 items
object
pouch_id
required
string format: uuid
/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/
member_id
required
string format: uuid
/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/
key_gen
required
integer
>= 1 <= 9007199254740991
hpke_enc
required
string
<= 342 characters /^[A-Za-z0-9_-]*$/
ciphertext
required
string
<= 5462 characters /^[A-Za-z0-9_-]*$/
created_by_member
required
string format: uuid
/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/
signature
required
string
<= 342 characters /^[A-Za-z0-9_-]*$/

Example generated

{
"statement": {
"statement": "example",
"signature": "example"
},
"key_envelopes": [
{
"pouch_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"member_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"key_gen": 1,
"hpke_enc": "example",
"ciphertext": "example",
"created_by_member": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"signature": "example"
}
]
}

Default Response

Media typeapplication/json
object
ok
required
boolean
data
required
object
id
required
string format: uuid
/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/
state
required
string
Allowed values: active locked archived deleted
epoch
required
string format: uuid
/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/
event_seq
required
integer
>= -9007199254740991 <= 9007199254740991
key_gen
required
integer
>= -9007199254740991 <= 9007199254740991
created_seq
required
integer
>= -9007199254740991 <= 9007199254740991
delete_after
required
Any of:
string format: date-time
/^(?:(?:\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)))$/
created_at
required
string format: date-time
/^(?:(?:\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)))$/
meta
required
object
request_id
required
string
next_cursor
string | null

Example

{
"ok": true,
"data": {
"state": "active"
}
}