BokaMera.API.Host

<back to all web services

GenerateToken

Requires Authentication
Requires any of the roles:bookingsupplier-administrator-write, superadmin
The following routes are available for this service:
POST/tokenAdd new token
import java.math.*;
import java.util.*;
import net.servicestack.client.*;

public class dtos
{

    @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)
    @ValidateRequest(Validator="IsAuthenticated")
    public static class GenerateToken
    {
        /**
        * The token identifier
        */
        @ApiMember(Description="The token identifier")
        public String TokenIdentifier = null;

        /**
        * The token type
        */
        @ApiMember(Description="The token type", IsRequired=true)
        public Integer Type = null;

        /**
        * The token expiration datetime
        */
        @ApiMember(Description="The token expiration datetime", IsRequired=true)
        public Date ExpirationDate = null;

        /**
        * The unique token.If empty a unique token will be generated automatically
        */
        @ApiMember(Description="The unique token.If empty a unique token will be generated automatically", IsRequired=true)
        public String UniqueToken = null;
        
        public String getTokenIdentifier() { return TokenIdentifier; }
        public GenerateToken setTokenIdentifier(String value) { this.TokenIdentifier = value; return this; }
        public Integer getType() { return Type; }
        public GenerateToken setType(Integer value) { this.Type = value; return this; }
        public Date getExpirationDate() { return ExpirationDate; }
        public GenerateToken setExpirationDate(Date value) { this.ExpirationDate = value; return this; }
        public String getUniqueToken() { return UniqueToken; }
        public GenerateToken setUniqueToken(String value) { this.UniqueToken = value; return this; }
    }

    public static class TokenResponse
    {
        /**
        * The token indentifier
        */
        @ApiMember(Description="The token indentifier")
        public String TokenIdentifier = null;

        public Integer Type = null;
        /**
        * The unique token
        */
        @ApiMember(Description="The unique token", IsRequired=true)
        public String UniqueToken = null;

        public Date ExpirationDate = null;
        public ResponseStatus ResponseStatus = null;
        
        public String getTokenIdentifier() { return TokenIdentifier; }
        public TokenResponse setTokenIdentifier(String value) { this.TokenIdentifier = value; return this; }
        public Integer getType() { return Type; }
        public TokenResponse setType(Integer value) { this.Type = value; return this; }
        public String getUniqueToken() { return UniqueToken; }
        public TokenResponse setUniqueToken(String value) { this.UniqueToken = value; return this; }
        public Date getExpirationDate() { return ExpirationDate; }
        public TokenResponse setExpirationDate(Date value) { this.ExpirationDate = value; return this; }
        public ResponseStatus getResponseStatus() { return ResponseStatus; }
        public TokenResponse setResponseStatus(ResponseStatus value) { this.ResponseStatus = value; return this; }
    }

}

Java GenerateToken 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 /token HTTP/1.1 
Host: api.bokamera.se 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	TokenIdentifier: String,
	Type: 0,
	UniqueToken: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	TokenIdentifier: String,
	Type: 0,
	UniqueToken: String,
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	}
}