Sign up to be notified about Systemizer development:

This is a pre-beta product

Because Systemizer is still in development, expect things to break, to change, etc. I do not yet have a sense of how heavily people are going to use the product on average, so limits are currently somewhat arbitrary. I do appreciate that early adopters are going to help this product get off to a start though, so expect special early adopter rates when I do charge.

Good luck and please give me as much feedback as possible! Email me here.


Getting Started

Before using the Api, familiarize yourself with the information on this page, which you'll need as a foundation for developing your own automated systems using Systemizer.

The Request/Response Format

The Systemizer API is REST-based, with API calls using an appropriate HTTP verb (e.g. GET, POST, DELETE, etc.) and return a JSON response.

The base address for all calls is http://api.systemizer.net. Request data can be posted as JSON if desired, in which case you should include a header of Content-Type:application/json. Complicated request values, such as child properties containing arrays and so forth will be more easily expressed using JSON.

Specifying the API Key

Most calls require an API key to be passed, otherwise the request will be rejected. To specify the API key, add a request header X-APIKey with the user's API key as the value

Error Responses

Most calls that result in an error will return an appropriate HTTP status code. Check the reason message for details about the error. If an HTTP 400 (bad request) is returned, then you likely have a problem with your inputs. In this case, check the response body for a JSON-encoded list of errors.

Note that some other error responses may have additional fields containing further information about the error, so check the response body when you receive an error as this may help you identify the cause of the error more easily.

Date Values

Dates accepted and returned always use universal coordinated time (UTC) and are formatted using the ISO 8601 standard format.

{ "Example": "2012-05-04T22:50Z" }

Session Quotas

Each account has a session quota, which is a quota of the maximum number of worker sessions you can start. Your session quota refills at a certain rate, as dictated by your account. You can start new sessions at any rate you choose, but each new session created will subtract from your remaining quota. When your quota is empty, subsequent requests to create a session will be rejected until your quota is no longer empty. Rejected requests do not count toward your quota.

Your quota refills at a certain rate dictated by your account type and will never refill itself above its default maximum (also specified by your account type), however it is possible for your quota to go above the account maximum in certain instances, such as if set by an administrator, or for certain accounts which may have a larger initial starting quota for development purposes.

Proxies

Most accounts are required to provide a proxy when starting a new session, as abuse of third-party resources may otherwise cause problems for Systemizer's quality of service. Proxy details are outlined in the relevant sections of the API documentation. We do not accept open public proxies scraped from the internet! To obtain proxies, check out Proxy51, Packet Flip and IPRental's API Plan

Account API

The account API provides access to all aspects of account management, from registering a new account to managing the individual users within that account.

  • Create Account
  • Get Supported Time Zones
  • Confirm Email
  • Create User
  • Modify User
  • Delete User
  • Get User
  • List Users
  • Set User Permissions
  • Authenticate User
  • List Api Keys By User Id
  • Generate Api Key
  • Delete Api Key
  • Resend Email Confirmation
  • Resend Welcome Email

Sessions API

The session API provides an interface to create work sessions, which are required in order to issue commands for browser automation, HTTP requests and so forth.


Browser API

The browser API gives you control over a hosted Chrome-based browser, with the ability to click elements, set field values, extract content, take screenshots and more.

Commands

Appendix