| GET | /v4/links/list |
|---|
Imports System
Imports System.IO
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports ShortlinksAPI.ServiceModel.V4.Requests
Imports Geniuslink.Shortlinks.Constants
Imports ShortlinksAPI.ServiceModel.V4.Responses
Imports ShortlinksAPI.Contracts.V4.DTOs
Imports Geniuslink.Shortlinks
Namespace Global
Namespace Geniuslink.Shortlinks
Public Partial Class RefreshableMetadata
Implements IRefreshableMetadata
Public Overridable Property CreatedDate As Date Implements IRefreshableMetadata.CreatedDate
Public Overridable Property UpdatedDate As Date Implements IRefreshableMetadata.UpdatedDate
End Class
Public Partial Class VersionedRefreshableMetadata
Inherits RefreshableMetadata
Public Overridable Property VersionCreatedDate As Date
End Class
End Namespace
Namespace Geniuslink.Shortlinks.Constants
Public Enum LinkType
None
Simple
Split
Interstitial
Advanced
Collection
End Enum
End Namespace
Namespace ShortlinksAPI.Contracts.V4.DTOs
Public Interface IUserLink
Property Url As String
Property BaseCode As String
Property LinkType As LinkType
Property TypeDefinitionPublicId As String
Property Metadata As VersionedRefreshableMetadata
End Interface
End Namespace
Namespace ShortlinksAPI.ServiceModel.V4.Requests
<DataContract>
Public Partial Class GetUserLinksRequest
Inherits V4PaginatedBaseRequest
<DataMember(Name:="username")>
Public Overridable Property Username As String
<DataMember(Name:="groupId")>
Public Overridable Property GroupId As UInt32
<DataMember(Name:="linkType")>
Public Overridable Property LinkType As LinkType
End Class
<DataContract>
Public Partial Class V4BaseRequest
End Class
<DataContract>
Public Partial Class V4PaginatedBaseRequest
Inherits V4BaseRequest
<DataMember(Name:="offset")>
Public Overridable Property Offset As Integer
<DataMember(Name:="limit")>
Public Overridable Property Limit As Integer
End Class
End Namespace
Namespace ShortlinksAPI.ServiceModel.V4.Responses
<DataContract>
Public Partial Class GetUserLinksResponse
Inherits V4PaginatedBaseResponse
Implements IGetUserLinksResponse
<DataMember(Name:="data")>
Public Overridable Property Data As IEnumerable(Of IUserLink) Implements IGetUserLinksResponse.Data
End Class
<DataContract>
Public Partial Class V4BaseResponse
<DataMember(Name:="status")>
Public Overridable Property ResponseStatus As ResponseStatus
End Class
<DataContract>
Public Partial Class V4PageObject
<DataMember(Name:="offset")>
Public Overridable Property Offset As Integer
<DataMember(Name:="limit")>
Public Overridable Property Limit As Integer
<DataMember(Name:="totalRecords")>
Public Overridable Property TotalRecords As Integer
End Class
<DataContract>
Public Partial Class V4PaginatedBaseResponse
Inherits V4BaseResponse
<DataMember(Name:="page")>
Public Overridable Property Page As V4PageObject
End Class
End Namespace
End Namespace
VB.NET GetUserLinksRequest DTOs
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 /v4/links/list HTTP/1.1 Host: shortlinks-api.qa.platform.georiot.com Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
page:
{
offset: 0,
limit: 0,
totalRecords: 0
},
status:
{
errorCode: String,
message: String,
stackTrace: String,
errors:
[
{
errorCode: String,
fieldName: String,
message: String,
meta:
{
String: String
}
}
],
meta:
{
String: String
}
}
}