Version 1 (API key)
Authentication
The App Academy API version 1 uses the API Key authorization. You need the x-api-key
which you can obtain in this form.
Pagination
Since the App Academy API was built for educational purposes, the following types of pagination were used:
offset based
page based
has more items based
Endpoints
About
Gets information about the logged API user's account
API key for authorization.
OK
Unauthorized
GET /api/v1/about HTTP/1.1
Host: app-academy.make.com
x-api-key: text
Accept: */*
[
{
"name": "John Doe",
"email": "[email protected]",
"webhook": "https://hook.eu1.make.com/abcdef123",
"webhook-watched-items": "create, update",
"redirect-URI": "https://www.make.com/oauth/cb/app"
}
]
Movies
Each user is granted access to 6 default records that cannot be updated or deleted.
Each user can create up to 14 records, resulting in a total of 20 retrievable records.
Creates a movie.
API key for authorization.
Iron Man
f841a38b77be
2008
126
OK
Bad request error response
Unauthorized
POST /api/v1/movies HTTP/1.1
Host: app-academy.make.com
x-api-key: text
Content-Type: application/json
Accept: */*
Content-Length: 313
{
"name": "Iron Man",
"genres": [
{
"id": "1"
}
],
"directorId": "f841a38b77be",
"releaseDate": "2008",
"length": 126,
"topCast": [
{
"role": "Tony Stark",
"castId": "5bfb3056c5e4"
}
],
"boxOffice": {
"budget": 140,
"grossProfit": 585.8
},
"premieres": {
"czechPremiere": "2008-04-30T22:00:00+00:00",
"originalPremiere": "2008-05-01T22:00:00+00:00"
}
}
{
"id": "0c841ade9610",
"name": "Iron Man",
"genres": [
{
"id": "1",
"name": "action"
}
],
"length": 126,
"topCast": [
{
"role": "Tony Stark",
"castId": "5bfb3056c5e4",
"castName": "Robert Downey Jr."
}
],
"director": {
"directorId": "f841a38b77be",
"directorName": "Jon Favreau"
},
"boxOffice": {
"budget": 140,
"grossProfit": 585.8
},
"createdAt": "2023-04-13T17:04:47+00:00",
"premieres": {
"czechPremiere": "2008-04-30T22:00:00+00:00",
"originalPremiere": "2008-05-01T22:00:00+00:00"
},
"updatedAt": "2023-04-19T17:04:47+00:00",
"releaseDate": "2008"
}
Lists movies.
The number of the page to retrieve.
Retrieve records with dates in the provided sort parameter since this time. Default is createdAt. Allowed format YYYY-MM-DDTHH:mm:ssZ.
The order in which the records should be returned. Default is asc.
The parameter to be used for ordering the records. Available values are createdAt, updatedAt, name, originalPremiere, czechPremiere.
API key for authorization.
OK
Bad request error response
Unauthorized
GET /api/v1/movies HTTP/1.1
Host: app-academy.make.com
x-api-key: text
Accept: */*
{
"result": [
{
"id": "0c841ade9610",
"name": "Iron Man",
"genres": [
{
"id": "1",
"name": "action"
}
],
"length": 126,
"topCast": [
{
"role": "Tony Stark",
"castId": "5bfb3056c5e4",
"castName": "Robert Downey Jr."
}
],
"director": {
"directorId": "f841a38b77be",
"directorName": "Jon Favreau"
},
"boxOffice": {
"budget": 140,
"grossProfit": 585.8
},
"createdAt": "2023-04-13T17:04:47+00:00",
"premieres": {
"czechPremiere": "2008-04-30T22:00:00+00:00",
"originalPremiere": "2008-05-01T22:00:00+00:00"
},
"updatedAt": "2023-04-19T17:04:47+00:00",
"releaseDate": "2008"
}
]
}
Retrieves a movie.
ID of the resource to work with.
API key for authorization.
OK
Bad request error response
Unauthorized
Record not found
GET /api/v1/movies/{id} HTTP/1.1
Host: app-academy.make.com
x-api-key: text
Accept: */*
{
"id": "0c841ade9610",
"name": "Iron Man",
"genres": [
{
"id": "1",
"name": "action"
}
],
"length": 126,
"topCast": [
{
"role": "Tony Stark",
"castId": "5bfb3056c5e4",
"castName": "Robert Downey Jr."
}
],
"director": {
"directorId": "f841a38b77be",
"directorName": "Jon Favreau"
},
"boxOffice": {
"budget": 140,
"grossProfit": 585.8
},
"createdAt": "2023-04-13T17:04:47+00:00",
"premieres": {
"czechPremiere": "2008-04-30T22:00:00+00:00",
"originalPremiere": "2008-05-01T22:00:00+00:00"
},
"updatedAt": "2023-04-19T17:04:47+00:00",
"releaseDate": "2008"
}
Updates a movie. Without partial update.
ID of the resource to work with.
API key for authorization.
Iron Man
f841a38b77be
2008
126
OK
Bad request error response
Unauthorized
Record not found
PUT /api/v1/movies/{id} HTTP/1.1
Host: app-academy.make.com
x-api-key: text
Content-Type: application/json
Accept: */*
Content-Length: 313
{
"name": "Iron Man",
"genres": [
{
"id": "1"
}
],
"directorId": "f841a38b77be",
"releaseDate": "2008",
"length": 126,
"topCast": [
{
"role": "Tony Stark",
"castId": "5bfb3056c5e4"
}
],
"boxOffice": {
"budget": 140,
"grossProfit": 585.8
},
"premieres": {
"czechPremiere": "2008-04-30T22:00:00+00:00",
"originalPremiere": "2008-05-01T22:00:00+00:00"
}
}
{
"id": "0c841ade9610",
"name": "Iron Man",
"genres": [
{
"id": "1",
"name": "action"
}
],
"length": 126,
"topCast": [
{
"role": "Tony Stark",
"castId": "5bfb3056c5e4",
"castName": "Robert Downey Jr."
}
],
"director": {
"directorId": "f841a38b77be",
"directorName": "Jon Favreau"
},
"boxOffice": {
"budget": 140,
"grossProfit": 585.8
},
"createdAt": "2023-04-13T17:04:47+00:00",
"premieres": {
"czechPremiere": "2008-04-30T22:00:00+00:00",
"originalPremiere": "2008-05-01T22:00:00+00:00"
},
"updatedAt": "2023-04-19T17:04:47+00:00",
"releaseDate": "2008"
}
Updates a movie. With partial update.
ID of the resource to work with.
API key for authorization.
Iron Man
f841a38b77be
2008
126
OK
Bad request error response
Unauthorized
Record not found
PATCH /api/v1/movies/{id} HTTP/1.1
Host: app-academy.make.com
x-api-key: text
Content-Type: application/json
Accept: */*
Content-Length: 313
{
"name": "Iron Man",
"genres": [
{
"id": "1"
}
],
"directorId": "f841a38b77be",
"releaseDate": "2008",
"length": 126,
"topCast": [
{
"role": "Tony Stark",
"castId": "5bfb3056c5e4"
}
],
"boxOffice": {
"budget": 140,
"grossProfit": 585.8
},
"premieres": {
"czechPremiere": "2008-04-30T22:00:00+00:00",
"originalPremiere": "2008-05-01T22:00:00+00:00"
}
}
{
"id": "0c841ade9610",
"name": "Iron Man",
"genres": [
{
"id": "1",
"name": "action"
}
],
"length": 126,
"topCast": [
{
"role": "Tony Stark",
"castId": "5bfb3056c5e4",
"castName": "Robert Downey Jr."
}
],
"director": {
"directorId": "f841a38b77be",
"directorName": "Jon Favreau"
},
"boxOffice": {
"budget": 140,
"grossProfit": 585.8
},
"createdAt": "2023-04-13T17:04:47+00:00",
"premieres": {
"czechPremiere": "2008-04-30T22:00:00+00:00",
"originalPremiere": "2008-05-01T22:00:00+00:00"
},
"updatedAt": "2023-04-19T17:04:47+00:00",
"releaseDate": "2008"
}
Deletes a movie.
ID of the resource to work with.
API key for authorization.
OK
Unauthorized
DELETE /api/v1/movies/{id} HTTP/1.1
Host: app-academy.make.com
x-api-key: text
Accept: */*
{
"success": "true"
}
People
The query (parameter q
) has to be written in this format:
all the conditions can be grouped by operator
AND
the value in each condition has to be enclosed in quotation marks
supported conditions:
contains
startsWith
endsWith
equal
multiple conditions can be used multiple times within one query
example:
contains= "Rob" AND startsWith = "Rob" AND endsWith = "Jr."
Searches people involved in movies.
The query to search in records.
contains= \"Rob\" AND startsWith = \"Rob\" AND endsWith = \"Jr.\" AND equals = \"Robert Downey Jr.\"
The number of records to skip.
API key for authorization.
OK
Bad request error response
Unauthorized
GET /api/v1/people HTTP/1.1
Host: app-academy.make.com
x-api-key: text
Accept: */*
{
"result": [
{
"id": "5bfb3056c5e4",
"name": "Robert Downey Jr."
}
]
}
Organizations
Lists organizations involved in movies.
The number of the page to retrieve.
API key for authorization.
OK
Bad request error response
Unauthorized
GET /api/v1/organizations HTTP/1.1
Host: app-academy.make.com
x-api-key: text
Accept: */*
{
"result": [
{
"id": "1",
"awardName": "Oscar",
"awardCategories": [
"[\"best-achievement-in-sound-editing\",\"best-achievement-in-visual-effects\"]"
],
"organizationName": "Academy Awards, USA"
}
]
}
Genres
Lists genres of movies.
API key for authorization.
OK
Bad request error response
Unauthorized
GET /api/v1/genres HTTP/1.1
Host: app-academy.make.com
x-api-key: text
Accept: */*
{
"result": [
{
"id": "1",
"name": "action"
}
]
}
Awards
Lists awards that were obtained by a movie.
ID of the movie to work with.
API key for authorization.
OK
Bad request error response
Unauthorized
GET /api/v1/awards/{movieId} HTTP/1.1
Host: app-academy.make.com
x-api-key: text
Accept: */*
{
"hasMoreItems": true,
"result": [
{
"id": "1",
"award": [
{
"people": [
{
"id": "5bfb3056c5e4",
"name": "Robert Downey Jr."
}
],
"outcome": "0",
"awardCategoryId": "best-achievement-in-visual-effects"
}
],
"movieId": "0c841ade9610",
"organization": {
"awardName": "Oscar",
"organizationId": "1",
"organizationName": "Academy Awards, USA"
}
}
]
}
Webhooks
Each user can create 1 webhook.
Attaches a webhook.
API key for authorization.
https://hook.eu1.make.com/webhookToken
OK
No content
Bad request error response
Unauthorized
POST /api/v1/webhooks HTTP/1.1
Host: app-academy.make.com
x-api-key: text
Content-Type: application/json
Accept: */*
Content-Length: 68
{
"url": "https://hook.eu1.make.com/webhookToken",
"events": [
"create"
]
}
No content
Detaches a webhook.
ID of the resource to work with.
API key for authorization.
OK
No content
Unauthorized
Resource not found.
DELETE /api/v1/webhooks/{id} HTTP/1.1
Host: app-academy.make.com
x-api-key: text
Accept: */*
No content
Files
Retrieves a list of files/folders.
ID of the folder to retrieve its content.
API key for authorization.
OK
GET /api/v1/files HTTP/1.1
Host: app-academy.make.com
x-api-key: text
Accept: */*
OK
{
"items": [
{
"name": "exampleFile2.doc",
"type": "file",
"mimeType": "image/jpeg",
"parent": "d6c6bea4f03b",
"id": "1a0e71b0edb0"
}
],
"totalPages": 1
}
Downloads a file.
ID of the file to download.
API key for authorization.
OK
GET /api/v1/files/{id}/export HTTP/1.1
Host: app-academy.make.com
x-api-key: text
Accept: */*
OK
binary
Upload a file.
ID of the folder where the file should be uploaded.
API key for authorization.
OK
POST /api/v1/files/import HTTP/1.1
Host: app-academy.make.com
x-api-key: text
Content-Type: application/json
Accept: */*
Content-Length: 63
{
"file": {
"value": "binary",
"options": {
"filename": "myFile.txt"
}
}
}
OK
{
"success": "true"
}
Custom Fields (movie)
Retrieves custom fields.
API key for authorization.
OK
GET /api/v1/custom-fields HTTP/1.1
Host: app-academy.make.com
x-api-key: text
Accept: */*
OK
{
"custom_fields": [
{
"name": "review_comment",
"type": "multi_line_text",
"label": "Review Comment"
}
]
}
Last updated