[![Build Status](](
[![Coverage Status](](

# Medium SDK for Elixir

An Elixir SDK for the [API](

## Installation

If [available in Hex](, the package can be installed as:

  1. Add `medium` to your list of dependencies in `mix.exs`:

    def deps do
      [{:medium, "~> 0.1.0"}]

  2. Ensure `medium` is started before your application:

    def application do
      [applications: [:medium]]

## Usage

Since all Medium requests must be made with an integration token, you need
to create a new client associated with that token in order to perform requests:

client = Medium.client("my-access-token")

With our client at hand, we can start making requests to the API! :boom:

# We can perform all GET requests described on the API:
user =
user_publications = Medium.publications(client,

# And we can also publish:
post = %{
  title: "Liverpool FC",
  content_format: "html",
  content: "<h1>Liverpool FC</h1><p>You’ll never walk alone.</p>",
  canonical_url: "",
  tags: ["football", "sport", "Liverpool"],
  publish_status: "public"

response = Medium.publish(client,, post)

Don't forget to check the Medium [API](
or the [module](
to see all available methods.

## Roadmap

- [ ] Add endpoints related to authentication.
- [x] Add endpoints to consume and publish data.
- [x] Add tests
- [ ] Add doctests
- [x] Add documentation

## Licence

All the code contained in this repository, unless explicitly stated, is licensed under an MIT license.

A copy of the license can be found in the [LICENSE](LICENSE) file.