PLEXICHATNarrative Docs

Relationships

Guides, route-group overviews, and live schema entry points for the Plexichat backend.

REST http://api.plexichat.com/api/v1Gateway ws://api.plexichat.com/gatewayVersion a.1.0-49

Relationships API

Endpoints for managing friend relationships and blocks.

GET /relationships/@me

Get all relationships for the current user.

Headers


Authorization: Bearer <token>

Response (200 OK)


[
  {
    "user_id": "123456789012345678",
    "status": "friend",
    "created_at": 1704067200
  },
  {
    "user_id": "234567890123456789",
    "status": "pending_incoming",
    "created_at": 1704067300
  }
]

Relationship Statuses

StatusDescription
friendMutual friendship
pending_incomingIncoming friend request
pending_outgoingOutgoing friend request
blockedUser is blocked

POST /relationships

Send a friend request.

Headers


Authorization: Bearer <token>

Request Body

FieldTypeRequiredConstraintsDescription
user_idstringYesSnowflake IDTarget user ID
messagestringNoMax 256 charsOptional message

Example Request


{
  "user_id": "123456789012345678",
  "message": "Hey, let's be friends!"
}

Response (200 OK)


{
  "user_id": "123456789012345678",
  "status": "pending_outgoing",
  "created_at": 1704067200
}

Error Responses

StatusCodeDescription
400Self requestCannot send request to yourself
403BlockedUser has blocked you
404User not foundUser doesn't exist
409Already existsRequest exists or already friends

PUT /relationships/{user_id}/accept

Accept a pending friend request.

Headers


Authorization: Bearer <token>

Path Parameters

ParameterTypeDescription
user_idstringSender's user ID

Response (200 OK)


{
  "success": true
}

Error Responses

StatusCodeDescription
400Invalid user IDID format invalid
404Request not foundNo pending request from user

DELETE /relationships/{user_id}

Remove a relationship. Action depends on current status:

  • Friend: Unfriend
  • Pending incoming: Decline request
  • Pending outgoing: Cancel request
  • Blocked: Unblock

Headers


Authorization: Bearer <token>

Response (200 OK)


{
  "success": true
}

Error Responses

StatusCodeDescription
400Invalid user IDID format invalid
404Relationship not foundNo relationship exists

POST /relationships/block

Block a user. Removes any existing relationship.

Headers


Authorization: Bearer <token>

Request Body

FieldTypeRequiredDescription
user_idstringYesUser ID to block

Example Request


{
  "user_id": "123456789012345678"
}

Response (200 OK)


{
  "user_id": "123456789012345678",
  "status": "blocked",
  "created_at": 1704067200
}

Error Responses

StatusCodeDescription
400Self blockCannot block yourself
404User not foundUser doesn't exist
409Already blockedUser already blocked

Relationship Object


{
  "user_id": "123456789012345678",
  "status": "friend",
  "created_at": 1704067200
}
FieldTypeDescription
user_idstringRelated user's ID
statusstringRelationship status
created_atint?Unix timestamp of creation