AlbaApi

<back to all web services

UserConsentPostReq

The following routes are available for this service:
POST/userconsent
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Entity(IEntity):
    id: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Consent(Entity):
    consent_definition_id: Optional[str] = None
    consents: Optional[Dict[str, bool]] = None
    consented_date: Optional[datetime.datetime] = None
    lang: Optional[str] = None
    consented: Optional[bool] = None
    expired: Optional[bool] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class UserConsentPostReq:
    user_id: Optional[str] = None
    consent: Optional[Consent] = None

Python UserConsentPostReq 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.

POST /userconsent HTTP/1.1 
Host: hcbtas-q-albamfs-api.azurewebsites.net 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	userId: String,
	consent: 
	{
		consentDefinitionId: String,
		consents: 
		{
			String: False
		},
		consentedDate: 0001-01-01,
		lang: String,
		consented: False,
		expired: True,
		id: String
	}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	consentDefinitionId: String,
	consents: 
	{
		String: False
	},
	consentedDate: 0001-01-01,
	lang: String,
	consented: False,
	expired: True,
	id: String
}