{
	"openapi": "3.1.0",
	"info": {
		"title": "Spott API",
		"version": "1.0"
	},
	"servers": [
		{
			"url": "https://api.gospott.com"
		}
	],
	"tags": [],
	"paths": {
		"/{publicTenantSlug}/vacancy-portal/branding": {
			"get": {
				"description": "Get the branding for the job portal.",
				"operationId": "getPublicBranding",
				"parameters": [
					{
						"name": "publicTenantSlug",
						"required": true,
						"in": "path",
						"schema": {
							"type": "string"
						}
					}
				],
				"responses": {
					"200": {
						"description": "",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/TenantBrandingDto"
								}
							}
						}
					},
					"400": {
						"description": "Bad Request",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ValidationExceptionDto"
								}
							}
						}
					},
					"404": {
						"description": "",
						"content": {
							"application/json": {
								"schema": {
									"anyOf": [
										{
											"$ref": "#/components/schemas/GlobalNotFoundApiErrorDto"
										},
										{
											"$ref": "#/components/schemas/PublicVacancyPortalBrandingNotFoundApiErrorDto"
										}
									]
								}
							}
						}
					},
					"409": {
						"description": "Conflict",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/GlobalConflictApiErrorDto"
								}
							}
						}
					},
					"500": {
						"description": "Error response",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/InternalServerErrorDto"
								}
							}
						}
					}
				},
				"summary": "Get job portal branding",
				"tags": ["Job Portal"],
				"x-public": true
			}
		},
		"/{publicTenantSlug}/vacancy-portal/jobs": {
			"get": {
				"description": "Get all publicly posted jobs for a tenant.",
				"operationId": "getPublicJobs",
				"parameters": [
					{
						"name": "publicTenantSlug",
						"required": true,
						"in": "path",
						"schema": {
							"type": "string"
						}
					},
					{
						"name": "limit",
						"required": false,
						"in": "query",
						"schema": {
							"minimum": 1,
							"maximum": 250,
							"default": 250,
							"type": "integer"
						}
					},
					{
						"name": "cursor",
						"required": false,
						"in": "query",
						"schema": {
							"type": "string"
						}
					}
				],
				"responses": {
					"200": {
						"description": "",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/PublicJobBoardPostingsDto"
								}
							}
						}
					},
					"400": {
						"description": "Bad Request",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ValidationExceptionDto"
								}
							}
						}
					},
					"404": {
						"description": "Not Found",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/GlobalNotFoundApiErrorDto"
								}
							}
						}
					},
					"409": {
						"description": "Conflict",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/GlobalConflictApiErrorDto"
								}
							}
						}
					},
					"500": {
						"description": "Error response",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/InternalServerErrorDto"
								}
							}
						}
					}
				},
				"summary": "Get posted jobs",
				"tags": ["Job Portal"],
				"x-public": true
			}
		},
		"/{publicTenantSlug}/vacancy-portal/jobs/{jobBoardPostingId}": {
			"get": {
				"description": "Get details on an single publicly posted job for a tenant.",
				"operationId": "getPublicJob",
				"parameters": [
					{
						"name": "publicTenantSlug",
						"required": true,
						"in": "path",
						"schema": {
							"type": "string"
						}
					},
					{
						"name": "jobBoardPostingId",
						"required": true,
						"in": "path",
						"schema": {
							"type": "string"
						}
					}
				],
				"responses": {
					"200": {
						"description": "",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/PublicJobBoardPostingDto"
								}
							}
						}
					},
					"400": {
						"description": "Bad Request",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/ValidationExceptionDto"
								}
							}
						}
					},
					"404": {
						"description": "",
						"content": {
							"application/json": {
								"schema": {
									"anyOf": [
										{
											"$ref": "#/components/schemas/GlobalNotFoundApiErrorDto"
										},
										{
											"$ref": "#/components/schemas/PublicVacancyPortalJobBoardPostingNotFoundApiErrorDto"
										}
									]
								}
							}
						}
					},
					"409": {
						"description": "Conflict",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/GlobalConflictApiErrorDto"
								}
							}
						}
					},
					"500": {
						"description": "Error response",
						"content": {
							"application/json": {
								"schema": {
									"$ref": "#/components/schemas/InternalServerErrorDto"
								}
							}
						}
					}
				},
				"summary": "Get posted job details",
				"tags": ["Job Portal"],
				"x-public": true
			}
		}
	},
	"components": {
		"schemas": {
			"TenantBrandingDto": {
				"type": "object",
				"properties": {
					"branding": {
						"$ref": "#/components/schemas/TenantBrandingStyleDto"
					},
					"consent": {
						"$ref": "#/components/schemas/TenantBrandingConsentDto"
					}
				},
				"required": ["branding", "consent"]
			},
			"TenantBrandingStyleDto": {
				"type": "object",
				"properties": {
					"name": {
						"type": "string",
						"minLength": 1
					},
					"company": {
						"type": "object",
						"properties": {
							"url": {
								"anyOf": [
									{
										"type": "string",
										"format": "uri"
									},
									{
										"type": "null"
									}
								]
							},
							"description": {
								"type": ["string", "null"]
							}
						},
						"required": ["url", "description"]
					},
					"logo": {
						"anyOf": [
							{
								"$ref": "#/components/schemas/TenantBrandingLogoDto"
							},
							{
								"type": "null"
							}
						]
					},
					"favicon": {
						"anyOf": [
							{
								"type": "object",
								"properties": {
									"url": {
										"anyOf": [
											{
												"type": "string",
												"format": "uri"
											},
											{
												"type": "null"
											}
										]
									}
								},
								"required": ["url"]
							},
							{
								"type": "null"
							}
						]
					},
					"colors": {
						"$ref": "#/components/schemas/TenantBrandingColorsDto"
					},
					"topbar": {
						"$ref": "#/components/schemas/TenantBrandingTopbarDto"
					},
					"footer": {
						"$ref": "#/components/schemas/TenantBrandingFooterDto"
					}
				},
				"required": ["name", "company", "logo", "favicon", "colors", "topbar", "footer"]
			},
			"TenantBrandingLogoDto": {
				"type": "object",
				"properties": {
					"light": {
						"type": "object",
						"properties": {
							"url": {
								"anyOf": [
									{
										"type": "string",
										"format": "uri"
									},
									{
										"type": "null"
									}
								]
							}
						},
						"required": ["url"]
					},
					"dark": {
						"type": "object",
						"properties": {
							"url": {
								"anyOf": [
									{
										"type": "string",
										"format": "uri"
									},
									{
										"type": "null"
									}
								]
							}
						},
						"required": ["url"]
					}
				},
				"required": ["light", "dark"]
			},
			"TenantBrandingColorsDto": {
				"type": "object",
				"properties": {
					"accent": {
						"type": "string",
						"pattern": "^#([0-9a-fA-F]{3}|[0-9a-fA-F]{4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"
					},
					"primary": {
						"type": "string",
						"pattern": "^#([0-9a-fA-F]{3}|[0-9a-fA-F]{4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"
					},
					"secondary": {
						"type": "string",
						"pattern": "^#([0-9a-fA-F]{3}|[0-9a-fA-F]{4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"
					}
				},
				"required": ["accent", "primary", "secondary"]
			},
			"TenantBrandingTopbarDto": {
				"type": "object",
				"properties": {
					"links": {
						"type": "array",
						"items": {
							"$ref": "#/components/schemas/TenantBrandingTopbarLinkDto"
						}
					},
					"cta": {
						"type": "object",
						"properties": {
							"button": {
								"anyOf": [
									{
										"$ref": "#/components/schemas/TenantBrandingTopbarCtaButtonDto"
									},
									{
										"type": "null"
									}
								]
							}
						},
						"required": ["button"]
					}
				},
				"required": ["links", "cta"]
			},
			"TenantBrandingTopbarLinkDto": {
				"type": "object",
				"properties": {
					"name": {
						"type": "string",
						"minLength": 1
					},
					"url": {
						"type": "string",
						"format": "uri"
					}
				},
				"required": ["name", "url"]
			},
			"TenantBrandingTopbarCtaButtonDto": {
				"type": "object",
				"properties": {
					"name": {
						"type": "string",
						"minLength": 1
					},
					"url": {
						"type": "string",
						"format": "uri"
					}
				},
				"required": ["name", "url"]
			},
			"TenantBrandingFooterDto": {
				"type": "object",
				"properties": {
					"socials": {
						"$ref": "#/components/schemas/TenantBrandingFooterSocialsDto"
					},
					"privacyPolicy": {
						"anyOf": [
							{
								"$ref": "#/components/schemas/TenantBrandingFooterPrivacyPolicyDto"
							},
							{
								"type": "null"
							}
						]
					}
				},
				"required": ["socials", "privacyPolicy"]
			},
			"TenantBrandingFooterSocialsDto": {
				"type": "object",
				"properties": {
					"linkedin": {
						"type": "object",
						"properties": {
							"url": {
								"anyOf": [
									{
										"type": "string",
										"format": "uri"
									},
									{
										"type": "null"
									}
								]
							}
						},
						"required": ["url"]
					},
					"twitter": {
						"type": "object",
						"properties": {
							"url": {
								"anyOf": [
									{
										"type": "string",
										"format": "uri"
									},
									{
										"type": "null"
									}
								]
							}
						},
						"required": ["url"]
					},
					"facebook": {
						"type": "object",
						"properties": {
							"url": {
								"anyOf": [
									{
										"type": "string",
										"format": "uri"
									},
									{
										"type": "null"
									}
								]
							}
						},
						"required": ["url"]
					},
					"instagram": {
						"type": "object",
						"properties": {
							"url": {
								"anyOf": [
									{
										"type": "string",
										"format": "uri"
									},
									{
										"type": "null"
									}
								]
							}
						},
						"required": ["url"]
					},
					"github": {
						"type": "object",
						"properties": {
							"url": {
								"anyOf": [
									{
										"type": "string",
										"format": "uri"
									},
									{
										"type": "null"
									}
								]
							}
						},
						"required": ["url"]
					}
				},
				"required": ["linkedin", "twitter", "facebook", "instagram", "github"]
			},
			"TenantBrandingFooterPrivacyPolicyDto": {
				"type": "object",
				"properties": {
					"label": {
						"type": "string",
						"minLength": 1
					},
					"url": {
						"type": "string",
						"format": "uri"
					}
				},
				"required": ["label", "url"]
			},
			"TenantBrandingConsentDto": {
				"type": "object",
				"properties": {
					"disclaimer": {
						"type": ["string", "null"]
					}
				},
				"required": ["disclaimer"]
			},
			"ValidationExceptionDto": {
				"type": "object",
				"properties": {
					"status": {
						"type": "number",
						"const": 400
					},
					"category": {
						"type": "string",
						"enum": ["SCHEMA_VALIDATION_FAILED"]
					},
					"message": {
						"type": "string",
						"enum": ["Validation failed"]
					},
					"requestId": {
						"type": "string"
					},
					"scenario": {
						"type": "string",
						"enum": ["VALIDATION_FAILED"]
					},
					"errors": {
						"type": "array",
						"items": {
							"$ref": "#/components/schemas/ValidationIssueDto"
						}
					}
				},
				"required": ["status", "category", "message", "requestId", "scenario", "errors"]
			},
			"ValidationIssueDto": {
				"oneOf": [
					{
						"$ref": "#/components/schemas/ValidationRequiredDto"
					},
					{
						"$ref": "#/components/schemas/ValidationInvalidEmptyStringDto"
					},
					{
						"$ref": "#/components/schemas/ValidationUnknownFieldDto"
					},
					{
						"$ref": "#/components/schemas/ValidationTooSmallDto"
					},
					{
						"$ref": "#/components/schemas/ValidationTooBigDto"
					},
					{
						"$ref": "#/components/schemas/ValidationInvalidTypeDto"
					},
					{
						"$ref": "#/components/schemas/ValidationInvalidValueDto"
					},
					{
						"$ref": "#/components/schemas/ValidationInvalidEmailDto"
					},
					{
						"$ref": "#/components/schemas/ValidationInvalidUuidDto"
					},
					{
						"$ref": "#/components/schemas/ValidationInvalidUrlDto"
					},
					{
						"$ref": "#/components/schemas/ValidationInvalidDatetimeDto"
					},
					{
						"$ref": "#/components/schemas/ValidationInvalidDateDto"
					},
					{
						"$ref": "#/components/schemas/ValidationInvalidTimeDto"
					},
					{
						"$ref": "#/components/schemas/ValidationInvalidDurationDto"
					},
					{
						"$ref": "#/components/schemas/ValidationInvalidIpv4Dto"
					},
					{
						"$ref": "#/components/schemas/ValidationInvalidIpv6Dto"
					},
					{
						"$ref": "#/components/schemas/ValidationInvalidJsonStringDto"
					},
					{
						"$ref": "#/components/schemas/ValidationInvalidJwtDto"
					},
					{
						"$ref": "#/components/schemas/ValidationInvalidRegexDto"
					},
					{
						"$ref": "#/components/schemas/ValidationInvalidPhoneNumberDto"
					},
					{
						"$ref": "#/components/schemas/ValidationInvalidDomainDto"
					},
					{
						"$ref": "#/components/schemas/ValidationInvalidHttpsUrlDto"
					},
					{
						"$ref": "#/components/schemas/ValidationInvalidTimezoneDto"
					},
					{
						"$ref": "#/components/schemas/ValidationPaginationOffsetExceededDto"
					}
				]
			},
			"ValidationRequiredDto": {
				"type": "object",
				"properties": {
					"code": {
						"type": "string",
						"enum": ["REQUIRED"]
					},
					"path": {
						"type": "string"
					},
					"message": {
						"type": "string"
					},
					"received": {}
				},
				"required": ["code", "path", "message"]
			},
			"ValidationInvalidEmptyStringDto": {
				"type": "object",
				"properties": {
					"code": {
						"type": "string",
						"enum": ["INVALID_EMPTY_STRING"]
					},
					"path": {
						"type": "string"
					},
					"message": {
						"type": "string"
					},
					"received": {}
				},
				"required": ["code", "path", "message"]
			},
			"ValidationUnknownFieldDto": {
				"type": "object",
				"properties": {
					"code": {
						"type": "string",
						"enum": ["UNKNOWN_FIELD"]
					},
					"path": {
						"type": "string"
					},
					"message": {
						"type": "string"
					},
					"received": {},
					"keys": {
						"type": "array",
						"items": {
							"type": "string"
						}
					}
				},
				"required": ["code", "path", "message", "keys"]
			},
			"ValidationTooSmallDto": {
				"type": "object",
				"properties": {
					"code": {
						"type": "string",
						"enum": ["TOO_SMALL"]
					},
					"path": {
						"type": "string"
					},
					"message": {
						"type": "string"
					},
					"received": {},
					"minimum": {
						"type": "number"
					},
					"inclusive": {
						"type": "boolean"
					},
					"origin": {
						"type": "string"
					}
				},
				"required": ["code", "path", "message", "minimum", "inclusive", "origin"]
			},
			"ValidationTooBigDto": {
				"type": "object",
				"properties": {
					"code": {
						"type": "string",
						"enum": ["TOO_BIG"]
					},
					"path": {
						"type": "string"
					},
					"message": {
						"type": "string"
					},
					"received": {},
					"maximum": {
						"type": "number"
					},
					"inclusive": {
						"type": "boolean"
					},
					"origin": {
						"type": "string"
					}
				},
				"required": ["code", "path", "message", "maximum", "inclusive", "origin"]
			},
			"ValidationInvalidTypeDto": {
				"type": "object",
				"properties": {
					"code": {
						"type": "string",
						"enum": ["INVALID_TYPE"]
					},
					"path": {
						"type": "string"
					},
					"message": {
						"type": "string"
					},
					"received": {},
					"expected": {
						"type": "string"
					}
				},
				"required": ["code", "path", "message", "expected"]
			},
			"ValidationInvalidValueDto": {
				"type": "object",
				"properties": {
					"code": {
						"type": "string",
						"enum": ["INVALID_VALUE"]
					},
					"path": {
						"type": "string"
					},
					"message": {
						"type": "string"
					},
					"received": {},
					"expected": {}
				},
				"required": ["code", "path", "message"]
			},
			"ValidationInvalidEmailDto": {
				"type": "object",
				"properties": {
					"code": {
						"type": "string",
						"enum": ["INVALID_EMAIL"]
					},
					"path": {
						"type": "string"
					},
					"message": {
						"type": "string"
					},
					"received": {}
				},
				"required": ["code", "path", "message"]
			},
			"ValidationInvalidUuidDto": {
				"type": "object",
				"properties": {
					"code": {
						"type": "string",
						"enum": ["INVALID_UUID"]
					},
					"path": {
						"type": "string"
					},
					"message": {
						"type": "string"
					},
					"received": {}
				},
				"required": ["code", "path", "message"]
			},
			"ValidationInvalidUrlDto": {
				"type": "object",
				"properties": {
					"code": {
						"type": "string",
						"enum": ["INVALID_URL"]
					},
					"path": {
						"type": "string"
					},
					"message": {
						"type": "string"
					},
					"received": {}
				},
				"required": ["code", "path", "message"]
			},
			"ValidationInvalidDatetimeDto": {
				"type": "object",
				"properties": {
					"code": {
						"type": "string",
						"enum": ["INVALID_DATETIME"]
					},
					"path": {
						"type": "string"
					},
					"message": {
						"type": "string"
					},
					"received": {}
				},
				"required": ["code", "path", "message"]
			},
			"ValidationInvalidDateDto": {
				"type": "object",
				"properties": {
					"code": {
						"type": "string",
						"enum": ["INVALID_DATE"]
					},
					"path": {
						"type": "string"
					},
					"message": {
						"type": "string"
					},
					"received": {}
				},
				"required": ["code", "path", "message"]
			},
			"ValidationInvalidTimeDto": {
				"type": "object",
				"properties": {
					"code": {
						"type": "string",
						"enum": ["INVALID_TIME"]
					},
					"path": {
						"type": "string"
					},
					"message": {
						"type": "string"
					},
					"received": {}
				},
				"required": ["code", "path", "message"]
			},
			"ValidationInvalidDurationDto": {
				"type": "object",
				"properties": {
					"code": {
						"type": "string",
						"enum": ["INVALID_DURATION"]
					},
					"path": {
						"type": "string"
					},
					"message": {
						"type": "string"
					},
					"received": {}
				},
				"required": ["code", "path", "message"]
			},
			"ValidationInvalidIpv4Dto": {
				"type": "object",
				"properties": {
					"code": {
						"type": "string",
						"enum": ["INVALID_IPV4"]
					},
					"path": {
						"type": "string"
					},
					"message": {
						"type": "string"
					},
					"received": {}
				},
				"required": ["code", "path", "message"]
			},
			"ValidationInvalidIpv6Dto": {
				"type": "object",
				"properties": {
					"code": {
						"type": "string",
						"enum": ["INVALID_IPV6"]
					},
					"path": {
						"type": "string"
					},
					"message": {
						"type": "string"
					},
					"received": {}
				},
				"required": ["code", "path", "message"]
			},
			"ValidationInvalidJsonStringDto": {
				"type": "object",
				"properties": {
					"code": {
						"type": "string",
						"enum": ["INVALID_JSON_STRING"]
					},
					"path": {
						"type": "string"
					},
					"message": {
						"type": "string"
					},
					"received": {}
				},
				"required": ["code", "path", "message"]
			},
			"ValidationInvalidJwtDto": {
				"type": "object",
				"properties": {
					"code": {
						"type": "string",
						"enum": ["INVALID_JWT"]
					},
					"path": {
						"type": "string"
					},
					"message": {
						"type": "string"
					},
					"received": {}
				},
				"required": ["code", "path", "message"]
			},
			"ValidationInvalidRegexDto": {
				"type": "object",
				"properties": {
					"code": {
						"type": "string",
						"enum": ["INVALID_REGEX"]
					},
					"path": {
						"type": "string"
					},
					"message": {
						"type": "string"
					},
					"received": {}
				},
				"required": ["code", "path", "message"]
			},
			"ValidationInvalidPhoneNumberDto": {
				"type": "object",
				"properties": {
					"code": {
						"type": "string",
						"enum": ["INVALID_PHONE_NUMBER"]
					},
					"path": {
						"type": "string"
					},
					"message": {
						"type": "string"
					},
					"received": {}
				},
				"required": ["code", "path", "message"]
			},
			"ValidationInvalidDomainDto": {
				"type": "object",
				"properties": {
					"code": {
						"type": "string",
						"enum": ["INVALID_DOMAIN"]
					},
					"path": {
						"type": "string"
					},
					"message": {
						"type": "string"
					},
					"received": {}
				},
				"required": ["code", "path", "message"]
			},
			"ValidationInvalidHttpsUrlDto": {
				"type": "object",
				"properties": {
					"code": {
						"type": "string",
						"enum": ["INVALID_HTTPS_URL"]
					},
					"path": {
						"type": "string"
					},
					"message": {
						"type": "string"
					},
					"received": {}
				},
				"required": ["code", "path", "message"]
			},
			"ValidationInvalidTimezoneDto": {
				"type": "object",
				"properties": {
					"code": {
						"type": "string",
						"enum": ["INVALID_TIMEZONE"]
					},
					"path": {
						"type": "string"
					},
					"message": {
						"type": "string"
					},
					"received": {}
				},
				"required": ["code", "path", "message"]
			},
			"ValidationPaginationOffsetExceededDto": {
				"type": "object",
				"properties": {
					"code": {
						"type": "string",
						"enum": ["PAGINATION_OFFSET_EXCEEDED"]
					},
					"path": {
						"type": "string"
					},
					"message": {
						"type": "string"
					},
					"received": {},
					"maximum": {
						"type": "number"
					}
				},
				"required": ["code", "path", "message", "maximum"]
			},
			"GlobalNotFoundApiErrorDto": {
				"anyOf": [
					{
						"$ref": "#/components/schemas/ResourceNotFoundApiErrorDto"
					},
					{
						"$ref": "#/components/schemas/RelatedResourceNotFoundApiErrorDto"
					}
				]
			},
			"ResourceNotFoundApiErrorDto": {
				"type": "object",
				"properties": {
					"status": {
						"type": "number",
						"const": 404
					},
					"category": {
						"type": "string",
						"enum": ["RESOURCE_NOT_FOUND"]
					},
					"scenario": {
						"type": "string",
						"enum": ["RESOURCE_NOT_FOUND"]
					},
					"message": {
						"type": "string",
						"enum": ["Resource not found"]
					},
					"requestId": {
						"type": "string"
					}
				},
				"required": ["status", "category", "scenario", "message", "requestId"]
			},
			"RelatedResourceNotFoundApiErrorDto": {
				"type": "object",
				"properties": {
					"status": {
						"type": "number",
						"const": 404
					},
					"category": {
						"type": "string",
						"enum": ["RESOURCE_NOT_FOUND"]
					},
					"scenario": {
						"type": "string",
						"enum": ["RELATED_RESOURCE_NOT_FOUND"]
					},
					"message": {
						"type": "string",
						"enum": ["Related resource not found"]
					},
					"requestId": {
						"type": "string"
					}
				},
				"required": ["status", "category", "scenario", "message", "requestId"]
			},
			"PublicVacancyPortalBrandingNotFoundApiErrorDto": {
				"type": "object",
				"properties": {
					"status": {
						"type": "number",
						"const": 404
					},
					"category": {
						"type": "string",
						"enum": ["RESOURCE_NOT_FOUND"]
					},
					"scenario": {
						"type": "string",
						"enum": ["PUBLIC_VACANCY_PORTAL_BRANDING_NOT_FOUND"]
					},
					"message": {
						"type": "string",
						"enum": ["The requested vacancy portal branding could not be found."]
					},
					"requestId": {
						"type": "string"
					}
				},
				"required": ["status", "category", "scenario", "message", "requestId"]
			},
			"GlobalConflictApiErrorDto": {
				"anyOf": [
					{
						"$ref": "#/components/schemas/ResourceAlreadyExistsApiErrorDto"
					},
					{
						"$ref": "#/components/schemas/ResourceLockTimeoutApiErrorDto"
					}
				]
			},
			"ResourceAlreadyExistsApiErrorDto": {
				"type": "object",
				"properties": {
					"status": {
						"type": "number",
						"const": 409
					},
					"category": {
						"type": "string",
						"enum": ["RESOURCE_ALREADY_EXISTS"]
					},
					"scenario": {
						"type": "string",
						"enum": ["RESOURCE_ALREADY_EXISTS"]
					},
					"message": {
						"type": "string",
						"enum": ["Resource already exists"]
					},
					"requestId": {
						"type": "string"
					}
				},
				"required": ["status", "category", "scenario", "message", "requestId"]
			},
			"ResourceLockTimeoutApiErrorDto": {
				"type": "object",
				"properties": {
					"status": {
						"type": "number",
						"const": 409
					},
					"category": {
						"type": "string",
						"enum": ["RESOURCE_BUSY"]
					},
					"scenario": {
						"type": "string",
						"enum": ["RESOURCE_LOCK_TIMEOUT"]
					},
					"message": {
						"type": "string",
						"enum": ["Lock could not be acquired for this resource, please try again later."]
					},
					"requestId": {
						"type": "string"
					}
				},
				"required": ["status", "category", "scenario", "message", "requestId"]
			},
			"InternalServerErrorDto": {
				"type": "object",
				"properties": {
					"status": {
						"type": "number",
						"const": 500
					},
					"category": {
						"type": "string",
						"enum": ["INTERNAL_ERROR"]
					},
					"scenario": {
						"type": "string",
						"enum": ["INTERNAL_SERVER_ERROR"]
					},
					"message": {
						"type": "string",
						"enum": ["Internal server error"]
					},
					"requestId": {
						"type": "string"
					}
				},
				"required": ["status", "category", "scenario", "message", "requestId"]
			},
			"PublicJobBoardPostingsDto": {
				"type": "object",
				"properties": {
					"publicJobBoardPostings": {
						"type": "array",
						"items": {
							"$ref": "#/components/schemas/PublicJobBoardPostingDto"
						}
					},
					"pagination": {
						"type": "object",
						"properties": {
							"cursor": {
								"type": ["string", "null"]
							}
						},
						"required": ["cursor"]
					}
				},
				"required": ["publicJobBoardPostings", "pagination"]
			},
			"PublicJobBoardPostingDto": {
				"type": "object",
				"properties": {
					"id": {
						"type": "string",
						"minLength": 1
					},
					"externalJobTitle": {
						"type": "string"
					},
					"jobDescription": {
						"type": "string"
					},
					"language": {
						"$ref": "#/components/schemas/DmSpottSupportedUserAiLanguage"
					},
					"locationType": {
						"anyOf": [
							{
								"$ref": "#/components/schemas/PublicJobBoardPostingLocationType"
							},
							{
								"type": "null"
							}
						]
					},
					"location": {
						"anyOf": [
							{
								"$ref": "#/components/schemas/PublicJobBoardPostingLocationDto"
							},
							{
								"type": "null"
							}
						],
						"deprecated": true,
						"description": "Deprecated: use `locations` instead. The primary (first) location of the job, or null when none."
					},
					"locations": {
						"type": "array",
						"items": {
							"$ref": "#/components/schemas/PublicJobBoardPostingLocationDto"
						}
					},
					"employmentType": {
						"anyOf": [
							{
								"$ref": "#/components/schemas/PublicJobBoardPostingEmploymentType"
							},
							{
								"type": "null"
							}
						]
					},
					"publishedAt": {
						"$ref": "#/components/schemas/PublicJobBoardPostingPublishedAtDto"
					}
				},
				"required": [
					"id",
					"externalJobTitle",
					"jobDescription",
					"language",
					"locationType",
					"location",
					"locations",
					"employmentType",
					"publishedAt"
				]
			},
			"DmSpottSupportedUserAiLanguage": {
				"type": "string",
				"enum": [
					"en-US",
					"en-GB",
					"es",
					"nl",
					"fr",
					"de",
					"hu",
					"cs",
					"pt",
					"no",
					"sv",
					"da",
					"fi",
					"pl",
					"ro",
					"it",
					"af",
					"cy",
					"ja",
					"hr",
					"is",
					"el"
				]
			},
			"PublicJobBoardPostingLocationType": {
				"type": "string",
				"enum": ["remote", "hybrid", "onsite"]
			},
			"PublicJobBoardPostingLocationDto": {
				"type": "object",
				"properties": {
					"street1": {
						"type": ["string", "null"]
					},
					"street2": {
						"type": ["string", "null"]
					},
					"postalCode": {
						"type": ["string", "null"]
					},
					"city": {
						"type": ["string", "null"]
					},
					"region": {
						"type": ["string", "null"]
					},
					"state": {
						"type": ["string", "null"]
					},
					"country": {
						"type": ["string", "null"]
					},
					"countryCode": {
						"anyOf": [
							{
								"$ref": "#/components/schemas/CountryCode"
							},
							{
								"type": "null"
							}
						]
					},
					"rawCityCountry": {
						"type": ["string", "null"]
					},
					"latitude": {
						"type": ["number", "null"]
					},
					"longitude": {
						"type": ["number", "null"]
					},
					"formattedAddress": {
						"type": ["string", "null"]
					},
					"type": {
						"anyOf": [
							{
								"$ref": "#/components/schemas/PublicJobBoardPostingLocationDtoType"
							},
							{
								"type": "null"
							}
						]
					}
				},
				"required": [
					"street1",
					"street2",
					"postalCode",
					"city",
					"region",
					"state",
					"country",
					"countryCode",
					"rawCityCountry",
					"latitude",
					"longitude",
					"formattedAddress",
					"type"
				]
			},
			"CountryCode": {
				"type": "string",
				"enum": [
					"AF",
					"AX",
					"AL",
					"DZ",
					"AS",
					"AD",
					"AO",
					"AI",
					"AQ",
					"AG",
					"AR",
					"AM",
					"AW",
					"AU",
					"AT",
					"AZ",
					"BS",
					"BH",
					"BD",
					"BB",
					"BY",
					"BE",
					"BZ",
					"BJ",
					"BM",
					"BT",
					"BO",
					"BQ",
					"BA",
					"BW",
					"BV",
					"BR",
					"IO",
					"BN",
					"BG",
					"BF",
					"BI",
					"KH",
					"CM",
					"CA",
					"CV",
					"KY",
					"CF",
					"TD",
					"CL",
					"CN",
					"CX",
					"CC",
					"CO",
					"KM",
					"CG",
					"CD",
					"CK",
					"CR",
					"CI",
					"HR",
					"CU",
					"CW",
					"CY",
					"CZ",
					"DK",
					"DJ",
					"DM",
					"DO",
					"EC",
					"EG",
					"SV",
					"GQ",
					"ER",
					"EE",
					"ET",
					"FK",
					"FO",
					"FJ",
					"FI",
					"FR",
					"GF",
					"PF",
					"TF",
					"GA",
					"GM",
					"GE",
					"DE",
					"GH",
					"GI",
					"GR",
					"GL",
					"GD",
					"GP",
					"GU",
					"GT",
					"GG",
					"GN",
					"GW",
					"GY",
					"HT",
					"HM",
					"VA",
					"HN",
					"HK",
					"HU",
					"IS",
					"IN",
					"ID",
					"IR",
					"IQ",
					"IE",
					"IM",
					"IL",
					"IT",
					"JM",
					"JP",
					"JE",
					"JO",
					"KZ",
					"KE",
					"KI",
					"KP",
					"KR",
					"KW",
					"KG",
					"LA",
					"LV",
					"LB",
					"LS",
					"LR",
					"LY",
					"LI",
					"LT",
					"LU",
					"MO",
					"MK",
					"MG",
					"MW",
					"MY",
					"MV",
					"ML",
					"MT",
					"MH",
					"MQ",
					"MR",
					"MU",
					"YT",
					"MX",
					"FM",
					"MD",
					"MC",
					"MN",
					"ME",
					"MS",
					"MA",
					"MZ",
					"MM",
					"NA",
					"NR",
					"NP",
					"NL",
					"NC",
					"NZ",
					"NI",
					"NE",
					"NG",
					"NU",
					"NF",
					"MP",
					"NO",
					"OM",
					"PK",
					"PW",
					"PS",
					"PA",
					"PG",
					"PY",
					"PE",
					"PH",
					"PN",
					"PL",
					"PT",
					"PR",
					"QA",
					"RE",
					"RO",
					"RU",
					"RW",
					"BL",
					"SH",
					"KN",
					"LC",
					"MF",
					"PM",
					"VC",
					"WS",
					"SM",
					"ST",
					"SA",
					"SN",
					"RS",
					"SC",
					"SL",
					"SG",
					"SX",
					"SK",
					"SI",
					"SB",
					"SO",
					"ZA",
					"GS",
					"SS",
					"ES",
					"LK",
					"SD",
					"SR",
					"SJ",
					"SZ",
					"SE",
					"CH",
					"SY",
					"TW",
					"TJ",
					"TZ",
					"TH",
					"TL",
					"TG",
					"TK",
					"TO",
					"TT",
					"TN",
					"TR",
					"TM",
					"TC",
					"TV",
					"UG",
					"UA",
					"AE",
					"GB",
					"US",
					"UM",
					"UY",
					"UZ",
					"VU",
					"VE",
					"VN",
					"VG",
					"VI",
					"WF",
					"EH",
					"XK",
					"YE",
					"ZM",
					"ZW"
				]
			},
			"PublicJobBoardPostingLocationDtoType": {
				"type": "string",
				"enum": [
					"primary_home",
					"secondary_home",
					"primary_work",
					"headquarters",
					"regional_office"
				]
			},
			"PublicJobBoardPostingEmploymentType": {
				"type": "string",
				"enum": [
					"fullTime",
					"partTime",
					"temporary",
					"internship",
					"permanent",
					"fixedTermContract",
					"interimOrTemporary",
					"contract"
				]
			},
			"PublicJobBoardPostingPublishedAtDto": {
				"anyOf": [
					{
						"$ref": "#/components/schemas/DateISO"
					},
					{
						"type": "null"
					}
				]
			},
			"DateISO": {
				"format": "date-time",
				"anyOf": [
					{
						"type": "string",
						"format": "date-time",
						"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
					},
					{
						"type": "string",
						"format": "date",
						"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
					}
				]
			},
			"PublicVacancyPortalJobBoardPostingNotFoundApiErrorDto": {
				"type": "object",
				"properties": {
					"status": {
						"type": "number",
						"const": 404
					},
					"category": {
						"type": "string",
						"enum": ["RESOURCE_NOT_FOUND"]
					},
					"scenario": {
						"type": "string",
						"enum": ["PUBLIC_VACANCY_PORTAL_JOB_BOARD_POSTING_NOT_FOUND"]
					},
					"message": {
						"type": "string",
						"enum": ["The requested vacancy portal job posting could not be found."]
					},
					"requestId": {
						"type": "string"
					},
					"details": {
						"type": "object",
						"properties": {
							"jobBoardPostingId": {
								"type": "string"
							}
						},
						"required": ["jobBoardPostingId"]
					}
				},
				"required": ["status", "category", "scenario", "message", "requestId", "details"]
			}
		}
	}
}
