Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
The App Academy API was specifically developed for the Make Academy Custom Apps Development course.
To access the API, please fill out the with your email, first and last names, redirect URI, and accept the terms and conditions.
After submitting the form, you should receive an email with credentials for both Version 1 (API key) and Version 2 (client Id and Secret) within 5 minutes. Access to Version 3 can be obtained within the practical challenge in the Custom Apps Development Training course.
After submitting the form, you will receive an email with credentials for Version 1 (API key) and Version 2 (client ID and Secret) within 5 minutes. To access Version 3, complete the practical challenge in the Custom Apps Development Training course.
If you wish to have your access and data removed, simply fill out the form and you will receive confirmation via email within 5 minutes.
The API was designed solely for educational purposes, and therefore has some limitations in place to simulate a real API experience. These include:
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 20 retrievable records.
Users are only allowed to update or delete records that they have created.
Each user is allowed to create 1 webhook.
The default (and maximum) page size in pagination is 5.
The default (and maximum) limit of retrieved records is 20.
The App Academy API version 3 was developed for the practical challenge within the Custom Apps Development course. Access ( username and password ) can be obtained there.
Before getting access to API version 3, you will need your username and password to get a new access token.
Use your application username and password to issue a request to token endpoint.
You must use password grant type.
A successful request will respond with access_token , expires-in , and refresh_token parameters. Expires-in value is in minutes.
After obtaining the access token, you can send requests to App Academy API that contain the authorization header in this format: Bearer {access_token}.
The API provides the expires_in parameter in the token response to determine if the user's access token has expired. If it has, to obtain a new access token use the token endpoint with grant_type set to refresh_token .
Expires-in value is in minutes. To obtain a new access token and refresh token, the refresh token must not be expired!
Error example
App Academy API uses pagination to limit the response size for resources that return a potentially large collection of items. A request to a paged API will result in a results array wrapped in a JSON object with paging metadata, for example:
totalRecordsReturned - The number of results returned on the page.
The API version 2 implements the OAuth2 authorization framework, enabling secure authentication and authorization to access its resources. This flow has been developed specifically for the Make Academy Custom Apps Development course, aiming to simulate a real-world authentication and authorization process.
Every developer can integrate Custom App Academy API V2 by obtaining up to one app access that involves registration of their application and obtaining client credentials.
To obtain the necessary client credentials (client ID and secret), you can submit the . If you have previously submitted the form for API version 1, you should already have received the credentials to API version 2 via email.
To provide a realistic user authorization experience, API version 2 includes a feature where users can select the specific account they want to connect with the application. This mimics the behavior seen in real-world applications.
Each app user (John Doe/Jane Black) can have only one active connection. If you generate a new connection, the existing one will be removed.
Redirect the user to authorize endpoint. This will prompt the user to allow your application to access the Custom App Academy API on their behalf. You need the user to allow the connect scope to successfully authorize access. To obtain the code parameter to authorize token request, set the response_type to code.
Once a user decides to allow or disallow your application access to their account, Custom App Academy will redirect them to the OAuth2 redirect URL that you set when submitting your form.
If there was an error processing the request, the response will contain an error.message parameter. If the request was successful, the response will contain code parameter.
Use your application client_id and client_secret together with code from the previous step to issue a request to token endpoint. You must use the same redirect URL in the token request and authorization_code grant type.
A successful request will respond with access_token, expires-in, refresh_token and refresh_expires_in parameters. expires-in and refresh_expires_in values are in minutes.
After obtaining the access token, you can send requests to App Academy API that contain the authorization header in this format: Bearer {access_token}.
The API provides the expires_in parameter in the token response to determine if the user's access token has expired. If it has, use the refresh endpoint to retrieve a new access token and refresh token. expires-in and refresh_expires_in values are in minutes. To obtain a new access token and refresh token, the refresh token must not be expired!
If the user wants to invalidate the access of your app to Custom App Academy API, use the invalidate endpoint.
API Version 2 provides integration with scopes. Scopes provide a granular level of access control and ensure that users can only access the specific resources they need. The following scopes are supported:
authorize
connect
any GET endpoint*
read
any POST/PUT/PATCH ednpoint
write
any DELETE endpoint
delete
*except for /info endpoint.
In API version 2, all the endpoints available in API version 1 are fully supported. To make API calls in version 2, you need to use the URL for API version 2 as well as to ensure proper authorization and scope management by following the instructions provided above.
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
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.
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:
Each user can create 1 webhook.
contains= "Rob" AND startsWith = "Rob" AND endsWith = "Jr."{
"error": {
"message": "Grant type not supported.",
"code": 501
}
}{
"totalRecordsReturned": 5,
"records": [
{
"id": "1dca6a93fcf1",
"name": "Robert Downey Jr.",
"createdAt": "2023-04-13T17:04:47+00:00",
"updatedAt": "2023-04-19T17:04:47+00:00"
}
]
}
This endpoint returns the available record types, e.g. movie, organization, person, etc.
This endpoint retrieves the JSON file of a record type. This JSON file contains the list of parameters available in the record type.
The search records endpoint supports chained filters. The filter is sent in body of the request.
In addition to chained filters, records can be queried with single filters as well.
startsWith
endsWith
contains
equalsTo
The maximum size of a file one can upload to an upload session is 4 bytes. A single request within the upload session cannot exceed 1 byte. Example: If a file has 4 bytes, the file has to be split into 4 separate requests containing a block of data (bytes).
Open a slot for an upload session and save the file's name and the given file path where the file should be uploaded.
Only one slot can be open at a time. The slot can be open for max 1 minute. The session is dropped if the file upload is not finished by that time or if the upload session ends up with an error.
Upload the first block of data to an uplaod session.
Append more data to an upload session.
Finish the upload session by uploading the last block (byte) of the file's data.
The Make Academy API version 3 uses a digital signature which is generated using the secret key entered when creating a webhook and the body of the webhook’s request. This data is contained within the Signature header.
The header contains the SHA algorithm used to generate the signature. To verify that the request originates from the App Academy API, you'll need to compute the HMAC 256 using your secret key and the body and compare it to the signature contained in the header. The successful matching of these values ensures that the webhook's source is the App Academy API.
When a webhook is attached, the verification payload is sent to the webhook. You must respond with the correct HTTP code:
200 for correct signature
400 for incorrect signature
For the 400 code, you must respond with the following response:
Returns a greeting. If no input is provided, the default text "Hello, World!" is returned.
The name of the person to welcome.
The greeting that should be used. E.g. Hello.
OK
Bad request
{
"result": "Hello, John!"
}GET /api/v0/helloworld HTTP/1.1
Host: app-academy.make.com
Accept: */*
searchesIn
The list of parameters to search by in the records of the record type.
deletable
The record type suuports operation delete.
triggerable
The record type supports firing webhooks when a new event is logged.
The record type records the date and time of the event.
type
JSON type of the parameter, e.g. text, number, array.
nestedParameters
The parameters that are nested to the parameter.
name
Name of the record type.
label
Label of the record type.
creatable
The record type supports operation create.
updatable
The record type supports operation update.
readable
The record type supports operation read.
searchable
The record type supports operation search.
name
Name of the parameter.
label
Label of teh parameter.
mandatory
The parameter is mandatory.
readable
The parameter is returned in the response body when the record is fetched.
updatable
The parameter can be used to create/update a record.
refersTo
Name of the record type to which the parameter refers. Only available for the parameters of type ID.
Creates a session ID for a file upload. Stores a file name and the final location of the file (full path to the folder is required).
Access token for authorization.
Uploads the first block of data of a file.
Access token for authorization.
Session ID of the file upload.
application/octet-stream
application/octet-streamUploads the other blocks of data (bytes) of a file, except the last block of data.
Access token for authorization.
Session ID of the file upload.
application/octet-stream
application/octet-streamIdentification of the byte's order in the file to upload.
Uploads the last block of data a file and closes the session.
Access token for authorization.
Session ID of the file upload.
application/octet-stream
application/octet-streameventType
The type of event that fired the webhook. Available types: verification, create, update.
data
The body of the record type.
{
"or":[
{
"and":[
{
"property": "name",
"startsWith": "R"
},
{
"property": "name",
"contains": "o"
}
]
},
{
"and":[
{
"property": "name",
"startsWith": "G"
},
{
"property": "name",
"contains": "w"
}
]
}
]
}{
"and":[
{
"property": "name",
"startsWith": "R"
}
]
}import * as crypto from 'crypto';
function generateHMACSHA256(secretKey: string, data: string): string {
const hmac = crypto.createHmac('sha256', secretKey);
hmac.update(data);
return hmac.digest('hex');
}
const secretKey ='yourSecretKey';
const body ='yourBodyContent';
const hmacSHA256 = generateHMACSHA256(secretKey, body);
console.log(`HMAC-SHA256: ${hmacSHA256}`);"Content-type": "application/json"{
"message": "Invalid signature"
}{
"eventType": "verification",
"data": {...}
}OK
OK
OK
{
"name": "Jane Doe",
"username": "[email protected]"
}POST /api/v3/token HTTP/1.1
Host: app-academy.make.com
Content-Type: application/json
Accept: */*
Content-Length: 53
{
"refresh_token": "text",
"grant_type": "refresh_token"
}{
"access_token": "text",
"expires_in": 1,
"refresh_token": "text"
}POST /api/v3/token HTTP/1.1
Host: app-academy.make.com
Content-Type: application/json
Accept: */*
Content-Length: 61
{
"username": "text",
"password": "text",
"grant_type": "password"
}{
"access_token": "text",
"expires_in": 1,
"refresh_token": "text"
}GET /api/v3/whoami HTTP/1.1
Host: app-academy.make.com
authorization: text
Accept: */*
OK
OK
OK
Access token for authorization.
OK
OK
Access token for authorization.
OK
OK
Access token for authorization.
OK
OK
No content
OK
OK
No content
Access token for authorization.
OK
OK
No content
Access token for authorization.
OK
OK
No content
OK
OK
OK
OK
OK
OK
No content
OK
OK
No content
/8c6e22b7f1a0/e4673b2dff5e/1dca6a93fcf1test.txtOK
OK
raw(binary)OK
OK
raw(binary)OK
OK
raw(binary)OK
OK
OK
OK
OK
OK
No content
{
"recordTypes": [
{
"name": "movie",
"label": "Movie",
"creatable": true,
"updatable": true,
"readable": true,
"searchable": true,
"searchesIn": [
"text"
],
"deletable": true
}
]
}GET /api/v3/recordTypes/{name} HTTP/1.1
Host: app-academy.make.com
authorization: text
Accept: */*
{
"recordParameters": [
{
"name": "id",
"label": "ID",
"mandatory": true,
"readable": true,
"updatable": true,
"refersTo": "organization",
"type": "text",
"nestedParameters": [
{
"name": "id",
"label": "ID",
"mandatory": true,
"readable": true,
"updatable": true,
"refersTo": "organization",
"type": "text",
"nestedParameters": [
"[Circular Reference]"
]
}
]
}
]
}POST /api/v3/{recordType}/query HTTP/1.1
Host: app-academy.make.com
authorization: text
Content-Type: application/json
Accept: */*
POST /api/v3/{recordType}/query HTTP/1.1
Host: app-academy.make.com
authorization: text
Content-Type: application/json
Accept: */*
GET /api/v3/{recordType}/{id} HTTP/1.1
Host: app-academy.make.com
authorization: text
Accept: */*
POST /api/v3/{recordType} HTTP/1.1
Host: app-academy.make.com
authorization: text
Accept: */*
PATCH /api/v3/{recordType}/{id} HTTP/1.1
Host: app-academy.make.com
authorization: text
Accept: */*
DELETE /api/v3/{recordType}/{id} HTTP/1.1
Host: app-academy.make.com
authorization: text
Accept: */*
GET /api/v3/files HTTP/1.1
Host: app-academy.make.com
authorization: text
Accept: */*
GET /api/v3/files HTTP/1.1
Host: app-academy.make.com
authorization: text
Accept: */*
{
"totalPages": 2,
"items": [
{
"name": "test.txt",
"parent": "e4677852dffe",
"id": "dj789jdj344i",
"type": "folder"
}
]
}GET /api/v3/files/{id} HTTP/1.1
Host: app-academy.make.com
authorization: text
Accept: */*
DELETE /api/v3/files/{id} HTTP/1.1
Host: app-academy.make.com
authorization: text
Accept: */*
POST /api/v3/files/upload/openSlot HTTP/1.1
Host: app-academy.make.com
authorization: text
Content-Type: application/json
Accept: */*
Content-Length: 72
{
"path": "/8c6e22b7f1a0/e4673b2dff5e/1dca6a93fcf1",
"fileName": "test.txt"
}POST /api/v3/files/upload/start HTTP/1.1
Host: app-academy.make.com
authorization: text
session-id: text
content-type: text
Content-Type: application/octet-stream
Accept: */*
Content-Length: 13
"raw(binary)"POST /api/v3/files/upload/append HTTP/1.1
Host: app-academy.make.com
authorization: text
session-id: text
content-type: text
offset: 1
Content-Type: application/octet-stream
Accept: */*
Content-Length: 13
"raw(binary)"POST /api/v3/files/upload/finish HTTP/1.1
Host: app-academy.make.com
authorization: text
session-id: text
content-type: text
Content-Type: application/octet-stream
Accept: */*
Content-Length: 13
"raw(binary)"POST /api/v3/webhooks HTTP/1.1
Host: app-academy.make.com
authorization: text
Content-Type: application/json
Accept: */*
Content-Length: 53
{
"url": "text",
"secretKey": "text",
"recordType": "text"
}DELETE /api/v3/webhooks/{id} HTTP/1.1
Host: app-academy.make.com
authorization: text
Accept: */*
GET /api/v3/recordTypes HTTP/1.1
Host: app-academy.make.com
authorization: text
Accept: */*
{
"totalRecordsReturned": 5,
"records": [
{
"id": "1dca6a93fcf1",
"name": "Robert Downey Jr.",
"createdAt": "2023-04-13T17:04:47+00:00",
"updatedAt": "2023-04-13T17:04:47+00:00"
}
]
}{
"totalRecordsReturned": 5,
"records": [
{
"id": "1dca6a93fcf1",
"name": "Robert Downey Jr.",
"createdAt": "2023-04-13T17:04:47+00:00",
"updatedAt": "2023-04-13T17:04:47+00:00"
}
]
}{
"totalPages": 2,
"items": [
{
"name": "test.txt",
"parent": "e4677852dffe",
"id": "dj789jdj344i",
"type": "folder"
}
]
}{
"session_id": "e4677852dffe"
}{
"session_id": "e4677852dffe"
}{
"session_id": "e4677852dffe"
}{
"file_id": "test.txt"
}{
"hookId": "text",
"secretKey": "text"
}This endpoint enables authorization of your access to API.
connecthttps://www.integromat.com/oauth/cb/appcodeOK
Bad Request
Not Found
Not Supported
This endpoint retrieves the token.
authorization_codehttps://www.integromat.com/oauth/cb/appOK
Bad Request
Not Found
Not Supported
This endpoint retrieves info about the connected account.
Bearer [accessToken]OK
Not Authorized.
Missing Scope.
This endpoint retrieves the refresh token.
refresh_tokenOK
Bad Request
Not Found
Not Supported
This endpoint invalidates the access token.
Bearer [accessToken]OK
Not Authorized.
No content
{
"access_token": "text",
"expires_in": 5,
"refresh_token": "text",
"refresh_expires_in": 5
}{
"access_token": "text",
"expires_in": 5,
"refresh_token": "text",
"refresh_expires_in": 5
}GET /TKLOBOUCKOVA/app-academy-v2/1.0.0/authorize?scope=text&client_id=text&redirect_uri=text&response_type=text HTTP/1.1
Host: virtserver.swaggerhub.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
POST /TKLOBOUCKOVA/app-academy-v2/1.0.0/token HTTP/1.1
Host: virtserver.swaggerhub.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 148
{
"code": "text",
"client_id": "text",
"grant_type": "authorization_code",
"redirect_uri": "https://www.integromat.com/oauth/cb/app",
"client_secret": "text"
}GET /TKLOBOUCKOVA/app-academy-v2/1.0.0/info HTTP/1.1
Host: virtserver.swaggerhub.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
authorization: text
Accept: */*
{
"id": "d1b03e513fbc5881651d6c149fd259506f975ae1",
"user": "Jane Doe"
}POST /TKLOBOUCKOVA/app-academy-v2/1.0.0/refresh HTTP/1.1
Host: virtserver.swaggerhub.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 95
{
"client_id": "text",
"grant_type": "refresh_token",
"client_secret": "text",
"refresh_token": "text"
}GET /TKLOBOUCKOVA/app-academy-v2/1.0.0/invalidate HTTP/1.1
Host: virtserver.swaggerhub.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
authorization: text
Accept: */*
{
"code": "text"
}Creates a movie.
API key for authorization.
Iron Manf841a38b77be2008126OK
Bad request error response
Unauthorized
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
Retrieves a movie.
ID of the resource to work with.
API key for authorization.
OK
Bad request error response
Unauthorized
Record not found
Updates a movie. Without partial update.
ID of the resource to work with.
API key for authorization.
Iron Manf841a38b77be2008126OK
Bad request error response
Unauthorized
Record not found
Updates a movie. With partial update.
ID of the resource to work with.
API key for authorization.
Iron Manf841a38b77be2008126OK
Bad request error response
Unauthorized
Record not found
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
Lists organizations involved in movies.
The number of the page to retrieve.
API key for authorization.
OK
Bad request error response
Unauthorized
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
Attaches a webhook.
API key for authorization.
https://hook.eu1.make.com/webhookTokenOK
No content
Bad request error response
Unauthorized
Detaches a webhook.
ID of the resource to work with.
API key for authorization.
OK
No content
Unauthorized
Resource not found.
No content
No content
{
"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"
}{
"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"
}
]
}{
"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"
}{
"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"
}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"
}
]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"
}
}GET /api/v1/movies HTTP/1.1
Host: app-academy.make.com
x-api-key: text
Accept: */*
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"
}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"
}
}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"
}
}DELETE /api/v1/movies/{id} HTTP/1.1
Host: app-academy.make.com
x-api-key: text
Accept: */*
{
"success": "true"
}GET /api/v1/people HTTP/1.1
Host: app-academy.make.com
x-api-key: text
Accept: */*
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"
}
]
}GET /api/v1/genres HTTP/1.1
Host: app-academy.make.com
x-api-key: text
Accept: */*
{
"result": [
{
"id": "1",
"name": "action"
}
]
}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"
}
}
]
}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"
]
}DELETE /api/v1/webhooks/{id} HTTP/1.1
Host: app-academy.make.com
x-api-key: text
Accept: */*
{
"result": [
{
"id": "5bfb3056c5e4",
"name": "Robert Downey Jr."
}
]
}OK
{
"success": "true"
}GET /api/v1/files HTTP/1.1
Host: app-academy.make.com
x-api-key: text
Accept: */*
GET /api/v1/files/{id}/export HTTP/1.1
Host: app-academy.make.com
x-api-key: text
Accept: */*
binaryPOST /api/v1/files/import?parent=text 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"
}
}
}GET /api/v1/custom-fields HTTP/1.1
Host: app-academy.make.com
x-api-key: text
Accept: */*
{
"custom_fields": [
{
"name": "review_comment",
"type": "multi_line_text",
"label": "Review Comment"
}
]
}{
"items": [
{
"name": "exampleFile2.doc",
"type": "file",
"mimeType": "image/jpeg",
"parent": "d6c6bea4f03b",
"id": "1a0e71b0edb0"
}
],
"totalPages": 1
}