Create a block
Identity module
POST/blocksblocks.create
A person's block of another person or an organization (Section 4.5.6 Profile Privacy). It hides the blocker's profile from the blocked person and from every member of a blocked organization, and the blocked profile from the blocker. Memberships and engagements are not affected. Creates a block. Requires `Idempotency-Key`; a replay returns the original response. The organization is derived from the credential or the parent row, never from the body.
- Requires the capability me.account.write.
- OAuth scopes: me.
- Send an Idempotency-Key header. A replay with the same key returns the original response.
- Error statuses: 400, 401, 409, 422, 429. Errors are RFC 9457 problem details.
Request body: BlockCreate
| Field | Type | Required | Description |
|---|---|---|---|
| blocked_urn | string | Yes | URN of the blocked person (urn:xpms:person:{id}) or organization (urn:xpms:organization:{id}).Constraints: length 1 to 300 |
{
"blocked_urn": "urn:xpms:person:0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f"
}Response 201: Block
| Field | Type | Required | Description |
|---|---|---|---|
| id | string (uuid) | Yes | Identifier of the block. |
| created_at | string (date-time) | Yes | When the row was created. |
| updated_at | string (date-time) | Yes | When the row was last updated. |
| blocked_urn | string | Yes | URN of the blocked person (urn:xpms:person:{id}) or organization (urn:xpms:organization:{id}).Constraints: length 1 to 300 |
{
"id": "0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f",
"created_at": "2026-10-08T14:30:00Z",
"updated_at": "2026-10-08T14:30:00Z",
"blocked_urn": "urn:xpms:person:0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f"
}Code samples
curl -X POST "$XOS_BASE_URL/blocks" \
-H "Authorization: Bearer $XOS_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"blocked_urn":"urn:xpms:person:0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f"}'const { data } = await xos.blocks.create({
"blocked_urn": "urn:xpms:person:0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f"
});response = xos.blocks.create({"blocked_urn": "urn:xpms:person:0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f"})xos blocks create --data '{"blocked_urn":"urn:xpms:person:0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f"}'