Foundry API

<back to all web services

CreateMachineRequest

Requires Authentication
The following routes are available for this service:
POST/machines
import java.math.*;
import java.util.*;
import net.servicestack.client.*;

public class dtos
{

    public static class CreateMachineRequest extends PostOperationTenanted<CreateMachineResponse>
    {
        public String name = null;
        public String type = null;
        public Date manufacturedOn = null;
        public String location = null;
        public String timezone = null;
        
        public String getName() { return name; }
        public CreateMachineRequest setName(String value) { this.name = value; return this; }
        public String getType() { return type; }
        public CreateMachineRequest setType(String value) { this.type = value; return this; }
        public Date getManufacturedOn() { return manufacturedOn; }
        public CreateMachineRequest setManufacturedOn(Date value) { this.manufacturedOn = value; return this; }
        public String getLocation() { return location; }
        public CreateMachineRequest setLocation(String value) { this.location = value; return this; }
        public String getTimezone() { return timezone; }
        public CreateMachineRequest setTimezone(String value) { this.timezone = value; return this; }
    }

    public static class PostOperationTenanted<TResponse> extends PostOperationUnTenanted<TResponse> implements ITenantedRequest
    {
        public String organisationId = null;
        
        public String getOrganisationId() { return organisationId; }
        public PostOperationTenanted<TResponse> setOrganisationId(String value) { this.organisationId = value; return this; }
    }

    public static class PostOperationUnTenanted<TResponse> implements IPost
    {
        
    }

    public static class CreateMachineResponse
    {
        public ResponseStatus responseStatus = null;
        public Machine machine = null;
        public String apiKey = null;
        
        public ResponseStatus getResponseStatus() { return responseStatus; }
        public CreateMachineResponse setResponseStatus(ResponseStatus value) { this.responseStatus = value; return this; }
        public Machine getMachine() { return machine; }
        public CreateMachineResponse setMachine(Machine value) { this.machine = value; return this; }
        public String getApiKey() { return apiKey; }
        public CreateMachineResponse setApiKey(String value) { this.apiKey = value; return this; }
    }

    public static class Machine implements IIdentifiableResource
    {
        public String name = null;
        public String type = null;
        public Date manufacturedOn = null;
        public String location = null;
        public String configuration = null;
        public String id = null;
        
        public String getName() { return name; }
        public Machine setName(String value) { this.name = value; return this; }
        public String getType() { return type; }
        public Machine setType(String value) { this.type = value; return this; }
        public Date getManufacturedOn() { return manufacturedOn; }
        public Machine setManufacturedOn(Date value) { this.manufacturedOn = value; return this; }
        public String getLocation() { return location; }
        public Machine setLocation(String value) { this.location = value; return this; }
        public String getConfiguration() { return configuration; }
        public Machine setConfiguration(String value) { this.configuration = value; return this; }
        public String getId() { return id; }
        public Machine setId(String value) { this.id = value; return this; }
    }

}

Java CreateMachineRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /machines HTTP/1.1 
Host: foundrystage-api-app.azurewebsites.net 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	name: String,
	type: String,
	manufacturedOn: 0001-01-01,
	location: String,
	timezone: String,
	organisationId: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	responseStatus: 
	{
		errorCode: String,
		message: String,
		stackTrace: String,
		errors: 
		[
			{
				errorCode: String,
				fieldName: String,
				message: String,
				meta: 
				{
					String: String
				}
			}
		],
		meta: 
		{
			String: String
		}
	},
	machine: 
	{
		name: String,
		type: String,
		manufacturedOn: 0001-01-01,
		location: String,
		configuration: String,
		id: String
	},
	apiKey: String
}