Overview

Mavenseed has a RESTful API that is available to account owners. It can be accessed at https://yoursite.mavenseed.com/api/v1

Authentication is handled via a secure token, which is used to make requests after logging into the API with your account email and password.

API Login

Send a POST request to https://yoursite.mavenseed.com/api/login with the email and password that you used to create your account with. In the return response, you will receive an authentication token that you can use to make future requests with.

post
API Login

https://yoursite.mavenseed.com.com/api/login
Request
Response
Query Parameters
email
required
string
Account email
password
required
string
Account password
200: OK
{'auth_token': 'XXXXXX'}

API Requests

Further requests to the API require the auth token that was returned to you after logging in through the API. Here's an example request that includes the auth token to grab all events. The auth token is sent in the headers of the request.

curl --header "Authorization: Bearer TOKEN-FROM-LOGIN" https://yoursite.mavenseed.com/api/v1/events

The rest of this documentation assumes that the auth token will be present in the requests to the API.

Just a heads up, the documentation tool here makes it a bit hard to understand the format of the requests to the api. The case is the same for all API resources, but for example let's consider a "customer". Here's a screenshot that shows that the properties that you're trying to either create, update, or destroy, requires to be nested within the resource name. This should be in JSON in your request to the API.

Example: { "customer": { "email": "apiupdate@sdsdsd.com"}}

Here's an example using Ruby to update a customers email.

require 'uri'
require 'net/http'
url = URI("https://yoursite.mavenseed.com/api/v1/customers/55")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Patch.new(url)
request["Content-Type"] = 'application/json'
request["Authorization"] = 'Bearer AUTHTOKENFROMLOGIN'
request["cache-control"] = 'no-cache'
request["Postman-Token"] = 'eb9d400b-9e60-4f2e-a72a-289adbf66f34'
request.body = "{ \"customer\": { \"email\": \"updatetheemail@someusersemail.com\"}}"
response = http.request(request)
puts response.read_body

If you have any questions on any of this, just email me nick@mavenseed.com