diff --git a/app/controllers/api/v1/instances_controller.rb b/app/controllers/api/v1/instances_controller.rb new file mode 100644 index 00000000000..51d92838acf --- /dev/null +++ b/app/controllers/api/v1/instances_controller.rb @@ -0,0 +1,7 @@ +# frozen_string_literal: true + +class Api::V1::InstancesController < ApiController + respond_to :json + + def show; end +end diff --git a/app/views/api/v1/instances/show.rabl b/app/views/api/v1/instances/show.rabl new file mode 100644 index 00000000000..88eb08a9e86 --- /dev/null +++ b/app/views/api/v1/instances/show.rabl @@ -0,0 +1,6 @@ +object false + +node(:uri) { Rails.configuration.x.local_domain } +node(:title) { Setting.site_title } +node(:description) { Setting.site_description } +node(:email) { Setting.site_contact_email } diff --git a/config/routes.rb b/config/routes.rb index a0c76f8296d..ac1d78d6446 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -131,6 +131,8 @@ Rails.application.routes.draw do resources :favourites, only: [:index] resources :reports, only: [:index, :create] + resource :instance, only: [:show] + resources :follow_requests, only: [:index] do member do post :authorize diff --git a/docs/Using-the-API/API.md b/docs/Using-the-API/API.md index af785828635..4db634a6032 100644 --- a/docs/Using-the-API/API.md +++ b/docs/Using-the-API/API.md @@ -19,6 +19,7 @@ API overview - Who reblogged/favourited a status - Following/unfollowing accounts - Blocking/unblocking accounts + - Getting instance information - Creating OAuth apps - [Entities](#entities) - Status @@ -226,6 +227,12 @@ Returns the updated relationship to the user. Returns the updated relationship to the user. +### Getting instance information + +**GET /api/v1/instance** + +Returns an object containing the `title`, `description`, `email` and `uri` of the instance. Does not require authentication. + # Muting and unmuting users **POST /api/v1/accounts/:id/mute**