| POST,OPTIONS | /v1/Roles |
|---|
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using CRM.AgencyPlatform.API.Internal;
using CRM.AgencyPlatform.API.Internal.Models;
namespace CRM.AgencyPlatform.API.Internal
{
public partial class CreateRoleRequest
{
public virtual string Code { get; set; }
public virtual string Name { get; set; }
public virtual string Description { get; set; }
public virtual List<int> PermissionIds { get; set; } = [];
}
}
namespace CRM.AgencyPlatform.API.Internal.Models
{
public partial class Permission
{
public virtual int PermissionId { get; set; }
public virtual string Module { get; set; }
public virtual string Resource { get; set; }
public virtual string Action { get; set; }
public virtual string Name { get; set; }
public virtual string Description { get; set; }
public virtual string Tags { get; set; }
public virtual int SortOrder { get; set; }
public virtual bool IsActive { get; set; }
public virtual DateTime CreatedUtc { get; set; }
public virtual string Code { get; set; }
}
public partial class Role
{
public virtual int RoleId { get; set; }
public virtual Guid TenantId { get; set; }
public virtual string Code { get; set; }
public virtual string Name { get; set; }
public virtual string Description { get; set; }
public virtual bool IsSystem { get; set; }
public virtual bool IsActive { get; set; }
public virtual DateTime CreatedUtc { get; set; }
public virtual List<Permission> Permissions { 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.
POST /v1/Roles HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
Code: String,
Name: String,
Description: String,
PermissionIds:
[
0
]
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
RoleId: 0,
TenantId: 00000000000000000000000000000000,
Code: String,
Name: String,
Description: String,
IsSystem: False,
IsActive: False,
CreatedUtc: 0001-01-01,
Permissions:
[
{
PermissionId: 0,
Module: String,
Resource: String,
Action: String,
Name: String,
Description: String,
Tags: String,
SortOrder: 0,
IsActive: False,
CreatedUtc: 0001-01-01,
Code: String
}
]
}