| PUT | /invoices/recurringInvoices/obligation |
|---|
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using BH.CloudAPI.Common4.DTO.RecurringInvoice.Request;
using BH.CloudAPI.Common4.DTO.RecurringInvoice.Response;
namespace BH.CloudAPI.Common4.DTO.RecurringInvoice.Request
{
public partial class ObligationLineItem
{
public virtual int ChartOfAccountId { get; set; }
public virtual string ChartOfAccountRefId { get; set; }
public virtual decimal? Amount { get; set; }
}
public partial class UserObligation
{
public UserObligation()
{
LineItems = new List<ObligationLineItem>{};
}
public virtual string UserId { get; set; }
public virtual int FiscalYear { get; set; }
public virtual string GroupId { get; set; }
public virtual List<ObligationLineItem> LineItems { get; set; }
public virtual bool OptedToPayCTADues { get; set; }
}
}
namespace BH.CloudAPI.Common4.DTO.RecurringInvoice.Response
{
public partial class ErrorDetail
{
public virtual int Id { get; set; }
public virtual string Message { get; set; }
public virtual string Value { get; set; }
}
public partial class ObligationResponse
: IHaveErrorField
{
public ObligationResponse()
{
ErrorDetails = new List<ErrorDetail>{};
}
public virtual List<ErrorDetail> ErrorDetails { get; set; }
public virtual bool IsError { get; set; }
public virtual int MemberCount { get; set; }
public virtual decimal TotalAmount { 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.
PUT /invoices/recurringInvoices/obligation HTTP/1.1
Host: devapi.billhighway.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
UserId: String,
FiscalYear: 0,
GroupId: String,
LineItems:
[
{
ChartOfAccountId: 0,
ChartOfAccountRefId: String,
Amount: 0
}
],
OptedToPayCTADues: False
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
ErrorDetails:
[
{
Id: 0,
Message: String,
Value: String
}
],
IsError: True,
MemberCount: 0,
TotalAmount: 0
}