ShortlinksAPI

<back to all web services

GetUserLinksRequest

Requires Authentication
The following routes are available for this service:
GET/v4/links/list
import java.math.*;
import java.util.*;
import java.io.InputStream;
import net.servicestack.client.*;
import com.google.gson.annotations.*;
import com.google.gson.reflect.*;

public class dtos
{

    @DataContract
    public static class GetUserLinksRequest extends V4PaginatedBaseRequest
    {
        @DataMember(Name="username")
        @SerializedName("username")
        public String username = null;

        @DataMember(Name="groupId")
        @SerializedName("groupId")
        public Long groupId = null;

        @DataMember(Name="linkType")
        @SerializedName("linkType")
        public LinkType linkType = null;
        
        public String getUsername() { return username; }
        public GetUserLinksRequest setUsername(String value) { this.username = value; return this; }
        public Long getGroupId() { return groupId; }
        public GetUserLinksRequest setGroupId(Long value) { this.groupId = value; return this; }
        public LinkType getLinkType() { return linkType; }
        public GetUserLinksRequest setLinkType(LinkType value) { this.linkType = value; return this; }
    }

    @DataContract
    public static class V4PaginatedBaseRequest extends V4BaseRequest
    {
        @DataMember(Name="offset")
        @SerializedName("offset")
        public Integer offset = null;

        @DataMember(Name="limit")
        @SerializedName("limit")
        public Integer limit = null;
        
        public Integer getOffset() { return offset; }
        public V4PaginatedBaseRequest setOffset(Integer value) { this.offset = value; return this; }
        public Integer getLimit() { return limit; }
        public V4PaginatedBaseRequest setLimit(Integer value) { this.limit = value; return this; }
    }

    @DataContract
    public static class V4BaseRequest
    {
        
    }

    public static enum LinkType
    {
        None,
        Simple,
        Split,
        Interstitial,
        Advanced,
        Collection;
    }

    @DataContract
    public static class GetUserLinksResponse extends V4PaginatedBaseResponse implements IGetUserLinksResponse
    {
        @DataMember(Name="data")
        @SerializedName("data")
        public ArrayList<IUserLink> data = null;
        
        public ArrayList<IUserLink> getData() { return data; }
        public GetUserLinksResponse setData(ArrayList<IUserLink> value) { this.data = value; return this; }
    }

    @DataContract
    public static class V4PaginatedBaseResponse extends V4BaseResponse
    {
        @DataMember(Name="page")
        @SerializedName("page")
        public V4PageObject page = null;
        
        public V4PageObject getPage() { return page; }
        public V4PaginatedBaseResponse setPage(V4PageObject value) { this.page = value; return this; }
    }

    @DataContract
    public static class V4BaseResponse
    {
        @DataMember(Name="status")
        @SerializedName("status")
        public ResponseStatus responseStatus = null;
        
        public ResponseStatus getResponseStatus() { return responseStatus; }
        public V4BaseResponse setResponseStatus(ResponseStatus value) { this.responseStatus = value; return this; }
    }

    @DataContract
    public static class V4PageObject
    {
        @DataMember(Name="offset")
        @SerializedName("offset")
        public Integer offset = null;

        @DataMember(Name="limit")
        @SerializedName("limit")
        public Integer limit = null;

        @DataMember(Name="totalRecords")
        @SerializedName("totalRecords")
        public Integer totalRecords = null;
        
        public Integer getOffset() { return offset; }
        public V4PageObject setOffset(Integer value) { this.offset = value; return this; }
        public Integer getLimit() { return limit; }
        public V4PageObject setLimit(Integer value) { this.limit = value; return this; }
        public Integer getTotalRecords() { return totalRecords; }
        public V4PageObject setTotalRecords(Integer value) { this.totalRecords = value; return this; }
    }

    public static interface IUserLink
    {
        public String url = null;
        public String baseCode = null;
        public LinkType linkType = null;
        public String typeDefinitionPublicId = null;
        public VersionedRefreshableMetadata metadata = null;
    }

    public static class VersionedRefreshableMetadata extends RefreshableMetadata
    {
        public Date versionCreatedDate = null;
        
        public Date getVersionCreatedDate() { return versionCreatedDate; }
        public VersionedRefreshableMetadata setVersionCreatedDate(Date value) { this.versionCreatedDate = value; return this; }
    }

    public static class RefreshableMetadata implements IRefreshableMetadata
    {
        public Date createdDate = null;
        public Date updatedDate = null;
        
        public Date getCreatedDate() { return createdDate; }
        public RefreshableMetadata setCreatedDate(Date value) { this.createdDate = value; return this; }
        public Date getUpdatedDate() { return updatedDate; }
        public RefreshableMetadata setUpdatedDate(Date value) { this.updatedDate = value; return this; }
    }

}

Java GetUserLinksRequest DTOs

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

HTTP + CSV

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/csv
HTTP/1.1 200 OK
Content-Type: text/csv
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"}}}