Go client for the Write.as API https://developers.write.as
Matt Baer 7a2c93ae6d Revert "DeleteCollection: Make params a struct" 9 months 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 Add v2 warning in README 1 year ago
auth.go Rearrange status checks in LogIn 1 year ago
auth_test.go Add authentication test 1 year ago
collection.go Revert "DeleteCollection: Make params a struct" 9 months ago
collection_test.go Revert "DeleteCollection: Make params a struct" 9 months ago
post.go Pass along edit token on post update 1 year ago
post_test.go Reflect breaking v2 changes in examples and tests 1 year ago
user.go Add UserSubscription struct 2 years ago
writeas.go Add NewClientWith constructor 1 year ago




Official Write.as Go client library.


Warning: the v2 branch is under heavy development and its API will change without notice.

For a stable API, use go.code.as/writeas.v1 and upgrade to v2 once everything is merged into master.

go get go.code.as/writeas.v2


See all functionality and usages in the API documentation.

Example usage

import "go.code.as/writeas.v2"

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

	// Publish a post
	p, err := c.CreatePost(&writeas.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(p.ID, token, &writeas.PostParams{
		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(p.ID, 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.