Plan | Old | Renew |
Hobby | 0.1 vCPU / 512MB RAM | 1 vCPU / 512MB RAM |
Standard x1 | 0.5 vCPU / 512MB RAM | 1 vCPU / 1024MB RAM |
Standard x2 | 0.5 vCPU / 1024MB RAM | 2 vCPU / 2048MB RAM |
Premium x1 | 4 vCPU / 8192MB RAM | |
Premium x2 | 6 vCPU / 16384MB RAM |
The Arukas API provides programmable access interface for resources, which extends and integrates Arukas application with other services.
Creating apps, provisioning, and performing other tasks through Arukas API empowers to automate your daily workflow.
The API keys consist of API token and secret token. You can generate them in Arukas user control panel.
To follow along with this document smoothly, it would be nice to create including a ~/.netrc
line of code below.
machine app.arukas.io login #{ARUKAS_JSON_API_TOKEN} password #{ARUKAS_JSON_API_SECRET}
All Clients are required to request HTTPS connection to https://app.arukas.io/api
specifying the inAccept: application/vnd.api+json
Accept header.
Resource | Description |
---|---|
POST /api/apps | Create an application |
GET /api/apps | List all applications |
GET /api/apps/{APP_ID} | Show an application |
DELETE /api/apps/{APP_ID} | Delete an application |
Resource | Description |
---|---|
GET /api/services | List all Services |
GET /api/services/{SERVICE_ID} | Show a Service |
PATCH /api/services/{SERVICE_ID} | Update a Service |
POST /api/services/{SERVICE_ID}/power | Power on a Service |
DELETE /api/services/{SERVICE_ID}/power | Power off a Service |
Code | Description |
---|---|
409 | Cannot create application. |
422 | Required Paramters Missing. |
# Example Request $ curl -n -X POST -H "Content-Type: application/json" https://app.arukas.io/api/apps -d \ '{ "data":{ "type": "apps", "attributes": { "name": "myapp" }, "relationships": { "services": { "data": [ { "lid": "1", "type": "services" } ] } } }, "included": [ { "lid": "1", "type": "services", "attributes": { "command": "", "custom-domain": "", "image": "nginx", "instances": 1, "ports": [ { "number": "80", "protocol": "tcp" }, { "number": "443", "protocol": "tcp" } ], "environment": [ { "key": "key1", "value": "value2" }, { "key": "key2", "value": "value2" } ], "subdomain": "example" }, "relationships": { "service-plan": { "data": { "type": "service-plans", "id": "jp-tokyo/hobby" } } } } ] }'
# Example Response { "data": { "id": "837ff771-8db5-48cf-a40c-dae9fc37e59d", "type": "apps", "attributes": { "name": "myapp", "created-at": "2018-02-12T18:28:33.721Z", "updated-at": "2018-02-12T18:28:33.721Z" }, "relationships": { "user": { "data": { "id": "72e00ac7-19a8-42da-b35a-43bdf812b461", "type": "users" } }, "services": { "data": [ { "id": "7022a19e-ba83-42eb-a608-ff5ae272a12a", "type": "services" } ] } } }, "included": [ { "id": "7022a19e-ba83-42eb-a608-ff5ae272a12a", "type": "services", "attributes": { "app-id": "837ff771-8db5-48cf-a40c-dae9fc37e59d", "image": "nginx", "command": "", "instances": 1, "cpus": 0.1, "memory": null, "environment": [ { "key": "key1", "value": "value2" }, { "key": "key2", "value": "value2" } ], "ports": [ { "number": 80, "protocol": "tcp" }, { "number": 443, "protocol": "tcp" } ], "port-mappings": null, "created-at": "2018-02-12T18:28:33.751Z", "updated-at": "2018-02-12T18:28:33.751Z", "status": "stopped", "subdomain": "example", "endpoint": "example.arukascloud.io", "custom-domain": null, "last-instance-failed-at": null, "last-instance-failed-status": null }, "relationships": { "app": { "data": { "id": "837ff771-8db5-48cf-a40c-dae9fc37e59d", "type": "apps" } }, "service-plan": { "data": { "id": "jp-tokyo/hobby", "type": "service-plans" } } } }, { "id": "jp-tokyo/hobby", "type": "service-plans", "attributes": { "code": "jp-tokyo_hobby_v1", "name": "Hobby", "region-id": 1, "version": 1, "cpus": "0.1", "memory": 512, "price": 450, "created-at": "2018-02-12T16:45:24.205Z", "updated-at": "2018-02-12T16:45:24.205Z" }, "relationships": { "region": { "data": { "id": "1", "type": "regions" } } } } ] }
Param name | Description |
---|---|
:data required |
Validations:
|
:data[:id] required |
Application UUID. Total of 36 characters (32 alphanumeric characters and four hyphens). For example: 123e4567-e89b-12d3-a456-426655440000
Validations:
|
:data[:type] required |
Application type: apps
Validations:
|
:data[:attributes] optional , nil allowed |
Validations:
|
:data[:attributes][:name] optional , nil allowed |
Application name
Validations:
|
:data[:attributes][:created-at] optional , nil allowed |
Creation timestamp
Validations:
|
:data[:attributes][:updated-at] optional , nil allowed |
Updated timestamp
Validations:
|
:data[:relationships] optional , nil allowed |
Validations:
|
:data[:relationships][:user] optional , nil allowed |
Validations:
|
:data[:relationships][:user][:data] optional , nil allowed |
Validations:
|
:data[:relationships][:user][:data][:id] optional , nil allowed |
User UUID.
Validations:
|
:data[:relationships][:user][:data][:type] optional , nil allowed |
User type: users
Validations:
|
:data[:relationships][:services] optional , nil allowed |
Validations:
|
:data[:relationships][:services][:data] required |
Validations:
|
:data[:relationships][:services][:data][:id] optional , nil allowed |
Service UUID. Total of 36 characters (32 alphanumeric characters and four hyphens). For example: 123e4567-e89b-12d3-a456-426655440000
Validations:
|
:data[:relationships][:services][:data][:lid] required |
Service temp ID
Validations:
|
:data[:relationships][:services][:data][:type] required |
Service type: services
Validations:
|
:included required |
Validations:
|
:included[:id] optional , nil allowed |
Service UUID
Validations:
|
:included[:lid] required |
Service temp ID
Validations:
|
:included[:type] required |
Service type: services
Validations:
|
:included[:attributes] required |
Validations:
|
:included[:attributes][:app-id] optional , nil allowed |
Application UUID
Validations:
|
:included[:attributes][:image] required |
Docker image name to use for the Application.
Validations:
|
:included[:attributes][:command] optional , nil allowed |
Application to run specified. (maximum is 4096 characters)
Validations:
|
:included[:attributes][:instances] required |
Number (quantity) of Application instances. (Range: 1 <= value <= 10 )
Validations:
|
:included[:attributes][:cpus] optional , nil allowed |
virtual CPU(vCPU) of Applications. (This value is inherited from Service Plan.)
Validations:
|
:included[:attributes][:memory] optional , nil allowed |
Memory size of Application instances. (This value is inherited from Service Plan.)
Validations:
|
:included[:attributes][:environment] optional , nil allowed |
Application environment variables.
Validations:
|
:included[:attributes][:key] optional , nil allowed |
Environment variable key
Validations:
|
:included[:attributes][:value] optional , nil allowed |
Environment variable value
Validations:
|
:included[:attributes][:ports] optional , nil allowed |
Application ports.
Validations:
|
:included[:attributes][:number] optional , nil allowed |
Port Number. (Port Range: 0 <= value <= 65535 )
Validations:
|
:included[:attributes][:protocol] optional , nil allowed |
Port protocol. (Protocol: tcp or udp )
Validations:
|
:included[:attributes][:port-mappings] optional , nil allowed |
Application port mappings.
Validations:
|
:included[:attributes][:container-port] optional , nil allowed |
Port number. (Port Range: 0 <= value <= 65535 )
Validations:
|
:included[:attributes][:host] optional , nil allowed |
Hostname.
Validations:
|
:included[:attributes][:protocol] optional , nil allowed |
Port protocol. (Protocol: tcp or udp )
Validations:
|
:included[:attributes][:service-port] optional , nil allowed |
Port number. (Port Range: 0 <= value <= 65535 )
Validations:
|
:included[:attributes][:created-at] optional , nil allowed |
Created timestamp.
Validations:
|
:included[:attributes][:updated-at] optional , nil allowed |
Updated timestamp.
Validations:
|
:included[:attributes][:status] optional , nil allowed |
Status of Application. Either booting or terminated or running or stopping or stopped or rebooting .
Validations:
|
:included[:attributes][:subdomain] optional , nil allowed |
Subdomain name of Application. subdomain value with a maximum length of 63 characters.
Validations:
|
:included[:attributes][:endpoint] optional , nil allowed |
HTTP/HTTPS Endpoint URL of Application.
Validations:
|
:included[:attributes][:custom-domain] optional , nil allowed |
Custom domain name of Application.
Validations:
|
:included[:attributes][:last-instance-failed-at] optional , nil allowed |
Last instance failed at.
Validations:
|
:included[:attributes][:last-instance-failed-status] optional , nil allowed |
Last instance failed status message.
Validations:
|
:included[:relationships] optional , nil allowed |
Validations:
|
:included[:relationships][:app] optional , nil allowed |
Validations:
|
:included[:relationships][:app][:data] optional , nil allowed |
Validations:
|
:included[:relationships][:app][:data][:id] optional , nil allowed |
Application UUID. Total of 36 characters (32 alphanumeric characters and four hyphens). For example: 123e4567-e89b-12d3-a456-426655440000
Validations:
|
:included[:relationships][:app][:data][:type] optional , nil allowed |
Application type: apps
Validations:
|
:included[:relationships][:service-plan] required |
Validations:
|
:included[:relationships][:service-plan][:data] required |
Validations:
|
:included[:relationships][:service-plan][:data][:id] required |
Service plan ID. Either jp-tokyo/free or jp-tokyo/hobby or jp-tokyo/standard-1 or jp-tokyo/standard-2
Validations:
|
:included[:relationships][:service-plan][:data][:type] required |
Service plan type: service-plans
Validations:
|
Code | Description |
---|---|
404 | No such app |
# Example Request $ curl -n -X GET https://app.arukas.io/api/apps/e074f90a-764a-4350-87bf-46857e25da4a
# Example Response { "data": { "id": "e074f90a-764a-4350-87bf-46857e25da4a", "type": "apps", "attributes": { "name": "myapp", "created-at": "2018-02-12T16:45:24.280Z", "updated-at": "2018-02-12T16:45:24.280Z" }, "relationships": { "user": { "data": { "id": "72e00ac7-19a8-42da-b35a-43bdf812b461", "type": "users" } }, "services": { "data": [ { "id": "950f24ba-cc0b-495d-9ed7-16e332649637", "type": "services" } ] } } } }
Param name | Description |
---|---|
id required |
UUID of Application. Total of 36 characters (32 alphanumeric characters and four hyphens). For example: 123e4567-e89b-12d3-a456-426655440000
Validations:
|
Code | Description |
---|---|
404 | No such application |
422 | Unprocessable Entity |
# Example Request $ curl -n -X DELETE https://app.arukas.io/api/apps/270f48f7-e4f9-4cf7-81b6-7b982eb0491a
# Example Response null
Param name | Description |
---|---|
id required |
Application UUID. Total of 36 characters (32 alphanumeric characters and four hyphens). For example: 123e4567-e89b-12d3-a456-426655440000
Validations:
|
Code | Description |
---|---|
404 | No such service |
# Example Request $ curl -n -X GET https://app.arukas.io/api/services/950f24ba-cc0b-495d-9ed7-16e332649637
# Example Response { "data": { "id": "950f24ba-cc0b-495d-9ed7-16e332649637", "type": "services", "attributes": { "app-id": "e074f90a-764a-4350-87bf-46857e25da4a", "image": "nginx", "command": null, "instances": 1, "cpus": 0.1, "memory": null, "environment": null, "ports": [ { "protocol": "tcp", "number": 80 } ], "port-mappings": null, "created-at": "2018-02-12T16:45:24.389Z", "updated-at": "2018-02-12T16:47:48.091Z", "status": "stopped", "subdomain": "example", "endpoint": "example.arukascloud.io", "custom-domain": null, "last-instance-failed-at": null, "last-instance-failed-status": null }, "relationships": { "app": { "data": { "id": "e074f90a-764a-4350-87bf-46857e25da4a", "type": "apps" } }, "service-plan": { "data": { "id": "jp-tokyo/hobby", "type": "service-plans" } } } } }
Param name | Description |
---|---|
id required |
UUID of Services. Total of 36 characters (32 alphanumeric characters and four hyphens). For example: 123e4567-e89b-12d3-a456-426655440000
Validations:
|
Code | Description |
---|---|
404 | No such service |
422 | Unprocessable Entity |
# Example Request $ curl -n -X PATCH -H "Content-Type: application/json" https://app.arukas.io/api/services/950f24ba-cc0b-495d-9ed7-16e332649637 -d \ '{ "data": { "id": "950f24ba-cc0b-495d-9ed7-16e332649637", "type": "services", "attributes": { "app-id": "e074f90a-764a-4350-87bf-46857e25da4a", "image": "nginx", "command": null, "instances": 3, "environment": null, "ports": [ { "protocol": "tcp", "number": 80 } ] }, "relationships": { "app": { "data": { "id": "e074f90a-764a-4350-87bf-46857e25da4a", "type": "apps" } }, "service-plan": { "data": { "id": "jp-develop/hobby", "type": "service-plans" } } } } }'
# Example Response { "data": { "id": "950f24ba-cc0b-495d-9ed7-16e332649637", "type": "services", "attributes": { "app-id": "e074f90a-764a-4350-87bf-46857e25da4a", "image": "nginx", "command": null, "instances": 3, "cpus": 0.1, "memory": null, "environment": null, "ports": [ { "protocol": "tcp", "number": 80 } ], "port-mappings": [ [ { "container-port": 80, "host": "seaof-172-17-0-1.arukascloud.io", "protocol": "tcp", "service-port": 12464 } ] ], "created-at": "2018-02-12T16:45:24.389Z", "updated-at": "2018-02-12T17:53:29.742Z", "status": "running", "subdomain": "example", "endpoint": "example.arukascloud.io", "custom-domain": null, "last-instance-failed-at": null, "last-instance-failed-status": null }, "relationships": { "app": { "data": { "id": "e074f90a-764a-4350-87bf-46857e25da4a", "type": "apps" } }, "service-plan": { "data": { "id": "jp-tokyo/hobby", "type": "service-plans" } } } } }
Param name | Description |
---|---|
:data required |
Validations:
|
:data[:id] optional , nil allowed |
Service ID. Total of 36 characters (32 alphanumeric characters and four hyphens). For example: 123e4567-e89b-12d3-a456-426655440000
Validations:
|
:data[:type] optional , nil allowed |
Service type: services
Validations:
|
:data[:attributes] required |
Validations:
|
:data[:attributes][:app-id] optional , nil allowed |
Application ID. Total of 36 characters (32 alphanumeric characters and four hyphens). For example: 123e4567-e89b-12d3-a456-426655440000
Validations:
|
:data[:attributes][:image] required |
Docker image name to use for the Application.
Validations:
|
:data[:attributes][:command] optional , nil allowed |
Application to run specified. (maximum is 4096 characters)
Validations:
|
:data[:attributes][:instances] required |
Number of Application instances. (Range: 1 <= value <= 10 )
Validations:
|
:data[:attributes][:cpus] optional , nil allowed |
Virtual CPU(vCPU) of Applications. (This value is inherited from Service Plan.)
Validations:
|
:data[:attributes][:memory] optional , nil allowed |
Memory size of Application instances. (This value is inherited from Service Plan.)
Validations:
|
:data[:attributes][:environment] optional , nil allowed |
Application environment variables.
Validations:
|
:data[:attributes][:key] optional |
Environment variable key
Validations:
|
:data[:attributes][:value] optional |
Environment variable value
Validations:
|
:data[:attributes][:ports] optional , nil allowed |
Application ports.
Validations:
|
:data[:attributes][:number] optional |
Port Number. (Port Range: 0 <= value <= 65535 )
Validations:
|
:data[:attributes][:protocol] optional |
Port protocol. (Protocol: tcp or udp )
Validations:
|
:data[:attributes][:port-mappings] optional , nil allowed |
Application port mappings.
Validations:
|
:data[:attributes][:container-port] optional |
Port number. (Port Range: 0 <= value <= 65535 )
Validations:
|
:data[:attributes][:host] optional |
Hostname.
Validations:
|
:data[:attributes][:protocol] optional |
Port protocol. (Protocol: tcp or udp )
Validations:
|
:data[:attributes][:service-port] optional |
Port number. (Port Range: 0 <= value <= 65535 )
Validations:
|
:data[:attributes][:created-at] optional , nil allowed |
Created timestamp.
Validations:
|
:data[:attributes][:updated-at] optional , nil allowed |
Updated timestamp.
Validations:
|
:data[:attributes][:status] optional , nil allowed |
Status of Application. Either booting or terminated or running or stopping or stopped or rebooting .
Validations:
|
:data[:attributes][:subdomain] optional , nil allowed |
Subdomain name of Application. subdomain value with a maximum length of 63 characters.
Validations:
|
:data[:attributes][:endpoint] optional , nil allowed |
HTTP/HTTPS Endpoint URL of Application.
Validations:
|
:data[:attributes][:custom-domain] optional , nil allowed |
Custom domain name of Application.
Validations:
|
:data[:attributes][:last-instance-failed-at] optional , nil allowed |
Last instance failed at.
Validations:
|
:data[:attributes][:last-instance-failed-status] optional , nil allowed |
Last instance failed status message.
Validations:
|
:data[:relationships] optional |
Validations:
|
:data[:relationships][:app] optional |
Validations:
|
:data[:relationships][:app][:data] optional |
Validations:
|
:data[:relationships][:app][:data][:id] optional , nil allowed |
Application ID
Validations:
|
:data[:relationships][:app][:data][:type] optional , nil allowed |
Application type: apps
Validations:
|
:data[:relationships][:service-plan] optional |
Validations:
|
:data[:relationships][:service-plan][:data] optional |
Validations:
|
:data[:relationships][:service-plan][:data][:id] optional , nil allowed |
ServicePlan ID
Validations:
|
:data[:relationships][:service-plan][:data][:type] optional , nil allowed |
ServicePlan type: service-plans
Validations:
|
Code | Description |
---|---|
403 | You have been not allowed to boot app due to penalty. |
404 | No such service |
409 | The app is not bootable. |
# Example Request $ curl -n -X POST https://app.arukas.io/api/services/950f24ba-cc0b-495d-9ed7-16e332649637/power
# Example Response { "data": { "id": "950f24ba-cc0b-495d-9ed7-16e332649637", "type": "marathon-apps", "attributes": { "uuid": "950f24ba-cc0b-495d-9ed7-16e332649637", "image": "nginx", "cpus": 0.1, "memory": null, "instances": 1, "ports": [ { "protocol": "tcp", "number": 80 } ], "environment": null, "created-at": "2018-02-12T16:45:24.389Z", "updated-at": "2018-02-12T17:50:08.969Z", "zone-id": null, "command": null, "port-mappings": null, "status": "stopped", "subdomain": "dev-0242ac120006-sub-1", "custom-domain": null }, "relationships": { "app": { "data": { "id": "e074f90a-764a-4350-87bf-46857e25da4a", "type": "apps" } }, "running-zone": { "data": null } } } }
Param name | Description |
---|---|
id required |
UUID of Services. Total of 36 characters (32 alphanumeric characters and four hyphens). For example: 123e4567-e89b-12d3-a456-426655440000
Validations:
|
Code | Description |
---|---|
404 | No such service |
# Example Request $ curl -n -X DELETE https://app.arukas.io/api/services/950f24ba-cc0b-495d-9ed7-16e332649637/power
# Example Response null
Param name | Description |
---|---|
id required |
UUID of Services. Total of 36 characters (32 alphanumeric characters and four hyphens). For example: 123e4567-e89b-12d3-a456-426655440000
Validations:
|
This month we are announcing our start charging of service fee.
The charging start date from March 26, 2018 (JST).
■ Price
/en/#pricing
■ About payment and billing
https://support.arukas.io/hc/ja/articles/115012497827
Question: Will my application be charged?
Arukas is charges based on usage.
Application that are in a Running state are charged.
Stopped state applicaiton or running state of Free plan application are not charged.
■ About contact
Please do not hesitate to let me know if you have any questions or concerns regarding this matter.
https://support.arukas.io/hc/en-us/requests/new
Thank you so much for all your feedback throughout the beta releases.
Best Regards,
Arukas developer team
■ Free usage period for Arukas beta releases
From February 20, 2018. Until March 19, 2018
[Notice] Customers who have registered for former beta service
We deleted all customer data and personal information that we had registered with the former “Arukas” beta service which we had offered until 31 July 2017.
Although it is sorry, please re-register “Arukas” beta service which resumes offering from today.
Please get in touch [email protected], if you have any questions or if there is anything else we can do to help you!
]]>And we are working on more!
]]>As for the beta service version of Docker container hosting service “Arukas” which began offering service from April 2016, we will shutdown the service on July 31, 2017.
■ Arukas beta service end date
July 31, 2017
June 23, 2017: End of acceptance of new application
* For customers who have already applied for reservation and are currently waiting for reservation, we will send guidance start information as soon as we have enough resources to accommodate the application, until the service provision end date .
July 31, 2017: Stop all applications
※ For this schedule, there is a possibility of going back and forth depending on the situation.
We will delete the all customer personal information.
When releasing the Arukas official version, registration of personal information is necessary again as necessary.
All your applications and data will be deleted.
At the time of the release of Arukas official version, applications will not be taken over at all.
The expected release date is undecided.
Mail to [email protected]
]]>