Api Documentation
Systemizer allows you to automate your online workflow by chaining all sorts of web-based events, actions and user interactions together.
All of Systemizer's functionality is available via an extensive REST API. All you need is an API key (see the Create Account call for details) and an environment with which to make HTTP requests such as Fiddler (Windows) or cURL (Command line, all platforms). Typically however, you'll want to use the Systemizer user interface (unreleased as yet) or your own application code which will make calls to the Systemizer API according to the needs of your application.
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.
- Get Quota
- New Session
- End Session
- Get Session Details
- List Sessions
- List Active Sessions
- Get Command
- List Commands
- Get Command Result
- Get File
- List Command Results
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
- Open Window
- Close Window
- Get Window Info
- Load URL
- Take Screenshot
- Resize Window
- Click Element
- Type Text
- Text Exists
- Element Exists
- Wait For Text
- Wait For Element
- Set Field Value
- Extract Content
