Create Applications

POST /apps



Enables the creation of applications.

Resource URL

https://api.ideasystem.org/v1/apps

Data Parameters (JSON Body)

name
required
Example: "name": "IDEA Online"
The name of the application. This should provide an indication of who is using this and how. For example, if the application was created for IDEA University's Blackboard system, we might name it IDEAUniversityBlackboard.
key
required
Example: "key": "ABCDEFG0987654321"
The unencrypted key value that should be used. This is a password and should be kept secret and a secure value should be selected (in other words, this should not be easily guessable). Once it is submitted, it cannot be decrypted.
read_only
optional
Example: "read_only": true
The read only property that should be used; true if this application can only read data from the REST API and false if this application can both read and write.
app_admin
optional
Example: "app_admin": false
The new app admin property that should be used; if not provided, the app admin property will not be changed.
contact
required
Example: "contact": { ... }
The updated contact information.
contact.name
required
Example: "name": "Contact Person"
The person to contact related to this application. In most cases, this will be the On Campus Coordinator or a technology person. This person will be contacted if there are issues with the application (too many requests, invalid use of the API, etc.).
contact.email
required
Example: "email": "person@IDEAedu.org"
The email address to use to contact the person about the application. This could be any email address as long as it is secure (the contents of the emails will not be read by a large number of people) and won't bounce. But if there are issues, we assume that emailing this address will get a response quickly.

Response

The response will be an HTTP 200 with a JSON body. The body will be the newly created application information. This is almost identical to what is submitted except it will contain the new ID for the application and it will contain the encrypted version of the password.

If there is an issue with the backend, a HTTP 500 (Internal Server Error) is returned. If the application name/key you are using doesn't have access to this REST end-point, you will get a 403 (Forbidden) error.

Response Parameters (JSON Body)

id
Example: "id": 4321
The unique ID for the newly created application. This will be useful for later requests (to update, delete, link, etc.).
key
Example: "key": "abcdefghijklmnopqrstuvwxyz1234567890"
The encrypted version of application key that is used.
name
Example: "name": "SampleApp123"
The name of the application.
contact
Example: "contact": { ... }
The contact information for this application.
contact.name
Example: "name": "Joe Technology"
The contact person's name.
contact.email
Example: "email": "joeTech@IDEAedu.org"
The contact person's email address.
read_only
Example: "read_only": true
True if this application can only read data (and not write); in other words, this application can only access using GET and not POST, PUT, nor DELETE. False if the application can perform all actions (GET, PUT, POST, and DELETE).
app_admin
Example: "app_admin": false
True if this application is an administration application.

Example

This request will create a new application.

Request

POST /v1/apps

POST Data (as JSON)

{
    "name": "MyApplication",
    "key": "ThisIsMyNewSecretKey",
    "read_only": true,
    "app_admin": false,
    "contact": {
        "name": "OnCampus Coordinator",
        "email": "occ@IDEAedu.org"
    }
}

Response (as JSON)

HTTP 200
{
    "id": 1234,
    "key": "abcdefghijklmnopqrstuvwxyz1234567890",
    "name": "MyApplication",
    "read_only": true,
    "app_admin": false,
    "contact": {
        "name": "OnCampus Coordinator",
        "email": "occ@IDEAedu.org"
    }
}