Rubberduck logo

Rubberduck.WebApi

Backend API for rubberduckvba.com

version 1.0.0.31345

Public Endpoints

/api/v1/public

/Test

Accepts: application/json
Returns: System.DateTime

Gets the current UTC timestamp, if all goes well.

/Features

Accepts: application/json
Returns: IEnumerable<Feature>

Gets all features, along with their sub-features and feature items.

/Summary

Accepts: application/json
Returns: IEnumerable<FeatureSummary>

Gets all top-level features without their description but with a pagination summary

/Feature/{name}

Accepts: application/json
Returns: {Feature, FeaturePaginationInfo}

Gets a feature

/Summary/{name}

Accepts: application/json
Returns: FeatureSummary

Gets a summary for a feature, with pagination info

/FeatureItem/{name}

Accepts: application/json
Returns: FeatureItem

Gets the specified feature item, including its examples and their respective modules

/Tags

Accepts: application/json
Returns: IEnumerable<Tag>

Gets the latest release and prerelease tags, including installer asset downloads

/Indent

Accepts: application/json
Returns: IndenterViewModel

Gets the supplied code, indented as per specified settings

/DefaultIndenterSettings

Accepts: application/json
Returns: IndenterViewModel

Gets a default indenter settings view model

/Search

Accepts: application/json
Returns: SearchResultsViewModel

Searches features and feature items for filtered content

/GetSyntaxHighlighting

Accepts: application/json
Returns: System.String

Parses supplied VBA code and returns it formatted with HTML markup

Authenticated Endpoints

/api/v1/admin

/Test

Accepts: application/json
Returns: System.DateTime

Gets the current UTC timestamp, but should return HTTP 401 from this page

/SaveFeature

Accepts: application/json
Returns: Feature

Creates a new feature (or sub-feature), or updates an existing one

/DeleteFeature

Accepts: application/json
Returns: Feature

Deletes the specified feature (or sub-feature)

/SaveFeatureItem

Accepts: application/json
Returns: FeatureItem

Creates a new feature item, or updates an existing one

/DeleteFeatureItem

Accepts: application/json
Returns: Feature

Deletes the specified feature item

/Update

Accepts: application/json
Returns:

Gets the latest release and pre-release tags from GitHub, downloads xmldoc assets, processes the feature items - method returns immediately