Skip to content

Replaces a note's membership set.

PUT
/v1/notes/{id}/members

Owner only, and only for premium owners.

Added members gain the note. Dropped members receive a revocation tombstone. Made only against the roster as last read, so two devices cannot overwrite each other.

id
required
string format: uuid

Note id

If-Match
required
string

The ETag of the members as last read

Media typeapplication/json

Replaces a note’s membership set (owner only). Rotating the content key also supplies the owner’s freshly wrapped copy.

object
members
required
Array<object>

A member to grant access to, with the note key wrapped to their public key.

object
role
required

An access level a note may be shared at, narrower than [Role]: ownership is not transferable, so deserializing this is the whole validation needed.

string
Allowed values: editor viewer
userId
required
string format: uuid
wrappedCek
required

Base64 note content key wrapped to this member’s public key.

string
ownerWrappedCek

Base64 content key rewrapped for the owner. Present on key rotation.

string

Membership updated

Invalid request

Media typeapplication/problem+json

RFC 9457 problem details payload.

object
detail

Explanation specific to this occurrence, written to help correct the request.

string
errors

The invalid members of the request. Present on a validation problem.

Array<object>

One invalid member of a request, located by a JSON Pointer (RFC 6901).

object
detail
required

What is wrong with it.

string
pointer
required

JSON Pointer to the member within the request body. Empty for the whole body.

string
status
required

HTTP status code.

integer format: int32
title
required

Short summary of the problem type. For about:blank, the status phrase.

string
type

Problem type URI, which resolves to its documentation. Absent means about:blank.

string

Examplegenerated

{
"detail": "example",
"errors": [
{
"detail": "example",
"pointer": "example"
}
],
"status": 1,
"title": "example",
"type": "example"
}

No valid session token

Media typeapplication/problem+json

RFC 9457 problem details payload.

object
detail

Explanation specific to this occurrence, written to help correct the request.

string
errors

The invalid members of the request. Present on a validation problem.

Array<object>

One invalid member of a request, located by a JSON Pointer (RFC 6901).

object
detail
required

What is wrong with it.

string
pointer
required

JSON Pointer to the member within the request body. Empty for the whole body.

string
status
required

HTTP status code.

integer format: int32
title
required

Short summary of the problem type. For about:blank, the status phrase.

string
type

Problem type URI, which resolves to its documentation. Absent means about:blank.

string

Examplegenerated

{
"detail": "example",
"errors": [
{
"detail": "example",
"pointer": "example"
}
],
"status": 1,
"title": "example",
"type": "example"
}
WWW-Authenticate
string

The Bearer challenge (RFC 6750).

Premium required

Media typeapplication/problem+json

RFC 9457 problem details payload.

object
detail

Explanation specific to this occurrence, written to help correct the request.

string
errors

The invalid members of the request. Present on a validation problem.

Array<object>

One invalid member of a request, located by a JSON Pointer (RFC 6901).

object
detail
required

What is wrong with it.

string
pointer
required

JSON Pointer to the member within the request body. Empty for the whole body.

string
status
required

HTTP status code.

integer format: int32
title
required

Short summary of the problem type. For about:blank, the status phrase.

string
type

Problem type URI, which resolves to its documentation. Absent means about:blank.

string

Examplegenerated

{
"detail": "example",
"errors": [
{
"detail": "example",
"pointer": "example"
}
],
"status": 1,
"title": "example",
"type": "example"
}

Not the owner

Media typeapplication/problem+json

RFC 9457 problem details payload.

object
detail

Explanation specific to this occurrence, written to help correct the request.

string
errors

The invalid members of the request. Present on a validation problem.

Array<object>

One invalid member of a request, located by a JSON Pointer (RFC 6901).

object
detail
required

What is wrong with it.

string
pointer
required

JSON Pointer to the member within the request body. Empty for the whole body.

string
status
required

HTTP status code.

integer format: int32
title
required

Short summary of the problem type. For about:blank, the status phrase.

string
type

Problem type URI, which resolves to its documentation. Absent means about:blank.

string

Examplegenerated

{
"detail": "example",
"errors": [
{
"detail": "example",
"pointer": "example"
}
],
"status": 1,
"title": "example",
"type": "example"
}

Note not found

Media typeapplication/problem+json

RFC 9457 problem details payload.

object
detail

Explanation specific to this occurrence, written to help correct the request.

string
errors

The invalid members of the request. Present on a validation problem.

Array<object>

One invalid member of a request, located by a JSON Pointer (RFC 6901).

object
detail
required

What is wrong with it.

string
pointer
required

JSON Pointer to the member within the request body. Empty for the whole body.

string
status
required

HTTP status code.

integer format: int32
title
required

Short summary of the problem type. For about:blank, the status phrase.

string
type

Problem type URI, which resolves to its documentation. Absent means about:blank.

string

Examplegenerated

{
"detail": "example",
"errors": [
{
"detail": "example",
"pointer": "example"
}
],
"status": 1,
"title": "example",
"type": "example"
}

The resource changed since the ETag in If-Match was read

Media typeapplication/problem+json

RFC 9457 problem details payload.

object
detail

Explanation specific to this occurrence, written to help correct the request.

string
errors

The invalid members of the request. Present on a validation problem.

Array<object>

One invalid member of a request, located by a JSON Pointer (RFC 6901).

object
detail
required

What is wrong with it.

string
pointer
required

