Billhighway Cloud API

<back to all web services

UserObligation

The following routes are available for this service:
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; }
    }

}

C# UserObligation DTOs

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

HTTP + 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
}