Blazor Diffusion

<back to all web services

CreateApiProvider

import Foundation
import ServiceStack

public class CreateApiProvider : ICreateDb<ApiProvider>, Codable
{
    // @Validate(Validator="GreaterThan(0)")
    public var apiTypeId:Int

    public var apiBaseUrl:String
    // @Validate(Validator="NotEmpty")
    public var name:String

    public var apiKeyVar:String
    public var apiKey:String
    public var apiKeyHeader:String
    public var heartbeatUrl:String
    public var taskPaths:[TaskType:String]
    public var concurrency:Int
    public var priority:Int
    public var enabled:Bool
    public var models:[ApiProviderModel]
    public var selectedModels:[String]

    required public init(){}
}

public enum TaskType : Int, Codable
{
    case OpenAiChat = 1
    case Comfy = 2
}

public class ApiProviderModel : Codable
{
    public var model:String
    public var apiModel:String

    required public init(){}
}

// @DataContract
public class IdResponse : Codable
{
    // @DataMember(Order=1)
    public var id:String

    // @DataMember(Order=2)
    public var responseStatus:ResponseStatus

    required public init(){}
}


Swift CreateApiProvider DTOs

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

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /json/reply/CreateApiProvider HTTP/1.1 
Host: blazordiffusion.com 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"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: application/json
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"}}}