API Structure
The API is organized around a few common entities which represent specific items in our system.
Users
A user is a single person in the system. They each have an account with a username and password for logging into the site, and then an API Key for performing API calls to the system.
- User ID (Unique Identifier)
- First Name
- Last Name
- Company ID (refers to the company that this user belongs to)
Companies
A company consists of a group of users. Every user can only belong to one company. You can only see information related to the company you belong to.
- Company ID (Unique Identifier)
- Title
Projects
Every project belongs to one company. A company can have as many projects as it needs. Each project represents a thing that the users in that company are working on.
- Project ID (Unique Identifier)
- Title
- Company ID (refers to the company that this project belongs to)
Time Entries
A time entry is a record of a single user, performing a task on a single project.
- Entry ID (Unique Identifier)
- Description
- Project ID (the project this time entry belongs to)
- User ID (the user who performed this work)
- Start Time (YYYY-MM-DD hh:mm:ss the date and time when the work started)
- End Time (YYYY-MM-DD hh:mm:ss the date and time when the work stopped)
Connecting to the API
- All connections to the API must be done via the base URL https://acs2909.lusciousorange.com/t-api/.
- Each call must have the correct HTTP method such as POST, GET, DELETE, or PATCH
- If the API indicates a value like {something_id} then that indicates that you must replace it with the relevant ID
- All responses from the server are returned as JSON. This includes most error messages coming from the server.
- All requests must provide a header value of api-key, which is your unique API key that you can see in your account.
- All parameters should be passed in the body as Content-Type: multipart/form-data.