Nachrichten
32 Adressen. Ohne Zusage — sie gehören zum Innenteil der Anwendung und können sich mit jeder Fassung ändern. Wer sich auf etwas verlassen muss, nimmt die zugesagten dreizehn.
GET
/api/feedback
may change
All feedback
Every quality rating in the installation, for whoever runs it.
Felder und Aufbau
Parameter
unansweredja/nein queryAntwort
idZahl Pflichtmedia_typeText Pflichttmdb_idZahl PflichtseasonZahl oder null PflichtratingZahl PflichtcommentText oder null PflichttitleText PflichtreplyText oder null Pflichtoutdatedja/nein Pflichtupdated_atText Pflichtuser_nameTextAufbau der Antwort
[
{
"id": "number",
"media_type": "string",
"tmdb_id": "number",
"season": "number | null",
"rating": "number",
"comment": "string | null",
"title": "string",
"reply": "string | null",
"outdated": "boolean",
"updated_at": "string",
"user_name": "string"
}
]
GET
/api/feedback/mine
may change
Your own feedback
The quality ratings the calling account has given, with any replies.
Felder und Aufbau
Antwort
idZahl Pflichtmedia_typeText Pflichttmdb_idZahl PflichtseasonZahl oder null PflichtratingZahl PflichtcommentText oder null PflichttitleText PflichtreplyText oder null Pflichtoutdatedja/nein Pflichtupdated_atText Pflichtuser_nameTextAufbau der Antwort
[
{
"id": "number",
"media_type": "string",
"tmdb_id": "number",
"season": "number | null",
"rating": "number",
"comment": "string | null",
"title": "string",
"reply": "string | null",
"outdated": "boolean",
"updated_at": "string",
"user_name": "string"
}
]
PUT
/api/feedback/{media_type}/{tmdb_id}
may change
Rate the quality of a title
How good the downloaded copy is. Anyone may, not just whoever requested it: this is about the file, and everybody watching it sees the same file.
Felder und Aufbau
Parameter
media_typeText path Pflichttmdb_idZahl path PflichtAnfragekörper
ratingZahl PflichtcommentText oder nulltitleTextseasonZahl oder nullAntwort
idZahl Pflichtmedia_typeText Pflichttmdb_idZahl PflichtseasonZahl oder null PflichtratingZahl PflichtcommentText oder null PflichttitleText PflichtreplyText oder null Pflichtoutdatedja/nein Pflichtupdated_atText Pflichtuser_nameTextAufbau der Antwort
{
"id": "number",
"media_type": "string",
"tmdb_id": "number",
"season": "number | null",
"rating": "number",
"comment": "string | null",
"title": "string",
"reply": "string | null",
"outdated": "boolean",
"updated_at": "string",
"user_name": "string"
}
POST
/api/feedback/{rating_id}/reply
may change
Reply to a rating
Administrators only. Approvers see the ratings but may not answer them: a reply is a conversation, and that belongs with whoever runs the installation.
Felder und Aufbau
Parameter
rating_idZahl path PflichtAnfragekörper
replyText PflichtAntwort
idZahl Pflichtmedia_typeText Pflichttmdb_idZahl PflichtseasonZahl oder null PflichtratingZahl PflichtcommentText oder null PflichttitleText PflichtreplyText oder null Pflichtoutdatedja/nein Pflichtupdated_atText Pflichtuser_nameTextAufbau der Antwort
{
"id": "number",
"media_type": "string",
"tmdb_id": "number",
"season": "number | null",
"rating": "number",
"comment": "string | null",
"title": "string",
"reply": "string | null",
"outdated": "boolean",
"updated_at": "string",
"user_name": "string"
}
DELETE
/api/notifications
may change
Delete all your notifications
Removes them rather than only marking them read.
GET
/api/notifications
may change
Your own notifications
Newest first, with their read state.
Felder und Aufbau
Parameter
unread_onlyja/nein querylimitZahl queryAntwort
idZahl Pflichttypedownload_complete | approved | rejected | cancelled | request_pending | feedback | feedback_poor | feedback_reply | ticket_new | ticket_reply | user_imported | mediaserver_reconnect | storage_released | storage_kept | storage_deleted | storage_release_requested | storage_grew | storage_scheduled | storage_unscheduled | request_deferred | child_wish | watch_ready | watch_episodes | rating_outdated | request_fulfilled Pflichtmessage_keyText Pflichtmessage_titleText oder null PflichtseasonZahl oder nullrequest_idZahl oder null Pflichtticket_idZahl oder null Pflichtis_readja/nein Pflichtcreated_atZeitpunkt (ISO 8601) PflichtAufbau der Antwort
[
{
"id": "number",
"type": "download_complete | approved | rejected | cancelled | request_pending | feedback | feedback_poor | feedback_reply | ticket_new | ticket_reply | user_imported | mediaserver_reconnect | storage_released | storage_kept | storage_deleted | storage_release_requested | storage_grew | storage_scheduled | storage_unscheduled | request_deferred | child_wish | watch_ready | watch_episodes | rating_outdated | request_fulfilled",
"message_key": "string",
"message_title": "string | null",
"season": "number | null",
"request_id": "number | null",
"ticket_id": "number | null",
"is_read": "boolean",
"created_at": "ISO 8601"
}
]
POST
/api/notifications/read-all
may change
Mark everything as read
The notifications stay, they are only no longer unread.
GET
/api/notifications/unread/count
may change
How many unread notifications
A plain number for the bell badge.
DELETE
/api/notifications/{notification_id}
may change
Delete one notification
Removes a single entry.
Felder und Aufbau
Parameter
notification_idZahl path Pflicht
POST
/api/notifications/{notification_id}/read
may change
Mark one as read
Marks a single notification as read.
Felder und Aufbau
Parameter
notification_idZahl path Pflicht
POST
/api/settings/channels/{channel}/chats
may change
Who wrote to this bot
For a bot that does not exist in the database yet - during setup the token is in the form, not stored. Saves the detour of asking a third-party bot who has written to yours.
Felder und Aufbau
Parameter
channelntfy | gotify | email | telegram | discord | webhook | apprise path PflichtAnfragekörper
nameText oder nullurlText oder nulltopicText oder nulladdressText oder nullsubjectText oder nullchat_idText oder nullthread_idText oder nullsilentText oder nullauthText oder nullusernameText oder nullpasswordText oder nulltokenText oder nulllanguageText oder nulleventsObjekt oder null
POST
/api/settings/channels/{channel}/check
may change
Is the instance reachable
Without a code - nothing can arrive there yet. For the upper level of services that have two: a typo in the address should show up before anybody sets up topics underneath it.
Felder und Aufbau
Parameter
channelntfy | gotify | email | telegram | discord | webhook | apprise path Pflichttarget_idZahl oder null queryAnfragekörper
nameText oder nullurlText oder nulltopicText oder nulladdressText oder nullsubjectText oder nullchat_idText oder nullthread_idText oder nullsilentText oder nullauthText oder nullusernameText oder nullpasswordText oder nulltokenText oder nulllanguageText oder nulleventsObjekt oder nullAntwort
okja/nein PflichtmessageText PflichtvaluesObjekt oder nullAufbau der Antwort
{
"ok": "boolean",
"message": "string",
"values": "object | null"
}
POST
/api/settings/channels/{channel}/confirm
may change
Confirm the code from the test message
Only after this can the target be saved. Proves that messages actually arrive where they are supposed to.
Felder und Aufbau
Parameter
channelntfy | gotify | email | telegram | discord | webhook | apprise path PflichtAnfragekörper
codeText PflichtAntwort
okja/nein PflichtmessageText PflichtvaluesObjekt oder nullAufbau der Antwort
{
"ok": "boolean",
"message": "string",
"values": "object | null"
}
GET
/api/settings/channels/{channel}/targets
may change
All targets of this channel
Every configured target of this service - one card each, topics included.
Felder und Aufbau
Parameter
channelntfy | gotify | email | telegram | discord | webhook | apprise path Pflicht
POST
/api/settings/channels/{channel}/targets
may change
Create a target
Creates an instance - with Gotify, that is also the mailbox.
Felder und Aufbau
Parameter
channelntfy | gotify | email | telegram | discord | webhook | apprise path PflichtAnfragekörper
nameText oder nullurlText oder nulltopicText oder nulladdressText oder nullsubjectText oder nullchat_idText oder nullthread_idText oder nullsilentText oder nullauthText oder nullusernameText oder nullpasswordText oder nulltokenText oder nulllanguageText oder nulleventsObjekt oder null
POST
/api/settings/channels/{channel}/targets/{parent_id}/children
may change
Create a topic
Creates a topic inside an existing instance.
Felder und Aufbau
Parameter
channelntfy | gotify | email | telegram | discord | webhook | apprise path Pflichtparent_idZahl path PflichtAnfragekörper
nameText oder nullurlText oder nulltopicText oder nulladdressText oder nullsubjectText oder nullchat_idText oder nullthread_idText oder nullsilentText oder nullauthText oder nullusernameText oder nullpasswordText oder nulltokenText oder nulllanguageText oder nulleventsObjekt oder null
DELETE
/api/settings/channels/{channel}/targets/{target_id}
may change
Remove a target
Removes the target and everything hanging off it. With an ntfy instance the topics go too - without an address and credentials they would have nothing to talk to.
Felder und Aufbau
Parameter
channelntfy | gotify | email | telegram | discord | webhook | apprise path Pflichttarget_idZahl path Pflicht
PUT
/api/settings/channels/{channel}/targets/{target_id}
may change
Change a target
Address, credentials and name. Changing what messages arrive there is a separate endpoint.
Felder und Aufbau
Parameter
channelntfy | gotify | email | telegram | discord | webhook | apprise path Pflichttarget_idZahl path PflichtAnfragekörper
nameText oder nullurlText oder nulltopicText oder nulladdressText oder nullsubjectText oder nullchat_idText oder nullthread_idText oder nullsilentText oder nullauthText oder nullusernameText oder nullpasswordText oder nulltokenText oder nulllanguageText oder nulleventsObjekt oder null
POST
/api/settings/channels/{channel}/targets/{target_id}/chats
may change
Who wrote to this stored bot
The same question for a bot that is already saved: whoever sent it /start or added it to a group appears here, so the chat can be picked instead of typed.
Felder und Aufbau
Parameter
channelntfy | gotify | email | telegram | discord | webhook | apprise path Pflichttarget_idZahl path Pflicht
PUT
/api/settings/channels/{channel}/targets/{target_id}/enabled
may change
Switch a target on or off
Deliberately its own endpoint rather than part of saving: the switch sits on the card and should take effect where it is, without opening a form.
Felder und Aufbau
Parameter
channelntfy | gotify | email | telegram | discord | webhook | apprise path Pflichttarget_idZahl path PflichtAnfragekörper
enabledja/nein Pflicht
PUT
/api/settings/channels/{channel}/targets/{target_id}/events
may change
What this mailbox is told about
Only on a confirmed target. Ticks on an unverified one would quietly fill the outbox with messages nobody receives.
Felder und Aufbau
Parameter
channelntfy | gotify | email | telegram | discord | webhook | apprise path Pflichttarget_idZahl path PflichtAnfragekörper
eventsObjekt Pflicht
POST
/api/settings/channels/{channel}/test
may change
Send a test message with a code
Tests the typed-in values, not the stored ones - test first, save afterwards. The code has to be confirmed before the target counts as working.
Felder und Aufbau
Parameter
channelntfy | gotify | email | telegram | discord | webhook | apprise path Pflichttarget_idZahl oder null queryparent_idZahl oder null queryAnfragekörper
nameText oder nullurlText oder nulltopicText oder nulladdressText oder nullsubjectText oder nullchat_idText oder nullthread_idText oder nullsilentText oder nullauthText oder nullusernameText oder nullpasswordText oder nulltokenText oder nulllanguageText oder nulleventsObjekt oder nullAntwort
okja/nein PflichtmessageText PflichtvaluesObjekt oder nullAufbau der Antwort
{
"ok": "boolean",
"message": "string",
"values": "object | null"
}
GET
/api/tickets
may change
Your tickets
Your own; for an administrator, everyone's.
Felder und Aufbau
Parameter
statusopen | in_progress | closed oder null queryuser_idZahl oder null queryAntwort
idZahl PflichtsubjectText Pflichtstatusopen | in_progress | closed Pflichtcreated_atZeitpunkt (ISO 8601) Pflichtupdated_atZeitpunkt (ISO 8601) Pflichtclosed_atZeitpunkt (ISO 8601) oder null Pflichtlast_reply_atZeitpunkt (ISO 8601) oder null Pflichtlast_reply_byZahl oder null Pflichtmedia_typemovie | tv oder null Pflichttmdb_idZahl oder null Pflichtmedia_titleText oder null Pflichtuser_idZahl PflichtusernameText Pflichtdisplay_nameText oder null Pflichtavatar_urlText oder null Pflichtmessage_countZahl Pflichtopened_byZahl oder null Pflichtopened_by_nameText oder null PflichtAufbau der Antwort
[
{
"id": "number",
"subject": "string",
"status": "open | in_progress | closed",
"created_at": "ISO 8601",
"updated_at": "ISO 8601",
"closed_at": "ISO 8601 | null",
"last_reply_at": "ISO 8601 | null",
"last_reply_by": "number | null",
"media_type": "movie | tv | null",
"tmdb_id": "number | null",
"media_title": "string | null",
"user_id": "number",
"username": "string",
"display_name": "string | null"
}
]
POST
/api/tickets
may change
Open a ticket
Creates a ticket with a first message. Goes to the administrators.
Felder und Aufbau
Anfragekörper
subjectText PflichtbodyText Pflichtuser_idZahl oder nullmedia_typemovie | tv oder nulltmdb_idZahl oder nullmedia_titleText oder nullAntwort
idZahl PflichtsubjectText Pflichtstatusopen | in_progress | closed Pflichtcreated_atZeitpunkt (ISO 8601) Pflichtupdated_atZeitpunkt (ISO 8601) Pflichtclosed_atZeitpunkt (ISO 8601) oder null Pflichtlast_reply_atZeitpunkt (ISO 8601) oder null Pflichtlast_reply_byZahl oder null Pflichtmedia_typemovie | tv oder null Pflichttmdb_idZahl oder null Pflichtmedia_titleText oder null Pflichtuser_idZahl PflichtusernameText Pflichtdisplay_nameText oder null Pflichtavatar_urlText oder null Pflichtmessage_countZahl Pflichtopened_byZahl oder null Pflichtopened_by_nameText oder null PflichtmessagesListe von MessageOut Pflichtkinderkonten_offenja/neinAufbau der Antwort
{
"id": "number",
"subject": "string",
"status": "open | in_progress | closed",
"created_at": "ISO 8601",
"updated_at": "ISO 8601",
"closed_at": "ISO 8601 | null",
"last_reply_at": "ISO 8601 | null",
"last_reply_by": "number | null",
"media_type": "movie | tv | null",
"tmdb_id": "number | null",
"media_title": "string | null",
"user_id": "number",
"username": "string",
"display_name": "string | null"
}
POST
/api/tickets/delete
may change
Delete closed tickets for good
Administrators only. Deliberately POST /delete and not DELETE: a body does not belong on a DELETE, and this needs the list of what to remove.
Felder und Aufbau
Anfragekörper
ticket_idsListe von Zahl Pflicht
POST
/api/tickets/kontoaufloesung
may change
Apply to have your account deleted
For users and approvers. Arrives as an ordinary ticket with the administrators, who see the consequences before they decide.
Felder und Aufbau
Antwort
idZahl PflichtsubjectText Pflichtstatusopen | in_progress | closed Pflichtcreated_atZeitpunkt (ISO 8601) Pflichtupdated_atZeitpunkt (ISO 8601) Pflichtclosed_atZeitpunkt (ISO 8601) oder null Pflichtlast_reply_atZeitpunkt (ISO 8601) oder null Pflichtlast_reply_byZahl oder null Pflichtmedia_typemovie | tv oder null Pflichttmdb_idZahl oder null Pflichtmedia_titleText oder null Pflichtuser_idZahl PflichtusernameText Pflichtdisplay_nameText oder null Pflichtavatar_urlText oder null Pflichtmessage_countZahl Pflichtopened_byZahl oder null Pflichtopened_by_nameText oder null PflichtmessagesListe von MessageOut Pflichtkinderkonten_offenja/neinAufbau der Antwort
{
"id": "number",
"subject": "string",
"status": "open | in_progress | closed",
"created_at": "ISO 8601",
"updated_at": "ISO 8601",
"closed_at": "ISO 8601 | null",
"last_reply_at": "ISO 8601 | null",
"last_reply_by": "number | null",
"media_type": "movie | tv | null",
"tmdb_id": "number | null",
"media_title": "string | null",
"user_id": "number",
"username": "string",
"display_name": "string | null"
}
PATCH
/api/tickets/messages/{message_id}
may change
Edit a message
Corrects the text of one's own message in a ticket.
Felder und Aufbau
Parameter
message_idZahl path PflichtAnfragekörper
bodyText PflichtAntwort
idZahl PflichtsubjectText Pflichtstatusopen | in_progress | closed Pflichtcreated_atZeitpunkt (ISO 8601) Pflichtupdated_atZeitpunkt (ISO 8601) Pflichtclosed_atZeitpunkt (ISO 8601) oder null Pflichtlast_reply_atZeitpunkt (ISO 8601) oder null Pflichtlast_reply_byZahl oder null Pflichtmedia_typemovie | tv oder null Pflichttmdb_idZahl oder null Pflichtmedia_titleText oder null Pflichtuser_idZahl PflichtusernameText Pflichtdisplay_nameText oder null Pflichtavatar_urlText oder null Pflichtmessage_countZahl Pflichtopened_byZahl oder null Pflichtopened_by_nameText oder null PflichtmessagesListe von MessageOut Pflichtkinderkonten_offenja/neinAufbau der Antwort
{
"id": "number",
"subject": "string",
"status": "open | in_progress | closed",
"created_at": "ISO 8601",
"updated_at": "ISO 8601",
"closed_at": "ISO 8601 | null",
"last_reply_at": "ISO 8601 | null",
"last_reply_by": "number | null",
"media_type": "movie | tv | null",
"tmdb_id": "number | null",
"media_title": "string | null",
"user_id": "number",
"username": "string",
"display_name": "string | null"
}
GET
/api/tickets/open-count
may change
How many tickets need attention
For the menu badge. For an administrator, everybody's open tickets; for everyone else, their own ones that have been answered.
GET
/api/tickets/{ticket_id}
may change
One ticket
The ticket with all its messages.
Felder und Aufbau
Parameter
ticket_idZahl path PflichtAntwort
idZahl PflichtsubjectText Pflichtstatusopen | in_progress | closed Pflichtcreated_atZeitpunkt (ISO 8601) Pflichtupdated_atZeitpunkt (ISO 8601) Pflichtclosed_atZeitpunkt (ISO 8601) oder null Pflichtlast_reply_atZeitpunkt (ISO 8601) oder null Pflichtlast_reply_byZahl oder null Pflichtmedia_typemovie | tv oder null Pflichttmdb_idZahl oder null Pflichtmedia_titleText oder null Pflichtuser_idZahl PflichtusernameText Pflichtdisplay_nameText oder null Pflichtavatar_urlText oder null Pflichtmessage_countZahl Pflichtopened_byZahl oder null Pflichtopened_by_nameText oder null PflichtmessagesListe von MessageOut Pflichtkinderkonten_offenja/neinAufbau der Antwort
{
"id": "number",
"subject": "string",
"status": "open | in_progress | closed",
"created_at": "ISO 8601",
"updated_at": "ISO 8601",
"closed_at": "ISO 8601 | null",
"last_reply_at": "ISO 8601 | null",
"last_reply_by": "number | null",
"media_type": "movie | tv | null",
"tmdb_id": "number | null",
"media_title": "string | null",
"user_id": "number",
"username": "string",
"display_name": "string | null"
}
PATCH
/api/tickets/{ticket_id}
may change
Set a ticket's state
Administrators only.
Felder und Aufbau
Parameter
ticket_idZahl path PflichtAnfragekörper
statusopen | in_progress | closed PflichtAntwort
idZahl PflichtsubjectText Pflichtstatusopen | in_progress | closed Pflichtcreated_atZeitpunkt (ISO 8601) Pflichtupdated_atZeitpunkt (ISO 8601) Pflichtclosed_atZeitpunkt (ISO 8601) oder null Pflichtlast_reply_atZeitpunkt (ISO 8601) oder null Pflichtlast_reply_byZahl oder null Pflichtmedia_typemovie | tv oder null Pflichttmdb_idZahl oder null Pflichtmedia_titleText oder null Pflichtuser_idZahl PflichtusernameText Pflichtdisplay_nameText oder null Pflichtavatar_urlText oder null Pflichtmessage_countZahl Pflichtopened_byZahl oder null Pflichtopened_by_nameText oder null PflichtmessagesListe von MessageOut Pflichtkinderkonten_offenja/neinAufbau der Antwort
{
"id": "number",
"subject": "string",
"status": "open | in_progress | closed",
"created_at": "ISO 8601",
"updated_at": "ISO 8601",
"closed_at": "ISO 8601 | null",
"last_reply_at": "ISO 8601 | null",
"last_reply_by": "number | null",
"media_type": "movie | tv | null",
"tmdb_id": "number | null",
"media_title": "string | null",
"user_id": "number",
"username": "string",
"display_name": "string | null"
}
POST
/api/tickets/{ticket_id}/kinderkonten-freischalten
may change
Grant child profiles from a ticket
Settles the application in one click - grants the permission, replies, closes the ticket.
Felder und Aufbau
Parameter
ticket_idZahl path PflichtAntwort
idZahl PflichtsubjectText Pflichtstatusopen | in_progress | closed Pflichtcreated_atZeitpunkt (ISO 8601) Pflichtupdated_atZeitpunkt (ISO 8601) Pflichtclosed_atZeitpunkt (ISO 8601) oder null Pflichtlast_reply_atZeitpunkt (ISO 8601) oder null Pflichtlast_reply_byZahl oder null Pflichtmedia_typemovie | tv oder null Pflichttmdb_idZahl oder null Pflichtmedia_titleText oder null Pflichtuser_idZahl PflichtusernameText Pflichtdisplay_nameText oder null Pflichtavatar_urlText oder null Pflichtmessage_countZahl Pflichtopened_byZahl oder null Pflichtopened_by_nameText oder null PflichtmessagesListe von MessageOut Pflichtkinderkonten_offenja/neinAufbau der Antwort
{
"id": "number",
"subject": "string",
"status": "open | in_progress | closed",
"created_at": "ISO 8601",
"updated_at": "ISO 8601",
"closed_at": "ISO 8601 | null",
"last_reply_at": "ISO 8601 | null",
"last_reply_by": "number | null",
"media_type": "movie | tv | null",
"tmdb_id": "number | null",
"media_title": "string | null",
"user_id": "number",
"username": "string",
"display_name": "string | null"
}
POST
/api/tickets/{ticket_id}/messages
may change
Reply in a ticket
Adds a message to the conversation.
Felder und Aufbau
Parameter
ticket_idZahl path PflichtAnfragekörper
bodyText PflichtAntwort
idZahl PflichtsubjectText Pflichtstatusopen | in_progress | closed Pflichtcreated_atZeitpunkt (ISO 8601) Pflichtupdated_atZeitpunkt (ISO 8601) Pflichtclosed_atZeitpunkt (ISO 8601) oder null Pflichtlast_reply_atZeitpunkt (ISO 8601) oder null Pflichtlast_reply_byZahl oder null Pflichtmedia_typemovie | tv oder null Pflichttmdb_idZahl oder null Pflichtmedia_titleText oder null Pflichtuser_idZahl PflichtusernameText Pflichtdisplay_nameText oder null Pflichtavatar_urlText oder null Pflichtmessage_countZahl Pflichtopened_byZahl oder null Pflichtopened_by_nameText oder null PflichtmessagesListe von MessageOut Pflichtkinderkonten_offenja/neinAufbau der Antwort
{
"id": "number",
"subject": "string",
"status": "open | in_progress | closed",
"created_at": "ISO 8601",
"updated_at": "ISO 8601",
"closed_at": "ISO 8601 | null",
"last_reply_at": "ISO 8601 | null",
"last_reply_by": "number | null",
"media_type": "movie | tv | null",
"tmdb_id": "number | null",
"media_title": "string | null",
"user_id": "number",
"username": "string",
"display_name": "string | null"
}