Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Daniel-Stojanovski/finkiopendesk/llms.txt

Use this file to discover all available pages before exploring further.

These endpoints expose the discussion, channels, and voting data for a single subject. Fetching discussions and channels is public and requires no token. Submitting a vote requires a valid JWT obtained from the authentication flow — the server reads the caller’s user ID directly from the token claims.

GET /api/subjects/sid/

Returns the full discussion object for a subject, including all comments posted in that discussion.

Path parameters

subjectId
string
required
The unique identifier of the subject whose discussion you want to retrieve.

Response

Returns a single SubjectDiscussionDto object.
subjectDiscussionId
string
required
Unique identifier of the subject discussion.
name
string
required
Display name of the discussion thread.
description
string
Description of the discussion thread. May be null.
comments
CommentDto[]
All comments associated with this discussion thread.
curl https://finkiopendesk.onrender.com/api/subjects/sid/subject-abc123

GET /api/subjects/channels/sid/

Returns all channels associated with the given subject, regardless of active or inactive status.

Path parameters

subjectId
string
required
The unique identifier of the subject whose channels you want to retrieve.

Response

An array of ChannelDto objects. See the channels reference for the full field list.
curl https://finkiopendesk.onrender.com/api/subjects/channels/sid/subject-abc123

GET /api/subjects/channels/sid//active

Returns only channels whose associated subject tag has statusActive: true.

Path parameters

subjectId
string
required
The unique identifier of the subject.

Response

An array of ChannelDto objects — same schema as above, filtered to active channels only.
curl https://finkiopendesk.onrender.com/api/subjects/channels/sid/subject-abc123/active

GET /api/subjects/channels/sid//inactive

Returns only channels whose associated subject tag has statusActive: false.

Path parameters

subjectId
string
required
The unique identifier of the subject.

Response

An array of ChannelDto objects — same schema as above, filtered to inactive channels only.
curl https://finkiopendesk.onrender.com/api/subjects/channels/sid/subject-abc123/inactive

POST /api/subjects/vote

Submit or update a vote on a subject or profession. The caller’s identity is resolved from the JWT — you do not send a userId in the request body.
This endpoint requires authentication. Include a valid Authorization: Bearer <token> header obtained from the auth flow.
If a vote from the same user on the same target already exists and the new vote matches it, the server removes the existing vote and returns 204 No Content. Otherwise it upserts the vote and returns 200 OK with the saved VoteDto.

Headers

Authorization
string
required
Bearer token issued by the authentication server. Format: Bearer <jwt>.

Request body

subjectId
string
ID of the subject to vote on. Provide either subjectId or professionId, not both.
professionId
string
ID of the profession to vote on. Provide either professionId or subjectId, not both.
vote
integer
required
Vote value. Typically 1 for an upvote or -1 for a downvote.

Response

Returns 200 OK with a VoteDto when the vote is saved, or 204 No Content when a duplicate vote is removed.
voteId
string
Unique identifier of the saved vote.
subjectId
string
Subject this vote applies to. null if voting on a profession.
professionId
string
Profession this vote applies to. null if voting on a subject.
vote
integer
The recorded vote value.
curl -X POST https://finkiopendesk.onrender.com/api/subjects/vote \
  -H "Authorization: Bearer <your-jwt-token>" \
  -H "Content-Type: application/json" \
  -d '{"subjectId": "subject-abc123", "vote": 1}'

Build docs developers (and LLMs) love