API Documentation

Typewriter provides an easy-to-use API to access your content via GET requests to REST endpoints or by POSTing to our GraphQL endpoint.

User

Querying the user object gives you a list of that user’s projects.

Get User

https://api.typewriter.cloud/username

query {
  projects(username: "username")
}

Pages

Pages can be fetched either as a group (per project) or individually.

Get all pages for a project

https://api.typewriter.cloud/username/project_slug/pages

query {
  project(username: "username", slug: "project_slug") {
    pages {
      title,
      slug,
      fields {
        type,
        slug,
        label,
        value
      }
    }
  }
}

Get a specific page

https://api.typewriter.cloud/username/project_slug/pages/page_slug

query {
  project(username: "username", slug: "project_slug") {
    pages {
      title,
      slug,
      fields {
        type,
        slug,
        label,
        value
      }
    }
  }
}

Types

Types can likewise be fetched all at once, individually by type, or individually by a type item.

Get all types for a project

https://api.typewriter.cloud/username/project_slug/types

query {
  project(username: "username", slug: "project_slug") {
    types {
      title,
      slug,
      fields {
        type,
        slug,
        label,
        value
      }
    }
  }
}

Get a specific type

https://api.typewriter.cloud/username/project_slug/types/type_slug

query {
  project(username: "username", slug: "project_slug") {
    types(type: "type_slug") {
      title,
      slug,
      fields {
        type,
        slug,
        label,
        value
      }
    }
  }
}

Get a specific type item

https://api.typewriter.cloud/username/project_slug/types/type_slug/item_slug

query {
  project(username: "username", slug: "project_slug") {
    types(type: "type_slug", item="item_slug") {
      title,
      slug,
      fields {
        type,
        slug,
        label,
        value
      }
    }
  }
}