ServiceStack Home (Live)

<back to all web services

CreateOpenSourceLicense

The following routes are available for this service:
POST/freelicense/opensource
POST/CreateOpenSourceLicense
namespace MyApp.ServiceInterface

open System
open System.IO
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    type LicenseType =
        | Free = 0
        | FreeIndividual = 1
        | FreeOpenSource = 2
        | Indie = 3
        | Business = 4
        | Enterprise = 5
        | TextIndie = 6
        | TextBusiness = 7
        | OrmLiteIndie = 8
        | OrmLiteBusiness = 9
        | RedisIndie = 10
        | RedisBusiness = 11
        | AwsIndie = 12
        | AwsBusiness = 13
        | Trial = 14
        | Site = 15
        | TextSite = 16
        | RedisSite = 17
        | OrmLiteSite = 18

    [<AllowNullLiteral>]
    type FreeLicenseResponse() = 
        member val LicenseName:String = null with get,set
        member val LicenseRef:String = null with get,set
        member val LicenseKey:String = null with get,set
        member val LicenseType:Nullable<LicenseType> = new Nullable<LicenseType>() with get,set
        member val CreatedDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val ExpiryDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val ExternalRef:String = null with get,set
        member val ResponseStatus:ResponseStatus = null with get,set

    [<AllowNullLiteral>]
    type CreateOpenSourceLicense() = 
        interface IPost
        member val LicenseName:String = null with get,set
        member val ProjectUrl:String = null with get,set
        member val LicenseSpdx:String = null with get,set
        member val AgreeTerms:Boolean = new Boolean() with get,set

F# CreateOpenSourceLicense DTOs

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

HTTP + XML

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

POST /freelicense/opensource HTTP/1.1 
Host: account.servicestack.net 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<CreateOpenSourceLicense xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/MyApp.ServiceInterface">
  <AgreeTerms>false</AgreeTerms>
  <LicenseName>String</LicenseName>
  <LicenseSpdx>String</LicenseSpdx>
  <ProjectUrl>String</ProjectUrl>
</CreateOpenSourceLicense>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<FreeLicenseResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/MyApp.ServiceInterface">
  <CreatedDate>0001-01-01T00:00:00</CreatedDate>
  <ExpiryDate>0001-01-01T00:00:00</ExpiryDate>
  <ExternalRef>String</ExternalRef>
  <LicenseKey>String</LicenseKey>
  <LicenseName>String</LicenseName>
  <LicenseRef>String</LicenseRef>
  <LicenseType>Free</LicenseType>
  <ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types">
    <d2p1:ErrorCode>String</d2p1:ErrorCode>
    <d2p1:Message>String</d2p1:Message>
    <d2p1:StackTrace>String</d2p1:StackTrace>
    <d2p1:Errors>
      <d2p1:ResponseError>
        <d2p1:ErrorCode>String</d2p1:ErrorCode>
        <d2p1:FieldName>String</d2p1:FieldName>
        <d2p1:Message>String</d2p1:Message>
        <d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <d5p1:KeyValueOfstringstring>
            <d5p1:Key>String</d5p1:Key>
            <d5p1:Value>String</d5p1:Value>
          </d5p1:KeyValueOfstringstring>
        </d2p1:Meta>
      </d2p1:ResponseError>
    </d2p1:Errors>
    <d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:KeyValueOfstringstring>
        <d3p1:Key>String</d3p1:Key>
        <d3p1:Value>String</d3p1:Value>
      </d3p1:KeyValueOfstringstring>
    </d2p1:Meta>
  </ResponseStatus>
</FreeLicenseResponse>