JSON Pointer to the member within the request body. Empty for the whole body.

string
status
required

HTTP status code.

integer format: int32
title
required

Short summary of the problem type. For about:blank, the status phrase.

string
type

Problem type URI, which resolves to its documentation. Absent means about:blank.

string

Examplegenerated

{
"detail": "example",
"errors": [
{
"detail": "example",
"pointer": "example"
}
],
"status": 1,
"title": "example",
"type": "example"
}

The body is too large

Media typeapplication/problem+json

RFC 9457 problem details payload.

object
detail

Explanation specific to this occurrence, written to help correct the request.

string
errors

The invalid members of the request. Present on a validation problem.

Array<object>

One invalid member of a request, located by a JSON Pointer (RFC 6901).

object
detail
required

What is wrong with it.

string
pointer
required

JSON Pointer to the member within the request body. Empty for the whole body.

string
status
required

HTTP status code.

integer format: int32
title
required

Short summary of the problem type. For about:blank, the status phrase.

string
type

Problem type URI, which resolves to its documentation. Absent means about:blank.

string

Examplegenerated

{
"detail": "example",
"errors": [
{
"detail": "example",
"pointer": "example"
}
],
"status": 1,
"title": "example",
"type": "example"
}

The body is not JSON

Media typeapplication/problem+json

RFC 9457 problem details payload.

object
detail

Explanation specific to this occurrence, written to help correct the request.

string
errors

The invalid members of the request. Present on a validation problem.

Array<object>

One invalid member of a request, located by a JSON Pointer (RFC 6901).

object
detail
required

What is wrong with it.

string
pointer
required

JSON Pointer to the member within the request body. Empty for the whole body.

string
status
required

HTTP status code.

integer format: int32
title
required

Short summary of the problem type. For about:blank, the status phrase.

string
type

Problem type URI, which resolves to its documentation. Absent means about:blank.

string

Examplegenerated

{
"detail": "example",
"errors": [
{
"detail": "example",
"pointer": "example"
}
],
"status": 1,
"title": "example",
"type": "example"
}
Accept
string

The media type the operation takes.

The write must state If-Match

Media typeapplication/problem+json

RFC 9457 problem details payload.

object
detail

Explanation specific to this occurrence, written to help correct the request.

string
errors

The invalid members of the request. Present on a validation problem.

Array<object>

One invalid member of a request, located by a JSON Pointer (RFC 6901).

object
detail
required

What is wrong with it.

string
pointer
required

JSON Pointer to the member within the request body. Empty for the whole body.

string
status
required

HTTP status code.

integer format: int32
title
required

Short summary of the problem type. For about:blank, the status phrase.

string
type

Problem type URI, which resolves to its documentation. Absent means about:blank.

string

Examplegenerated

{
"detail": "example",
"errors": [
{
"detail": "example",
"pointer": "example"
}
],
"status": 1,
"title": "example",
"type": "example"
}

Too many requests

Media typeapplication/problem+json

RFC 9457 problem details payload.

object
detail

Explanation specific to this occurrence, written to help correct the request.

string
errors

The invalid members of the request. Present on a validation problem.

Array<object>

One invalid member of a request, located by a JSON Pointer (RFC 6901).

object
detail
required

What is wrong with it.

string
pointer
required

JSON Pointer to the member within the request body. Empty for the whole body.

string
status
required

HTTP status code.

integer format: int32
title
required

Short summary of the problem type. For about:blank, the status phrase.

string
type

Problem type URI, which resolves to its documentation. Absent means about:blank.

string

Examplegenerated

{
"detail": "example",
"errors": [
{
"detail": "example",
"pointer": "example"
}
],
"status": 1,
"title": "example",
"type": "example"
}
Retry-After
string

Seconds to wait. Sent when the limit knows when it lifts.

The service failed

Media typeapplication/problem+json

RFC 9457 problem details payload.

object
detail

Explanation specific to this occurrence, written to help correct the request.

string
errors

The invalid members of the request. Present on a validation problem.

Array<object>

One invalid member of a request, located by a JSON Pointer (RFC 6901).

object
detail
required

What is wrong with it.

string
pointer
required

JSON Pointer to the member within the request body. Empty for the whole body.

string
status
required

HTTP status code.

integer format: int32
title
required

Short summary of the problem type. For about:blank, the status phrase.

string
type

Problem type URI, which resolves to its documentation. Absent means about:blank.

string

Examplegenerated

{
"detail": "example",
"errors": [
{
"detail": "example",
"pointer": "example"
}
],
"status": 1,
"title": "example",
"type": "example"
}

The service is at capacity

Media typeapplication/problem+json

RFC 9457 problem details payload.

object
detail

Explanation specific to this occurrence, written to help correct the request.

string
errors

The invalid members of the request. Present on a validation problem.

Array<object>

One invalid member of a request, located by a JSON Pointer (RFC 6901).

object
detail
required

What is wrong with it.

string
pointer
required

JSON Pointer to the member within the request body. Empty for the whole body.

string
status
required

HTTP status code.

integer format: int32
title
required

Short summary of the problem type. For about:blank, the status phrase.

string
type

Problem type URI, which resolves to its documentation. Absent means about:blank.

string

Examplegenerated

{
"detail": "example",
"errors": [
{
"detail": "example",
"pointer": "example"
}
],
"status": 1,
"title": "example",
"type": "example"
}