| GET | /v1/account |
|---|
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using Booklinker.API.ServiceModel.V2.Requests;
using Booklinker.API.ServiceModel.V2.Responses;
using Booklinker.API.ServiceModel.DTOs.V2;
using ImageServiceAPI.Contracts.V4.DTOs;
using CollectionsAPI.Contracts.DTOs;
namespace Booklinker.API.ServiceModel.DTOs.V2
{
[DataContract]
public partial class AccountData
{
[DataMember(Name="id")]
public virtual string Id { get; set; }
[DataMember(Name="userId")]
public virtual string UserId { get; set; }
[DataMember(Name="emailAddress")]
public virtual string EmailAddress { get; set; }
[DataMember(Name="fullName")]
public virtual string FullName { get; set; }
[DataMember(Name="profileImage")]
public virtual IImageData ProfileImage { get; set; }
[DataMember(Name="signatureImage")]
public virtual IImageData SignatureImage { get; set; }
[DataMember(Name="signatureFont")]
public virtual string SignatureFont { get; set; }
[DataMember(Name="signatureAppearance")]
public virtual SignatureAppearance SignatureAppearance { get; set; }
}
}
namespace Booklinker.API.ServiceModel.V2.Requests
{
[DataContract]
public partial class GetAccountRequest
{
}
}
namespace Booklinker.API.ServiceModel.V2.Responses
{
[DataContract]
public partial class GetAccountResponse
: V2BaseResponse
{
[DataMember(Name="data")]
public virtual AccountData Data { get; set; }
}
[DataContract]
public partial class V2BaseResponse
{
[DataMember(Name="responseStatus")]
public virtual ResponseStatus ResponseStatus { get; set; }
}
}
namespace CollectionsAPI.Contracts.DTOs
{
public enum SignatureAppearance
{
[EnumMember(Value="none")]
None,
[EnumMember(Value="text")]
Text,
[EnumMember(Value="upload")]
Upload,
}
}
namespace ImageServiceAPI.Contracts.V4.DTOs
{
public partial interface IImageData
{
string Id { get; set; }
string Provider { get; set; }
string ProviderImageId { get; set; }
string Url { get; set; }
Dictionary<string, string> Attributes { get; set; }
}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /v1/account HTTP/1.1 Host: api.booklinker.com Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
userAccount:
{
email: String,
settings:
{
id: String,
profileImageId: String,
signatureImageId: String,
signatureText: String,
signatureFont: String,
signatureAppearance: none
}
},
responseStatus:
{
errorCode: String,
message: String,
stackTrace: String,
errors:
[
{
errorCode: String,
fieldName: String,
message: String,
meta:
{
String: String
}
}
],
meta:
{
String: String
}
}
}