Go client for the Write.as API https://developers.write.as
Matt Baer e897d3699f Version 1, with basic API support around publishing, updating, and deleting posts. 1 year ago
.github Add GitHub issue template 2 years ago
.gitignore Initial commit 4 years ago
LICENSE Add README and LICENSE 3 years ago
README.md Alter guidelines to request documenting only exported funcs 1 year ago
auth.go use correct verb for error formatting 1 year ago
collection.go Merge pull request #7 from ProfessorTom/remove_unreachable_code 1 year ago
collection_test.go Add expected output on examples 1 year ago
post.go Merge pull request #7 from ProfessorTom/remove_unreachable_code 1 year ago
post_test.go Fix GetPost test looking for dev post 1 year ago
user.go Add UserSubscription struct 1 year ago
writeas.go Support using custom User-Agent 1 year ago




Official Write.as Go client library.


go get github.com/writeas/go-writeas


See all functionality and usages in the API documentation.

Example usage

import "github.com/writeas/go-writeas"

func main() {
	// Create the client
	c := writeas.NewClient()

	// Publish a post
	p, err := c.CreatePost(&PostParams{
		Title:   "Title!",
		Content: "This is a post.",
		Font:    "sans",
	if err != nil {
		// Perhaps show err.Error()

	// Save token for later, since it won't ever be returned again
	token := p.Token

	// Update a published post
	p, err = c.UpdatePost(&PostParams{
		ID:      p.ID,
		Token:   token,
		Content: "Now it's been updated!",
	if err != nil {
		// handle

	// Get a published post
	p, err = c.GetPost(p.ID)
	if err != nil {
		// handle

	// Delete a post
	err = c.DeletePost(&PostParams{
		ID:    p.ID,
		Token: token,


The library covers our usage, but might not be comprehensive of the API. So we always welcome contributions and improvements from the community. Before sending pull requests, make sure you've done the following:

  • Run go fmt on all updated .go files.
  • Document all exported structs and funcs.