hunter v0.5.1 Hunter.Api behaviour View Source
Hunter API contract
Link to this section Summary
Callbacks
Retrieve account
Block a user
Block a domain
Fetch user's blocked domains
Retrieve user's blocks
Retrieve a card associated with a status
Dismiss a single notification
Deletes all notifications from the Mastodon server for the authenticated user
Register a new OAuth client app on the target instance
Create new status
Destroy status
Favorite a status
Fetch the list of users who favourited the status
Fetch a user's favourites
Follow a user
Follow a remote user
Accepts or Rejects a follow request
Retrieve a list of follow requests
Get a list of followers
Get a list of followed accounts
Retrieve statuses from a hashtag
Retrieve statuses from the home timeline
Retrieve instance information
Retrieve access token
Mute a user
Retrieve user's mutes
Retrieve single notification
Retrieve user's notifications
Retrieve statuses from the public timeline
Reblog a status
Fetch the list of users who reblogged the status
Get the relationships of authenticated user towards given other users
Report a user
Retrieve a user's reports
Search for content
Search for accounts
Retrieve status
Retrieve status context
Get a list of statuses by a user
Unblock a user
Unblock a domain
Undo a favorite of a status
Unfollow a user
Unmute a user
Undo a reblog of a status
Make changes to the authenticated user
Upload a media file
Retrieve account of authenticated user
Link to this section Callbacks
account(conn, id)
View Source
account(conn :: Hunter.Client.t(), id :: non_neg_integer()) ::
Hunter.Account.t()
account(conn :: Hunter.Client.t(), id :: non_neg_integer()) :: Hunter.Account.t()
Retrieve account
Parameters
conn
- connection credentialsid
- account identifier
block(conn, id)
View Source
block(conn :: Hunter.Client.t(), id :: non_neg_integer()) ::
Hunter.Relationship.t()
block(conn :: Hunter.Client.t(), id :: non_neg_integer()) :: Hunter.Relationship.t()
Block a user
Parameters
conn
- connection credentialsid
- user identifier
block_domain(conn, domain)
View Source
block_domain(conn :: Hunter.Client.t(), domain :: String.t()) :: boolean()
block_domain(conn :: Hunter.Client.t(), domain :: String.t()) :: boolean()
Block a domain
Parameters
conn
- connection credentialsdomain
- domain to block
blocked_domains(conn, options)
View Source
blocked_domains(conn :: Hunter.Client.t(), options :: Keyword.t()) :: list()
blocked_domains(conn :: Hunter.Client.t(), options :: Keyword.t()) :: list()
Fetch user's blocked domains
Parameters
conn
- connection credentialsoptions
- option list
Options
max_id
- get a list of blocks with id less than or equal this valuesince_id
- get a list of blocks with id greater than this valuelimit
- maximum number of blocks to get, default: 40, max: 80
blocks(conn, options)
View Source
blocks(conn :: Hunter.Client.t(), options :: Keyword.t()) :: [
Hunter.Account.t()
]
blocks(conn :: Hunter.Client.t(), options :: Keyword.t()) :: [ Hunter.Account.t() ]
Retrieve user's blocks
Parameters
conn
- connection credentials
Options
max_id
- get a list of blocks with id less than or equal this valuesince_id
- get a list of blocks with id greater than this valuelimit
- maximum number of blocks to get, default: 40, max: 80
card_by_status(conn, id)
View Source
card_by_status(conn :: Hunter.Client.t(), id :: non_neg_integer()) ::
Hunter.Card.t()
card_by_status(conn :: Hunter.Client.t(), id :: non_neg_integer()) :: Hunter.Card.t()
Retrieve a card associated with a status
Parameters
conn
- connection credentialsid
- status id
clear_notification(conn, id)
View Source
clear_notification(conn :: Hunter.Client.t(), id :: non_neg_integer()) ::
boolean()
clear_notification(conn :: Hunter.Client.t(), id :: non_neg_integer()) :: boolean()
Dismiss a single notification
Parameters
conn
- connection credentialsid
- notification id
clear_notifications(conn)
View Source
clear_notifications(conn :: Hunter.Client.t()) :: boolean()
clear_notifications(conn :: Hunter.Client.t()) :: boolean()
Deletes all notifications from the Mastodon server for the authenticated user
Parameters
conn
- connection credentials
create_app(name, redirect_uri, scopes, website, base_url) View Source
Register a new OAuth client app on the target instance
Parameters
name
- name of your applicationredirect_uri
- where the user should be redirected after authorization, for no redirect, useurn:ietf:wg:oauth:2.0:oob
scopes
- scope list, see the scope section for more detailswebsite
- URL to the homepage of your appbase_url
- base url
Scopes
read
- read datawrite
- post statuses and upload media for statusesfollow
- follow, unfollow, block, unblock
Multiple scopes can be requested during the authorization phase with the scope
query param
create_status(conn, status, options)
View Source
create_status(
conn :: Hunter.Client.t(),
status :: String.t(),
options :: Keyword.t()
) :: Hunter.Status.t() | no_return()
create_status( conn :: Hunter.Client.t(), status :: String.t(), options :: Keyword.t() ) :: Hunter.Status.t() | no_return()
Create new status
Parameters
conn
- connection credentialsstatus
- text of the statusoptions
- option list
Options
in_reply_to_id
- local ID of the status you want to reply tomedia_ids
- list of media IDs to attach to the status (maximum: 4)sensitive
- whether the media of the status is NSFWspoiler_text
- text to be shown as a warning before the actual contentvisibility
- eitherdirect
,private
,unlisted
orpublic
destroy_status(conn, id)
View Source
destroy_status(conn :: Hunter.Client.t(), id :: non_neg_integer()) :: boolean()
destroy_status(conn :: Hunter.Client.t(), id :: non_neg_integer()) :: boolean()
Destroy status
Parameters
conn
- connection credentialsid
- status identifier
favourite(conn, id)
View Source
favourite(conn :: Hunter.Client.t(), id :: non_neg_integer()) ::
Hunter.Status.t()
favourite(conn :: Hunter.Client.t(), id :: non_neg_integer()) :: Hunter.Status.t()
Favorite a status
Parameters
conn
- connection credentialsid
- status identifier
favourited_by(conn, id, options)
View Source
favourited_by(
conn :: Hunter.Client.t(),
id :: non_neg_integer(),
options :: Keyword.t()
) :: [Hunter.Account.t()]
favourited_by( conn :: Hunter.Client.t(), id :: non_neg_integer(), options :: Keyword.t() ) :: [Hunter.Account.t()]
Fetch the list of users who favourited the status.
Parameters
conn
- connection credentialsid
- status identifieroptions
- option list
Options
max_id
- get a list of favourited by ids less than or equal this valuesince_id
- get a list of favourited by ids greater than this valuelimit
- maximum number of favourited by to get, default: 40, max: 80
favourites(conn, options)
View Source
favourites(conn :: Hunter.Client.t(), options :: Keyword.t()) :: [
Hunter.Status.t()
]
favourites(conn :: Hunter.Client.t(), options :: Keyword.t()) :: [ Hunter.Status.t() ]
Fetch a user's favourites
Parameters
conn
- connection credentialsoptions
- option list
Options
max_id
- get a list of favourites with id less than or equal this valuesince_id
- get a list of favourites with id greater than this valuelimit
- maximum of favourites to get, default: 20, max: 40
follow(conn, id)
View Source
follow(conn :: Hunter.Client.t(), id :: non_neg_integer()) ::
Hunter.Relationship.t()
follow(conn :: Hunter.Client.t(), id :: non_neg_integer()) :: Hunter.Relationship.t()
Follow a user
Parameters
conn
- connection credentialsid
- user id
follow_by_uri(conn, id)
View Source
follow_by_uri(conn :: Hunter.Client.t(), id :: non_neg_integer()) ::
Hunter.Account.t()
follow_by_uri(conn :: Hunter.Client.t(), id :: non_neg_integer()) :: Hunter.Account.t()
Follow a remote user
Parameters
conn
- connection credentialsuri
- URI of the remote user, in the format ofusername@domain
follow_request_action(conn, id, action)
View Source
follow_request_action(
conn :: Hunter.Client.t(),
id :: non_neg_integer(),
action :: atom()
) :: boolean()
follow_request_action( conn :: Hunter.Client.t(), id :: non_neg_integer(), action :: atom() ) :: boolean()
Accepts or Rejects a follow request
Parameters
conn
- connection credentialsid
- follow request idaction
- action to take
Actions
:authorize
- authorize a follow request:reject
- reject a follow request
follow_requests(conn, options)
View Source
follow_requests(conn :: Hunter.Client.t(), options :: Keyword.t()) :: [
Hunter.Account.t()
]
follow_requests(conn :: Hunter.Client.t(), options :: Keyword.t()) :: [ Hunter.Account.t() ]
Retrieve a list of follow requests
Parameters
conn
- connection credentialsoptions
- option list
Options
max_id
- get a list of follow requests with id less than or equal this valuesince_id
- get a list of follow requests with id greater than this valuelimit
- maximum number of requests to get, default: 40, max: 80
followers(conn, id, options)
View Source
followers(
conn :: Hunter.Client.t(),
id :: non_neg_integer(),
options :: Keyword.t()
) :: Hunter.Account.t()
followers( conn :: Hunter.Client.t(), id :: non_neg_integer(), options :: Keyword.t() ) :: Hunter.Account.t()
Get a list of followers
Parameters
conn
- connection credentialsid
- account identifieroptions
- options list
Options
max_id
- get a list of followings with id less than or equal this valuesince_id
- get a list of followings with id greater than this valuelimit
- maximum number of followings to get, default: 40, maximum: 80
following(conn, id, options)
View Source
following(
conn :: Hunter.Client.t(),
id :: non_neg_integer(),
options :: Keyword.t()
) :: Hunter.Account.t()
following( conn :: Hunter.Client.t(), id :: non_neg_integer(), options :: Keyword.t() ) :: Hunter.Account.t()
Get a list of followed accounts
Parameters
conn
- connection credentialsid
- account identifieroptions
- options list
Options
max_id
- get a list of followings with id less than or equal this valuesince_id
- get a list of followings with id greater than this valuelimit
- maximum number of followings to get, default: 40, maximum: 80
hashtag_timeline(conn, hashtag, options)
View Source
hashtag_timeline(
conn :: Hunter.Client.t(),
hashtag :: [String.t()],
options :: map()
) :: [Hunter.Status]
hashtag_timeline( conn :: Hunter.Client.t(), hashtag :: [String.t()], options :: map() ) :: [Hunter.Status]
Retrieve statuses from a hashtag
Parameters
conn
- connection credentialshashtag
- list of stringsoptions
- option list
Options
local
- only return statuses originating from this instancemax_id
- get a list of timelines with id less than or equal this valuesince_id
- get a list of timelines with id greater than this valuelimit
- maximum number of statuses on the requested timeline to get, default: 20, max: 40
home_timeline(conn, options)
View Source
home_timeline(conn :: Hunter.Client.t(), options :: map()) :: [
Hunter.Status.t()
]
home_timeline(conn :: Hunter.Client.t(), options :: map()) :: [ Hunter.Status.t() ]
Retrieve statuses from the home timeline
Parameters
conn
- connection credentialsoptions
- option list
Options
max_id
- get a list of timelines with id less than or equal this valuesince_id
- get a list of timelines with id greater than this valuelimit
- maximum number of statuses on the requested timeline to get, default: 20, max: 40
instance_info(conn)
View Source
instance_info(conn :: Hunter.Client.t()) :: Hunter.Instance.t()
instance_info(conn :: Hunter.Client.t()) :: Hunter.Instance.t()
Retrieve instance information
Parameters
conn
- connection credentials
log_in(app, username, password, base_url)
View Source
log_in(
app :: Hunter.Application.t(),
username :: String.t(),
password :: String.t(),
base_url :: String.t()
) :: Hunter.Client.t()
log_in( app :: Hunter.Application.t(), username :: String.t(), password :: String.t(), base_url :: String.t() ) :: Hunter.Client.t()
Retrieve access token
Parameters
app
- application details, see:Hunter.Application.create_app/5
for more details.username
- your account's emailpassword
- your passwordbase_url
- API base url, default:https://mastodon.social
mute(conn, id)
View Source
mute(conn :: Hunter.Client.t(), id :: non_neg_integer()) ::
Hunter.Relationship.t()
mute(conn :: Hunter.Client.t(), id :: non_neg_integer()) :: Hunter.Relationship.t()
Mute a user
Parameters
conn
- connection credentialsid
- user identifier
mutes(conn, options)
View Source
mutes(conn :: Hunter.Client.t(), options :: Keyword.t()) :: [Hunter.Account.t()]
mutes(conn :: Hunter.Client.t(), options :: Keyword.t()) :: [Hunter.Account.t()]
Retrieve user's mutes
Parameters
conn
- connection credentialsoptions
- option list
Options
max_id
- get a list of mutes with id less than or equal this valuesince_id
- get a list of mutes with id greater than this valuelimit
- maximum number of mutes to get, default: 40, max: 80
notification(conn, non_neg_integer)
View Source
notification(conn :: Hunter.Client.t(), non_neg_integer()) ::
Hunter.Notification.t()
notification(conn :: Hunter.Client.t(), non_neg_integer()) :: Hunter.Notification.t()
Retrieve single notification
Parameters
conn
- connection credentialsid
- notification identifier
notifications(conn, options)
View Source
notifications(conn :: Hunter.Client.t(), options :: Keyword.t()) :: [
Hunter.Notification.t()
]
notifications(conn :: Hunter.Client.t(), options :: Keyword.t()) :: [ Hunter.Notification.t() ]
Retrieve user's notifications
Parameters
conn
- connection credentialsoptions
- option list
Options
max_id
- get a list of notifications with id less than or equal this valuesince_id
- get a list of notifications with id greater than this valuelimit
- maximum number of notifications to get, default: 15, max: 30
public_timeline(conn, options)
View Source
public_timeline(conn :: Hunter.Client.t(), options :: map()) :: [
Hunter.Status.t()
]
public_timeline(conn :: Hunter.Client.t(), options :: map()) :: [ Hunter.Status.t() ]
Retrieve statuses from the public timeline
Parameters
conn
- connection credentialsoptions
- option list
Options
local
- only return statuses originating from this instancemax_id
- get a list of timelines with id less than or equal this valuesince_id
- get a list of timelines with id greater than this valuelimit
- maximum number of statuses on the requested timeline to get, default: 20, max: 40
reblog(conn, id)
View Source
reblog(conn :: Hunter.Client.t(), id :: non_neg_integer()) :: Hunter.Status.t()
reblog(conn :: Hunter.Client.t(), id :: non_neg_integer()) :: Hunter.Status.t()
Reblog a status
Parameters
conn
- connection credentialsid
- status identifier
reblogged_by(conn, id, options)
View Source
reblogged_by(
conn :: Hunter.Client.t(),
id :: non_neg_integer(),
options :: Keyword.t()
) :: [Hunter.Account.t()]
reblogged_by( conn :: Hunter.Client.t(), id :: non_neg_integer(), options :: Keyword.t() ) :: [Hunter.Account.t()]
Fetch the list of users who reblogged the status.
Parameters
conn
- connection credentialsid
- status identifieroptions
- option list
Options
max_id
- get a list of reblogged by ids less than or equal this valuesince_id
- get a list of reblogged by ids greater than this valuelimit
- maximum number of reblogged by to get, default: 40, max: 80
relationships(conn, ids)
View Source
relationships(conn :: Hunter.Client.t(), ids :: [non_neg_integer()]) :: [
Hunter.Relationship.t()
]
relationships(conn :: Hunter.Client.t(), ids :: [non_neg_integer()]) :: [ Hunter.Relationship.t() ]
Get the relationships of authenticated user towards given other users
Parameters
conn
- connection credentialsid
- list of relationship IDs
report(conn, account_id, status_ids, comment)
View Source
report(
conn :: Hunter.Client.t(),
account_id :: non_neg_integer(),
status_ids :: [non_neg_integer()],
comment :: String.t()
) :: Hunter.Report.t()
report( conn :: Hunter.Client.t(), account_id :: non_neg_integer(), status_ids :: [non_neg_integer()], comment :: String.t() ) :: Hunter.Report.t()
Report a user
Parameters
conn
- connection credentialsaccount_id
- the ID of the account to reportstatus_ids
- the IDs of statuses to reportcomment
- a comment to associate with the report
reports(conn)
View Source
reports(conn :: Hunter.Client.t()) :: [Hunter.Report.t()]
reports(conn :: Hunter.Client.t()) :: [Hunter.Report.t()]
Retrieve a user's reports
Parameters
conn
- connection credentials
search(conn, query, options)
View Source
search(conn :: Hunter.Client.t(), query :: String.t(), options :: Keyword.t()) ::
Hunter.Result.t()
search(conn :: Hunter.Client.t(), query :: String.t(), options :: Keyword.t()) :: Hunter.Result.t()
Search for content
Parameters
conn
- connection credentialsq
- the search queryoptions
- option list
Options
resolve
- whether to resolve non-local accounts
search_account(conn, options)
View Source
search_account(conn :: Hunter.Client.t(), options :: map()) :: [
Hunter.Account.t()
]
search_account(conn :: Hunter.Client.t(), options :: map()) :: [ Hunter.Account.t() ]
Search for accounts
Parameters
conn
- connection credentialsoptions
- option list
Options
q
: what to search forlimit
: maximum number of matching accounts to return, default: 40
status(conn, id)
View Source
status(conn :: Hunter.Client.t(), id :: non_neg_integer()) :: Hunter.Status.t()
status(conn :: Hunter.Client.t(), id :: non_neg_integer()) :: Hunter.Status.t()
Retrieve status
Parameters
conn
- connection credentialsid
- status identifier
status_context(conn, id)
View Source
status_context(conn :: Hunter.Client.t(), id :: non_neg_integer()) ::
Hunter.Context.t()
status_context(conn :: Hunter.Client.t(), id :: non_neg_integer()) :: Hunter.Context.t()
Retrieve status context
Parameters
conn
- connection credentialsid
- status identifier
statuses(conn, account_id, options)
View Source
statuses(
conn :: Hunter.Client.t(),
account_id :: non_neg_integer(),
options :: map()
) :: [Hunter.Status.t()]
statuses( conn :: Hunter.Client.t(), account_id :: non_neg_integer(), options :: map() ) :: [Hunter.Status.t()]
Get a list of statuses by a user
Parameters
conn
- connection credentialsaccount_id
- account identifieroptions
- option list
Options
only_media
- only returnHunter.Status.t
that have media attachmentsexclude_replies
- skip statuses that reply to other statusesmax_id
- get a list of statuses with id less than or equal this valuesince_id
- get a list of statuses with id greater than this valuelimit
- maximum number of statuses to get, default: 20, max: 40
unblock(conn, id)
View Source
unblock(conn :: Hunter.Client.t(), id :: non_neg_integer()) ::
Hunter.Relationship.t()
unblock(conn :: Hunter.Client.t(), id :: non_neg_integer()) :: Hunter.Relationship.t()
Unblock a user
conn
- connection credentialsid
- user identifier
unblock_domain(conn, domain)
View Source
unblock_domain(conn :: Hunter.Client.t(), domain :: String.t()) :: boolean()
unblock_domain(conn :: Hunter.Client.t(), domain :: String.t()) :: boolean()
Unblock a domain
Parameters
conn
- connection credentialsdomain
- domain to unblock
unfavourite(conn, id)
View Source
unfavourite(conn :: Hunter.Client.t(), id :: non_neg_integer()) ::
Hunter.Status.t()
unfavourite(conn :: Hunter.Client.t(), id :: non_neg_integer()) :: Hunter.Status.t()
Undo a favorite of a status
Parameters
conn
- connection credentialsid
- status identifier
unfollow(conn, id)
View Source
unfollow(conn :: Hunter.Client.t(), id :: non_neg_integer()) ::
Hunter.Relationship.t()
unfollow(conn :: Hunter.Client.t(), id :: non_neg_integer()) :: Hunter.Relationship.t()
Unfollow a user
Parameters
conn
- connection credentialsid
- user identifier
unmute(conn, id)
View Source
unmute(conn :: Hunter.Client.t(), id :: non_neg_integer()) ::
Hunter.Relationship.t()
unmute(conn :: Hunter.Client.t(), id :: non_neg_integer()) :: Hunter.Relationship.t()
Unmute a user
Parameters
conn
- connection credentialsid
- user identifier
unreblog(conn, id)
View Source
unreblog(conn :: Hunter.Client.t(), id :: non_neg_integer()) ::
Hunter.Status.t()
unreblog(conn :: Hunter.Client.t(), id :: non_neg_integer()) :: Hunter.Status.t()
Undo a reblog of a status
Parameters
conn
- connection credentialsid
- status identifier
update_credentials(arg0, map)
View Source
update_credentials(Hunter.Client.t(), map()) :: Hunter.Account.t()
update_credentials(Hunter.Client.t(), map()) :: Hunter.Account.t()
Make changes to the authenticated user
Parameters
conn
- connection credentialsdata
- data payload
Possible keys for payload
display_name
- name to display in the user's profilenote
- new biography for the useravatar
- base64 encoded image to display as the user's avatar (e.g.data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUoAAADrCAYAAAA...
)header
- base64 encoded image to display as the user's header image (e.g.data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUoAAADrCAYAAAA...
)
upload_media(conn, file, options)
View Source
upload_media(
conn :: Hunter.Client.t(),
file :: Path.t(),
options :: Keyword.t()
) :: Hunter.Attachment.t()
upload_media( conn :: Hunter.Client.t(), file :: Path.t(), options :: Keyword.t() ) :: Hunter.Attachment.t()
Upload a media file
Parameters
conn
- connection credentialsfile
- media to be uploadedoptions
- option list
Options
description
- plain-text description of the media for accessibility (max 420 chars)focus
- two floating points, comma-delimited.
verify_credentials(conn)
View Source
verify_credentials(conn :: Hunter.Client.t()) :: Hunter.Account.t()
verify_credentials(conn :: Hunter.Client.t()) :: Hunter.Account.t()
Retrieve account of authenticated user
Parameters
conn
- connection credentials