import java.math.*
import java.util.*
import java.io.InputStream
import net.servicestack.client.*
open class UpdateApiProvider : IPatchDb<ApiProvider>
{
open var id:Int? = null
open var apiTypeId:Int? = null
open var apiBaseUrl:String? = null
open var name:String? = null
open var apiKeyVar:String? = null
open var apiKey:String? = null
open var apiKeyHeader:String? = null
open var heartbeatUrl:String? = null
open var taskPaths:HashMap<TaskType,String>? = null
open var concurrency:Int? = null
open var priority:Int? = null
open var enabled:Boolean? = null
open var models:ArrayList<ApiProviderModel>? = null
open var selectedModels:ArrayList<String>? = null
}
enum class TaskType(val value:Int)
{
OpenAiChat(1),
Comfy(2),
}
open class ApiProviderModel
{
open var model:String? = null
open var apiModel:String? = null
}
@DataContract
open class IdResponse
{
@DataMember(Order=1)
open var id:String? = null
@DataMember(Order=2)
open var responseStatus:ResponseStatus? = null
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /csv/reply/UpdateApiProvider HTTP/1.1
Host: blazordiffusion.com
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"id":0,"apiTypeId":0,"apiBaseUrl":"String","name":"String","apiKeyVar":"String","apiKey":"String","apiKeyHeader":"String","heartbeatUrl":"String","taskPaths":{"OpenAiChat":"String"},"concurrency":0,"priority":0,"enabled":false,"models":[{"model":"String","apiModel":"String"}],"selectedModels":["String"]}
HTTP/1.1 200 OK Content-Type: text/csv Content-Length: length {"id":"String","responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}