mirror of
https://github.com/InvoiceShelf/InvoiceShelf.git
synced 2026-07-16 22:05:20 +00:00
Auto-generate an OpenAPI 3.1 spec from the v1 API's FormRequests and Resources (no annotations) for publishing at api-docs.invoiceshelf.com as a static Swagger UI site. - config/scramble.php: scope to api/v1, version from version.md, clean placeholder server, export to public/openapi.json - ScrambleServiceProvider: advertise Bearer (Sanctum) auth; add the required `company` tenancy header only to routes using the `company` middleware - OpenApiDocumentationTest: assert spec shape, auth scheme, company-header gating - .github/workflows/openapi.yml: export + commit spec on release, notify the api-docs site to rebuild - public/openapi.json: generated seed spec (184 paths) - dedoc/scramble added as a dev-only dependency Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
31244 lines
1.4 MiB
31244 lines
1.4 MiB
{
|
|
"openapi": "3.1.0",
|
|
"info": {
|
|
"title": "InvoiceShelf API",
|
|
"version": "3.0.0-alpha.1",
|
|
"description": "REST API for InvoiceShelf \u2014 open-source invoicing & expense tracking. Authenticate with a Sanctum personal access token (Authorization: Bearer <token>). Company-scoped endpoints additionally require a `company` header carrying the company ID."
|
|
},
|
|
"servers": [
|
|
{
|
|
"url": "https://your-instance.example.com/api/v1",
|
|
"description": "Your InvoiceShelf instance"
|
|
}
|
|
],
|
|
"security": [
|
|
{
|
|
"http": []
|
|
}
|
|
],
|
|
"paths": {
|
|
"/abilities": {
|
|
"get": {
|
|
"operationId": "role.abilities",
|
|
"summary": "Handle the incoming request",
|
|
"tags": [
|
|
"Abilities"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"abilities": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"abilities"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/{company}/customer/estimate/{id}/status": {
|
|
"post": {
|
|
"operationId": "estimate.acceptEstimate",
|
|
"summary": "Handle the incoming request",
|
|
"tags": [
|
|
"AcceptEstimate"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The company slug",
|
|
"schema": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/super-admin/dashboard": {
|
|
"get": {
|
|
"operationId": "adminDashboard.index",
|
|
"tags": [
|
|
"AdminDashboard"
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"app_version": {
|
|
"anyOf": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"type": "array",
|
|
"items": {}
|
|
},
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "object"
|
|
}
|
|
]
|
|
},
|
|
"php_version": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "object"
|
|
}
|
|
]
|
|
},
|
|
"database": {
|
|
"type": "object",
|
|
"properties": {
|
|
"driver": {
|
|
"type": "string"
|
|
},
|
|
"version": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"driver",
|
|
"version"
|
|
]
|
|
},
|
|
"counts": {
|
|
"type": "object",
|
|
"properties": {
|
|
"companies": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"users": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"required": [
|
|
"companies",
|
|
"users"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"app_version",
|
|
"php_version",
|
|
"database",
|
|
"counts"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/installation/ai/config": {
|
|
"get": {
|
|
"operationId": "aiConfiguration.show",
|
|
"summary": "Return the current AI config defaults plus the driver list for the wizard form",
|
|
"tags": [
|
|
"AiConfiguration"
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"config": {
|
|
"type": "array",
|
|
"items": {}
|
|
},
|
|
"drivers": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string"
|
|
},
|
|
"label": {},
|
|
"website": {},
|
|
"default_base_url": {},
|
|
"supported_roles": {},
|
|
"suggested_models": {},
|
|
"config_fields": {}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"label",
|
|
"website",
|
|
"default_base_url",
|
|
"supported_roles",
|
|
"suggested_models",
|
|
"config_fields"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"config",
|
|
"drivers"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"operationId": "aiConfiguration.save",
|
|
"summary": "Persist the installer's AI config choice and advance the wizard step",
|
|
"tags": [
|
|
"AiConfiguration"
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"ai_enabled": {
|
|
"type": "string",
|
|
"enum": [
|
|
"YES",
|
|
"NO"
|
|
]
|
|
},
|
|
"ai_driver": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"ai_api_key": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"ai_base_url": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"format": "uri"
|
|
},
|
|
"ai_chat_enabled": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"enum": [
|
|
"YES",
|
|
"NO"
|
|
]
|
|
},
|
|
"ai_chat_model": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"maxLength": 200
|
|
},
|
|
"ai_text_generation_enabled": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"enum": [
|
|
"YES",
|
|
"NO"
|
|
]
|
|
},
|
|
"ai_text_generation_model": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"maxLength": 200
|
|
}
|
|
},
|
|
"required": [
|
|
"ai_enabled"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"success"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/ai/drivers": {
|
|
"get": {
|
|
"operationId": "aiConfiguration.getDrivers",
|
|
"summary": "Return the AI driver list for the admin UI \u2014 same shape as the exchange rate endpoint",
|
|
"tags": [
|
|
"AiConfiguration"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"ai_drivers": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string"
|
|
},
|
|
"label": {},
|
|
"website": {},
|
|
"default_base_url": {},
|
|
"supported_roles": {},
|
|
"suggested_models": {},
|
|
"config_fields": {}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"label",
|
|
"website",
|
|
"default_base_url",
|
|
"supported_roles",
|
|
"suggested_models",
|
|
"config_fields"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"ai_drivers"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/ai/config": {
|
|
"get": {
|
|
"operationId": "aiConfiguration.getConfig",
|
|
"summary": "Get the global AI configuration with decrypted API key masked for response",
|
|
"tags": [
|
|
"AiConfiguration"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"operationId": "aiConfiguration.saveConfig",
|
|
"description": "If the submitted api_key is the masked placeholder, we retain the stored value \u2014\notherwise the user would have to re-enter the key every time they save the form.",
|
|
"summary": "Persist the global AI configuration",
|
|
"tags": [
|
|
"AiConfiguration"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"use_custom_ai_config": {
|
|
"type": "string"
|
|
},
|
|
"ai_enabled": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"enum": [
|
|
"YES",
|
|
"NO"
|
|
]
|
|
},
|
|
"ai_driver": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"enum": [
|
|
"openrouter"
|
|
]
|
|
},
|
|
"ai_api_key": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"ai_base_url": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"format": "uri"
|
|
},
|
|
"ai_chat_enabled": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"enum": [
|
|
"YES",
|
|
"NO"
|
|
]
|
|
},
|
|
"ai_chat_model": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"maxLength": 200
|
|
},
|
|
"ai_text_generation_enabled": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"enum": [
|
|
"YES",
|
|
"NO"
|
|
]
|
|
},
|
|
"ai_text_generation_model": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"maxLength": 200
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "string",
|
|
"const": "ai_variables_save_successfully"
|
|
}
|
|
},
|
|
"required": [
|
|
"success"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/ai/test": {
|
|
"post": {
|
|
"operationId": "aiConfiguration.testConnection",
|
|
"summary": "Test the currently configured AI provider by instantiating its driver and calling validateConnection()",
|
|
"tags": [
|
|
"AiConfiguration"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"ai_driver": {
|
|
"type": "string"
|
|
},
|
|
"ai_api_key": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"ai_base_url": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"format": "uri"
|
|
}
|
|
},
|
|
"required": [
|
|
"ai_driver"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
},
|
|
"details": {
|
|
"type": "object",
|
|
"additionalProperties": {}
|
|
}
|
|
},
|
|
"required": [
|
|
"success",
|
|
"details"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/installation/set-domain": {
|
|
"put": {
|
|
"operationId": "setup.appDomain",
|
|
"tags": [
|
|
"AppDomain"
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DomainEnvironmentRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"success"
|
|
]
|
|
},
|
|
{
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "string",
|
|
"const": "domain_variable_save_successfully"
|
|
}
|
|
},
|
|
"required": [
|
|
"success"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"error": {
|
|
"type": "string",
|
|
"const": "domain_verification_failed"
|
|
}
|
|
},
|
|
"required": [
|
|
"error"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/app/version": {
|
|
"get": {
|
|
"operationId": "appVersion",
|
|
"summary": "Handle the incoming request",
|
|
"tags": [
|
|
"AppVersion"
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"version": {
|
|
"anyOf": [
|
|
{
|
|
"type": "null"
|
|
},
|
|
{
|
|
"type": "array",
|
|
"items": {}
|
|
},
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "object"
|
|
}
|
|
]
|
|
},
|
|
"channel": {
|
|
"type": "string",
|
|
"const": "stable"
|
|
}
|
|
},
|
|
"required": [
|
|
"version",
|
|
"channel"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/auth/login": {
|
|
"post": {
|
|
"operationId": "auth.login",
|
|
"tags": [
|
|
"Auth"
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/LoginRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "Bearer"
|
|
},
|
|
"token": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"token"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/auth/logout": {
|
|
"post": {
|
|
"operationId": "auth.logout",
|
|
"tags": [
|
|
"Auth"
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"success"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/auth/check": {
|
|
"get": {
|
|
"operationId": "auth.check",
|
|
"tags": [
|
|
"Auth"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/backups": {
|
|
"get": {
|
|
"operationId": "backups.index",
|
|
"tags": [
|
|
"Backups"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"backups": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"minItems": 0,
|
|
"maxItems": 0,
|
|
"additionalItems": false
|
|
},
|
|
"error": {
|
|
"type": "string",
|
|
"const": "invalid_disk_credentials"
|
|
},
|
|
"error_message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"backups",
|
|
"error",
|
|
"error_message"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"backups": {
|
|
"type": "array",
|
|
"items": {}
|
|
}
|
|
},
|
|
"required": [
|
|
"backups"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"operationId": "backups.store",
|
|
"tags": [
|
|
"Backups"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"success"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/backups/{disk}": {
|
|
"delete": {
|
|
"operationId": "backups.destroy",
|
|
"tags": [
|
|
"Backups"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "disk",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "path",
|
|
"in": "query",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"success"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/download-backup": {
|
|
"get": {
|
|
"operationId": "backups.download",
|
|
"tags": [
|
|
"Backups"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "path",
|
|
"in": "query",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/zip": {
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"headers": {
|
|
"Transfer-Encoding": {
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string",
|
|
"enum": [
|
|
"chunked"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/bootstrap": {
|
|
"get": {
|
|
"operationId": "company.general.bootstrap",
|
|
"summary": "Handle the incoming request",
|
|
"tags": [
|
|
"Bootstrap"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"current_user": {
|
|
"$ref": "#/components/schemas/UserResource"
|
|
},
|
|
"current_user_settings": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"current_user_abilities": {
|
|
"type": "object"
|
|
},
|
|
"companies": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/CompanyResource"
|
|
}
|
|
},
|
|
"current_company": {
|
|
"$ref": "#/components/schemas/CompanyResource"
|
|
},
|
|
"current_company_settings": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"current_company_currency": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/Currency"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"config": {
|
|
"type": "string"
|
|
},
|
|
"global_settings": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"ai": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"chat_enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"text_generation_enabled": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"enabled",
|
|
"chat_enabled",
|
|
"text_generation_enabled"
|
|
]
|
|
},
|
|
"main_menu": {
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"link": {
|
|
"type": "string"
|
|
},
|
|
"icon": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"group": {
|
|
"type": "string"
|
|
},
|
|
"group_label": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
""
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"priority": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "integer",
|
|
"enum": [
|
|
100
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"link",
|
|
"icon",
|
|
"name",
|
|
"group",
|
|
"group_label",
|
|
"priority"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"link": {
|
|
"type": "string"
|
|
},
|
|
"icon": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"group": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"modules"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"group_label": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"navigation.modules"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"priority": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "integer",
|
|
"enum": [
|
|
100
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"link",
|
|
"icon",
|
|
"name",
|
|
"group",
|
|
"group_label",
|
|
"priority"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"setting_menu": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"link": {
|
|
"type": "string"
|
|
},
|
|
"icon": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"group": {
|
|
"type": "string"
|
|
},
|
|
"group_label": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
""
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"priority": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "integer",
|
|
"enum": [
|
|
100
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"link",
|
|
"icon",
|
|
"name",
|
|
"group",
|
|
"group_label",
|
|
"priority"
|
|
]
|
|
}
|
|
},
|
|
"modules": {
|
|
"type": "array",
|
|
"items": {}
|
|
},
|
|
"user_menu": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"link": {
|
|
"type": "string"
|
|
},
|
|
"icon": {
|
|
"type": "string"
|
|
},
|
|
"priority": {
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"link",
|
|
"icon",
|
|
"name"
|
|
]
|
|
}
|
|
},
|
|
"pending_invitations": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/CompanyInvitationResource"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"current_user",
|
|
"current_user_settings",
|
|
"current_user_abilities",
|
|
"companies",
|
|
"current_company",
|
|
"current_company_settings",
|
|
"current_company_currency",
|
|
"config",
|
|
"global_settings",
|
|
"ai",
|
|
"main_menu",
|
|
"setting_menu",
|
|
"modules",
|
|
"user_menu",
|
|
"pending_invitations"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"current_user": {
|
|
"$ref": "#/components/schemas/UserResource"
|
|
},
|
|
"current_user_settings": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"current_user_abilities": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"minItems": 0,
|
|
"maxItems": 0,
|
|
"additionalItems": false
|
|
},
|
|
"companies": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"minItems": 0,
|
|
"maxItems": 0,
|
|
"additionalItems": false
|
|
},
|
|
"current_company": {
|
|
"type": "null"
|
|
},
|
|
"current_company_settings": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"minItems": 0,
|
|
"maxItems": 0,
|
|
"additionalItems": false
|
|
},
|
|
"current_company_currency": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/Currency"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"config": {
|
|
"type": "string"
|
|
},
|
|
"global_settings": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"main_menu": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"minItems": 0,
|
|
"maxItems": 0,
|
|
"additionalItems": false
|
|
},
|
|
"setting_menu": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"minItems": 0,
|
|
"maxItems": 0,
|
|
"additionalItems": false
|
|
},
|
|
"modules": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"minItems": 0,
|
|
"maxItems": 0,
|
|
"additionalItems": false
|
|
},
|
|
"pending_invitations": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/CompanyInvitationResource"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"current_user",
|
|
"current_user_settings",
|
|
"current_user_abilities",
|
|
"companies",
|
|
"current_company",
|
|
"current_company_settings",
|
|
"current_company_currency",
|
|
"config",
|
|
"global_settings",
|
|
"main_menu",
|
|
"setting_menu",
|
|
"modules",
|
|
"pending_invitations"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"current_user": {
|
|
"$ref": "#/components/schemas/UserResource"
|
|
},
|
|
"current_user_settings": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"current_user_abilities": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"minItems": 0,
|
|
"maxItems": 0,
|
|
"additionalItems": false
|
|
},
|
|
"companies": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/CompanyResource"
|
|
}
|
|
},
|
|
"current_company": {
|
|
"type": "null"
|
|
},
|
|
"current_company_settings": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"minItems": 0,
|
|
"maxItems": 0,
|
|
"additionalItems": false
|
|
},
|
|
"current_company_currency": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/Currency"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"config": {
|
|
"type": "string"
|
|
},
|
|
"global_settings": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"main_menu": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"link": {
|
|
"type": "string"
|
|
},
|
|
"icon": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"group": {
|
|
"type": "string"
|
|
},
|
|
"group_label": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
""
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"priority": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "integer",
|
|
"enum": [
|
|
100
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"link",
|
|
"icon",
|
|
"name",
|
|
"group",
|
|
"group_label",
|
|
"priority"
|
|
]
|
|
}
|
|
},
|
|
"setting_menu": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"minItems": 0,
|
|
"maxItems": 0,
|
|
"additionalItems": false
|
|
},
|
|
"modules": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"minItems": 0,
|
|
"maxItems": 0,
|
|
"additionalItems": false
|
|
},
|
|
"admin_mode": {
|
|
"type": "boolean"
|
|
},
|
|
"pending_invitations": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/CompanyInvitationResource"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"current_user",
|
|
"current_user_settings",
|
|
"current_user_abilities",
|
|
"companies",
|
|
"current_company",
|
|
"current_company_settings",
|
|
"current_company_currency",
|
|
"config",
|
|
"global_settings",
|
|
"main_menu",
|
|
"setting_menu",
|
|
"modules",
|
|
"admin_mode",
|
|
"pending_invitations"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/current-company": {
|
|
"get": {
|
|
"operationId": "bootstrap.currentCompany",
|
|
"tags": [
|
|
"Bootstrap"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "`CompanyResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/CompanyResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/{company}/customer/bootstrap": {
|
|
"get": {
|
|
"operationId": "customerPortal.general.bootstrap",
|
|
"summary": "Handle the incoming request",
|
|
"tags": [
|
|
"Bootstrap"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "`App.Http.Resources.Customer.CustomerResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/App.Http.Resources.Customer.CustomerResource"
|
|
},
|
|
"meta": {
|
|
"type": "object",
|
|
"properties": {
|
|
"menu": {
|
|
"type": "string"
|
|
},
|
|
"current_customer_currency": {
|
|
"type": "string"
|
|
},
|
|
"current_company_currency": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"modules": {
|
|
"type": "array",
|
|
"items": {}
|
|
},
|
|
"current_company_language": {
|
|
"type": "null"
|
|
}
|
|
},
|
|
"required": [
|
|
"menu",
|
|
"current_customer_currency",
|
|
"current_company_currency",
|
|
"modules",
|
|
"current_company_language"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"data",
|
|
"meta"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/ai/chat": {
|
|
"post": {
|
|
"operationId": "ai.chat",
|
|
"description": "If `conversation_id` is omitted (or belongs to a conversation the user\ndoesn't own), we start a fresh conversation scoped to the current\n(company_id, user_id). This matches the \"new chat\" UX where the user\nopens the drawer and starts typing immediately.",
|
|
"summary": "Send a message into a conversation and get the assistant's reply",
|
|
"tags": [
|
|
"Chat"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"conversation_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"maxLength": 10000
|
|
}
|
|
},
|
|
"required": [
|
|
"message"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"conversation": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"title": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"model": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"updated_at": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"format": "date-time"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"title",
|
|
"model",
|
|
"updated_at"
|
|
]
|
|
},
|
|
"message": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"role": {
|
|
"type": "string"
|
|
},
|
|
"content": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"created_at": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"role",
|
|
"content",
|
|
"created_at"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"conversation",
|
|
"message"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/super-admin/companies": {
|
|
"get": {
|
|
"operationId": "companies.index",
|
|
"tags": [
|
|
"Companies"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "limit",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": 10
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Paginated set of `CompanyResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/CompanyResource"
|
|
}
|
|
},
|
|
"links": {
|
|
"type": "object",
|
|
"properties": {
|
|
"first": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"last": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"prev": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"next": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"first",
|
|
"last",
|
|
"prev",
|
|
"next"
|
|
]
|
|
},
|
|
"meta": {
|
|
"type": "object",
|
|
"properties": {
|
|
"current_page": {
|
|
"type": "integer",
|
|
"minimum": 1
|
|
},
|
|
"from": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"minimum": 1
|
|
},
|
|
"last_page": {
|
|
"type": "integer",
|
|
"minimum": 1
|
|
},
|
|
"links": {
|
|
"type": "array",
|
|
"description": "Generated paginator links.",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"label": {
|
|
"type": "string"
|
|
},
|
|
"active": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"active"
|
|
]
|
|
}
|
|
},
|
|
"path": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"description": "Base path for paginator generated URLs."
|
|
},
|
|
"per_page": {
|
|
"type": "integer",
|
|
"description": "Number of items shown per page.",
|
|
"minimum": 0
|
|
},
|
|
"to": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "Number of the last item in the slice.",
|
|
"minimum": 1
|
|
},
|
|
"total": {
|
|
"type": "integer",
|
|
"description": "Total number of items being paginated.",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"required": [
|
|
"current_page",
|
|
"from",
|
|
"last_page",
|
|
"links",
|
|
"path",
|
|
"per_page",
|
|
"to",
|
|
"total"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"data",
|
|
"links",
|
|
"meta"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/super-admin/companies/{company}": {
|
|
"get": {
|
|
"operationId": "companies.show",
|
|
"tags": [
|
|
"Companies"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The company ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "`CompanyResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/CompanyResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"operationId": "companies.update",
|
|
"tags": [
|
|
"Companies"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The company ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AdminCompanyUpdateRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "`CompanyResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/CompanyResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/companies": {
|
|
"post": {
|
|
"operationId": "companies.store",
|
|
"tags": [
|
|
"Companies"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CompaniesRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "`CompanyResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/CompanyResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
},
|
|
"get": {
|
|
"operationId": "companies.userCompanies",
|
|
"tags": [
|
|
"Companies"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Array of `CompanyResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/CompanyResource"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/companies/delete": {
|
|
"post": {
|
|
"operationId": "companies.destroy",
|
|
"tags": [
|
|
"Companies"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"success"
|
|
]
|
|
},
|
|
{
|
|
"type": "string"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/company": {
|
|
"put": {
|
|
"operationId": "company.updateCompany",
|
|
"tags": [
|
|
"Company"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CompanyRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "`CompanyResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/CompanyResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/company/upload-logo": {
|
|
"post": {
|
|
"operationId": "company.uploadCompanyLogo",
|
|
"tags": [
|
|
"Company"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CompanyLogoRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"success"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/company/ai/config": {
|
|
"get": {
|
|
"operationId": "companyAiConfiguration.getConfig",
|
|
"summary": "Get the per-company AI config with decrypted API key masked for response",
|
|
"tags": [
|
|
"CompanyAiConfiguration"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"operationId": "companyAiConfiguration.saveConfig",
|
|
"description": "Respects the `use_custom_ai_config` toggle \u2014 when OFF, only the toggle is written\nand the driver fields are discarded (same pattern as the mail company override).",
|
|
"summary": "Persist the per-company AI config",
|
|
"tags": [
|
|
"CompanyAiConfiguration"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"use_custom_ai_config": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"enum": [
|
|
"YES",
|
|
"NO"
|
|
]
|
|
},
|
|
"ai_enabled": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"enum": [
|
|
"YES",
|
|
"NO"
|
|
]
|
|
},
|
|
"ai_driver": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"enum": [
|
|
"openrouter"
|
|
]
|
|
},
|
|
"ai_api_key": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"ai_base_url": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"format": "uri"
|
|
},
|
|
"ai_chat_enabled": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"enum": [
|
|
"YES",
|
|
"NO"
|
|
]
|
|
},
|
|
"ai_chat_model": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"maxLength": 200
|
|
},
|
|
"ai_text_generation_enabled": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"enum": [
|
|
"YES",
|
|
"NO"
|
|
]
|
|
},
|
|
"ai_text_generation_model": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"maxLength": 200
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"success"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/company/ai/test": {
|
|
"post": {
|
|
"operationId": "companyAiConfiguration.testConnection",
|
|
"summary": "Test a company-level AI configuration without persisting it",
|
|
"tags": [
|
|
"CompanyAiConfiguration"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"ai_driver": {
|
|
"type": "string"
|
|
},
|
|
"ai_api_key": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"ai_base_url": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"format": "uri"
|
|
}
|
|
},
|
|
"required": [
|
|
"ai_driver"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
},
|
|
"details": {
|
|
"type": "object",
|
|
"additionalProperties": {}
|
|
}
|
|
},
|
|
"required": [
|
|
"success",
|
|
"details"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/company/mail/config": {
|
|
"get": {
|
|
"operationId": "companyMailConfiguration.getDefaultConfig",
|
|
"tags": [
|
|
"CompanyMailConfiguration"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"from_name": {
|
|
"type": "string"
|
|
},
|
|
"from_mail": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"from_name",
|
|
"from_mail"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/company/mail/company-config": {
|
|
"get": {
|
|
"operationId": "companyMailConfiguration.getMailConfig",
|
|
"tags": [
|
|
"CompanyMailConfiguration"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"operationId": "companyMailConfiguration.saveMailConfig",
|
|
"tags": [
|
|
"CompanyMailConfiguration"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CompanyMailConfigurationRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"success"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/company/mail/company-test": {
|
|
"post": {
|
|
"operationId": "companyMailConfiguration.testMailConfig",
|
|
"tags": [
|
|
"CompanyMailConfiguration"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"to": {
|
|
"type": "string",
|
|
"format": "email"
|
|
},
|
|
"subject": {
|
|
"type": "string"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"to",
|
|
"subject",
|
|
"message"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"success"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/company-modules": {
|
|
"get": {
|
|
"operationId": "companyModules.index",
|
|
"tags": [
|
|
"CompanyModules"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"slug": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"display_name": {
|
|
"type": "string"
|
|
},
|
|
"version": {
|
|
"type": "string"
|
|
},
|
|
"has_settings": {
|
|
"type": "boolean"
|
|
},
|
|
"menu": {
|
|
"type": [
|
|
"object",
|
|
"null"
|
|
],
|
|
"properties": {
|
|
"": {
|
|
"type": [
|
|
"object",
|
|
"null"
|
|
],
|
|
"properties": {
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"link": {
|
|
"type": "string"
|
|
},
|
|
"icon": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"title",
|
|
"link",
|
|
"icon"
|
|
]
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
null,
|
|
"title"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"slug",
|
|
"name",
|
|
"display_name",
|
|
"version",
|
|
"has_settings",
|
|
"menu"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/company/settings": {
|
|
"get": {
|
|
"operationId": "companySettings.show",
|
|
"tags": [
|
|
"CompanySettings"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "settings[]",
|
|
"in": "query",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"operationId": "companySettings.update",
|
|
"tags": [
|
|
"CompanySettings"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UpdateSettingsRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"success"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"const": "Cannot update company currency after transactions are created."
|
|
}
|
|
},
|
|
"required": [
|
|
"success",
|
|
"message"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/company/has-transactions": {
|
|
"get": {
|
|
"operationId": "companySettings.checkTransactions",
|
|
"tags": [
|
|
"CompanySettings"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"has_transactions": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"has_transactions"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/transfer/ownership/{user}": {
|
|
"post": {
|
|
"operationId": "companySettings.transferOwnership",
|
|
"tags": [
|
|
"CompanySettings"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "user",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The user ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"success"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"const": "User does not belong to this company."
|
|
}
|
|
},
|
|
"required": [
|
|
"success",
|
|
"message"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/config": {
|
|
"get": {
|
|
"operationId": "general.config",
|
|
"summary": "Handle the incoming request",
|
|
"tags": [
|
|
"Config"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "array",
|
|
"prefixItems": [
|
|
{
|
|
"type": "string"
|
|
}
|
|
],
|
|
"minItems": 1,
|
|
"maxItems": 1,
|
|
"additionalItems": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"exchange_rate_drivers": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string"
|
|
},
|
|
"label": {},
|
|
"website": {},
|
|
"config_fields": {}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"label",
|
|
"website",
|
|
"config_fields"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"exchange_rate_drivers"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/ai/conversations": {
|
|
"get": {
|
|
"operationId": "conversation.index",
|
|
"summary": "List the current user's conversations for the current company",
|
|
"tags": [
|
|
"Conversation"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"conversations": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/AiConversation"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"conversations"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/ai/conversations/{id}": {
|
|
"get": {
|
|
"operationId": "conversation.show",
|
|
"summary": "Show a single conversation with its full message history",
|
|
"tags": [
|
|
"Conversation"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"conversation": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"title": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"model": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"created_at": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"format": "date-time"
|
|
},
|
|
"updated_at": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"format": "date-time"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"title",
|
|
"model",
|
|
"created_at",
|
|
"updated_at"
|
|
]
|
|
},
|
|
"messages": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/AiMessage"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"conversation",
|
|
"messages"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
},
|
|
"patch": {
|
|
"operationId": "conversation.update",
|
|
"summary": "Rename a conversation",
|
|
"tags": [
|
|
"Conversation"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"maxLength": 255
|
|
}
|
|
},
|
|
"required": [
|
|
"title"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"success"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"operationId": "conversation.destroy",
|
|
"summary": "Delete a conversation (cascades to messages via DB foreign key)",
|
|
"tags": [
|
|
"Conversation"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"success"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/countries": {
|
|
"get": {
|
|
"operationId": "admin.countries_0",
|
|
"summary": "Handle the incoming request",
|
|
"tags": [
|
|
"Countries"
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Array of `CountryResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/CountryResource"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/{company}/customer/countries": {
|
|
"get": {
|
|
"operationId": "admin.countries_0",
|
|
"summary": "Handle the incoming request",
|
|
"tags": [
|
|
"Countries"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Array of `CountryResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/CountryResource"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/currencies": {
|
|
"get": {
|
|
"operationId": "admin.currencies",
|
|
"tags": [
|
|
"Currencies"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Array of `CurrencyResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/CurrencyResource"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/custom-fields": {
|
|
"get": {
|
|
"operationId": "custom-fields.index",
|
|
"summary": "Display a listing of the resource",
|
|
"tags": [
|
|
"CustomFields"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Array of `CustomFieldResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/CustomFieldResource"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"operationId": "custom-fields.store",
|
|
"summary": "Store a newly created resource in storage",
|
|
"tags": [
|
|
"CustomFields"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CustomFieldRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "`CustomFieldResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/CustomFieldResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/custom-fields/{customField}": {
|
|
"get": {
|
|
"operationId": "custom-fields.show",
|
|
"summary": "Display the specified resource",
|
|
"tags": [
|
|
"CustomFields"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "customField",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The custom field ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "`CustomFieldResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/CustomFieldResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"operationId": "custom-fields.update",
|
|
"summary": "Update the specified resource in storage",
|
|
"tags": [
|
|
"CustomFields"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "customField",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The custom field ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CustomFieldRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "`CustomFieldResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/CustomFieldResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"operationId": "custom-fields.destroy",
|
|
"summary": "Remove the specified resource from storage",
|
|
"tags": [
|
|
"CustomFields"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "customField",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The custom field ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"success"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/customers/{customer}/stats": {
|
|
"get": {
|
|
"operationId": "customer.customerStats",
|
|
"tags": [
|
|
"CustomerStats"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "customer",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The customer ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "`CustomerResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/CustomerResource"
|
|
},
|
|
"meta": {
|
|
"type": "object",
|
|
"properties": {
|
|
"chartData": {
|
|
"type": "object",
|
|
"properties": {
|
|
"months": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"minItems": 0,
|
|
"maxItems": 0,
|
|
"additionalItems": false
|
|
},
|
|
"invoiceTotals": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"minItems": 0,
|
|
"maxItems": 0,
|
|
"additionalItems": false
|
|
},
|
|
"expenseTotals": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"minItems": 0,
|
|
"maxItems": 0,
|
|
"additionalItems": false
|
|
},
|
|
"receiptTotals": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"minItems": 0,
|
|
"maxItems": 0,
|
|
"additionalItems": false
|
|
},
|
|
"netProfit": {
|
|
"type": "string"
|
|
},
|
|
"netProfits": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"minItems": 0,
|
|
"maxItems": 0,
|
|
"additionalItems": false
|
|
},
|
|
"salesTotal": {},
|
|
"totalReceipts": {},
|
|
"totalExpenses": {}
|
|
},
|
|
"required": [
|
|
"months",
|
|
"invoiceTotals",
|
|
"expenseTotals",
|
|
"receiptTotals",
|
|
"netProfit",
|
|
"netProfits",
|
|
"salesTotal",
|
|
"totalReceipts",
|
|
"totalExpenses"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"chartData"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"data",
|
|
"meta"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/customers/delete": {
|
|
"post": {
|
|
"operationId": "customers.delete",
|
|
"summary": "Remove a list of Customers along side all their resources (ie. Estimates, Invoices, Payments and Addresses)",
|
|
"tags": [
|
|
"Customers"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DeleteCustomersRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"success"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/customers": {
|
|
"get": {
|
|
"operationId": "customers.index",
|
|
"summary": "Display a listing of the resource",
|
|
"tags": [
|
|
"Customers"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Array of `CustomerResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/CustomerResource"
|
|
}
|
|
},
|
|
"meta": {
|
|
"type": "object",
|
|
"properties": {
|
|
"customer_total_count": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"required": [
|
|
"customer_total_count"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"data",
|
|
"meta"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"operationId": "customers.store",
|
|
"summary": "Store a newly created resource in storage",
|
|
"tags": [
|
|
"Customers"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CustomerRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "`CustomerResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/CustomerResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/customers/{customer}": {
|
|
"get": {
|
|
"operationId": "customers.show",
|
|
"summary": "Display the specified resource",
|
|
"tags": [
|
|
"Customers"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "customer",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The customer ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "`CustomerResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/CustomerResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"operationId": "customers.update",
|
|
"summary": "Update the specified resource in storage",
|
|
"tags": [
|
|
"Customers"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "customer",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The customer ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CustomerRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "`CustomerResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/CustomerResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/dashboard": {
|
|
"get": {
|
|
"operationId": "dashboard.dashboard",
|
|
"summary": "Handle the incoming request",
|
|
"tags": [
|
|
"Dashboard"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"total_amount_due": {},
|
|
"total_customer_count": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"total_invoice_count": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"total_estimate_count": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"recent_due_invoices": {
|
|
"anyOf": [
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Invoice"
|
|
}
|
|
},
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"minItems": 0,
|
|
"maxItems": 0,
|
|
"additionalItems": false
|
|
}
|
|
]
|
|
},
|
|
"recent_estimates": {
|
|
"anyOf": [
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Estimate"
|
|
}
|
|
},
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"minItems": 0,
|
|
"maxItems": 0,
|
|
"additionalItems": false
|
|
}
|
|
]
|
|
},
|
|
"chart_data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"months": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"invoice_totals": {
|
|
"type": "array",
|
|
"items": {}
|
|
},
|
|
"expense_totals": {
|
|
"type": "array",
|
|
"items": {}
|
|
},
|
|
"receipt_totals": {
|
|
"type": "array",
|
|
"items": {}
|
|
},
|
|
"net_income_totals": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"months",
|
|
"invoice_totals",
|
|
"expense_totals",
|
|
"receipt_totals",
|
|
"net_income_totals"
|
|
]
|
|
},
|
|
"total_sales": {},
|
|
"total_receipts": {},
|
|
"total_expenses": {},
|
|
"total_net_income": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"total_amount_due",
|
|
"total_customer_count",
|
|
"total_invoice_count",
|
|
"total_estimate_count",
|
|
"recent_due_invoices",
|
|
"recent_estimates",
|
|
"chart_data",
|
|
"total_sales",
|
|
"total_receipts",
|
|
"total_expenses",
|
|
"total_net_income"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/{company}/customer/dashboard": {
|
|
"get": {
|
|
"operationId": "general.dashboard",
|
|
"summary": "Handle the incoming request",
|
|
"tags": [
|
|
"Dashboard"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"due_amount": {},
|
|
"recentInvoices": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Invoice"
|
|
}
|
|
},
|
|
"recentEstimates": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Estimate"
|
|
}
|
|
},
|
|
"invoice_count": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"estimate_count": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"payment_count": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"required": [
|
|
"due_amount",
|
|
"recentInvoices",
|
|
"recentEstimates",
|
|
"invoice_count",
|
|
"estimate_count",
|
|
"payment_count"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/installation/database/config": {
|
|
"post": {
|
|
"operationId": "databaseConfiguration.saveDatabaseEnvironment",
|
|
"tags": [
|
|
"DatabaseConfiguration"
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DatabaseEnvironmentRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
},
|
|
"get": {
|
|
"operationId": "databaseConfiguration.getDatabaseEnvironment",
|
|
"tags": [
|
|
"DatabaseConfiguration"
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"config": {
|
|
"type": "object",
|
|
"properties": {
|
|
"database_connection": {
|
|
"type": "string",
|
|
"const": "mysql"
|
|
},
|
|
"database_host": {
|
|
"type": "string",
|
|
"const": "127.0.0.1"
|
|
},
|
|
"database_port": {
|
|
"type": "integer",
|
|
"const": 3306
|
|
}
|
|
},
|
|
"required": [
|
|
"database_connection",
|
|
"database_host",
|
|
"database_port"
|
|
]
|
|
},
|
|
"success": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"config",
|
|
"success"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/disks": {
|
|
"get": {
|
|
"operationId": "disks.index",
|
|
"tags": [
|
|
"Disk"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Array of `FileDiskResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/FileDiskResource"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"operationId": "disks.store",
|
|
"tags": [
|
|
"Disk"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DiskEnvironmentRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/disks/{disk}": {
|
|
"get": {
|
|
"operationId": "disks.show",
|
|
"tags": [
|
|
"Disk"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "disk",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"token": {
|
|
"type": "string"
|
|
},
|
|
"key": {
|
|
"type": "string"
|
|
},
|
|
"secret": {
|
|
"type": "string"
|
|
},
|
|
"app": {
|
|
"type": "string"
|
|
},
|
|
"root": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"token",
|
|
"key",
|
|
"secret",
|
|
"app",
|
|
"root"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"operationId": "disks.update",
|
|
"tags": [
|
|
"Disk"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "disk",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The disk ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "`FileDiskResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/FileDiskResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"operationId": "disks.destroy",
|
|
"summary": "Remove the specified resource from storage",
|
|
"tags": [
|
|
"Disk"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "disk",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The disk ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/disk/drivers": {
|
|
"get": {
|
|
"operationId": "disk.getDiskDrivers",
|
|
"tags": [
|
|
"Disk"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"drivers": {
|
|
"type": "array",
|
|
"prefixItems": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"const": "Local"
|
|
},
|
|
"value": {
|
|
"type": "string",
|
|
"const": "local"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"value"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"const": "Amazon S3"
|
|
},
|
|
"value": {
|
|
"type": "string",
|
|
"const": "s3"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"value"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"const": "S3 Compatible Storage"
|
|
},
|
|
"value": {
|
|
"type": "string",
|
|
"const": "s3compat"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"value"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"const": "Digital Ocean Spaces"
|
|
},
|
|
"value": {
|
|
"type": "string",
|
|
"const": "doSpaces"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"value"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"const": "Dropbox"
|
|
},
|
|
"value": {
|
|
"type": "string",
|
|
"const": "dropbox"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"value"
|
|
]
|
|
}
|
|
],
|
|
"minItems": 5,
|
|
"maxItems": 5,
|
|
"additionalItems": false
|
|
},
|
|
"default": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"local"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"drivers",
|
|
"default"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/disk/purposes": {
|
|
"get": {
|
|
"operationId": "disk.getDiskPurposes",
|
|
"tags": [
|
|
"Disk"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"media_disk_id": {
|
|
"type": "string"
|
|
},
|
|
"pdf_disk_id": {
|
|
"type": "string"
|
|
},
|
|
"backup_disk_id": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"media_disk_id",
|
|
"pdf_disk_id",
|
|
"backup_disk_id"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"operationId": "disk.updateDiskPurposes",
|
|
"tags": [
|
|
"Disk"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"media_disk_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"pdf_disk_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"backup_disk_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"success"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/estimates/templates": {
|
|
"get": {
|
|
"operationId": "estimate.estimateTemplates",
|
|
"summary": "Handle the incoming request",
|
|
"tags": [
|
|
"EstimateTemplates"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"estimateTemplates": {
|
|
"type": "array",
|
|
"items": {}
|
|
}
|
|
},
|
|
"required": [
|
|
"estimateTemplates"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/estimates/{estimate}/send/preview": {
|
|
"get": {
|
|
"operationId": "estimates.sendPreview",
|
|
"tags": [
|
|
"Estimates"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "estimate",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The estimate ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "subject",
|
|
"in": "query",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "body",
|
|
"in": "query",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "from",
|
|
"in": "query",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "to",
|
|
"in": "query",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "cc",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "bcc",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/estimates/{estimate}/send": {
|
|
"post": {
|
|
"operationId": "estimates.send",
|
|
"tags": [
|
|
"Estimates"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "estimate",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The estimate ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SendEstimatesRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"const": "send"
|
|
}
|
|
},
|
|
"required": [
|
|
"success",
|
|
"type"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/estimates/{estimate}/clone": {
|
|
"post": {
|
|
"operationId": "estimates.clone",
|
|
"tags": [
|
|
"Estimates"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "estimate",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The estimate ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "`EstimateResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/EstimateResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/estimates/{estimate}/status": {
|
|
"post": {
|
|
"operationId": "estimates.changeStatus",
|
|
"tags": [
|
|
"Estimates"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "estimate",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The estimate ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"success"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/estimates/{estimate}/convert-to-invoice": {
|
|
"post": {
|
|
"operationId": "estimates.convertToInvoice",
|
|
"tags": [
|
|
"Estimates"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "estimate",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The estimate ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "`InvoiceResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/InvoiceResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/estimates/delete": {
|
|
"post": {
|
|
"operationId": "estimates.delete",
|
|
"tags": [
|
|
"Estimates"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DeleteEstimatesRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"success"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/estimates": {
|
|
"get": {
|
|
"operationId": "estimates.index",
|
|
"tags": [
|
|
"Estimates"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Array of `EstimateResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/EstimateResource"
|
|
}
|
|
},
|
|
"meta": {
|
|
"type": "object",
|
|
"properties": {
|
|
"estimate_total_count": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"required": [
|
|
"estimate_total_count"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"data",
|
|
"meta"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"operationId": "estimates.store",
|
|
"tags": [
|
|
"Estimates"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/EstimatesRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "`EstimateResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/EstimateResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/estimates/{estimate}": {
|
|
"get": {
|
|
"operationId": "estimates.show",
|
|
"tags": [
|
|
"Estimates"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "estimate",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The estimate ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "`EstimateResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/EstimateResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"operationId": "estimates.update",
|
|
"tags": [
|
|
"Estimates"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "estimate",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The estimate ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "`EstimateResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/EstimateResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/{company}/customer/estimates": {
|
|
"get": {
|
|
"operationId": "customerPortal.estimate.estimates.index",
|
|
"summary": "Display a listing of the resource",
|
|
"tags": [
|
|
"Estimates"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Array of `App.Http.Resources.Customer.EstimateResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/App.Http.Resources.Customer.EstimateResource"
|
|
}
|
|
},
|
|
"meta": {
|
|
"type": "object",
|
|
"properties": {
|
|
"estimateTotalCount": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"required": [
|
|
"estimateTotalCount"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"data",
|
|
"meta"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/{company}/customer/estimates/{id}": {
|
|
"get": {
|
|
"operationId": "customerPortal.estimate.estimates.show",
|
|
"summary": "Display the specified resource",
|
|
"tags": [
|
|
"Estimates"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The company slug",
|
|
"schema": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/currencies/used": {
|
|
"get": {
|
|
"operationId": "exchangeRateProvider.usedCurrenciesWithoutRate",
|
|
"tags": [
|
|
"ExchangeRateProvider"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"currencies": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Currency"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"currencies"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/currencies/bulk-update-exchange-rate": {
|
|
"post": {
|
|
"operationId": "exchangeRateProvider.bulkUpdate",
|
|
"tags": [
|
|
"ExchangeRateProvider"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BulkExchangeRateRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"error": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"error"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"success"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/currencies/{currency}/exchange-rate": {
|
|
"get": {
|
|
"operationId": "exchangeRateProvider.getRate",
|
|
"tags": [
|
|
"ExchangeRateProvider"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "currency",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The currency ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"error": {
|
|
"type": "string",
|
|
"const": "no_exchange_rate_available"
|
|
}
|
|
},
|
|
"required": [
|
|
"error"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"exchangeRate": {
|
|
"type": "array",
|
|
"prefixItems": [
|
|
{}
|
|
],
|
|
"minItems": 1,
|
|
"maxItems": 1,
|
|
"additionalItems": false
|
|
}
|
|
},
|
|
"required": [
|
|
"exchangeRate"
|
|
]
|
|
},
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"exchangeRate": {
|
|
"type": "array",
|
|
"items": {}
|
|
}
|
|
},
|
|
"required": [
|
|
"exchangeRate"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/currencies/{currency}/active-provider": {
|
|
"get": {
|
|
"operationId": "exchangeRateProvider.activeProvider",
|
|
"tags": [
|
|
"ExchangeRateProvider"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "currency",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The currency ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"error": {
|
|
"type": "string",
|
|
"const": "no_active_provider"
|
|
}
|
|
},
|
|
"required": [
|
|
"error"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"const": "provider_active"
|
|
}
|
|
},
|
|
"required": [
|
|
"success",
|
|
"message"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/used-currencies": {
|
|
"get": {
|
|
"operationId": "exchangeRateProvider.usedCurrencies",
|
|
"tags": [
|
|
"ExchangeRateProvider"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"allUsedCurrencies": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"activeUsedCurrencies": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"allUsedCurrencies",
|
|
"activeUsedCurrencies"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/supported-currencies": {
|
|
"get": {
|
|
"operationId": "exchangeRateProvider.supportedCurrencies",
|
|
"tags": [
|
|
"ExchangeRateProvider"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"supportedCurrencies": {
|
|
"type": "array",
|
|
"items": {}
|
|
}
|
|
},
|
|
"required": [
|
|
"supportedCurrencies"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/exchange-rate-providers": {
|
|
"get": {
|
|
"operationId": "exchange-rate-providers.index",
|
|
"summary": "Display a listing of the resource",
|
|
"tags": [
|
|
"ExchangeRateProvider"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Paginated set of `ExchangeRateProviderResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/ExchangeRateProviderResource"
|
|
}
|
|
},
|
|
"links": {
|
|
"type": "object",
|
|
"properties": {
|
|
"first": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"last": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"prev": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"next": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"first",
|
|
"last",
|
|
"prev",
|
|
"next"
|
|
]
|
|
},
|
|
"meta": {
|
|
"type": "object",
|
|
"properties": {
|
|
"current_page": {
|
|
"type": "integer",
|
|
"minimum": 1
|
|
},
|
|
"from": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"minimum": 1
|
|
},
|
|
"last_page": {
|
|
"type": "integer",
|
|
"minimum": 1
|
|
},
|
|
"links": {
|
|
"type": "array",
|
|
"description": "Generated paginator links.",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"label": {
|
|
"type": "string"
|
|
},
|
|
"active": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"active"
|
|
]
|
|
}
|
|
},
|
|
"path": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"description": "Base path for paginator generated URLs."
|
|
},
|
|
"per_page": {
|
|
"type": "integer",
|
|
"description": "Number of items shown per page.",
|
|
"minimum": 0
|
|
},
|
|
"to": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "Number of the last item in the slice.",
|
|
"minimum": 1
|
|
},
|
|
"total": {
|
|
"type": "integer",
|
|
"description": "Total number of items being paginated.",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"required": [
|
|
"current_page",
|
|
"from",
|
|
"last_page",
|
|
"links",
|
|
"path",
|
|
"per_page",
|
|
"to",
|
|
"total"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"data",
|
|
"links",
|
|
"meta"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"operationId": "exchange-rate-providers.store",
|
|
"summary": "Store a newly created resource in storage",
|
|
"tags": [
|
|
"ExchangeRateProvider"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ExchangeRateProviderRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/exchange-rate-providers/{exchangeRateProvider}": {
|
|
"get": {
|
|
"operationId": "exchange-rate-providers.show",
|
|
"summary": "Display the specified resource",
|
|
"tags": [
|
|
"ExchangeRateProvider"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "exchangeRateProvider",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The exchange rate provider ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "`ExchangeRateProviderResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/ExchangeRateProviderResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"operationId": "exchange-rate-providers.update",
|
|
"summary": "Update the specified resource in storage",
|
|
"tags": [
|
|
"ExchangeRateProvider"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "exchangeRateProvider",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The exchange rate provider ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ExchangeRateProviderRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"operationId": "exchange-rate-providers.destroy",
|
|
"summary": "Remove the specified resource from storage",
|
|
"tags": [
|
|
"ExchangeRateProvider"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "exchangeRateProvider",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The exchange rate provider ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/categories": {
|
|
"get": {
|
|
"operationId": "categories.index",
|
|
"summary": "Display a listing of the resource",
|
|
"tags": [
|
|
"ExpenseCategories"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Array of `ExpenseCategoryResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/ExpenseCategoryResource"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"operationId": "categories.store",
|
|
"summary": "Store a newly created resource in storage",
|
|
"tags": [
|
|
"ExpenseCategories"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ExpenseCategoryRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "`ExpenseCategoryResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/ExpenseCategoryResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/categories/{category}": {
|
|
"get": {
|
|
"operationId": "categories.show",
|
|
"summary": "Display the specified resource",
|
|
"tags": [
|
|
"ExpenseCategories"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "category",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The category ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "`ExpenseCategoryResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/ExpenseCategoryResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"operationId": "categories.update",
|
|
"summary": "Update the specified resource in storage",
|
|
"tags": [
|
|
"ExpenseCategories"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "category",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The category ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ExpenseCategoryRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "`ExpenseCategoryResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/ExpenseCategoryResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"operationId": "categories.destroy",
|
|
"summary": "Remove the specified resource from storage",
|
|
"tags": [
|
|
"ExpenseCategories"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "category",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The category ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/expenses/{expense}/show/receipt": {
|
|
"get": {
|
|
"operationId": "expenses.showReceipt",
|
|
"tags": [
|
|
"Expenses"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "expense",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The expense ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"application/octet-stream": {
|
|
"schema": {
|
|
"type": "string",
|
|
"format": "binary"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/expenses/{expense}/upload/receipts": {
|
|
"post": {
|
|
"operationId": "expenses.uploadReceipt",
|
|
"tags": [
|
|
"Expenses"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "expense",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The expense ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UploadExpenseReceiptRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "string",
|
|
"const": "Expense receipts uploaded successfully"
|
|
}
|
|
},
|
|
"required": [
|
|
"success"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/expenses/delete": {
|
|
"post": {
|
|
"operationId": "expenses.delete",
|
|
"tags": [
|
|
"Expenses"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DeleteExpensesRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"success"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/expenses": {
|
|
"get": {
|
|
"operationId": "expenses.index",
|
|
"summary": "Display a listing of the resource",
|
|
"tags": [
|
|
"Expenses"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Array of `ExpenseResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/ExpenseResource"
|
|
}
|
|
},
|
|
"meta": {
|
|
"type": "object",
|
|
"properties": {
|
|
"expense_total_count": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"required": [
|
|
"expense_total_count"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"data",
|
|
"meta"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"operationId": "expenses.store",
|
|
"summary": "Store a newly created resource in storage",
|
|
"tags": [
|
|
"Expenses"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"multipart/form-data": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ExpenseRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "`ExpenseResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/ExpenseResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/expenses/{expense}": {
|
|
"get": {
|
|
"operationId": "expenses.show",
|
|
"summary": "Display the specified resource",
|
|
"tags": [
|
|
"Expenses"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "expense",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The expense ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "`ExpenseResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/ExpenseResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"operationId": "expenses.update",
|
|
"summary": "Update the specified resource in storage",
|
|
"tags": [
|
|
"Expenses"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "expense",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The expense ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"multipart/form-data": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ExpenseRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "`ExpenseResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/ExpenseResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/{company}/customer/expenses": {
|
|
"get": {
|
|
"operationId": "customerPortal.expense.expenses.index",
|
|
"summary": "Display a listing of the resource",
|
|
"tags": [
|
|
"Expenses"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Array of `App.Http.Resources.Customer.ExpenseResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/App.Http.Resources.Customer.ExpenseResource"
|
|
}
|
|
},
|
|
"meta": {
|
|
"type": "object",
|
|
"properties": {
|
|
"expenseTotalCount": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"expenseTotalCount"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"data",
|
|
"meta"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/{company}/customer/expenses/{id}": {
|
|
"get": {
|
|
"operationId": "customerPortal.expense.expenses.show",
|
|
"summary": "Display the specified resource",
|
|
"tags": [
|
|
"Expenses"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The company slug",
|
|
"schema": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/installation/permissions": {
|
|
"get": {
|
|
"operationId": "filePermissions.permissions",
|
|
"summary": "Display the permissions check page",
|
|
"tags": [
|
|
"FilePermissions"
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"permissions": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"permissions"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/installation/finish": {
|
|
"post": {
|
|
"operationId": "setup.finish",
|
|
"summary": "Handle the incoming request",
|
|
"tags": [
|
|
"Finish"
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"success"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/fonts/status": {
|
|
"get": {
|
|
"operationId": "font.status",
|
|
"tags": [
|
|
"Font"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"packages": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"key": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"family": {
|
|
"type": "string"
|
|
},
|
|
"locales": {
|
|
"type": "string"
|
|
},
|
|
"size": {
|
|
"type": "string"
|
|
},
|
|
"installed": {
|
|
"type": "boolean"
|
|
},
|
|
"bundled": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"key",
|
|
"name",
|
|
"family",
|
|
"locales",
|
|
"size",
|
|
"installed",
|
|
"bundled"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"packages"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/fonts/{package}/install": {
|
|
"post": {
|
|
"operationId": "font.install",
|
|
"tags": [
|
|
"Font"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "package",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"500": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
},
|
|
"error": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"success",
|
|
"error"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
},
|
|
"installed": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"success",
|
|
"installed"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"const": "Already installed"
|
|
}
|
|
},
|
|
"required": [
|
|
"success",
|
|
"message"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"error": {
|
|
"type": "string",
|
|
"const": "Unknown font package"
|
|
}
|
|
},
|
|
"required": [
|
|
"error"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/auth/password/email": {
|
|
"post": {
|
|
"operationId": "company.auth.forgotPassword.sendResetLinkEmail",
|
|
"summary": "Send a reset link to the given user",
|
|
"tags": [
|
|
"ForgotPassword"
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"message": {
|
|
"type": "string",
|
|
"const": "Password reset email sent."
|
|
},
|
|
"data": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"message",
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"error": {
|
|
"type": "string",
|
|
"const": "Email could not be sent to this email address."
|
|
}
|
|
},
|
|
"required": [
|
|
"error"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/{company}/customer/auth/password/email": {
|
|
"post": {
|
|
"operationId": "customerPortal.auth.forgotPassword.sendResetLinkEmail",
|
|
"summary": "Send a reset link to the given user",
|
|
"tags": [
|
|
"ForgotPassword"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"message": {
|
|
"type": "string",
|
|
"const": "Password reset email sent."
|
|
},
|
|
"data": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"message",
|
|
"data"
|
|
]
|
|
},
|
|
{
|
|
"type": "object"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/timezones": {
|
|
"get": {
|
|
"operationId": "formats.timezones",
|
|
"tags": [
|
|
"Formats"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"time_zones": {
|
|
"type": "array",
|
|
"prefixItems": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Pacific/Midway"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-11:00) Midway"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Pacific/Niue"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-11:00) Niue"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Pacific/Pago_Pago"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-11:00) Pago Pago"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Adak"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-10:00) Adak"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Pacific/Honolulu"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-10:00) Honolulu"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Pacific/Johnston"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-10:00) Johnston"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Pacific/Rarotonga"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-10:00) Rarotonga"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Pacific/Tahiti"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-10:00) Tahiti"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Pacific/Marquesas"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-09:30) Marquesas"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Anchorage"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-09:00) Anchorage"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Pacific/Gambier"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-09:00) Gambier"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Juneau"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-09:00) Juneau"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Nome"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-09:00) Nome"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Sitka"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-09:00) Sitka"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Yakutat"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-09:00) Yakutat"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Dawson"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-08:00) Dawson"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Los_Angeles"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-08:00) Los Angeles"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Metlakatla"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-08:00) Metlakatla"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Pacific/Pitcairn"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-08:00) Pitcairn"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Santa_Isabel"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-08:00) Santa Isabel"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Tijuana"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-08:00) Tijuana"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Vancouver"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-08:00) Vancouver"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Whitehorse"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-08:00) Whitehorse"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Boise"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-07:00) Boise"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Cambridge_Bay"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-07:00) Cambridge Bay"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Chihuahua"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-07:00) Chihuahua"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Creston"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-07:00) Creston"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Dawson_Creek"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-07:00) Dawson Creek"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Denver"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-07:00) Denver"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Edmonton"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-07:00) Edmonton"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Hermosillo"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-07:00) Hermosillo"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Inuvik"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-07:00) Inuvik"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Mazatlan"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-07:00) Mazatlan"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Ojinaga"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-07:00) Ojinaga"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Phoenix"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-07:00) Phoenix"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Shiprock"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-07:00) Shiprock"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Yellowknife"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-07:00) Yellowknife"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Bahia_Banderas"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-06:00) Bahia Banderas"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Belize"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-06:00) Belize"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/North_Dakota/Beulah"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-06:00) Beulah"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Cancun"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-06:00) Cancun"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/North_Dakota/Center"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-06:00) Center"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Chicago"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-06:00) Chicago"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Costa_Rica"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-06:00) Costa Rica"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Pacific/Easter"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-06:00) Easter"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/El_Salvador"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-06:00) El Salvador"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Pacific/Galapagos"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-06:00) Galapagos"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Guatemala"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-06:00) Guatemala"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Indiana/Knox"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-06:00) Knox"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Managua"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-06:00) Managua"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Matamoros"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-06:00) Matamoros"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Menominee"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-06:00) Menominee"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Merida"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-06:00) Merida"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Mexico_City"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-06:00) Mexico City"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Monterrey"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-06:00) Monterrey"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/North_Dakota/New_Salem"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-06:00) New Salem"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Rainy_River"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-06:00) Rainy River"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Rankin_Inlet"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-06:00) Rankin Inlet"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Regina"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-06:00) Regina"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Resolute"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-06:00) Resolute"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Swift_Current"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-06:00) Swift Current"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Tegucigalpa"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-06:00) Tegucigalpa"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Indiana/Tell_City"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-06:00) Tell City"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Winnipeg"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-06:00) Winnipeg"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Atikokan"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-05:00) Atikokan"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Bogota"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-05:00) Bogota"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Cayman"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-05:00) Cayman"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Detroit"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-05:00) Detroit"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Grand_Turk"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-05:00) Grand Turk"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Guayaquil"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-05:00) Guayaquil"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Havana"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-05:00) Havana"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Indiana/Indianapolis"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-05:00) Indianapolis"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Iqaluit"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-05:00) Iqaluit"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Jamaica"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-05:00) Jamaica"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Lima"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-05:00) Lima"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Kentucky/Louisville"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-05:00) Louisville"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Indiana/Marengo"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-05:00) Marengo"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Kentucky/Monticello"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-05:00) Monticello"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Montreal"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-05:00) Montreal"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Nassau"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-05:00) Nassau"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/New_York"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-05:00) New York"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Nipigon"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-05:00) Nipigon"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Panama"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-05:00) Panama"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Pangnirtung"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-05:00) Pangnirtung"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Indiana/Petersburg"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-05:00) Petersburg"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Port-au-Prince"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-05:00) Port-au-Prince"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Thunder_Bay"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-05:00) Thunder Bay"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Toronto"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-05:00) Toronto"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Indiana/Vevay"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-05:00) Vevay"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Indiana/Vincennes"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-05:00) Vincennes"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Indiana/Winamac"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-05:00) Winamac"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Caracas"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-04:30) Caracas"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Anguilla"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-04:00) Anguilla"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Antigua"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-04:00) Antigua"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Aruba"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-04:00) Aruba"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Asuncion"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-04:00) Asuncion"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Barbados"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-04:00) Barbados"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Atlantic/Bermuda"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-04:00) Bermuda"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Blanc-Sablon"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-04:00) Blanc-Sablon"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Boa_Vista"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-04:00) Boa Vista"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Campo_Grande"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-04:00) Campo Grande"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Cuiaba"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-04:00) Cuiaba"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Curacao"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-04:00) Curacao"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Dominica"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-04:00) Dominica"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Eirunepe"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-04:00) Eirunepe"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Glace_Bay"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-04:00) Glace Bay"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Goose_Bay"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-04:00) Goose Bay"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Grenada"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-04:00) Grenada"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Guadeloupe"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-04:00) Guadeloupe"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Guyana"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-04:00) Guyana"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Halifax"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-04:00) Halifax"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Kralendijk"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-04:00) Kralendijk"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/La_Paz"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-04:00) La Paz"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Lower_Princes"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-04:00) Lower Princes"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Manaus"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-04:00) Manaus"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Marigot"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-04:00) Marigot"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Martinique"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-04:00) Martinique"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Moncton"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-04:00) Moncton"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Montserrat"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-04:00) Montserrat"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Antarctica/Palmer"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-04:00) Palmer"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Port_of_Spain"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-04:00) Port of Spain"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Porto_Velho"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-04:00) Porto Velho"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Puerto_Rico"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-04:00) Puerto Rico"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Rio_Branco"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-04:00) Rio Branco"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Santiago"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-04:00) Santiago"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Santo_Domingo"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-04:00) Santo Domingo"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/St_Barthelemy"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-04:00) St. Barthelemy"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/St_Kitts"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-04:00) St. Kitts"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/St_Lucia"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-04:00) St. Lucia"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/St_Thomas"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-04:00) St. Thomas"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/St_Vincent"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-04:00) St. Vincent"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Thule"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-04:00) Thule"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Tortola"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-04:00) Tortola"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/St_Johns"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-03:30) St. Johns"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Araguaina"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-03:00) Araguaina"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Bahia"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-03:00) Bahia"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Belem"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-03:00) Belem"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Argentina/Buenos_Aires"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-03:00) Buenos Aires"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Argentina/Catamarca"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-03:00) Catamarca"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Cayenne"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-03:00) Cayenne"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Argentina/Cordoba"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-03:00) Cordoba"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Fortaleza"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-03:00) Fortaleza"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Godthab"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-03:00) Godthab"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Argentina/Jujuy"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-03:00) Jujuy"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Argentina/La_Rioja"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-03:00) La Rioja"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Maceio"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-03:00) Maceio"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Argentina/Mendoza"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-03:00) Mendoza"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Miquelon"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-03:00) Miquelon"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Montevideo"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-03:00) Montevideo"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Paramaribo"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-03:00) Paramaribo"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Recife"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-03:00) Recife"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Argentina/Rio_Gallegos"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-03:00) Rio Gallegos"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Antarctica/Rothera"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-03:00) Rothera"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Argentina/Salta"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-03:00) Salta"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Argentina/San_Juan"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-03:00) San Juan"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Argentina/San_Luis"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-03:00) San Luis"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Santarem"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-03:00) Santarem"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Sao_Paulo"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-03:00) Sao Paulo"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Atlantic/Stanley"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-03:00) Stanley"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Argentina/Tucuman"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-03:00) Tucuman"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Argentina/Ushuaia"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-03:00) Ushuaia"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Noronha"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-02:00) Noronha"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Atlantic/South_Georgia"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-02:00) South Georgia"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Atlantic/Azores"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-01:00) Azores"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Atlantic/Cape_Verde"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-01:00) Cape Verde"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Scoresbysund"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC-01:00) Scoresbysund"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Africa/Abidjan"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+00:00) Abidjan"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Africa/Accra"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+00:00) Accra"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Africa/Bamako"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+00:00) Bamako"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Africa/Banjul"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+00:00) Banjul"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Africa/Bissau"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+00:00) Bissau"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Atlantic/Canary"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+00:00) Canary"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Africa/Casablanca"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+00:00) Casablanca"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Africa/Conakry"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+00:00) Conakry"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Africa/Dakar"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+00:00) Dakar"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "America/Danmarkshavn"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+00:00) Danmarkshavn"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Dublin"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+00:00) Dublin"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Africa/El_Aaiun"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+00:00) El Aaiun"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Atlantic/Faroe"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+00:00) Faroe"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Africa/Freetown"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+00:00) Freetown"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Guernsey"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+00:00) Guernsey"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Isle_of_Man"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+00:00) Isle of Man"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Jersey"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+00:00) Jersey"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Lisbon"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+00:00) Lisbon"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Africa/Lome"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+00:00) Lome"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/London"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+00:00) London"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Atlantic/Madeira"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+00:00) Madeira"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Africa/Monrovia"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+00:00) Monrovia"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Africa/Nouakchott"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+00:00) Nouakchott"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Africa/Ouagadougou"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+00:00) Ouagadougou"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Atlantic/Reykjavik"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+00:00) Reykjavik"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Africa/Sao_Tome"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+00:00) Sao Tome"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Atlantic/St_Helena"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+00:00) St. Helena"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "UTC"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+00:00) UTC"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Africa/Algiers"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+01:00) Algiers"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Amsterdam"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+01:00) Amsterdam"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Andorra"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+01:00) Andorra"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Africa/Bangui"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+01:00) Bangui"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Belgrade"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+01:00) Belgrade"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Berlin"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+01:00) Berlin"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Bratislava"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+01:00) Bratislava"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Africa/Brazzaville"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+01:00) Brazzaville"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Brussels"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+01:00) Brussels"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Budapest"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+01:00) Budapest"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Busingen"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+01:00) Busingen"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Africa/Ceuta"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+01:00) Ceuta"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Copenhagen"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+01:00) Copenhagen"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Africa/Douala"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+01:00) Douala"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Gibraltar"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+01:00) Gibraltar"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Africa/Kinshasa"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+01:00) Kinshasa"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Africa/Lagos"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+01:00) Lagos"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Africa/Libreville"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+01:00) Libreville"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Ljubljana"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+01:00) Ljubljana"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Arctic/Longyearbyen"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+01:00) Longyearbyen"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Africa/Luanda"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+01:00) Luanda"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Luxembourg"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+01:00) Luxembourg"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Madrid"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+01:00) Madrid"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Africa/Malabo"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+01:00) Malabo"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Malta"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+01:00) Malta"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Monaco"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+01:00) Monaco"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Africa/Ndjamena"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+01:00) Ndjamena"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Africa/Niamey"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+01:00) Niamey"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Oslo"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+01:00) Oslo"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Paris"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+01:00) Paris"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Podgorica"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+01:00) Podgorica"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Africa/Porto-Novo"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+01:00) Porto-Novo"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Prague"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+01:00) Prague"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Rome"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+01:00) Rome"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/San_Marino"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+01:00) San Marino"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Sarajevo"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+01:00) Sarajevo"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Skopje"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+01:00) Skopje"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Stockholm"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+01:00) Stockholm"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Tirane"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+01:00) Tirane"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Africa/Tripoli"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+01:00) Tripoli"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Africa/Tunis"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+01:00) Tunis"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Vaduz"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+01:00) Vaduz"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Vatican"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+01:00) Vatican"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Vienna"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+01:00) Vienna"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Warsaw"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+01:00) Warsaw"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Africa/Windhoek"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+01:00) Windhoek"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Zagreb"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+01:00) Zagreb"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Zurich"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+01:00) Zurich"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Athens"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+02:00) Athens"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Beirut"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+02:00) Beirut"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Africa/Blantyre"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+02:00) Blantyre"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Bucharest"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+02:00) Bucharest"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Africa/Bujumbura"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+02:00) Bujumbura"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Africa/Cairo"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+02:00) Cairo"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Chisinau"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+02:00) Chisinau"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Damascus"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+02:00) Damascus"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Africa/Gaborone"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+02:00) Gaborone"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Gaza"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+02:00) Gaza"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Africa/Harare"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+02:00) Harare"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Hebron"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+02:00) Hebron"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Helsinki"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+02:00) Helsinki"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Istanbul"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+02:00) Istanbul"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Jerusalem"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+02:00) Jerusalem"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Africa/Johannesburg"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+02:00) Johannesburg"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Kiev"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+02:00) Kiev"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Africa/Kigali"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+02:00) Kigali"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Africa/Lubumbashi"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+02:00) Lubumbashi"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Africa/Lusaka"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+02:00) Lusaka"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Africa/Maputo"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+02:00) Maputo"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Mariehamn"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+02:00) Mariehamn"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Africa/Maseru"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+02:00) Maseru"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Africa/Mbabane"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+02:00) Mbabane"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Nicosia"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+02:00) Nicosia"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Riga"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+02:00) Riga"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Simferopol"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+02:00) Simferopol"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Sofia"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+02:00) Sofia"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Tallinn"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+02:00) Tallinn"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Uzhgorod"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+02:00) Uzhgorod"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Vilnius"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+02:00) Vilnius"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Zaporozhye"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+02:00) Zaporozhye"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Africa/Addis_Ababa"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+03:00) Addis Ababa"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Aden"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+03:00) Aden"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Amman"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+03:00) Amman"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Indian/Antananarivo"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+03:00) Antananarivo"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Africa/Asmara"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+03:00) Asmara"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Baghdad"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+03:00) Baghdad"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Bahrain"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+03:00) Bahrain"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Indian/Comoro"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+03:00) Comoro"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Africa/Dar_es_Salaam"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+03:00) Dar es Salaam"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Africa/Djibouti"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+03:00) Djibouti"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Africa/Juba"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+03:00) Juba"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Kaliningrad"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+03:00) Kaliningrad"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Africa/Kampala"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+03:00) Kampala"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Africa/Khartoum"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+03:00) Khartoum"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Kuwait"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+03:00) Kuwait"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Indian/Mayotte"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+03:00) Mayotte"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Minsk"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+03:00) Minsk"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Africa/Mogadishu"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+03:00) Mogadishu"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Africa/Nairobi"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+03:00) Nairobi"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Qatar"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+03:00) Qatar"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Riyadh"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+03:00) Riyadh"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Antarctica/Syowa"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+03:00) Syowa"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Tehran"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+03:30) Tehran"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Baku"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+04:00) Baku"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Dubai"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+04:00) Dubai"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Indian/Mahe"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+04:00) Mahe"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Indian/Mauritius"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+04:00) Mauritius"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Moscow"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+04:00) Moscow"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Muscat"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+04:00) Muscat"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Indian/Reunion"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+04:00) Reunion"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Samara"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+04:00) Samara"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Tbilisi"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+04:00) Tbilisi"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Europe/Volgograd"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+04:00) Volgograd"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Yerevan"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+04:00) Yerevan"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Kabul"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+04:30) Kabul"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Aqtau"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+05:00) Aqtau"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Aqtobe"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+05:00) Aqtobe"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Ashgabat"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+05:00) Ashgabat"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Dushanbe"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+05:00) Dushanbe"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Karachi"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+05:00) Karachi"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Indian/Kerguelen"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+05:00) Kerguelen"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Indian/Maldives"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+05:00) Maldives"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Antarctica/Mawson"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+05:00) Mawson"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Oral"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+05:00) Oral"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Samarkand"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+05:00) Samarkand"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Tashkent"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+05:00) Tashkent"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Colombo"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+05:30) Colombo"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Kolkata"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+05:30) Kolkata"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Kathmandu"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+05:45) Kathmandu"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Almaty"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+06:00) Almaty"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Bishkek"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+06:00) Bishkek"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Indian/Chagos"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+06:00) Chagos"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Dhaka"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+06:00) Dhaka"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Qyzylorda"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+06:00) Qyzylorda"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Thimphu"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+06:00) Thimphu"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Antarctica/Vostok"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+06:00) Vostok"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Yekaterinburg"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+06:00) Yekaterinburg"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Indian/Cocos"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+06:30) Cocos"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Rangoon"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+06:30) Rangoon"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Bangkok"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+07:00) Bangkok"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Indian/Christmas"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+07:00) Christmas"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Antarctica/Davis"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+07:00) Davis"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Ho_Chi_Minh"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+07:00) Ho Chi Minh"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Hovd"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+07:00) Hovd"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Jakarta"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+07:00) Jakarta"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Novokuznetsk"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+07:00) Novokuznetsk"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Novosibirsk"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+07:00) Novosibirsk"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Omsk"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+07:00) Omsk"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Phnom_Penh"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+07:00) Phnom Penh"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Pontianak"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+07:00) Pontianak"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Vientiane"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+07:00) Vientiane"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Brunei"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+08:00) Brunei"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Antarctica/Casey"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+08:00) Casey"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Choibalsan"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+08:00) Choibalsan"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Chongqing"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+08:00) Chongqing"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Harbin"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+08:00) Harbin"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Hong_Kong"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+08:00) Hong Kong"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Kashgar"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+08:00) Kashgar"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Krasnoyarsk"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+08:00) Krasnoyarsk"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Kuala_Lumpur"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+08:00) Kuala Lumpur"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Kuching"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+08:00) Kuching"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Macau"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+08:00) Macau"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Makassar"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+08:00) Makassar"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Manila"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+08:00) Manila"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Australia/Perth"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+08:00) Perth"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Shanghai"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+08:00) Shanghai"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Singapore"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+08:00) Singapore"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Taipei"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+08:00) Taipei"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Ulaanbaatar"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+08:00) Ulaanbaatar"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Urumqi"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+08:00) Urumqi"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Australia/Eucla"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+08:45) Eucla"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Dili"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+09:00) Dili"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Irkutsk"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+09:00) Irkutsk"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Jayapura"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+09:00) Jayapura"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Pacific/Palau"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+09:00) Palau"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Pyongyang"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+09:00) Pyongyang"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Seoul"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+09:00) Seoul"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Tokyo"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+09:00) Tokyo"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Australia/Adelaide"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+09:30) Adelaide"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Australia/Broken_Hill"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+09:30) Broken Hill"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Australia/Darwin"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+09:30) Darwin"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Australia/Brisbane"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+10:00) Brisbane"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Pacific/Chuuk"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+10:00) Chuuk"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Australia/Currie"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+10:00) Currie"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Antarctica/DumontDUrville"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+10:00) DumontDUrville"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Pacific/Guam"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+10:00) Guam"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Australia/Hobart"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+10:00) Hobart"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Khandyga"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+10:00) Khandyga"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Australia/Lindeman"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+10:00) Lindeman"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Australia/Melbourne"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+10:00) Melbourne"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Pacific/Port_Moresby"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+10:00) Port Moresby"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Pacific/Saipan"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+10:00) Saipan"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Australia/Sydney"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+10:00) Sydney"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Yakutsk"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+10:00) Yakutsk"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Australia/Lord_Howe"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+10:30) Lord Howe"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Pacific/Efate"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+11:00) Efate"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Pacific/Guadalcanal"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+11:00) Guadalcanal"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Pacific/Kosrae"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+11:00) Kosrae"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Antarctica/Macquarie"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+11:00) Macquarie"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Pacific/Noumea"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+11:00) Noumea"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Pacific/Pohnpei"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+11:00) Pohnpei"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Sakhalin"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+11:00) Sakhalin"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Ust-Nera"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+11:00) Ust-Nera"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Vladivostok"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+11:00) Vladivostok"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Pacific/Norfolk"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+11:30) Norfolk"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Anadyr"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+12:00) Anadyr"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Pacific/Auckland"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+12:00) Auckland"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Pacific/Fiji"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+12:00) Fiji"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Pacific/Funafuti"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+12:00) Funafuti"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Kamchatka"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+12:00) Kamchatka"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Pacific/Kwajalein"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+12:00) Kwajalein"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Asia/Magadan"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+12:00) Magadan"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Pacific/Majuro"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+12:00) Majuro"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Antarctica/McMurdo"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+12:00) McMurdo"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Pacific/Nauru"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+12:00) Nauru"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Antarctica/South_Pole"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+12:00) South Pole"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Pacific/Tarawa"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+12:00) Tarawa"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Pacific/Wake"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+12:00) Wake"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Pacific/Wallis"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+12:00) Wallis"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Pacific/Chatham"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+12:45) Chatham"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Pacific/Apia"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+13:00) Apia"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Pacific/Enderbury"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+13:00) Enderbury"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Pacific/Fakaofo"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+13:00) Fakaofo"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Pacific/Tongatapu"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+13:00) Tongatapu"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string",
|
|
"const": "Pacific/Kiritimati"
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"const": "(UTC+14:00) Kiritimati"
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"key"
|
|
]
|
|
}
|
|
],
|
|
"minItems": 419,
|
|
"maxItems": 419,
|
|
"additionalItems": false
|
|
}
|
|
},
|
|
"required": [
|
|
"time_zones"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/date/formats": {
|
|
"get": {
|
|
"operationId": "formats.dateFormats",
|
|
"tags": [
|
|
"Formats"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"date_formats": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"display_date": {
|
|
"type": "string"
|
|
},
|
|
"carbon_format_value": {
|
|
"type": "string"
|
|
},
|
|
"moment_format_value": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"display_date",
|
|
"carbon_format_value",
|
|
"moment_format_value"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"date_formats"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/time/formats": {
|
|
"get": {
|
|
"operationId": "formats.timeFormats",
|
|
"tags": [
|
|
"Formats"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"time_formats": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"display_time": {
|
|
"type": "string"
|
|
},
|
|
"carbon_format_value": {
|
|
"type": "string"
|
|
},
|
|
"moment_format_value": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"display_time",
|
|
"carbon_format_value",
|
|
"moment_format_value"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"time_formats"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/ai/generate": {
|
|
"post": {
|
|
"operationId": "ai.generation",
|
|
"description": "Stateless \u2014 nothing is persisted. Each call is fully self-contained.\nRate-limited via the shared 'ai' limiter so a stuck client can't\nhammer the provider.",
|
|
"summary": "One-shot text generation for the WYSIWYG popup",
|
|
"tags": [
|
|
"Generation"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"prompt": {
|
|
"type": "string",
|
|
"maxLength": 4000
|
|
},
|
|
"context": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"maxLength": 20000
|
|
}
|
|
},
|
|
"required": [
|
|
"prompt"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"text": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"text"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/helloworlds": {
|
|
"get": {
|
|
"operationId": "helloworld.index",
|
|
"summary": "Display a listing of the resource",
|
|
"tags": [
|
|
"HelloWorld"
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"operationId": "helloworld.store",
|
|
"summary": "Store a newly created resource in storage",
|
|
"tags": [
|
|
"HelloWorld"
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/helloworlds/{id}": {
|
|
"get": {
|
|
"operationId": "helloworld.show",
|
|
"summary": "Show the specified resource",
|
|
"tags": [
|
|
"HelloWorld"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"operationId": "helloworld.update",
|
|
"summary": "Update the specified resource in storage",
|
|
"tags": [
|
|
"HelloWorld"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"operationId": "helloworld.destroy",
|
|
"summary": "Remove the specified resource from storage",
|
|
"tags": [
|
|
"HelloWorld"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/company-invitations": {
|
|
"get": {
|
|
"operationId": "company-invitations.index",
|
|
"tags": [
|
|
"Invitation"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"invitations": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/CompanyInvitationResource"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"invitations"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"operationId": "company-invitations.store",
|
|
"tags": [
|
|
"Invitation"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"email": {
|
|
"type": "string",
|
|
"format": "email"
|
|
},
|
|
"role_id": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"email",
|
|
"role_id"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
},
|
|
"invitation": {
|
|
"$ref": "#/components/schemas/CompanyInvitationResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"success",
|
|
"invitation"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/company-invitations/{companyInvitation}": {
|
|
"delete": {
|
|
"operationId": "company-invitations.destroy",
|
|
"tags": [
|
|
"Invitation"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "companyInvitation",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The company invitation ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"success"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"422": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"const": "Only pending invitations can be cancelled."
|
|
}
|
|
},
|
|
"required": [
|
|
"success",
|
|
"message"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/invitations/{token}/details": {
|
|
"get": {
|
|
"operationId": "invitationRegistration.details",
|
|
"summary": "Get invitation details by token (public endpoint for registration page)",
|
|
"tags": [
|
|
"InvitationRegistration"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "token",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"email": {
|
|
"type": "string"
|
|
},
|
|
"company_name": {
|
|
"type": "string"
|
|
},
|
|
"role_name": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"email",
|
|
"company_name",
|
|
"role_name"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"error": {
|
|
"type": "string",
|
|
"const": "Invitation not found or expired."
|
|
}
|
|
},
|
|
"required": [
|
|
"error"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/auth/register-with-invitation": {
|
|
"post": {
|
|
"operationId": "invitationRegistration.register",
|
|
"summary": "Register a new user and auto-accept the invitation",
|
|
"tags": [
|
|
"InvitationRegistration"
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"maxLength": 255
|
|
},
|
|
"email": {
|
|
"type": "string",
|
|
"format": "email",
|
|
"maxLength": 255
|
|
},
|
|
"password": {
|
|
"type": "string",
|
|
"minLength": 8
|
|
},
|
|
"invitation_token": {
|
|
"type": "string"
|
|
},
|
|
"password_confirmation": {
|
|
"type": "string",
|
|
"minLength": 8
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"email",
|
|
"password",
|
|
"invitation_token",
|
|
"password_confirmation"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "Bearer"
|
|
},
|
|
"token": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"token"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/invitations/pending": {
|
|
"get": {
|
|
"operationId": "invitationResponse.pending",
|
|
"summary": "Get pending invitations for the authenticated user",
|
|
"tags": [
|
|
"InvitationResponse"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"invitations": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/CompanyInvitationResource"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"invitations"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/invitations/{invitation}/accept": {
|
|
"post": {
|
|
"operationId": "invitationResponse.accept",
|
|
"summary": "Accept a company invitation",
|
|
"tags": [
|
|
"InvitationResponse"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "invitation",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The invitation token",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"success"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/invitations/{invitation}/decline": {
|
|
"post": {
|
|
"operationId": "invitationResponse.decline",
|
|
"summary": "Decline a company invitation",
|
|
"tags": [
|
|
"InvitationResponse"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "invitation",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The invitation token",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"success"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/invoices/templates": {
|
|
"get": {
|
|
"operationId": "invoice.invoiceTemplates",
|
|
"summary": "Handle the incoming request",
|
|
"tags": [
|
|
"InvoiceTemplates"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"invoiceTemplates": {
|
|
"type": "array",
|
|
"items": {}
|
|
}
|
|
},
|
|
"required": [
|
|
"invoiceTemplates"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/invoices/{invoice}/send/preview": {
|
|
"get": {
|
|
"operationId": "invoices.sendPreview",
|
|
"tags": [
|
|
"Invoices"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "invoice",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The invoice ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "body",
|
|
"in": "query",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "subject",
|
|
"in": "query",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "from",
|
|
"in": "query",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "to",
|
|
"in": "query",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "cc",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "bcc",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/invoices/{invoice}/send": {
|
|
"post": {
|
|
"operationId": "invoices.send",
|
|
"tags": [
|
|
"Invoices"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "invoice",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The invoice ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SendInvoiceRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"success"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/invoices/{invoice}/clone": {
|
|
"post": {
|
|
"operationId": "invoices.clone",
|
|
"tags": [
|
|
"Invoices"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "invoice",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The invoice ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "`InvoiceResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/InvoiceResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/invoices/{invoice}/convert-to-estimate": {
|
|
"post": {
|
|
"operationId": "invoices.convertToEstimate",
|
|
"tags": [
|
|
"Invoices"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "invoice",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The invoice ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "`EstimateResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/EstimateResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/invoices/{invoice}/status": {
|
|
"post": {
|
|
"operationId": "invoices.changeStatus",
|
|
"tags": [
|
|
"Invoices"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "invoice",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The invoice ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"success"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/invoices/delete": {
|
|
"post": {
|
|
"operationId": "invoices.delete",
|
|
"summary": "delete the specified resources in storage",
|
|
"tags": [
|
|
"Invoices"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DeleteInvoiceRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"success"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/invoices": {
|
|
"get": {
|
|
"operationId": "invoices.index",
|
|
"summary": "Display a listing of the resource",
|
|
"tags": [
|
|
"Invoices"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "limit",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": 10
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Array of `InvoiceResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/InvoiceResource"
|
|
}
|
|
},
|
|
"meta": {
|
|
"type": "object",
|
|
"properties": {
|
|
"invoice_total_count": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"required": [
|
|
"invoice_total_count"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"data",
|
|
"meta"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"operationId": "invoices.store",
|
|
"summary": "Store a newly created resource in storage",
|
|
"tags": [
|
|
"Invoices"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/InvoicesRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "`InvoiceResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/InvoiceResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/invoices/{invoice}": {
|
|
"get": {
|
|
"operationId": "invoices.show",
|
|
"summary": "Display the specified resource",
|
|
"tags": [
|
|
"Invoices"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "invoice",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The invoice ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "`InvoiceResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/InvoiceResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"operationId": "invoices.update",
|
|
"summary": "Update the specified resource in storage",
|
|
"tags": [
|
|
"Invoices"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "invoice",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The invoice ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "`InvoiceResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/InvoiceResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/{company}/customer/invoices": {
|
|
"get": {
|
|
"operationId": "customerPortal.invoice.invoices.index",
|
|
"summary": "Display a listing of the resource",
|
|
"tags": [
|
|
"Invoices"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Array of `App.Http.Resources.Customer.InvoiceResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/App.Http.Resources.Customer.InvoiceResource"
|
|
}
|
|
},
|
|
"meta": {
|
|
"type": "object",
|
|
"properties": {
|
|
"invoiceTotalCount": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"required": [
|
|
"invoiceTotalCount"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"data",
|
|
"meta"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/{company}/customer/invoices/{id}": {
|
|
"get": {
|
|
"operationId": "customerPortal.invoice.invoices.show",
|
|
"tags": [
|
|
"Invoices"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The company slug",
|
|
"schema": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "`App.Http.Resources.Customer.InvoiceResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/App.Http.Resources.Customer.InvoiceResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/items/delete": {
|
|
"post": {
|
|
"operationId": "items.delete",
|
|
"summary": "Delete a list of existing Items",
|
|
"tags": [
|
|
"Items"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DeleteItemsRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"success"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/items": {
|
|
"get": {
|
|
"operationId": "items.index",
|
|
"summary": "Retrieve a list of existing Items",
|
|
"tags": [
|
|
"Items"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Array of `ItemResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/ItemResource"
|
|
}
|
|
},
|
|
"meta": {
|
|
"type": "object",
|
|
"properties": {
|
|
"tax_types": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/TaxType"
|
|
}
|
|
},
|
|
"item_total_count": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"required": [
|
|
"tax_types",
|
|
"item_total_count"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"data",
|
|
"meta"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"operationId": "items.store",
|
|
"summary": "Create Item",
|
|
"tags": [
|
|
"Items"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ItemsRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "`ItemResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/ItemResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/items/{item}": {
|
|
"get": {
|
|
"operationId": "items.show",
|
|
"summary": "get an existing Item",
|
|
"tags": [
|
|
"Items"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "item",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The item ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "`ItemResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/ItemResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"operationId": "items.update",
|
|
"summary": "Update an existing Item",
|
|
"tags": [
|
|
"Items"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "item",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The item ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ItemsRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "`ItemResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/ItemResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/installation/languages": {
|
|
"get": {
|
|
"operationId": "languages.languages",
|
|
"summary": "Display the languages page",
|
|
"tags": [
|
|
"Languages"
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"languages": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"languages"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/installation/login": {
|
|
"post": {
|
|
"operationId": "setup.login",
|
|
"tags": [
|
|
"Login"
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"const": "Bearer"
|
|
},
|
|
"token": {
|
|
"type": "string"
|
|
},
|
|
"user": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/User"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"company": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/Company"
|
|
},
|
|
{
|
|
"type": "string"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"success",
|
|
"type",
|
|
"token",
|
|
"user",
|
|
"company"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"422": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"message": {
|
|
"type": "string",
|
|
"const": "Super admin company not found."
|
|
}
|
|
},
|
|
"required": [
|
|
"message"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"message": {
|
|
"type": "string",
|
|
"const": "Super admin user not found."
|
|
}
|
|
},
|
|
"required": [
|
|
"message"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/mail/drivers": {
|
|
"get": {
|
|
"operationId": "mailConfiguration.getMailDrivers",
|
|
"summary": "Return the available mail drivers",
|
|
"tags": [
|
|
"MailConfiguration"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/mail/config": {
|
|
"get": {
|
|
"operationId": "mailConfiguration.getMailEnvironment",
|
|
"summary": "Return the mail environment variables",
|
|
"tags": [
|
|
"MailConfiguration"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"operationId": "mailConfiguration.saveMailEnvironment",
|
|
"summary": "Save the mail environment variables",
|
|
"tags": [
|
|
"MailConfiguration"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/MailEnvironmentRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "string",
|
|
"const": "mail_variables_save_successfully"
|
|
}
|
|
},
|
|
"required": [
|
|
"success"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/mail/test": {
|
|
"post": {
|
|
"operationId": "mailConfiguration.testEmailConfig",
|
|
"summary": "Test the email configuration",
|
|
"tags": [
|
|
"MailConfiguration"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"to": {
|
|
"type": "string",
|
|
"format": "email"
|
|
},
|
|
"subject": {
|
|
"type": "string"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"to",
|
|
"subject",
|
|
"message"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"success"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/members/delete": {
|
|
"post": {
|
|
"operationId": "members.delete",
|
|
"summary": "Display a listing of the resource",
|
|
"tags": [
|
|
"Members"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DeleteMemberRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"success"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/members": {
|
|
"get": {
|
|
"operationId": "members.index",
|
|
"summary": "Display a listing of the resource",
|
|
"tags": [
|
|
"Members"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Paginated set of `UserResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/UserResource"
|
|
}
|
|
},
|
|
"links": {
|
|
"type": "object",
|
|
"properties": {
|
|
"first": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"last": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"prev": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"next": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"first",
|
|
"last",
|
|
"prev",
|
|
"next"
|
|
]
|
|
},
|
|
"meta": {
|
|
"type": "object",
|
|
"properties": {
|
|
"current_page": {
|
|
"type": "integer",
|
|
"minimum": 1
|
|
},
|
|
"from": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"minimum": 1
|
|
},
|
|
"last_page": {
|
|
"type": "integer",
|
|
"minimum": 1
|
|
},
|
|
"links": {
|
|
"type": "array",
|
|
"description": "Generated paginator links.",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"label": {
|
|
"type": "string"
|
|
},
|
|
"active": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"active"
|
|
]
|
|
}
|
|
},
|
|
"path": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"description": "Base path for paginator generated URLs."
|
|
},
|
|
"per_page": {
|
|
"type": "integer",
|
|
"description": "Number of items shown per page.",
|
|
"minimum": 0
|
|
},
|
|
"to": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "Number of the last item in the slice.",
|
|
"minimum": 1
|
|
},
|
|
"total": {
|
|
"type": "integer",
|
|
"description": "Total number of items being paginated.",
|
|
"minimum": 0
|
|
},
|
|
"user_total_count": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"required": [
|
|
"current_page",
|
|
"from",
|
|
"last_page",
|
|
"links",
|
|
"path",
|
|
"per_page",
|
|
"to",
|
|
"total",
|
|
"user_total_count"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"data",
|
|
"links",
|
|
"meta"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"operationId": "members.store",
|
|
"summary": "Store a newly created resource in storage",
|
|
"tags": [
|
|
"Members"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/MemberRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "`UserResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/UserResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/members/{member}": {
|
|
"get": {
|
|
"operationId": "members.show",
|
|
"summary": "Display the specified resource",
|
|
"tags": [
|
|
"Members"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "member",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "`UserResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/UserResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"operationId": "members.update",
|
|
"summary": "Update the specified resource in storage",
|
|
"tags": [
|
|
"Members"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "member",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/MemberRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "`UserResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/UserResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/modules/download": {
|
|
"post": {
|
|
"operationId": "moduleInstallation.download",
|
|
"tags": [
|
|
"ModuleInstallation"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
},
|
|
"path": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"success",
|
|
"path"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
},
|
|
"error": {
|
|
"type": "string",
|
|
"const": "Checksum verification failed"
|
|
}
|
|
},
|
|
"required": [
|
|
"success",
|
|
"error"
|
|
]
|
|
},
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
},
|
|
"error": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"Module download failed"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"success",
|
|
"error"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
},
|
|
"error": {
|
|
"type": "string",
|
|
"const": "Download Exception"
|
|
}
|
|
},
|
|
"required": [
|
|
"success",
|
|
"error"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
},
|
|
"error": {
|
|
"type": "string",
|
|
"const": "Download Exception"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"path": {
|
|
"type": "null"
|
|
}
|
|
},
|
|
"required": [
|
|
"path"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"success",
|
|
"error",
|
|
"data"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/modules/upload": {
|
|
"post": {
|
|
"operationId": "moduleInstallation.upload",
|
|
"tags": [
|
|
"ModuleInstallation"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"multipart/form-data": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UploadModuleRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/modules/unzip": {
|
|
"post": {
|
|
"operationId": "moduleInstallation.unzip",
|
|
"tags": [
|
|
"ModuleInstallation"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnzipUpdateRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
},
|
|
"path": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"success",
|
|
"path"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/modules/copy": {
|
|
"post": {
|
|
"operationId": "moduleInstallation.copy",
|
|
"tags": [
|
|
"ModuleInstallation"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"success"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/modules/complete": {
|
|
"post": {
|
|
"operationId": "moduleInstallation.complete",
|
|
"tags": [
|
|
"ModuleInstallation"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"success"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/modules/{slug}/settings": {
|
|
"get": {
|
|
"operationId": "moduleSettings.show",
|
|
"tags": [
|
|
"ModuleSettings"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "slug",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sections": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"additionalProperties": {}
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"sections"
|
|
]
|
|
},
|
|
"values": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"schema",
|
|
"values"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"operationId": "moduleSettings.update",
|
|
"tags": [
|
|
"ModuleSettings"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "slug",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"success"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/modules": {
|
|
"get": {
|
|
"operationId": "modules.index",
|
|
"tags": [
|
|
"Modules"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Array of `ModuleResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/ModuleResource"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"503": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"error": {
|
|
"type": "string",
|
|
"const": "marketplace_unavailable"
|
|
}
|
|
},
|
|
"required": [
|
|
"error"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/modules/check": {
|
|
"get": {
|
|
"operationId": "modules.checkToken",
|
|
"tags": [
|
|
"Modules"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"error": {
|
|
"type": "string",
|
|
"const": "invalid_token"
|
|
}
|
|
},
|
|
"required": [
|
|
"error"
|
|
]
|
|
},
|
|
{
|
|
"type": [
|
|
"object",
|
|
"null"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/modules/{module}": {
|
|
"get": {
|
|
"operationId": "modules.show",
|
|
"tags": [
|
|
"Modules"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "module",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "`ModuleResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/ModuleResource"
|
|
},
|
|
"meta": {
|
|
"type": "object",
|
|
"properties": {
|
|
"modules": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/ModuleResource"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"modules"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"data",
|
|
"meta"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"503": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"error": {
|
|
"type": "string",
|
|
"const": "marketplace_unavailable"
|
|
}
|
|
},
|
|
"required": [
|
|
"error"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"error": {
|
|
"type": "string",
|
|
"const": "not_found"
|
|
}
|
|
},
|
|
"required": [
|
|
"error"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/modules/{module}/enable": {
|
|
"post": {
|
|
"operationId": "modules.enable",
|
|
"tags": [
|
|
"Modules"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "module",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"success"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/modules/{module}/disable": {
|
|
"post": {
|
|
"operationId": "modules.disable",
|
|
"tags": [
|
|
"Modules"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "module",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"success"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/notes": {
|
|
"get": {
|
|
"operationId": "notes.index",
|
|
"summary": "Display a listing of the resource",
|
|
"tags": [
|
|
"Notes"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Paginated set of `NoteResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/NoteResource"
|
|
}
|
|
},
|
|
"links": {
|
|
"type": "object",
|
|
"properties": {
|
|
"first": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"last": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"prev": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"next": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"first",
|
|
"last",
|
|
"prev",
|
|
"next"
|
|
]
|
|
},
|
|
"meta": {
|
|
"type": "object",
|
|
"properties": {
|
|
"current_page": {
|
|
"type": "integer",
|
|
"minimum": 1
|
|
},
|
|
"from": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"minimum": 1
|
|
},
|
|
"last_page": {
|
|
"type": "integer",
|
|
"minimum": 1
|
|
},
|
|
"links": {
|
|
"type": "array",
|
|
"description": "Generated paginator links.",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"label": {
|
|
"type": "string"
|
|
},
|
|
"active": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"active"
|
|
]
|
|
}
|
|
},
|
|
"path": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"description": "Base path for paginator generated URLs."
|
|
},
|
|
"per_page": {
|
|
"type": "integer",
|
|
"description": "Number of items shown per page.",
|
|
"minimum": 0
|
|
},
|
|
"to": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "Number of the last item in the slice.",
|
|
"minimum": 1
|
|
},
|
|
"total": {
|
|
"type": "integer",
|
|
"description": "Total number of items being paginated.",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"required": [
|
|
"current_page",
|
|
"from",
|
|
"last_page",
|
|
"links",
|
|
"path",
|
|
"per_page",
|
|
"to",
|
|
"total"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"data",
|
|
"links",
|
|
"meta"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"operationId": "notes.store",
|
|
"summary": "Store a newly created resource in storage",
|
|
"tags": [
|
|
"Notes"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/NotesRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "`NoteResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/NoteResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/notes/{note}": {
|
|
"get": {
|
|
"operationId": "notes.show",
|
|
"summary": "Display the specified resource",
|
|
"tags": [
|
|
"Notes"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "note",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The note ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "`NoteResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/NoteResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"operationId": "notes.update",
|
|
"summary": "Update the specified resource in storage",
|
|
"tags": [
|
|
"Notes"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "note",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The note ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "`NoteResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/NoteResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"operationId": "notes.destroy",
|
|
"summary": "Remove the specified resource from storage",
|
|
"tags": [
|
|
"Notes"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "note",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The note ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"success"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/installation/wizard-step": {
|
|
"get": {
|
|
"operationId": "onboardingWizard.getStep",
|
|
"summary": "Handle the incoming request",
|
|
"tags": [
|
|
"OnboardingWizard"
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"profile_complete": {
|
|
"type": "null"
|
|
},
|
|
"profile_language": {
|
|
"type": "null"
|
|
}
|
|
},
|
|
"required": [
|
|
"profile_complete",
|
|
"profile_language"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"profile_complete": {
|
|
"type": "integer"
|
|
},
|
|
"profile_language": {
|
|
"type": "string",
|
|
"const": "en"
|
|
}
|
|
},
|
|
"required": [
|
|
"profile_complete",
|
|
"profile_language"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"operationId": "onboardingWizard.updateStep",
|
|
"tags": [
|
|
"OnboardingWizard"
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"profile_complete": {
|
|
"type": "null"
|
|
}
|
|
},
|
|
"required": [
|
|
"profile_complete"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/installation/wizard-language": {
|
|
"post": {
|
|
"operationId": "onboardingWizard.saveLanguage",
|
|
"tags": [
|
|
"OnboardingWizard"
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"profile_language": {
|
|
"type": "null"
|
|
}
|
|
},
|
|
"required": [
|
|
"profile_language"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/pdf/drivers": {
|
|
"get": {
|
|
"operationId": "pDFConfiguration.getDrivers",
|
|
"summary": "Returns the available drivers",
|
|
"tags": [
|
|
"PDFConfiguration"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"prefixItems": [
|
|
{
|
|
"type": "string",
|
|
"const": "dompdf"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"const": "gotenberg"
|
|
}
|
|
],
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"additionalItems": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/pdf/config": {
|
|
"get": {
|
|
"operationId": "pDFConfiguration.getEnvironment",
|
|
"summary": "Return the PDF settings",
|
|
"tags": [
|
|
"PDFConfiguration"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"pdf_driver": {
|
|
"type": "string"
|
|
},
|
|
"gotenberg_host": {
|
|
"type": "string"
|
|
},
|
|
"gotenberg_margins": {
|
|
"type": "string"
|
|
},
|
|
"gotenberg_papersize": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"pdf_driver",
|
|
"gotenberg_host",
|
|
"gotenberg_margins",
|
|
"gotenberg_papersize"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"operationId": "pDFConfiguration.saveEnvironment",
|
|
"summary": "Saves the settings",
|
|
"tags": [
|
|
"PDFConfiguration"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PDFConfigurationRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "string",
|
|
"const": "pdf_variables_save_successfully"
|
|
}
|
|
},
|
|
"required": [
|
|
"success"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/{company}/customer/payment-method": {
|
|
"get": {
|
|
"operationId": "payment.paymentMethod",
|
|
"summary": "Handle the incoming request",
|
|
"tags": [
|
|
"PaymentMethod"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The company slug",
|
|
"schema": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Array of `App.Http.Resources.Customer.PaymentMethodResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/App.Http.Resources.Customer.PaymentMethodResource"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/payment-methods": {
|
|
"get": {
|
|
"operationId": "payment-methods.index",
|
|
"summary": "Display a listing of the resource",
|
|
"tags": [
|
|
"PaymentMethods"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Array of `PaymentMethodResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/PaymentMethodResource"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"operationId": "payment-methods.store",
|
|
"summary": "Store a newly created resource in storage",
|
|
"tags": [
|
|
"PaymentMethods"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PaymentMethodRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "`PaymentMethodResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/PaymentMethodResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/payment-methods/{paymentMethod}": {
|
|
"get": {
|
|
"operationId": "payment-methods.show",
|
|
"summary": "Display the specified resource",
|
|
"tags": [
|
|
"PaymentMethods"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "paymentMethod",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The payment method ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "`PaymentMethodResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/PaymentMethodResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"operationId": "payment-methods.update",
|
|
"summary": "Update the specified resource in storage",
|
|
"tags": [
|
|
"PaymentMethods"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "paymentMethod",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The payment method ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PaymentMethodRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "`PaymentMethodResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/PaymentMethodResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"operationId": "payment-methods.destroy",
|
|
"summary": "Remove the specified resource from storage",
|
|
"tags": [
|
|
"PaymentMethods"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "paymentMethod",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The payment method ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/payments/{payment}/send/preview": {
|
|
"get": {
|
|
"operationId": "payments.sendPreview",
|
|
"tags": [
|
|
"Payments"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "payment",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The payment ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/payments/{payment}/send": {
|
|
"post": {
|
|
"operationId": "payments.send",
|
|
"tags": [
|
|
"Payments"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "payment",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The payment ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SendPaymentRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"success"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/payments/delete": {
|
|
"post": {
|
|
"operationId": "payments.delete",
|
|
"tags": [
|
|
"Payments"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DeletePaymentsRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"success"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/payments": {
|
|
"get": {
|
|
"operationId": "payments.index",
|
|
"summary": "Display a listing of the resource",
|
|
"tags": [
|
|
"Payments"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Array of `PaymentResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/PaymentResource"
|
|
}
|
|
},
|
|
"meta": {
|
|
"type": "object",
|
|
"properties": {
|
|
"payment_total_count": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"required": [
|
|
"payment_total_count"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"data",
|
|
"meta"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"operationId": "payments.store",
|
|
"summary": "Store a newly created resource in storage",
|
|
"tags": [
|
|
"Payments"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PaymentRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "`PaymentResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/PaymentResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/payments/{payment}": {
|
|
"get": {
|
|
"operationId": "payments.show",
|
|
"tags": [
|
|
"Payments"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "payment",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The payment ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "`PaymentResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/PaymentResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"operationId": "payments.update",
|
|
"tags": [
|
|
"Payments"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "payment",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The payment ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "`PaymentResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/PaymentResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/{company}/customer/payments": {
|
|
"get": {
|
|
"operationId": "customerPortal.payment.payments.index",
|
|
"summary": "Display a listing of the resource",
|
|
"tags": [
|
|
"Payments"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Array of `App.Http.Resources.Customer.PaymentResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/App.Http.Resources.Customer.PaymentResource"
|
|
}
|
|
},
|
|
"meta": {
|
|
"type": "object",
|
|
"properties": {
|
|
"paymentTotalCount": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"required": [
|
|
"paymentTotalCount"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"data",
|
|
"meta"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/{company}/customer/payments/{id}": {
|
|
"get": {
|
|
"operationId": "customerPortal.payment.payments.show",
|
|
"summary": "Display the specified resource",
|
|
"tags": [
|
|
"Payments"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The company slug",
|
|
"schema": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/{company}/customer/profile": {
|
|
"post": {
|
|
"operationId": "profile.updateProfile",
|
|
"tags": [
|
|
"Profile"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The company slug",
|
|
"schema": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"multipart/form-data": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CustomerProfileRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "`App.Http.Resources.Customer.CustomerResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/App.Http.Resources.Customer.CustomerResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/{company}/customer/me": {
|
|
"get": {
|
|
"operationId": "profile.getUser",
|
|
"tags": [
|
|
"Profile"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "`App.Http.Resources.Customer.CustomerResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/App.Http.Resources.Customer.CustomerResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/recurring-invoices/delete": {
|
|
"post": {
|
|
"operationId": "recurringInvoice.delete",
|
|
"summary": "Remove the specified resource from storage",
|
|
"tags": [
|
|
"RecurringInvoice"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"success"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/recurring-invoices": {
|
|
"get": {
|
|
"operationId": "recurring-invoices.index",
|
|
"summary": "Display a listing of the resource",
|
|
"tags": [
|
|
"RecurringInvoice"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Array of `RecurringInvoiceResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/RecurringInvoiceResource"
|
|
}
|
|
},
|
|
"meta": {
|
|
"type": "object",
|
|
"properties": {
|
|
"recurring_invoice_total_count": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"required": [
|
|
"recurring_invoice_total_count"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"data",
|
|
"meta"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"operationId": "recurring-invoices.store",
|
|
"summary": "Store a newly created resource in storage",
|
|
"tags": [
|
|
"RecurringInvoice"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/RecurringInvoiceRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "`RecurringInvoiceResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/RecurringInvoiceResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/recurring-invoices/{recurringInvoice}": {
|
|
"get": {
|
|
"operationId": "recurring-invoices.show",
|
|
"summary": "Display the specified resource",
|
|
"tags": [
|
|
"RecurringInvoice"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "recurringInvoice",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The recurring invoice ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "`RecurringInvoiceResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/RecurringInvoiceResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"operationId": "recurring-invoices.update",
|
|
"summary": "Update the specified resource in storage",
|
|
"tags": [
|
|
"RecurringInvoice"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "recurringInvoice",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The recurring invoice ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/RecurringInvoiceRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "`RecurringInvoiceResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/RecurringInvoiceResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/recurring-invoice-frequency": {
|
|
"get": {
|
|
"operationId": "recurringInvoice.recurringInvoiceFrequency",
|
|
"tags": [
|
|
"RecurringInvoiceFrequency"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
},
|
|
"next_invoice_at": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"success",
|
|
"next_invoice_at"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/installation/requirements": {
|
|
"get": {
|
|
"operationId": "requirements.requirements",
|
|
"summary": "Display the requirements page",
|
|
"tags": [
|
|
"Requirements"
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"phpSupportInfo": {
|
|
"type": "string"
|
|
},
|
|
"requirements": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"phpSupportInfo",
|
|
"requirements"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/auth/reset/password": {
|
|
"post": {
|
|
"operationId": "company.auth.resetPassword.reset",
|
|
"summary": "Reset the given user's password",
|
|
"tags": [
|
|
"ResetPassword"
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"token": {
|
|
"type": "string"
|
|
},
|
|
"email": {
|
|
"type": "string",
|
|
"format": "email"
|
|
},
|
|
"password": {
|
|
"type": "string"
|
|
},
|
|
"password_confirmation": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"token",
|
|
"email",
|
|
"password",
|
|
"password_confirmation"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"message": {
|
|
"type": "string",
|
|
"const": "Password reset successfully."
|
|
}
|
|
},
|
|
"required": [
|
|
"message"
|
|
]
|
|
},
|
|
{
|
|
"type": "object"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/{company}/customer/auth/reset/password": {
|
|
"post": {
|
|
"operationId": "customer.password.reset",
|
|
"summary": "Reset the given user's password",
|
|
"tags": [
|
|
"ResetPassword"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "path",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"token": {
|
|
"type": "string"
|
|
},
|
|
"email": {
|
|
"type": "string",
|
|
"format": "email"
|
|
},
|
|
"password": {
|
|
"type": "string"
|
|
},
|
|
"password_confirmation": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"token",
|
|
"email",
|
|
"password",
|
|
"password_confirmation"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"message": {
|
|
"type": "string",
|
|
"const": "Password reset successfully."
|
|
}
|
|
},
|
|
"required": [
|
|
"message"
|
|
]
|
|
},
|
|
{
|
|
"type": "object"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/roles": {
|
|
"get": {
|
|
"operationId": "roles.index",
|
|
"summary": "Display a listing of the resource",
|
|
"tags": [
|
|
"Roles"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Array of `RoleResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/RoleResource"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"operationId": "roles.store",
|
|
"summary": "Store a newly created resource in storage",
|
|
"tags": [
|
|
"Roles"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/RoleRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "`RoleResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/RoleResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/roles/{role}": {
|
|
"get": {
|
|
"operationId": "roles.show",
|
|
"summary": "Display the specified resource",
|
|
"tags": [
|
|
"Roles"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "role",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The role ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "`RoleResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/RoleResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"operationId": "roles.update",
|
|
"summary": "Update the specified resource in storage",
|
|
"tags": [
|
|
"Roles"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "role",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The role ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "`RoleResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/RoleResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"operationId": "roles.destroy",
|
|
"summary": "Remove the specified resource from storage",
|
|
"tags": [
|
|
"Roles"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "role",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The role ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/search": {
|
|
"get": {
|
|
"operationId": "general.search",
|
|
"summary": "Handle the incoming request",
|
|
"tags": [
|
|
"Search"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"customers": {
|
|
"type": "object",
|
|
"properties": {
|
|
"current_page": {
|
|
"type": "integer",
|
|
"minimum": 1
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Customer"
|
|
}
|
|
},
|
|
"first_page_url": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"from": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"minimum": 1
|
|
},
|
|
"last_page_url": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"last_page": {
|
|
"type": "integer",
|
|
"minimum": 1
|
|
},
|
|
"links": {
|
|
"type": "array",
|
|
"description": "Generated paginator links.",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"label": {
|
|
"type": "string"
|
|
},
|
|
"active": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"active"
|
|
]
|
|
}
|
|
},
|
|
"next_page_url": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"path": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"description": "Base path for paginator generated URLs."
|
|
},
|
|
"per_page": {
|
|
"type": "integer",
|
|
"description": "Number of items shown per page.",
|
|
"minimum": 0
|
|
},
|
|
"prev_page_url": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"to": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "Number of the last item in the slice.",
|
|
"minimum": 1
|
|
},
|
|
"total": {
|
|
"type": "integer",
|
|
"description": "Total number of items being paginated.",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"required": [
|
|
"current_page",
|
|
"data",
|
|
"first_page_url",
|
|
"from",
|
|
"last_page_url",
|
|
"last_page",
|
|
"links",
|
|
"next_page_url",
|
|
"path",
|
|
"per_page",
|
|
"prev_page_url",
|
|
"to",
|
|
"total"
|
|
]
|
|
},
|
|
"users": {
|
|
"type": "object",
|
|
"properties": {
|
|
"current_page": {
|
|
"type": "integer",
|
|
"minimum": 1
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/User"
|
|
}
|
|
},
|
|
"first_page_url": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"from": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"minimum": 1
|
|
},
|
|
"last_page_url": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"last_page": {
|
|
"type": "integer",
|
|
"minimum": 1
|
|
},
|
|
"links": {
|
|
"type": "array",
|
|
"description": "Generated paginator links.",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"label": {
|
|
"type": "string"
|
|
},
|
|
"active": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"active"
|
|
]
|
|
}
|
|
},
|
|
"next_page_url": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"path": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"description": "Base path for paginator generated URLs."
|
|
},
|
|
"per_page": {
|
|
"type": "integer",
|
|
"description": "Number of items shown per page.",
|
|
"minimum": 0
|
|
},
|
|
"prev_page_url": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"to": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "Number of the last item in the slice.",
|
|
"minimum": 1
|
|
},
|
|
"total": {
|
|
"type": "integer",
|
|
"description": "Total number of items being paginated.",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"required": [
|
|
"current_page",
|
|
"data",
|
|
"first_page_url",
|
|
"from",
|
|
"last_page_url",
|
|
"last_page",
|
|
"links",
|
|
"next_page_url",
|
|
"path",
|
|
"per_page",
|
|
"prev_page_url",
|
|
"to",
|
|
"total"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"customers",
|
|
"users"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/search/user": {
|
|
"get": {
|
|
"operationId": "search.users",
|
|
"tags": [
|
|
"Search"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"users": {
|
|
"type": "object",
|
|
"properties": {
|
|
"current_page": {
|
|
"type": "integer",
|
|
"minimum": 1
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/User"
|
|
}
|
|
},
|
|
"first_page_url": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"from": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"minimum": 1
|
|
},
|
|
"last_page_url": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"last_page": {
|
|
"type": "integer",
|
|
"minimum": 1
|
|
},
|
|
"links": {
|
|
"type": "array",
|
|
"description": "Generated paginator links.",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"label": {
|
|
"type": "string"
|
|
},
|
|
"active": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"active"
|
|
]
|
|
}
|
|
},
|
|
"next_page_url": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"path": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"description": "Base path for paginator generated URLs."
|
|
},
|
|
"per_page": {
|
|
"type": "integer",
|
|
"description": "Number of items shown per page.",
|
|
"minimum": 0
|
|
},
|
|
"prev_page_url": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"to": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "Number of the last item in the slice.",
|
|
"minimum": 1
|
|
},
|
|
"total": {
|
|
"type": "integer",
|
|
"description": "Total number of items being paginated.",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"required": [
|
|
"current_page",
|
|
"data",
|
|
"first_page_url",
|
|
"from",
|
|
"last_page_url",
|
|
"last_page",
|
|
"links",
|
|
"next_page_url",
|
|
"path",
|
|
"per_page",
|
|
"prev_page_url",
|
|
"to",
|
|
"total"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"users"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/next-number": {
|
|
"get": {
|
|
"operationId": "serialNumber.nextNumber",
|
|
"tags": [
|
|
"SerialNumber"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
},
|
|
"nextNumber": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"success",
|
|
"nextNumber"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"success",
|
|
"message"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"success"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/number-placeholders": {
|
|
"get": {
|
|
"operationId": "serialNumber.placeholders",
|
|
"tags": [
|
|
"SerialNumber"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "format",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
},
|
|
"placeholders": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"minItems": 0,
|
|
"maxItems": 0,
|
|
"additionalItems": false
|
|
}
|
|
},
|
|
"required": [
|
|
"success",
|
|
"placeholders"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/settings": {
|
|
"get": {
|
|
"operationId": "settings.show",
|
|
"tags": [
|
|
"Settings"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "key",
|
|
"in": "query",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"prefixItems": [
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"minItems": 1,
|
|
"maxItems": 1,
|
|
"additionalItems": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"operationId": "settings.update",
|
|
"tags": [
|
|
"Settings"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SettingRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
},
|
|
"": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"success",
|
|
null
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/tax-types": {
|
|
"get": {
|
|
"operationId": "tax-types.index",
|
|
"summary": "Display a listing of the resource",
|
|
"tags": [
|
|
"TaxTypes"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Array of `TaxTypeResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/TaxTypeResource"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"operationId": "tax-types.store",
|
|
"summary": "Store a newly created resource in storage",
|
|
"tags": [
|
|
"TaxTypes"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TaxTypeRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "`TaxTypeResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/TaxTypeResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/tax-types/{taxType}": {
|
|
"get": {
|
|
"operationId": "tax-types.show",
|
|
"summary": "Display the specified resource",
|
|
"tags": [
|
|
"TaxTypes"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "taxType",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The tax type ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "`TaxTypeResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/TaxTypeResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"operationId": "tax-types.update",
|
|
"summary": "Update the specified resource in storage",
|
|
"tags": [
|
|
"TaxTypes"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "taxType",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The tax type ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "`TaxTypeResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/TaxTypeResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"operationId": "tax-types.destroy",
|
|
"summary": "Remove the specified resource from storage",
|
|
"tags": [
|
|
"TaxTypes"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "taxType",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The tax type ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/units": {
|
|
"get": {
|
|
"operationId": "units.index",
|
|
"summary": "Display a listing of the resource",
|
|
"tags": [
|
|
"Units"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Array of `UnitResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/UnitResource"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"operationId": "units.store",
|
|
"summary": "Store a newly created resource in storage",
|
|
"tags": [
|
|
"Units"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnitRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "`UnitResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/UnitResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/units/{unit}": {
|
|
"get": {
|
|
"operationId": "units.show",
|
|
"summary": "Display the specified resource",
|
|
"tags": [
|
|
"Units"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "unit",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The unit ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "`UnitResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/UnitResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"operationId": "units.update",
|
|
"summary": "Update the specified resource in storage",
|
|
"tags": [
|
|
"Units"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "unit",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The unit ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UnitRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "`UnitResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/UnitResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"operationId": "units.destroy",
|
|
"summary": "Remove the specified resource from storage",
|
|
"tags": [
|
|
"Units"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "unit",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The unit ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/check/update": {
|
|
"get": {
|
|
"operationId": "update.checkVersion",
|
|
"tags": [
|
|
"Update"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "channel",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "stable"
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": [
|
|
"object",
|
|
"null"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/update/download": {
|
|
"post": {
|
|
"operationId": "update.download",
|
|
"tags": [
|
|
"Update"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"version": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"version"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
},
|
|
"path": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
},
|
|
"error": {
|
|
"type": "string",
|
|
"const": "Download Exception"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"path": {
|
|
"type": "null"
|
|
}
|
|
},
|
|
"required": [
|
|
"path"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"success",
|
|
"error",
|
|
"data"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"success",
|
|
"path"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/update/unzip": {
|
|
"post": {
|
|
"operationId": "update.unzip",
|
|
"tags": [
|
|
"Update"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"path": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"path"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"500": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
},
|
|
"error": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"success",
|
|
"error"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
},
|
|
"path": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"success",
|
|
"path"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/update/copy": {
|
|
"post": {
|
|
"operationId": "update.copy",
|
|
"tags": [
|
|
"Update"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"path": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"path"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
},
|
|
"path": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"success",
|
|
"path"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/update/delete": {
|
|
"post": {
|
|
"operationId": "update.delete",
|
|
"tags": [
|
|
"Update"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
},
|
|
"cleaned": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"success",
|
|
"cleaned"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
},
|
|
"error": {
|
|
"type": "string",
|
|
"const": "Invalid manifest"
|
|
}
|
|
},
|
|
"required": [
|
|
"success",
|
|
"error"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
},
|
|
"cleaned": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"success",
|
|
"cleaned"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/update/clean": {
|
|
"post": {
|
|
"operationId": "update.clean",
|
|
"tags": [
|
|
"Update"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"anyOf": [
|
|
{
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
},
|
|
"cleaned": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"success",
|
|
"cleaned"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
},
|
|
"error": {
|
|
"type": "string",
|
|
"const": "Invalid manifest"
|
|
}
|
|
},
|
|
"required": [
|
|
"success",
|
|
"error"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
},
|
|
"cleaned": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"success",
|
|
"cleaned"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/update/migrate": {
|
|
"post": {
|
|
"operationId": "update.migrate",
|
|
"tags": [
|
|
"Update"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"success"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/update/finish": {
|
|
"post": {
|
|
"operationId": "update.finish",
|
|
"tags": [
|
|
"Update"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"installed": {
|
|
"type": "string"
|
|
},
|
|
"version": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"installed",
|
|
"version"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
},
|
|
"error": {
|
|
"type": "boolean"
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"minItems": 0,
|
|
"maxItems": 0,
|
|
"additionalItems": false
|
|
}
|
|
},
|
|
"required": [
|
|
"success",
|
|
"error",
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/me": {
|
|
"get": {
|
|
"operationId": "userProfile.show",
|
|
"tags": [
|
|
"UserProfile"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "`UserResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/UserResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"operationId": "userProfile.update",
|
|
"tags": [
|
|
"UserProfile"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ProfileRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "`UserResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/UserResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/me/settings": {
|
|
"get": {
|
|
"operationId": "userProfile.showSettings",
|
|
"tags": [
|
|
"UserProfile"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "settings[]",
|
|
"in": "query",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"operationId": "userProfile.updateSettings",
|
|
"tags": [
|
|
"UserProfile"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UpdateSettingsRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"success"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/me/upload-avatar": {
|
|
"post": {
|
|
"operationId": "userProfile.uploadAvatar",
|
|
"tags": [
|
|
"UserProfile"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "company",
|
|
"in": "header",
|
|
"required": true,
|
|
"description": "ID of the company the request operates on (multi-tenancy).",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"multipart/form-data": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AvatarRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "`UserResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/UserResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/super-admin/users": {
|
|
"get": {
|
|
"operationId": "users.index",
|
|
"tags": [
|
|
"Users"
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Paginated set of `UserResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/UserResource"
|
|
}
|
|
},
|
|
"links": {
|
|
"type": "object",
|
|
"properties": {
|
|
"first": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"last": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"prev": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"next": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"first",
|
|
"last",
|
|
"prev",
|
|
"next"
|
|
]
|
|
},
|
|
"meta": {
|
|
"type": "object",
|
|
"properties": {
|
|
"current_page": {
|
|
"type": "integer",
|
|
"minimum": 1
|
|
},
|
|
"from": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"minimum": 1
|
|
},
|
|
"last_page": {
|
|
"type": "integer",
|
|
"minimum": 1
|
|
},
|
|
"links": {
|
|
"type": "array",
|
|
"description": "Generated paginator links.",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"label": {
|
|
"type": "string"
|
|
},
|
|
"active": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"label",
|
|
"active"
|
|
]
|
|
}
|
|
},
|
|
"path": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"description": "Base path for paginator generated URLs."
|
|
},
|
|
"per_page": {
|
|
"type": "integer",
|
|
"description": "Number of items shown per page.",
|
|
"minimum": 0
|
|
},
|
|
"to": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"description": "Number of the last item in the slice.",
|
|
"minimum": 1
|
|
},
|
|
"total": {
|
|
"type": "integer",
|
|
"description": "Total number of items being paginated.",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"required": [
|
|
"current_page",
|
|
"from",
|
|
"last_page",
|
|
"links",
|
|
"path",
|
|
"per_page",
|
|
"to",
|
|
"total"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"data",
|
|
"links",
|
|
"meta"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/super-admin/users/{user}": {
|
|
"get": {
|
|
"operationId": "users.show",
|
|
"tags": [
|
|
"Users"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "user",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The user ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "`UserResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/UserResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"operationId": "users.update",
|
|
"tags": [
|
|
"Users"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "user",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The user ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AdminUserUpdateRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "`UserResource`",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/components/schemas/UserResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
},
|
|
"422": {
|
|
"$ref": "#/components/responses/ValidationException"
|
|
},
|
|
"403": {
|
|
"$ref": "#/components/responses/AuthorizationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/super-admin/users/{user}/impersonate": {
|
|
"post": {
|
|
"operationId": "users.impersonate",
|
|
"tags": [
|
|
"Users"
|
|
],
|
|
"parameters": [
|
|
{
|
|
"name": "user",
|
|
"in": "path",
|
|
"required": true,
|
|
"description": "The user ID",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"token": {
|
|
"type": "string"
|
|
},
|
|
"impersonation_log_id": {
|
|
"type": "integer"
|
|
},
|
|
"user": {
|
|
"$ref": "#/components/schemas/UserResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"token",
|
|
"impersonation_log_id",
|
|
"user"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"422": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"error": {
|
|
"type": "string",
|
|
"const": "cannot_impersonate_self"
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"const": "You cannot impersonate yourself."
|
|
}
|
|
},
|
|
"required": [
|
|
"error",
|
|
"message"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"$ref": "#/components/responses/ModelNotFoundException"
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/super-admin/stop-impersonating": {
|
|
"post": {
|
|
"operationId": "users.stopImpersonating",
|
|
"tags": [
|
|
"Users"
|
|
],
|
|
"responses": {
|
|
"422": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"error": {
|
|
"type": "string",
|
|
"const": "not_impersonating"
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"const": "No active impersonation session."
|
|
}
|
|
},
|
|
"required": [
|
|
"error",
|
|
"message"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"success"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"$ref": "#/components/responses/AuthenticationException"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"components": {
|
|
"securitySchemes": {
|
|
"http": {
|
|
"type": "http",
|
|
"scheme": "bearer"
|
|
}
|
|
},
|
|
"schemas": {
|
|
"AddressResource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"address_street_1": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"address_street_2": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"city": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"state": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"country_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"zip": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"phone": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"fax": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"type": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"user_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"company_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"customer_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"country": {
|
|
"$ref": "#/components/schemas/CountryResource"
|
|
},
|
|
"user": {
|
|
"$ref": "#/components/schemas/UserResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"address_street_1",
|
|
"address_street_2",
|
|
"city",
|
|
"state",
|
|
"country_id",
|
|
"zip",
|
|
"phone",
|
|
"fax",
|
|
"type",
|
|
"user_id",
|
|
"company_id",
|
|
"customer_id"
|
|
],
|
|
"title": "AddressResource"
|
|
},
|
|
"AdminCompanyUpdateRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"owner_id": {
|
|
"type": "integer"
|
|
},
|
|
"vat_id": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"tax_id": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"address": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"address_street_1": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"address_street_2": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"city": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"state": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"country_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"zip": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"phone": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"owner_id"
|
|
],
|
|
"title": "AdminCompanyUpdateRequest"
|
|
},
|
|
"AdminUserUpdateRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"email": {
|
|
"type": "string"
|
|
},
|
|
"phone": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"password": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"minLength": 8
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"email"
|
|
],
|
|
"title": "AdminUserUpdateRequest"
|
|
},
|
|
"AiConversation": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"company_id": {
|
|
"type": "integer"
|
|
},
|
|
"user_id": {
|
|
"type": "integer"
|
|
},
|
|
"title": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"model": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"created_at": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"format": "date-time"
|
|
},
|
|
"updated_at": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"format": "date-time"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"company_id",
|
|
"user_id",
|
|
"title",
|
|
"model",
|
|
"created_at",
|
|
"updated_at"
|
|
],
|
|
"title": "AiConversation"
|
|
},
|
|
"AiMessage": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"conversation_id": {
|
|
"type": "integer"
|
|
},
|
|
"role": {
|
|
"type": "string"
|
|
},
|
|
"content": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"tool_call_id": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"tool_calls": {
|
|
"type": [
|
|
"array",
|
|
"null"
|
|
],
|
|
"items": {}
|
|
},
|
|
"model": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"tokens_in": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"tokens_out": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"created_at": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"conversation_id",
|
|
"role",
|
|
"content",
|
|
"tool_call_id",
|
|
"tool_calls",
|
|
"model",
|
|
"tokens_in",
|
|
"tokens_out",
|
|
"created_at"
|
|
],
|
|
"title": "AiMessage"
|
|
},
|
|
"App.Http.Resources.Customer.AddressResource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"address_street_1": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"address_street_2": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"city": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"state": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"country_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"zip": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"phone": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"fax": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"type": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"user_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"company_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"customer_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"country": {
|
|
"$ref": "#/components/schemas/CountryResource"
|
|
},
|
|
"user": {
|
|
"$ref": "#/components/schemas/UserResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"address_street_1",
|
|
"address_street_2",
|
|
"city",
|
|
"state",
|
|
"country_id",
|
|
"zip",
|
|
"phone",
|
|
"fax",
|
|
"type",
|
|
"user_id",
|
|
"company_id",
|
|
"customer_id"
|
|
],
|
|
"title": "App.Http.Resources.Customer.AddressResource"
|
|
},
|
|
"App.Http.Resources.Customer.CompanyResource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"slug": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"logo": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"logo_path": {
|
|
"type": "string"
|
|
},
|
|
"unique_hash": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"owner_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"address": {
|
|
"$ref": "#/components/schemas/App.Http.Resources.Customer.AddressResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"slug",
|
|
"logo",
|
|
"logo_path",
|
|
"unique_hash",
|
|
"owner_id"
|
|
],
|
|
"title": "App.Http.Resources.Customer.CompanyResource"
|
|
},
|
|
"App.Http.Resources.Customer.CurrencyResource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"code": {
|
|
"type": "string"
|
|
},
|
|
"symbol": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"precision": {
|
|
"type": "integer"
|
|
},
|
|
"thousand_separator": {
|
|
"type": "string"
|
|
},
|
|
"decimal_separator": {
|
|
"type": "string"
|
|
},
|
|
"swap_currency_symbol": {
|
|
"type": "integer"
|
|
},
|
|
"exchange_rate": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"code",
|
|
"symbol",
|
|
"precision",
|
|
"thousand_separator",
|
|
"decimal_separator",
|
|
"swap_currency_symbol",
|
|
"exchange_rate"
|
|
],
|
|
"title": "App.Http.Resources.Customer.CurrencyResource"
|
|
},
|
|
"App.Http.Resources.Customer.CustomFieldResource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"slug": {
|
|
"type": "string"
|
|
},
|
|
"label": {
|
|
"type": "string"
|
|
},
|
|
"model_type": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"type": "string"
|
|
},
|
|
"placeholder": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"options": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"boolean_answer": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"date_answer": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"time_answer": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"string_answer": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"number_answer": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"date_time_answer": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"is_required": {
|
|
"type": "integer"
|
|
},
|
|
"in_use": {
|
|
"type": "string"
|
|
},
|
|
"order": {
|
|
"type": "integer"
|
|
},
|
|
"company_id": {
|
|
"type": "integer"
|
|
},
|
|
"default_answer": {
|
|
"type": "string"
|
|
},
|
|
"company": {
|
|
"$ref": "#/components/schemas/CompanyResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"slug",
|
|
"label",
|
|
"model_type",
|
|
"type",
|
|
"placeholder",
|
|
"options",
|
|
"boolean_answer",
|
|
"date_answer",
|
|
"time_answer",
|
|
"string_answer",
|
|
"number_answer",
|
|
"date_time_answer",
|
|
"is_required",
|
|
"in_use",
|
|
"order",
|
|
"company_id",
|
|
"default_answer"
|
|
],
|
|
"title": "App.Http.Resources.Customer.CustomFieldResource"
|
|
},
|
|
"App.Http.Resources.Customer.CustomFieldValueResource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"custom_field_valuable_type": {
|
|
"type": "string"
|
|
},
|
|
"custom_field_valuable_id": {
|
|
"type": "integer"
|
|
},
|
|
"type": {
|
|
"type": "string"
|
|
},
|
|
"boolean_answer": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"date_answer": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"time_answer": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"string_answer": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"number_answer": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"date_time_answer": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"custom_field_id": {
|
|
"type": "integer"
|
|
},
|
|
"company_id": {
|
|
"type": "integer"
|
|
},
|
|
"default_answer": {
|
|
"type": "string"
|
|
},
|
|
"custom_field": {
|
|
"$ref": "#/components/schemas/App.Http.Resources.Customer.CustomFieldResource"
|
|
},
|
|
"company": {
|
|
"$ref": "#/components/schemas/App.Http.Resources.Customer.CompanyResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"custom_field_valuable_type",
|
|
"custom_field_valuable_id",
|
|
"type",
|
|
"boolean_answer",
|
|
"date_answer",
|
|
"time_answer",
|
|
"string_answer",
|
|
"number_answer",
|
|
"date_time_answer",
|
|
"custom_field_id",
|
|
"company_id",
|
|
"default_answer"
|
|
],
|
|
"title": "App.Http.Resources.Customer.CustomFieldValueResource"
|
|
},
|
|
"App.Http.Resources.Customer.CustomerResource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"email": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"phone": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"contact_name": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"company_name": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"website": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"enable_portal": {
|
|
"type": "boolean"
|
|
},
|
|
"currency_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"company_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"facebook_id": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"google_id": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"github_id": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"formatted_created_at": {
|
|
"type": "string"
|
|
},
|
|
"avatar": {
|
|
"type": "string"
|
|
},
|
|
"prefix": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"tax_id": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"billing": {
|
|
"$ref": "#/components/schemas/App.Http.Resources.Customer.AddressResource"
|
|
},
|
|
"shipping": {
|
|
"$ref": "#/components/schemas/App.Http.Resources.Customer.AddressResource"
|
|
},
|
|
"fields": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/App.Http.Resources.Customer.CustomFieldValueResource"
|
|
}
|
|
},
|
|
"company": {
|
|
"$ref": "#/components/schemas/App.Http.Resources.Customer.CompanyResource"
|
|
},
|
|
"currency": {
|
|
"$ref": "#/components/schemas/App.Http.Resources.Customer.CurrencyResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"email",
|
|
"phone",
|
|
"contact_name",
|
|
"company_name",
|
|
"website",
|
|
"enable_portal",
|
|
"currency_id",
|
|
"company_id",
|
|
"facebook_id",
|
|
"google_id",
|
|
"github_id",
|
|
"formatted_created_at",
|
|
"avatar",
|
|
"prefix",
|
|
"tax_id"
|
|
],
|
|
"title": "App.Http.Resources.Customer.CustomerResource"
|
|
},
|
|
"App.Http.Resources.Customer.EstimateItemResource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"discount_type": {
|
|
"type": "string"
|
|
},
|
|
"quantity": {
|
|
"type": "number"
|
|
},
|
|
"unit_name": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"discount": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
]
|
|
},
|
|
"discount_val": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"price": {
|
|
"type": "integer"
|
|
},
|
|
"tax": {
|
|
"type": "integer"
|
|
},
|
|
"total": {
|
|
"type": "integer"
|
|
},
|
|
"item_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"estimate_id": {
|
|
"type": "integer"
|
|
},
|
|
"company_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"exchange_rate": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"base_discount_val": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"base_price": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"base_tax": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"base_total": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"taxes": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/TaxResource"
|
|
}
|
|
},
|
|
"fields": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/CustomFieldValueResource"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"description",
|
|
"discount_type",
|
|
"quantity",
|
|
"unit_name",
|
|
"discount",
|
|
"discount_val",
|
|
"price",
|
|
"tax",
|
|
"total",
|
|
"item_id",
|
|
"estimate_id",
|
|
"company_id",
|
|
"exchange_rate",
|
|
"base_discount_val",
|
|
"base_price",
|
|
"base_tax",
|
|
"base_total"
|
|
],
|
|
"title": "App.Http.Resources.Customer.EstimateItemResource"
|
|
},
|
|
"App.Http.Resources.Customer.EstimateResource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"estimate_date": {
|
|
"type": "string"
|
|
},
|
|
"expiry_date": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"estimate_number": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "string"
|
|
},
|
|
"reference_number": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"tax_per_item": {
|
|
"type": "string"
|
|
},
|
|
"discount_per_item": {
|
|
"type": "string"
|
|
},
|
|
"notes": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"discount": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
]
|
|
},
|
|
"discount_type": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"discount_val": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"sub_total": {
|
|
"type": "integer"
|
|
},
|
|
"total": {
|
|
"type": "integer"
|
|
},
|
|
"tax": {
|
|
"type": "integer"
|
|
},
|
|
"unique_hash": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"template_name": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"customer_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"exchange_rate": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
]
|
|
},
|
|
"base_discount_val": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"base_sub_total": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"base_total": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"base_tax": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"currency_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"formatted_expiry_date": {
|
|
"type": "string"
|
|
},
|
|
"formatted_estimate_date": {
|
|
"type": "string"
|
|
},
|
|
"estimate_pdf_url": {
|
|
"type": "string"
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/App.Http.Resources.Customer.EstimateItemResource"
|
|
}
|
|
},
|
|
"customer": {
|
|
"$ref": "#/components/schemas/App.Http.Resources.Customer.CustomerResource"
|
|
},
|
|
"taxes": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/App.Http.Resources.Customer.TaxResource"
|
|
}
|
|
},
|
|
"fields": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/App.Http.Resources.Customer.CustomFieldValueResource"
|
|
}
|
|
},
|
|
"company": {
|
|
"$ref": "#/components/schemas/App.Http.Resources.Customer.CompanyResource"
|
|
},
|
|
"currency": {
|
|
"$ref": "#/components/schemas/App.Http.Resources.Customer.CurrencyResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"estimate_date",
|
|
"expiry_date",
|
|
"estimate_number",
|
|
"status",
|
|
"reference_number",
|
|
"tax_per_item",
|
|
"discount_per_item",
|
|
"notes",
|
|
"discount",
|
|
"discount_type",
|
|
"discount_val",
|
|
"sub_total",
|
|
"total",
|
|
"tax",
|
|
"unique_hash",
|
|
"template_name",
|
|
"customer_id",
|
|
"exchange_rate",
|
|
"base_discount_val",
|
|
"base_sub_total",
|
|
"base_total",
|
|
"base_tax",
|
|
"currency_id",
|
|
"formatted_expiry_date",
|
|
"formatted_estimate_date",
|
|
"estimate_pdf_url"
|
|
],
|
|
"title": "App.Http.Resources.Customer.EstimateResource"
|
|
},
|
|
"App.Http.Resources.Customer.ExpenseCategoryResource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"company_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"amount": {
|
|
"type": "string"
|
|
},
|
|
"formatted_created_at": {
|
|
"type": "string"
|
|
},
|
|
"company": {
|
|
"$ref": "#/components/schemas/CompanyResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"description",
|
|
"company_id",
|
|
"amount",
|
|
"formatted_created_at"
|
|
],
|
|
"title": "App.Http.Resources.Customer.ExpenseCategoryResource"
|
|
},
|
|
"App.Http.Resources.Customer.ExpenseResource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"expense_date": {
|
|
"type": "string"
|
|
},
|
|
"expense_number": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"amount": {
|
|
"type": "integer"
|
|
},
|
|
"notes": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"customer_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"attachment_receipt_url": {
|
|
"type": "string"
|
|
},
|
|
"attachment_receipt": {
|
|
"type": "string"
|
|
},
|
|
"attachment_receipt_meta": {
|
|
"type": "string"
|
|
},
|
|
"company_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"expense_category_id": {
|
|
"type": "integer"
|
|
},
|
|
"formatted_expense_date": {
|
|
"type": "string"
|
|
},
|
|
"formatted_created_at": {
|
|
"type": "string"
|
|
},
|
|
"exchange_rate": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
]
|
|
},
|
|
"currency_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"base_amount": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"payment_method_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"customer": {
|
|
"$ref": "#/components/schemas/App.Http.Resources.Customer.CustomerResource"
|
|
},
|
|
"expense_category": {
|
|
"$ref": "#/components/schemas/App.Http.Resources.Customer.ExpenseCategoryResource"
|
|
},
|
|
"fields": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/App.Http.Resources.Customer.CustomFieldValueResource"
|
|
}
|
|
},
|
|
"company": {
|
|
"$ref": "#/components/schemas/App.Http.Resources.Customer.CompanyResource"
|
|
},
|
|
"currency": {
|
|
"$ref": "#/components/schemas/App.Http.Resources.Customer.CurrencyResource"
|
|
},
|
|
"payment_method": {
|
|
"$ref": "#/components/schemas/App.Http.Resources.Customer.PaymentMethodResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"expense_date",
|
|
"expense_number",
|
|
"amount",
|
|
"notes",
|
|
"customer_id",
|
|
"attachment_receipt_url",
|
|
"attachment_receipt",
|
|
"attachment_receipt_meta",
|
|
"company_id",
|
|
"expense_category_id",
|
|
"formatted_expense_date",
|
|
"formatted_created_at",
|
|
"exchange_rate",
|
|
"currency_id",
|
|
"base_amount",
|
|
"payment_method_id"
|
|
],
|
|
"title": "App.Http.Resources.Customer.ExpenseResource"
|
|
},
|
|
"App.Http.Resources.Customer.InvoiceItemResource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"discount_type": {
|
|
"type": "string"
|
|
},
|
|
"price": {
|
|
"type": "integer"
|
|
},
|
|
"quantity": {
|
|
"type": "number"
|
|
},
|
|
"unit_name": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"discount": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
]
|
|
},
|
|
"discount_val": {
|
|
"type": "integer"
|
|
},
|
|
"tax": {
|
|
"type": "integer"
|
|
},
|
|
"total": {
|
|
"type": "integer"
|
|
},
|
|
"invoice_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"item_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"company_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"base_price": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"exchange_rate": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"base_discount_val": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"base_tax": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"base_total": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"recurring_invoice_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"taxes": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/TaxResource"
|
|
}
|
|
},
|
|
"fields": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/CustomFieldValueResource"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"description",
|
|
"discount_type",
|
|
"price",
|
|
"quantity",
|
|
"unit_name",
|
|
"discount",
|
|
"discount_val",
|
|
"tax",
|
|
"total",
|
|
"invoice_id",
|
|
"item_id",
|
|
"company_id",
|
|
"base_price",
|
|
"exchange_rate",
|
|
"base_discount_val",
|
|
"base_tax",
|
|
"base_total",
|
|
"recurring_invoice_id"
|
|
],
|
|
"title": "App.Http.Resources.Customer.InvoiceItemResource"
|
|
},
|
|
"App.Http.Resources.Customer.InvoiceResource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"invoice_date": {
|
|
"type": "string"
|
|
},
|
|
"due_date": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"invoice_number": {
|
|
"type": "string"
|
|
},
|
|
"reference_number": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"status": {
|
|
"type": "string"
|
|
},
|
|
"paid_status": {
|
|
"type": "string"
|
|
},
|
|
"tax_per_item": {
|
|
"type": "string"
|
|
},
|
|
"discount_per_item": {
|
|
"type": "string"
|
|
},
|
|
"notes": {
|
|
"type": "string"
|
|
},
|
|
"discount_type": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"discount": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
]
|
|
},
|
|
"discount_val": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"sub_total": {
|
|
"type": "integer"
|
|
},
|
|
"total": {
|
|
"type": "integer"
|
|
},
|
|
"tax": {
|
|
"type": "integer"
|
|
},
|
|
"due_amount": {
|
|
"type": "integer"
|
|
},
|
|
"sent": {
|
|
"type": "integer"
|
|
},
|
|
"viewed": {
|
|
"type": "integer"
|
|
},
|
|
"unique_hash": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"template_name": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"customer_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"recurring_invoice_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"sequence_number": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"base_discount_val": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"base_sub_total": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"base_total": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"base_tax": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"base_due_amount": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"currency_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"formatted_created_at": {
|
|
"type": "string"
|
|
},
|
|
"formatted_notes": {
|
|
"type": "string"
|
|
},
|
|
"invoice_pdf_url": {
|
|
"type": "string"
|
|
},
|
|
"formatted_invoice_date": {
|
|
"type": "string"
|
|
},
|
|
"formatted_due_date": {
|
|
"type": "string"
|
|
},
|
|
"payment_module_enabled": {
|
|
"type": "string"
|
|
},
|
|
"overdue": {
|
|
"type": "integer"
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/App.Http.Resources.Customer.InvoiceItemResource"
|
|
}
|
|
},
|
|
"customer": {
|
|
"$ref": "#/components/schemas/App.Http.Resources.Customer.CustomerResource"
|
|
},
|
|
"taxes": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/App.Http.Resources.Customer.TaxResource"
|
|
}
|
|
},
|
|
"fields": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/App.Http.Resources.Customer.CustomFieldValueResource"
|
|
}
|
|
},
|
|
"company": {
|
|
"$ref": "#/components/schemas/App.Http.Resources.Customer.CompanyResource"
|
|
},
|
|
"currency": {
|
|
"$ref": "#/components/schemas/App.Http.Resources.Customer.CurrencyResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"invoice_date",
|
|
"due_date",
|
|
"invoice_number",
|
|
"reference_number",
|
|
"status",
|
|
"paid_status",
|
|
"tax_per_item",
|
|
"discount_per_item",
|
|
"notes",
|
|
"discount_type",
|
|
"discount",
|
|
"discount_val",
|
|
"sub_total",
|
|
"total",
|
|
"tax",
|
|
"due_amount",
|
|
"sent",
|
|
"viewed",
|
|
"unique_hash",
|
|
"template_name",
|
|
"customer_id",
|
|
"recurring_invoice_id",
|
|
"sequence_number",
|
|
"base_discount_val",
|
|
"base_sub_total",
|
|
"base_total",
|
|
"base_tax",
|
|
"base_due_amount",
|
|
"currency_id",
|
|
"formatted_created_at",
|
|
"formatted_notes",
|
|
"invoice_pdf_url",
|
|
"formatted_invoice_date",
|
|
"formatted_due_date",
|
|
"payment_module_enabled",
|
|
"overdue"
|
|
],
|
|
"title": "App.Http.Resources.Customer.InvoiceResource"
|
|
},
|
|
"App.Http.Resources.Customer.PaymentMethodResource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"company_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"company": {
|
|
"$ref": "#/components/schemas/App.Http.Resources.Customer.CompanyResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"company_id"
|
|
],
|
|
"title": "App.Http.Resources.Customer.PaymentMethodResource"
|
|
},
|
|
"App.Http.Resources.Customer.PaymentResource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"payment_number": {
|
|
"type": "string"
|
|
},
|
|
"payment_date": {
|
|
"type": "string"
|
|
},
|
|
"notes": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"amount": {
|
|
"type": "integer"
|
|
},
|
|
"unique_hash": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"invoice_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"company_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"payment_method_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"customer_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"exchange_rate": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
]
|
|
},
|
|
"base_amount": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"currency_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"transaction_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"formatted_created_at": {
|
|
"type": "string"
|
|
},
|
|
"formatted_payment_date": {
|
|
"type": "string"
|
|
},
|
|
"payment_pdf_url": {
|
|
"type": "string"
|
|
},
|
|
"customer": {
|
|
"$ref": "#/components/schemas/App.Http.Resources.Customer.CustomerResource"
|
|
},
|
|
"invoice": {
|
|
"$ref": "#/components/schemas/App.Http.Resources.Customer.InvoiceResource"
|
|
},
|
|
"payment_method": {
|
|
"$ref": "#/components/schemas/App.Http.Resources.Customer.PaymentMethodResource"
|
|
},
|
|
"fields": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/App.Http.Resources.Customer.CustomFieldValueResource"
|
|
}
|
|
},
|
|
"company": {
|
|
"$ref": "#/components/schemas/App.Http.Resources.Customer.CompanyResource"
|
|
},
|
|
"currency": {
|
|
"$ref": "#/components/schemas/App.Http.Resources.Customer.CurrencyResource"
|
|
},
|
|
"transaction": {
|
|
"$ref": "#/components/schemas/App.Http.Resources.Customer.TransactionResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"payment_number",
|
|
"payment_date",
|
|
"notes",
|
|
"amount",
|
|
"unique_hash",
|
|
"invoice_id",
|
|
"company_id",
|
|
"payment_method_id",
|
|
"customer_id",
|
|
"exchange_rate",
|
|
"base_amount",
|
|
"currency_id",
|
|
"transaction_id",
|
|
"formatted_created_at",
|
|
"formatted_payment_date",
|
|
"payment_pdf_url"
|
|
],
|
|
"title": "App.Http.Resources.Customer.PaymentResource"
|
|
},
|
|
"App.Http.Resources.Customer.TaxResource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"tax_type_id": {
|
|
"type": "integer"
|
|
},
|
|
"invoice_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"estimate_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"invoice_item_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"estimate_item_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"item_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"company_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"amount": {
|
|
"type": "integer"
|
|
},
|
|
"percent": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
]
|
|
},
|
|
"compound_tax": {
|
|
"type": "integer"
|
|
},
|
|
"base_amount": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"currency_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"recurring_invoice_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"tax_type": {
|
|
"$ref": "#/components/schemas/App.Http.Resources.Customer.TaxTypeResource"
|
|
},
|
|
"currency": {
|
|
"$ref": "#/components/schemas/App.Http.Resources.Customer.CurrencyResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"tax_type_id",
|
|
"invoice_id",
|
|
"estimate_id",
|
|
"invoice_item_id",
|
|
"estimate_item_id",
|
|
"item_id",
|
|
"company_id",
|
|
"name",
|
|
"amount",
|
|
"percent",
|
|
"compound_tax",
|
|
"base_amount",
|
|
"currency_id",
|
|
"recurring_invoice_id"
|
|
],
|
|
"title": "App.Http.Resources.Customer.TaxResource"
|
|
},
|
|
"App.Http.Resources.Customer.TaxTypeResource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"percent": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
]
|
|
},
|
|
"compound_tax": {
|
|
"type": "boolean"
|
|
},
|
|
"collective_tax": {
|
|
"type": "integer"
|
|
},
|
|
"description": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"company_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"company": {
|
|
"$ref": "#/components/schemas/App.Http.Resources.Customer.CompanyResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"percent",
|
|
"compound_tax",
|
|
"collective_tax",
|
|
"description",
|
|
"company_id"
|
|
],
|
|
"title": "App.Http.Resources.Customer.TaxTypeResource"
|
|
},
|
|
"App.Http.Resources.Customer.TransactionResource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"transaction_id": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"type": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"status": {
|
|
"type": "string"
|
|
},
|
|
"transaction_date": {
|
|
"type": "string"
|
|
},
|
|
"invoice_id": {
|
|
"type": "integer"
|
|
},
|
|
"invoice": {
|
|
"$ref": "#/components/schemas/InvoiceResource"
|
|
},
|
|
"company": {
|
|
"$ref": "#/components/schemas/CompanyResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"transaction_id",
|
|
"type",
|
|
"status",
|
|
"transaction_date",
|
|
"invoice_id"
|
|
],
|
|
"title": "App.Http.Resources.Customer.TransactionResource"
|
|
},
|
|
"AvatarRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"admin_avatar": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"format": "binary",
|
|
"contentMediaType": "application/octet-stream",
|
|
"maxLength": 20000
|
|
},
|
|
"avatar": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
"title": "AvatarRequest"
|
|
},
|
|
"BulkExchangeRateRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"currencies": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "number"
|
|
},
|
|
"exchange_rate": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"exchange_rate"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"currencies"
|
|
],
|
|
"title": "BulkExchangeRateRequest"
|
|
},
|
|
"CompaniesRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"currency": {
|
|
"type": "string"
|
|
},
|
|
"address": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"address_street_1": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"address_street_2": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"city": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"state": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"country_id": {
|
|
"type": "string"
|
|
},
|
|
"zip": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"phone": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"fax": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"country_id"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"currency",
|
|
"address"
|
|
],
|
|
"title": "CompaniesRequest"
|
|
},
|
|
"Company": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"logo": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"unique_hash": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"created_at": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"format": "date-time"
|
|
},
|
|
"updated_at": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"format": "date-time"
|
|
},
|
|
"slug": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"owner_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"vat_id": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"tax_id": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"logo_path": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"logo",
|
|
"unique_hash",
|
|
"created_at",
|
|
"updated_at",
|
|
"slug",
|
|
"owner_id",
|
|
"vat_id",
|
|
"tax_id",
|
|
"logo_path"
|
|
],
|
|
"title": "Company"
|
|
},
|
|
"CompanyInvitationResource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"company_id": {
|
|
"type": "integer"
|
|
},
|
|
"email": {
|
|
"type": "string"
|
|
},
|
|
"token": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "string"
|
|
},
|
|
"expires_at": {
|
|
"type": "string"
|
|
},
|
|
"created_at": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"format": "date-time"
|
|
},
|
|
"company": {
|
|
"$ref": "#/components/schemas/CompanyResource"
|
|
},
|
|
"role": {
|
|
"$ref": "#/components/schemas/RoleResource"
|
|
},
|
|
"invited_by": {
|
|
"$ref": "#/components/schemas/UserResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"company_id",
|
|
"email",
|
|
"token",
|
|
"status",
|
|
"expires_at",
|
|
"created_at"
|
|
],
|
|
"title": "CompanyInvitationResource"
|
|
},
|
|
"CompanyLogoRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"company_logo": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
"title": "CompanyLogoRequest"
|
|
},
|
|
"CompanyMailConfigurationRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"use_custom_mail_config": {
|
|
"type": "string",
|
|
"enum": [
|
|
"YES",
|
|
"NO"
|
|
]
|
|
},
|
|
"mail_driver": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"use_custom_mail_config"
|
|
],
|
|
"title": "CompanyMailConfigurationRequest"
|
|
},
|
|
"CompanyRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"vat_id": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"tax_id": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"address": {
|
|
"type": "object",
|
|
"properties": {
|
|
"country_id": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"country_id"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"address"
|
|
],
|
|
"title": "CompanyRequest"
|
|
},
|
|
"CompanyResource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"vat_id": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"tax_id": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"logo": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"logo_path": {
|
|
"type": "string"
|
|
},
|
|
"unique_hash": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"owner_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"slug": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"created_at": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"format": "date-time"
|
|
},
|
|
"updated_at": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"format": "date-time"
|
|
},
|
|
"address": {
|
|
"$ref": "#/components/schemas/AddressResource"
|
|
},
|
|
"owner": {
|
|
"$ref": "#/components/schemas/UserResource"
|
|
},
|
|
"roles": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/RoleResource"
|
|
}
|
|
},
|
|
"user_role": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"vat_id",
|
|
"tax_id",
|
|
"logo",
|
|
"logo_path",
|
|
"unique_hash",
|
|
"owner_id",
|
|
"slug",
|
|
"created_at",
|
|
"updated_at",
|
|
"roles",
|
|
"user_role"
|
|
],
|
|
"title": "CompanyResource"
|
|
},
|
|
"CountryResource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"code": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"phone_code": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"code",
|
|
"name",
|
|
"phone_code"
|
|
],
|
|
"title": "CountryResource"
|
|
},
|
|
"Currency": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"code": {
|
|
"type": "string"
|
|
},
|
|
"symbol": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"precision": {
|
|
"type": "integer"
|
|
},
|
|
"thousand_separator": {
|
|
"type": "string"
|
|
},
|
|
"decimal_separator": {
|
|
"type": "string"
|
|
},
|
|
"swap_currency_symbol": {
|
|
"type": "integer"
|
|
},
|
|
"created_at": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"format": "date-time"
|
|
},
|
|
"updated_at": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"format": "date-time"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"code",
|
|
"symbol",
|
|
"precision",
|
|
"thousand_separator",
|
|
"decimal_separator",
|
|
"swap_currency_symbol",
|
|
"created_at",
|
|
"updated_at"
|
|
],
|
|
"title": "Currency"
|
|
},
|
|
"CurrencyResource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"code": {
|
|
"type": "string"
|
|
},
|
|
"symbol": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"precision": {
|
|
"type": "integer"
|
|
},
|
|
"thousand_separator": {
|
|
"type": "string"
|
|
},
|
|
"decimal_separator": {
|
|
"type": "string"
|
|
},
|
|
"swap_currency_symbol": {
|
|
"type": "integer"
|
|
},
|
|
"exchange_rate": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"code",
|
|
"symbol",
|
|
"precision",
|
|
"thousand_separator",
|
|
"decimal_separator",
|
|
"swap_currency_symbol",
|
|
"exchange_rate"
|
|
],
|
|
"title": "CurrencyResource"
|
|
},
|
|
"CustomFieldRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"label": {
|
|
"type": "string"
|
|
},
|
|
"model_type": {
|
|
"type": "string"
|
|
},
|
|
"order": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"type": "string"
|
|
},
|
|
"is_required": {
|
|
"type": "boolean"
|
|
},
|
|
"options": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"placeholder": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"label",
|
|
"model_type",
|
|
"order",
|
|
"type",
|
|
"is_required"
|
|
],
|
|
"title": "CustomFieldRequest"
|
|
},
|
|
"CustomFieldResource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"slug": {
|
|
"type": "string"
|
|
},
|
|
"label": {
|
|
"type": "string"
|
|
},
|
|
"model_type": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"type": "string"
|
|
},
|
|
"placeholder": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"options": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"boolean_answer": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"date_answer": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"time_answer": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"string_answer": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"number_answer": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"date_time_answer": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"is_required": {
|
|
"type": "integer"
|
|
},
|
|
"in_use": {
|
|
"type": "string"
|
|
},
|
|
"order": {
|
|
"type": "integer"
|
|
},
|
|
"company_id": {
|
|
"type": "integer"
|
|
},
|
|
"default_answer": {
|
|
"type": "string"
|
|
},
|
|
"company": {
|
|
"$ref": "#/components/schemas/CompanyResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"slug",
|
|
"label",
|
|
"model_type",
|
|
"type",
|
|
"placeholder",
|
|
"options",
|
|
"boolean_answer",
|
|
"date_answer",
|
|
"time_answer",
|
|
"string_answer",
|
|
"number_answer",
|
|
"date_time_answer",
|
|
"is_required",
|
|
"in_use",
|
|
"order",
|
|
"company_id",
|
|
"default_answer"
|
|
],
|
|
"title": "CustomFieldResource"
|
|
},
|
|
"CustomFieldValueResource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"custom_field_valuable_type": {
|
|
"type": "string"
|
|
},
|
|
"custom_field_valuable_id": {
|
|
"type": "integer"
|
|
},
|
|
"type": {
|
|
"type": "string"
|
|
},
|
|
"boolean_answer": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"date_answer": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"time_answer": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"string_answer": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"number_answer": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"date_time_answer": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"custom_field_id": {
|
|
"type": "integer"
|
|
},
|
|
"company_id": {
|
|
"type": "integer"
|
|
},
|
|
"default_answer": {
|
|
"type": "string"
|
|
},
|
|
"default_formatted_answer": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"custom_field": {
|
|
"$ref": "#/components/schemas/CustomFieldResource"
|
|
},
|
|
"company": {
|
|
"$ref": "#/components/schemas/CompanyResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"custom_field_valuable_type",
|
|
"custom_field_valuable_id",
|
|
"type",
|
|
"boolean_answer",
|
|
"date_answer",
|
|
"time_answer",
|
|
"string_answer",
|
|
"number_answer",
|
|
"date_time_answer",
|
|
"custom_field_id",
|
|
"company_id",
|
|
"default_answer",
|
|
"default_formatted_answer"
|
|
],
|
|
"title": "CustomFieldValueResource"
|
|
},
|
|
"Customer": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"email": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"phone": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"facebook_id": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"google_id": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"github_id": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"contact_name": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"company_name": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"website": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"enable_portal": {
|
|
"type": "boolean"
|
|
},
|
|
"currency_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"company_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"creator_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"created_at": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"format": "date-time"
|
|
},
|
|
"updated_at": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"format": "date-time"
|
|
},
|
|
"prefix": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"tax_id": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"avatar": {
|
|
"type": "string"
|
|
},
|
|
"currency": {
|
|
"$ref": "#/components/schemas/Currency"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"email",
|
|
"phone",
|
|
"facebook_id",
|
|
"google_id",
|
|
"github_id",
|
|
"contact_name",
|
|
"company_name",
|
|
"website",
|
|
"enable_portal",
|
|
"currency_id",
|
|
"company_id",
|
|
"creator_id",
|
|
"created_at",
|
|
"updated_at",
|
|
"prefix",
|
|
"tax_id",
|
|
"avatar"
|
|
],
|
|
"title": "Customer"
|
|
},
|
|
"CustomerProfileRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"password": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"minLength": 8
|
|
},
|
|
"email": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"customer_avatar": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"format": "binary",
|
|
"contentMediaType": "application/octet-stream",
|
|
"maxLength": 20000
|
|
},
|
|
"billing": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"address_street_1": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"address_street_2": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"city": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"state": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"country_id": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"zip": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"phone": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"fax": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"shipping": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"address_street_1": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"address_street_2": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"city": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"state": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"country_id": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"zip": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"phone": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"fax": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"title": "CustomerProfileRequest"
|
|
},
|
|
"CustomerRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"email": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"password": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"phone": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"company_name": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"contact_name": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"website": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"prefix": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"tax_id": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"enable_portal": {
|
|
"type": "boolean"
|
|
},
|
|
"currency_id": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"billing": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"address_street_1": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"address_street_2": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"city": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"state": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"country_id": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"zip": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"phone": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"fax": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"shipping": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"address_street_1": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"address_street_2": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"city": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"state": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"country_id": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"zip": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"phone": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"fax": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"name"
|
|
],
|
|
"title": "CustomerRequest"
|
|
},
|
|
"CustomerResource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"email": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"phone": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"contact_name": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"company_name": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"website": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"enable_portal": {
|
|
"type": "boolean"
|
|
},
|
|
"password_added": {
|
|
"type": "boolean"
|
|
},
|
|
"currency_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"company_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"facebook_id": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"google_id": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"github_id": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"created_at": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"format": "date-time"
|
|
},
|
|
"formatted_created_at": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"format": "date-time"
|
|
},
|
|
"avatar": {
|
|
"type": "string"
|
|
},
|
|
"due_amount": {
|
|
"type": "string"
|
|
},
|
|
"base_due_amount": {
|
|
"type": "string"
|
|
},
|
|
"prefix": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"tax_id": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"billing": {
|
|
"$ref": "#/components/schemas/AddressResource"
|
|
},
|
|
"shipping": {
|
|
"$ref": "#/components/schemas/AddressResource"
|
|
},
|
|
"fields": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/CustomFieldValueResource"
|
|
}
|
|
},
|
|
"company": {
|
|
"$ref": "#/components/schemas/CompanyResource"
|
|
},
|
|
"currency": {
|
|
"$ref": "#/components/schemas/CurrencyResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"email",
|
|
"phone",
|
|
"contact_name",
|
|
"company_name",
|
|
"website",
|
|
"enable_portal",
|
|
"password_added",
|
|
"currency_id",
|
|
"company_id",
|
|
"facebook_id",
|
|
"google_id",
|
|
"github_id",
|
|
"created_at",
|
|
"formatted_created_at",
|
|
"updated_at",
|
|
"avatar",
|
|
"due_amount",
|
|
"base_due_amount",
|
|
"prefix",
|
|
"tax_id"
|
|
],
|
|
"title": "CustomerResource"
|
|
},
|
|
"DatabaseEnvironmentRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"app_url": {
|
|
"type": "string",
|
|
"format": "uri"
|
|
},
|
|
"database_connection": {
|
|
"type": "string"
|
|
},
|
|
"database_hostname": {
|
|
"type": "string"
|
|
},
|
|
"database_port": {
|
|
"type": "number"
|
|
},
|
|
"database_name": {
|
|
"type": "string"
|
|
},
|
|
"database_username": {
|
|
"type": "string"
|
|
},
|
|
"database_overwrite": {
|
|
"type": [
|
|
"boolean",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"app_url",
|
|
"database_connection",
|
|
"database_hostname",
|
|
"database_port",
|
|
"database_name",
|
|
"database_username"
|
|
],
|
|
"title": "DatabaseEnvironmentRequest"
|
|
},
|
|
"DeleteCustomersRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"ids": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"ids"
|
|
],
|
|
"title": "DeleteCustomersRequest"
|
|
},
|
|
"DeleteEstimatesRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"ids": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"ids"
|
|
],
|
|
"title": "DeleteEstimatesRequest"
|
|
},
|
|
"DeleteExpensesRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"ids": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"ids"
|
|
],
|
|
"title": "DeleteExpensesRequest"
|
|
},
|
|
"DeleteInvoiceRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"ids": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"ids"
|
|
],
|
|
"title": "DeleteInvoiceRequest"
|
|
},
|
|
"DeleteItemsRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"ids": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"ids"
|
|
],
|
|
"title": "DeleteItemsRequest"
|
|
},
|
|
"DeleteMemberRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"users": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"users"
|
|
],
|
|
"title": "DeleteMemberRequest"
|
|
},
|
|
"DeletePaymentsRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"ids": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"ids"
|
|
],
|
|
"title": "DeletePaymentsRequest"
|
|
},
|
|
"DiskEnvironmentRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"driver": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"driver"
|
|
],
|
|
"title": "DiskEnvironmentRequest"
|
|
},
|
|
"DomainEnvironmentRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"app_domain": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"app_domain"
|
|
],
|
|
"title": "DomainEnvironmentRequest"
|
|
},
|
|
"Estimate": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"estimate_date": {
|
|
"type": "string"
|
|
},
|
|
"expiry_date": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"estimate_number": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "string"
|
|
},
|
|
"reference_number": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"tax_per_item": {
|
|
"type": "string"
|
|
},
|
|
"discount_per_item": {
|
|
"type": "string"
|
|
},
|
|
"notes": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"discount": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
]
|
|
},
|
|
"discount_type": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"discount_val": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"sub_total": {
|
|
"type": "integer"
|
|
},
|
|
"total": {
|
|
"type": "integer"
|
|
},
|
|
"tax": {
|
|
"type": "integer"
|
|
},
|
|
"unique_hash": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"user_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"company_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"created_at": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"format": "date-time"
|
|
},
|
|
"updated_at": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"format": "date-time"
|
|
},
|
|
"creator_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"template_name": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"customer_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"exchange_rate": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
]
|
|
},
|
|
"base_discount_val": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"base_sub_total": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"base_total": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"base_tax": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"currency_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"sequence_number": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"customer_sequence_number": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"sales_tax_type": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"sales_tax_address_type": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"tax_included": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"estimate_date",
|
|
"expiry_date",
|
|
"estimate_number",
|
|
"status",
|
|
"reference_number",
|
|
"tax_per_item",
|
|
"discount_per_item",
|
|
"notes",
|
|
"discount",
|
|
"discount_type",
|
|
"discount_val",
|
|
"sub_total",
|
|
"total",
|
|
"tax",
|
|
"unique_hash",
|
|
"user_id",
|
|
"company_id",
|
|
"created_at",
|
|
"updated_at",
|
|
"creator_id",
|
|
"template_name",
|
|
"customer_id",
|
|
"exchange_rate",
|
|
"base_discount_val",
|
|
"base_sub_total",
|
|
"base_total",
|
|
"base_tax",
|
|
"currency_id",
|
|
"sequence_number",
|
|
"customer_sequence_number",
|
|
"sales_tax_type",
|
|
"sales_tax_address_type",
|
|
"tax_included"
|
|
],
|
|
"title": "Estimate"
|
|
},
|
|
"EstimateItemResource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"discount_type": {
|
|
"type": "string"
|
|
},
|
|
"quantity": {
|
|
"type": "number"
|
|
},
|
|
"unit_name": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"discount": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
]
|
|
},
|
|
"discount_val": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"price": {
|
|
"type": "integer"
|
|
},
|
|
"tax": {
|
|
"type": "integer"
|
|
},
|
|
"total": {
|
|
"type": "integer"
|
|
},
|
|
"item_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"estimate_id": {
|
|
"type": "integer"
|
|
},
|
|
"company_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"exchange_rate": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"base_discount_val": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"base_price": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"base_tax": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"base_total": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"taxes": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/TaxResource"
|
|
}
|
|
},
|
|
"fields": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/CustomFieldValueResource"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"description",
|
|
"discount_type",
|
|
"quantity",
|
|
"unit_name",
|
|
"discount",
|
|
"discount_val",
|
|
"price",
|
|
"tax",
|
|
"total",
|
|
"item_id",
|
|
"estimate_id",
|
|
"company_id",
|
|
"exchange_rate",
|
|
"base_discount_val",
|
|
"base_price",
|
|
"base_tax",
|
|
"base_total"
|
|
],
|
|
"title": "EstimateItemResource"
|
|
},
|
|
"EstimateResource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"estimate_date": {
|
|
"type": "string"
|
|
},
|
|
"expiry_date": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"estimate_number": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "string"
|
|
},
|
|
"reference_number": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"tax_per_item": {
|
|
"type": "string"
|
|
},
|
|
"tax_included": {
|
|
"type": "integer"
|
|
},
|
|
"discount_per_item": {
|
|
"type": "string"
|
|
},
|
|
"notes": {
|
|
"type": "string"
|
|
},
|
|
"discount": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
]
|
|
},
|
|
"discount_type": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"discount_val": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"sub_total": {
|
|
"type": "integer"
|
|
},
|
|
"total": {
|
|
"type": "integer"
|
|
},
|
|
"tax": {
|
|
"type": "integer"
|
|
},
|
|
"unique_hash": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"creator_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"template_name": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"customer_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"exchange_rate": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
]
|
|
},
|
|
"base_discount_val": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"base_sub_total": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"base_total": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"base_tax": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"sequence_number": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"currency_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"formatted_expiry_date": {
|
|
"type": "string"
|
|
},
|
|
"formatted_estimate_date": {
|
|
"type": "string"
|
|
},
|
|
"estimate_pdf_url": {
|
|
"type": "string"
|
|
},
|
|
"sales_tax_type": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"sales_tax_address_type": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/EstimateItemResource"
|
|
}
|
|
},
|
|
"customer": {
|
|
"$ref": "#/components/schemas/CustomerResource"
|
|
},
|
|
"creator": {
|
|
"$ref": "#/components/schemas/UserResource"
|
|
},
|
|
"taxes": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/TaxResource"
|
|
}
|
|
},
|
|
"fields": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/CustomFieldValueResource"
|
|
}
|
|
},
|
|
"company": {
|
|
"$ref": "#/components/schemas/CompanyResource"
|
|
},
|
|
"currency": {
|
|
"$ref": "#/components/schemas/CurrencyResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"estimate_date",
|
|
"expiry_date",
|
|
"estimate_number",
|
|
"status",
|
|
"reference_number",
|
|
"tax_per_item",
|
|
"tax_included",
|
|
"discount_per_item",
|
|
"notes",
|
|
"discount",
|
|
"discount_type",
|
|
"discount_val",
|
|
"sub_total",
|
|
"total",
|
|
"tax",
|
|
"unique_hash",
|
|
"creator_id",
|
|
"template_name",
|
|
"customer_id",
|
|
"exchange_rate",
|
|
"base_discount_val",
|
|
"base_sub_total",
|
|
"base_total",
|
|
"base_tax",
|
|
"sequence_number",
|
|
"currency_id",
|
|
"formatted_expiry_date",
|
|
"formatted_estimate_date",
|
|
"estimate_pdf_url",
|
|
"sales_tax_type",
|
|
"sales_tax_address_type"
|
|
],
|
|
"title": "EstimateResource"
|
|
},
|
|
"EstimatesRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"estimate_date": {
|
|
"type": "string"
|
|
},
|
|
"expiry_date": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"customer_id": {
|
|
"type": "string"
|
|
},
|
|
"estimate_number": {
|
|
"type": "string"
|
|
},
|
|
"exchange_rate": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"discount": {
|
|
"type": "number"
|
|
},
|
|
"discount_val": {
|
|
"type": "integer"
|
|
},
|
|
"sub_total": {
|
|
"type": "integer"
|
|
},
|
|
"total": {
|
|
"type": "integer",
|
|
"maximum": 999999999999
|
|
},
|
|
"tax": {
|
|
"type": "string"
|
|
},
|
|
"template_name": {
|
|
"type": "string"
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"description": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"quantity": {
|
|
"type": "number"
|
|
},
|
|
"price": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"quantity",
|
|
"price"
|
|
]
|
|
},
|
|
"minItems": 1
|
|
}
|
|
},
|
|
"required": [
|
|
"estimate_date",
|
|
"customer_id",
|
|
"estimate_number",
|
|
"discount",
|
|
"discount_val",
|
|
"sub_total",
|
|
"total",
|
|
"tax",
|
|
"template_name",
|
|
"items"
|
|
],
|
|
"title": "EstimatesRequest"
|
|
},
|
|
"ExchangeRateProviderRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"driver": {
|
|
"type": "string"
|
|
},
|
|
"key": {
|
|
"type": "string"
|
|
},
|
|
"active": {
|
|
"type": [
|
|
"boolean",
|
|
"null"
|
|
]
|
|
},
|
|
"currencies": {
|
|
"type": [
|
|
"array",
|
|
"null"
|
|
],
|
|
"items": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
"driver_config": {
|
|
"type": [
|
|
"object",
|
|
"null"
|
|
],
|
|
"properties": {
|
|
"url": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"format": "uri",
|
|
"description": "Only the CurrencyConverter \"DEDICATED\" plan reads a custom URL from\ndriver_config; guard it against SSRF (private/reserved targets)."
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"driver",
|
|
"key"
|
|
],
|
|
"title": "ExchangeRateProviderRequest"
|
|
},
|
|
"ExchangeRateProviderResource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"key": {
|
|
"type": "string"
|
|
},
|
|
"driver": {
|
|
"type": "string"
|
|
},
|
|
"currencies": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"driver_config": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"company_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"active": {
|
|
"type": "boolean"
|
|
},
|
|
"company": {
|
|
"$ref": "#/components/schemas/CompanyResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"key",
|
|
"driver",
|
|
"currencies",
|
|
"driver_config",
|
|
"company_id",
|
|
"active"
|
|
],
|
|
"title": "ExchangeRateProviderResource"
|
|
},
|
|
"ExpenseCategoryRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"name"
|
|
],
|
|
"title": "ExpenseCategoryRequest"
|
|
},
|
|
"ExpenseCategoryResource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"company_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"amount": {
|
|
"type": "string"
|
|
},
|
|
"formatted_created_at": {
|
|
"type": "string"
|
|
},
|
|
"company": {
|
|
"$ref": "#/components/schemas/CompanyResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"description",
|
|
"company_id",
|
|
"amount",
|
|
"formatted_created_at"
|
|
],
|
|
"title": "ExpenseCategoryResource"
|
|
},
|
|
"ExpenseRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"expense_date": {
|
|
"type": "string"
|
|
},
|
|
"expense_number": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"maxLength": 255
|
|
},
|
|
"expense_category_id": {
|
|
"type": "string"
|
|
},
|
|
"exchange_rate": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"payment_method_id": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"amount": {
|
|
"type": "string"
|
|
},
|
|
"customer_id": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"notes": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"currency_id": {
|
|
"type": "string"
|
|
},
|
|
"attachment_receipt": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"format": "binary",
|
|
"contentMediaType": "application/octet-stream",
|
|
"maxLength": 20000
|
|
}
|
|
},
|
|
"required": [
|
|
"expense_date",
|
|
"expense_category_id",
|
|
"amount",
|
|
"currency_id"
|
|
],
|
|
"title": "ExpenseRequest"
|
|
},
|
|
"ExpenseResource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"expense_date": {
|
|
"type": "string"
|
|
},
|
|
"expense_number": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"amount": {
|
|
"type": "integer"
|
|
},
|
|
"notes": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"customer_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"attachment_receipt_url": {
|
|
"type": "string"
|
|
},
|
|
"attachment_receipt": {
|
|
"type": "string"
|
|
},
|
|
"attachment_receipt_meta": {
|
|
"type": "string"
|
|
},
|
|
"company_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"expense_category_id": {
|
|
"type": "integer"
|
|
},
|
|
"creator_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"formatted_expense_date": {
|
|
"type": "string"
|
|
},
|
|
"formatted_created_at": {
|
|
"type": "string"
|
|
},
|
|
"exchange_rate": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
]
|
|
},
|
|
"currency_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"base_amount": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"payment_method_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"customer": {
|
|
"$ref": "#/components/schemas/CustomerResource"
|
|
},
|
|
"expense_category": {
|
|
"$ref": "#/components/schemas/ExpenseCategoryResource"
|
|
},
|
|
"creator": {
|
|
"$ref": "#/components/schemas/UserResource"
|
|
},
|
|
"fields": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/CustomFieldValueResource"
|
|
}
|
|
},
|
|
"company": {
|
|
"$ref": "#/components/schemas/CompanyResource"
|
|
},
|
|
"currency": {
|
|
"$ref": "#/components/schemas/CurrencyResource"
|
|
},
|
|
"payment_method": {
|
|
"$ref": "#/components/schemas/PaymentMethodResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"expense_date",
|
|
"expense_number",
|
|
"amount",
|
|
"notes",
|
|
"customer_id",
|
|
"attachment_receipt_url",
|
|
"attachment_receipt",
|
|
"attachment_receipt_meta",
|
|
"company_id",
|
|
"expense_category_id",
|
|
"creator_id",
|
|
"formatted_expense_date",
|
|
"formatted_created_at",
|
|
"exchange_rate",
|
|
"currency_id",
|
|
"base_amount",
|
|
"payment_method_id"
|
|
],
|
|
"title": "ExpenseResource"
|
|
},
|
|
"FileDiskResource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"type": "string"
|
|
},
|
|
"driver": {
|
|
"type": "string"
|
|
},
|
|
"set_as_default": {
|
|
"type": "boolean"
|
|
},
|
|
"credentials": {
|
|
"type": "string"
|
|
},
|
|
"company_id": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"type",
|
|
"driver",
|
|
"set_as_default",
|
|
"credentials",
|
|
"company_id"
|
|
],
|
|
"title": "FileDiskResource"
|
|
},
|
|
"Invoice": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"invoice_date": {
|
|
"type": "string"
|
|
},
|
|
"due_date": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"invoice_number": {
|
|
"type": "string"
|
|
},
|
|
"reference_number": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"status": {
|
|
"type": "string"
|
|
},
|
|
"paid_status": {
|
|
"type": "string"
|
|
},
|
|
"tax_per_item": {
|
|
"type": "string"
|
|
},
|
|
"discount_per_item": {
|
|
"type": "string"
|
|
},
|
|
"notes": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"discount_type": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"discount": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
]
|
|
},
|
|
"discount_val": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"sub_total": {
|
|
"type": "integer"
|
|
},
|
|
"total": {
|
|
"type": "integer"
|
|
},
|
|
"tax": {
|
|
"type": "integer"
|
|
},
|
|
"due_amount": {
|
|
"type": "integer"
|
|
},
|
|
"sent": {
|
|
"type": "integer"
|
|
},
|
|
"viewed": {
|
|
"type": "integer"
|
|
},
|
|
"unique_hash": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"user_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"company_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"created_at": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"format": "date-time"
|
|
},
|
|
"updated_at": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"format": "date-time"
|
|
},
|
|
"creator_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"template_name": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"customer_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"recurring_invoice_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"exchange_rate": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
]
|
|
},
|
|
"base_discount_val": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"base_sub_total": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"base_total": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"base_tax": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"base_due_amount": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"currency_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"sequence_number": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"customer_sequence_number": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"sales_tax_type": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"sales_tax_address_type": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"overdue": {
|
|
"type": "integer"
|
|
},
|
|
"tax_included": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"invoice_date",
|
|
"due_date",
|
|
"invoice_number",
|
|
"reference_number",
|
|
"status",
|
|
"paid_status",
|
|
"tax_per_item",
|
|
"discount_per_item",
|
|
"notes",
|
|
"discount_type",
|
|
"discount",
|
|
"discount_val",
|
|
"sub_total",
|
|
"total",
|
|
"tax",
|
|
"due_amount",
|
|
"sent",
|
|
"viewed",
|
|
"unique_hash",
|
|
"user_id",
|
|
"company_id",
|
|
"created_at",
|
|
"updated_at",
|
|
"creator_id",
|
|
"template_name",
|
|
"customer_id",
|
|
"recurring_invoice_id",
|
|
"exchange_rate",
|
|
"base_discount_val",
|
|
"base_sub_total",
|
|
"base_total",
|
|
"base_tax",
|
|
"base_due_amount",
|
|
"currency_id",
|
|
"sequence_number",
|
|
"customer_sequence_number",
|
|
"sales_tax_type",
|
|
"sales_tax_address_type",
|
|
"overdue",
|
|
"tax_included"
|
|
],
|
|
"title": "Invoice"
|
|
},
|
|
"InvoiceItemResource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"discount_type": {
|
|
"type": "string"
|
|
},
|
|
"price": {
|
|
"type": "integer"
|
|
},
|
|
"quantity": {
|
|
"type": "number"
|
|
},
|
|
"unit_name": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"discount": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
]
|
|
},
|
|
"discount_val": {
|
|
"type": "integer"
|
|
},
|
|
"tax": {
|
|
"type": "integer"
|
|
},
|
|
"total": {
|
|
"type": "integer"
|
|
},
|
|
"invoice_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"item_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"company_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"base_price": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"exchange_rate": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"base_discount_val": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"base_tax": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"base_total": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"recurring_invoice_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"taxes": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/TaxResource"
|
|
}
|
|
},
|
|
"fields": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/CustomFieldValueResource"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"description",
|
|
"discount_type",
|
|
"price",
|
|
"quantity",
|
|
"unit_name",
|
|
"discount",
|
|
"discount_val",
|
|
"tax",
|
|
"total",
|
|
"invoice_id",
|
|
"item_id",
|
|
"company_id",
|
|
"base_price",
|
|
"exchange_rate",
|
|
"base_discount_val",
|
|
"base_tax",
|
|
"base_total",
|
|
"recurring_invoice_id"
|
|
],
|
|
"title": "InvoiceItemResource"
|
|
},
|
|
"InvoiceResource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"invoice_date": {
|
|
"type": "string"
|
|
},
|
|
"due_date": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"invoice_number": {
|
|
"type": "string"
|
|
},
|
|
"reference_number": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"status": {
|
|
"type": "string"
|
|
},
|
|
"paid_status": {
|
|
"type": "string"
|
|
},
|
|
"tax_per_item": {
|
|
"type": "string"
|
|
},
|
|
"tax_included": {
|
|
"type": "integer"
|
|
},
|
|
"discount_per_item": {
|
|
"type": "string"
|
|
},
|
|
"notes": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"discount_type": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"discount": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
]
|
|
},
|
|
"discount_val": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"sub_total": {
|
|
"type": "integer"
|
|
},
|
|
"total": {
|
|
"type": "integer"
|
|
},
|
|
"tax": {
|
|
"type": "integer"
|
|
},
|
|
"due_amount": {
|
|
"type": "integer"
|
|
},
|
|
"sent": {
|
|
"type": "integer"
|
|
},
|
|
"viewed": {
|
|
"type": "integer"
|
|
},
|
|
"unique_hash": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"template_name": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"customer_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"recurring_invoice_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"sequence_number": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"exchange_rate": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
]
|
|
},
|
|
"base_discount_val": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"base_sub_total": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"base_total": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"creator_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"base_tax": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"base_due_amount": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"currency_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"formatted_created_at": {
|
|
"type": "string"
|
|
},
|
|
"invoice_pdf_url": {
|
|
"type": "string"
|
|
},
|
|
"formatted_invoice_date": {
|
|
"type": "string"
|
|
},
|
|
"formatted_due_date": {
|
|
"type": "string"
|
|
},
|
|
"allow_edit": {
|
|
"type": "string"
|
|
},
|
|
"payment_module_enabled": {
|
|
"type": "string"
|
|
},
|
|
"sales_tax_type": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"sales_tax_address_type": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"overdue": {
|
|
"type": "integer"
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/InvoiceItemResource"
|
|
}
|
|
},
|
|
"customer": {
|
|
"$ref": "#/components/schemas/CustomerResource"
|
|
},
|
|
"creator": {
|
|
"$ref": "#/components/schemas/UserResource"
|
|
},
|
|
"taxes": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/TaxResource"
|
|
}
|
|
},
|
|
"fields": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/CustomFieldValueResource"
|
|
}
|
|
},
|
|
"company": {
|
|
"$ref": "#/components/schemas/CompanyResource"
|
|
},
|
|
"currency": {
|
|
"$ref": "#/components/schemas/CurrencyResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"invoice_date",
|
|
"due_date",
|
|
"invoice_number",
|
|
"reference_number",
|
|
"status",
|
|
"paid_status",
|
|
"tax_per_item",
|
|
"tax_included",
|
|
"discount_per_item",
|
|
"notes",
|
|
"discount_type",
|
|
"discount",
|
|
"discount_val",
|
|
"sub_total",
|
|
"total",
|
|
"tax",
|
|
"due_amount",
|
|
"sent",
|
|
"viewed",
|
|
"unique_hash",
|
|
"template_name",
|
|
"customer_id",
|
|
"recurring_invoice_id",
|
|
"sequence_number",
|
|
"exchange_rate",
|
|
"base_discount_val",
|
|
"base_sub_total",
|
|
"base_total",
|
|
"creator_id",
|
|
"base_tax",
|
|
"base_due_amount",
|
|
"currency_id",
|
|
"formatted_created_at",
|
|
"invoice_pdf_url",
|
|
"formatted_invoice_date",
|
|
"formatted_due_date",
|
|
"allow_edit",
|
|
"payment_module_enabled",
|
|
"sales_tax_type",
|
|
"sales_tax_address_type",
|
|
"overdue"
|
|
],
|
|
"title": "InvoiceResource"
|
|
},
|
|
"InvoicesRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"invoice_date": {
|
|
"type": "string"
|
|
},
|
|
"due_date": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"customer_id": {
|
|
"type": "string"
|
|
},
|
|
"invoice_number": {
|
|
"type": "string"
|
|
},
|
|
"exchange_rate": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"discount": {
|
|
"type": "number"
|
|
},
|
|
"discount_val": {
|
|
"type": "integer"
|
|
},
|
|
"sub_total": {
|
|
"type": "number"
|
|
},
|
|
"total": {
|
|
"type": "number",
|
|
"maximum": 999999999999
|
|
},
|
|
"tax": {
|
|
"type": "string"
|
|
},
|
|
"template_name": {
|
|
"type": "string"
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"description": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"quantity": {
|
|
"type": "number"
|
|
},
|
|
"price": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"quantity",
|
|
"price"
|
|
]
|
|
},
|
|
"minItems": 1
|
|
}
|
|
},
|
|
"required": [
|
|
"invoice_date",
|
|
"customer_id",
|
|
"invoice_number",
|
|
"discount",
|
|
"discount_val",
|
|
"sub_total",
|
|
"total",
|
|
"tax",
|
|
"template_name",
|
|
"items"
|
|
],
|
|
"title": "InvoicesRequest"
|
|
},
|
|
"ItemResource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"price": {
|
|
"type": "integer"
|
|
},
|
|
"unit_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"company_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"creator_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"currency_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"created_at": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"format": "date-time"
|
|
},
|
|
"updated_at": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"format": "date-time"
|
|
},
|
|
"tax_per_item": {
|
|
"type": "integer"
|
|
},
|
|
"formatted_created_at": {
|
|
"type": "string"
|
|
},
|
|
"unit": {
|
|
"$ref": "#/components/schemas/UnitResource"
|
|
},
|
|
"company": {
|
|
"$ref": "#/components/schemas/CompanyResource"
|
|
},
|
|
"taxes": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/TaxResource"
|
|
}
|
|
},
|
|
"currency": {
|
|
"$ref": "#/components/schemas/CurrencyResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"description",
|
|
"price",
|
|
"unit_id",
|
|
"company_id",
|
|
"creator_id",
|
|
"currency_id",
|
|
"created_at",
|
|
"updated_at",
|
|
"tax_per_item",
|
|
"formatted_created_at"
|
|
],
|
|
"title": "ItemResource"
|
|
},
|
|
"ItemsRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"price": {
|
|
"type": "string"
|
|
},
|
|
"unit_id": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"description": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"price"
|
|
],
|
|
"title": "ItemsRequest"
|
|
},
|
|
"LoginRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"username": {
|
|
"type": "string"
|
|
},
|
|
"password": {
|
|
"type": "string"
|
|
},
|
|
"device_name": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"username",
|
|
"password",
|
|
"device_name"
|
|
],
|
|
"title": "LoginRequest"
|
|
},
|
|
"MailEnvironmentRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"mail_driver": {
|
|
"type": "string",
|
|
"enum": [
|
|
"sendmail",
|
|
"smtp",
|
|
"mail",
|
|
"ses",
|
|
"mailgun",
|
|
"postmark"
|
|
]
|
|
},
|
|
"from_name": {
|
|
"type": "string"
|
|
},
|
|
"from_mail": {
|
|
"type": "string",
|
|
"format": "email"
|
|
},
|
|
"mail_sendmail_path": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"mail_driver",
|
|
"from_name",
|
|
"from_mail"
|
|
],
|
|
"title": "MailEnvironmentRequest"
|
|
},
|
|
"MemberRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"email": {
|
|
"type": "string"
|
|
},
|
|
"phone": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"password": {
|
|
"type": "string",
|
|
"minLength": 8
|
|
},
|
|
"companies": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"role": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"role"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"email",
|
|
"password",
|
|
"companies"
|
|
],
|
|
"title": "MemberRequest"
|
|
},
|
|
"ModuleResource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"average_rating": {
|
|
"type": "string"
|
|
},
|
|
"cover": {
|
|
"type": "string"
|
|
},
|
|
"slug": {
|
|
"type": "string"
|
|
},
|
|
"module_name": {
|
|
"type": "string"
|
|
},
|
|
"access_tier": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"enum": [
|
|
"public"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"faq": {
|
|
"type": "string"
|
|
},
|
|
"highlights": {
|
|
"type": "string"
|
|
},
|
|
"installed_module_version": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"installed_module_version_updated_at": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"latest_module_version": {
|
|
"type": "string"
|
|
},
|
|
"latest_module_version_updated_at": {
|
|
"type": "string"
|
|
},
|
|
"latest_min_invoiceshelf_version": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"latest_module_checksum_sha256": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"is_dev": {
|
|
"type": "string"
|
|
},
|
|
"license": {
|
|
"type": "string"
|
|
},
|
|
"long_description": {
|
|
"type": "string"
|
|
},
|
|
"monthly_price": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"purchased": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "boolean"
|
|
}
|
|
]
|
|
},
|
|
"reviews": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"minItems": 0,
|
|
"maxItems": 0,
|
|
"additionalItems": false
|
|
}
|
|
]
|
|
},
|
|
"screenshots": {
|
|
"type": "string"
|
|
},
|
|
"short_description": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"type": "string"
|
|
},
|
|
"yearly_price": {
|
|
"type": "string"
|
|
},
|
|
"author_name": {
|
|
"type": "string"
|
|
},
|
|
"author_avatar": {
|
|
"type": "string"
|
|
},
|
|
"installed": {
|
|
"type": "boolean"
|
|
},
|
|
"enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"update_available": {
|
|
"type": "boolean"
|
|
},
|
|
"video_link": {
|
|
"type": "string"
|
|
},
|
|
"video_thumbnail": {
|
|
"type": "string"
|
|
},
|
|
"links": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"average_rating",
|
|
"cover",
|
|
"slug",
|
|
"module_name",
|
|
"access_tier",
|
|
"faq",
|
|
"highlights",
|
|
"installed_module_version",
|
|
"installed_module_version_updated_at",
|
|
"latest_module_version",
|
|
"latest_module_version_updated_at",
|
|
"latest_min_invoiceshelf_version",
|
|
"latest_module_checksum_sha256",
|
|
"is_dev",
|
|
"license",
|
|
"long_description",
|
|
"monthly_price",
|
|
"name",
|
|
"purchased",
|
|
"reviews",
|
|
"screenshots",
|
|
"short_description",
|
|
"type",
|
|
"yearly_price",
|
|
"author_name",
|
|
"author_avatar",
|
|
"installed",
|
|
"enabled",
|
|
"update_available",
|
|
"video_link",
|
|
"video_thumbnail",
|
|
"links"
|
|
],
|
|
"title": "ModuleResource"
|
|
},
|
|
"NoteResource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"type": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"notes": {
|
|
"type": "string"
|
|
},
|
|
"is_default": {
|
|
"type": "integer"
|
|
},
|
|
"company": {
|
|
"$ref": "#/components/schemas/CompanyResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"type",
|
|
"name",
|
|
"notes",
|
|
"is_default"
|
|
],
|
|
"title": "NoteResource"
|
|
},
|
|
"NotesRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"notes": {
|
|
"type": "string"
|
|
},
|
|
"is_default": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"name",
|
|
"notes",
|
|
"is_default"
|
|
],
|
|
"title": "NotesRequest"
|
|
},
|
|
"PDFConfigurationRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"pdf_driver": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"pdf_driver"
|
|
],
|
|
"title": "PDFConfigurationRequest"
|
|
},
|
|
"PaymentMethodRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"name"
|
|
],
|
|
"title": "PaymentMethodRequest"
|
|
},
|
|
"PaymentMethodResource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"company_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"type": {
|
|
"type": "string"
|
|
},
|
|
"company": {
|
|
"$ref": "#/components/schemas/CompanyResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"company_id",
|
|
"type"
|
|
],
|
|
"title": "PaymentMethodResource"
|
|
},
|
|
"PaymentRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"payment_date": {
|
|
"type": "string"
|
|
},
|
|
"customer_id": {
|
|
"type": "string"
|
|
},
|
|
"exchange_rate": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"amount": {
|
|
"type": "string"
|
|
},
|
|
"payment_number": {
|
|
"type": "string"
|
|
},
|
|
"invoice_id": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"payment_method_id": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"notes": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"payment_date",
|
|
"customer_id",
|
|
"amount",
|
|
"payment_number"
|
|
],
|
|
"title": "PaymentRequest"
|
|
},
|
|
"PaymentResource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"payment_number": {
|
|
"type": "string"
|
|
},
|
|
"payment_date": {
|
|
"type": "string"
|
|
},
|
|
"notes": {
|
|
"type": "string"
|
|
},
|
|
"amount": {
|
|
"type": "integer"
|
|
},
|
|
"unique_hash": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"invoice_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"company_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"payment_method_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"creator_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"customer_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"exchange_rate": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
]
|
|
},
|
|
"base_amount": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"currency_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"transaction_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"sequence_number": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"formatted_created_at": {
|
|
"type": "string"
|
|
},
|
|
"formatted_payment_date": {
|
|
"type": "string"
|
|
},
|
|
"payment_pdf_url": {
|
|
"type": "string"
|
|
},
|
|
"customer": {
|
|
"$ref": "#/components/schemas/CustomerResource"
|
|
},
|
|
"invoice": {
|
|
"$ref": "#/components/schemas/InvoiceResource"
|
|
},
|
|
"payment_method": {
|
|
"$ref": "#/components/schemas/PaymentMethodResource"
|
|
},
|
|
"fields": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/CustomFieldValueResource"
|
|
}
|
|
},
|
|
"company": {
|
|
"$ref": "#/components/schemas/CompanyResource"
|
|
},
|
|
"currency": {
|
|
"$ref": "#/components/schemas/CurrencyResource"
|
|
},
|
|
"transaction": {
|
|
"$ref": "#/components/schemas/TransactionResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"payment_number",
|
|
"payment_date",
|
|
"notes",
|
|
"amount",
|
|
"unique_hash",
|
|
"invoice_id",
|
|
"company_id",
|
|
"payment_method_id",
|
|
"creator_id",
|
|
"customer_id",
|
|
"exchange_rate",
|
|
"base_amount",
|
|
"currency_id",
|
|
"transaction_id",
|
|
"sequence_number",
|
|
"formatted_created_at",
|
|
"formatted_payment_date",
|
|
"payment_pdf_url"
|
|
],
|
|
"title": "PaymentResource"
|
|
},
|
|
"ProfileRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"password": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"minLength": 8
|
|
},
|
|
"email": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"email"
|
|
],
|
|
"title": "ProfileRequest"
|
|
},
|
|
"RecurringInvoiceRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"starts_at": {
|
|
"type": "string"
|
|
},
|
|
"send_automatically": {
|
|
"type": "boolean"
|
|
},
|
|
"customer_id": {
|
|
"type": "string"
|
|
},
|
|
"exchange_rate": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"discount": {
|
|
"type": "number"
|
|
},
|
|
"discount_val": {
|
|
"type": "integer"
|
|
},
|
|
"sub_total": {
|
|
"type": "integer"
|
|
},
|
|
"total": {
|
|
"type": "integer",
|
|
"maximum": 999999999999
|
|
},
|
|
"tax": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "string"
|
|
},
|
|
"frequency": {
|
|
"type": "string"
|
|
},
|
|
"limit_by": {
|
|
"type": "string"
|
|
},
|
|
"limit_count": {
|
|
"type": "string"
|
|
},
|
|
"limit_date": {
|
|
"type": "string"
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"description": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"starts_at",
|
|
"send_automatically",
|
|
"customer_id",
|
|
"discount",
|
|
"discount_val",
|
|
"sub_total",
|
|
"total",
|
|
"tax",
|
|
"status",
|
|
"frequency",
|
|
"limit_by",
|
|
"items"
|
|
],
|
|
"title": "RecurringInvoiceRequest"
|
|
},
|
|
"RecurringInvoiceResource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"starts_at": {
|
|
"type": "string"
|
|
},
|
|
"formatted_starts_at": {
|
|
"type": "string"
|
|
},
|
|
"formatted_created_at": {
|
|
"type": "string"
|
|
},
|
|
"formatted_next_invoice_at": {
|
|
"type": "string"
|
|
},
|
|
"formatted_limit_date": {
|
|
"type": "string"
|
|
},
|
|
"send_automatically": {
|
|
"type": "boolean"
|
|
},
|
|
"customer_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"company_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"creator_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"status": {
|
|
"type": "string"
|
|
},
|
|
"next_invoice_at": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"frequency": {
|
|
"type": "string"
|
|
},
|
|
"limit_by": {
|
|
"type": "string"
|
|
},
|
|
"limit_count": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"limit_date": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"exchange_rate": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
]
|
|
},
|
|
"tax_per_item": {
|
|
"type": "string"
|
|
},
|
|
"tax_included": {
|
|
"type": "integer"
|
|
},
|
|
"discount_per_item": {
|
|
"type": "string"
|
|
},
|
|
"notes": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"discount_type": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"discount": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"discount_val": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"sub_total": {
|
|
"type": "integer"
|
|
},
|
|
"total": {
|
|
"type": "integer"
|
|
},
|
|
"tax": {
|
|
"type": "integer"
|
|
},
|
|
"due_amount": {
|
|
"type": "integer"
|
|
},
|
|
"template_name": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"sales_tax_type": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"sales_tax_address_type": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"fields": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/CustomFieldValueResource"
|
|
}
|
|
},
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/InvoiceItemResource"
|
|
}
|
|
},
|
|
"customer": {
|
|
"$ref": "#/components/schemas/CustomerResource"
|
|
},
|
|
"company": {
|
|
"$ref": "#/components/schemas/CompanyResource"
|
|
},
|
|
"invoices": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/InvoiceResource"
|
|
}
|
|
},
|
|
"taxes": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/TaxResource"
|
|
}
|
|
},
|
|
"creator": {
|
|
"$ref": "#/components/schemas/UserResource"
|
|
},
|
|
"currency": {
|
|
"$ref": "#/components/schemas/CurrencyResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"starts_at",
|
|
"formatted_starts_at",
|
|
"formatted_created_at",
|
|
"formatted_next_invoice_at",
|
|
"formatted_limit_date",
|
|
"send_automatically",
|
|
"customer_id",
|
|
"company_id",
|
|
"creator_id",
|
|
"status",
|
|
"next_invoice_at",
|
|
"frequency",
|
|
"limit_by",
|
|
"limit_count",
|
|
"limit_date",
|
|
"exchange_rate",
|
|
"tax_per_item",
|
|
"tax_included",
|
|
"discount_per_item",
|
|
"notes",
|
|
"discount_type",
|
|
"discount",
|
|
"discount_val",
|
|
"sub_total",
|
|
"total",
|
|
"tax",
|
|
"due_amount",
|
|
"template_name",
|
|
"sales_tax_type",
|
|
"sales_tax_address_type"
|
|
],
|
|
"title": "RecurringInvoiceResource"
|
|
},
|
|
"Role": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"level": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"scope": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"created_at": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"format": "date-time"
|
|
},
|
|
"updated_at": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"format": "date-time"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"title",
|
|
"level",
|
|
"scope",
|
|
"created_at",
|
|
"updated_at"
|
|
],
|
|
"title": "Role"
|
|
},
|
|
"RoleRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"abilities": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"abilities"
|
|
],
|
|
"title": "RoleRequest"
|
|
},
|
|
"RoleResource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"level": {
|
|
"type": "string"
|
|
},
|
|
"formatted_created_at": {
|
|
"type": "string"
|
|
},
|
|
"abilities": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"title",
|
|
"level",
|
|
"formatted_created_at",
|
|
"abilities"
|
|
],
|
|
"title": "RoleResource"
|
|
},
|
|
"SendEstimatesRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"subject": {
|
|
"type": "string"
|
|
},
|
|
"body": {
|
|
"type": "string"
|
|
},
|
|
"from": {
|
|
"type": "string"
|
|
},
|
|
"to": {
|
|
"type": "string"
|
|
},
|
|
"cc": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"bcc": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"subject",
|
|
"body",
|
|
"from",
|
|
"to"
|
|
],
|
|
"title": "SendEstimatesRequest"
|
|
},
|
|
"SendInvoiceRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"body": {
|
|
"type": "string"
|
|
},
|
|
"subject": {
|
|
"type": "string"
|
|
},
|
|
"from": {
|
|
"type": "string"
|
|
},
|
|
"to": {
|
|
"type": "string"
|
|
},
|
|
"cc": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"bcc": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"body",
|
|
"subject",
|
|
"from",
|
|
"to"
|
|
],
|
|
"title": "SendInvoiceRequest"
|
|
},
|
|
"SendPaymentRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"subject": {
|
|
"type": "string"
|
|
},
|
|
"body": {
|
|
"type": "string"
|
|
},
|
|
"from": {
|
|
"type": "string"
|
|
},
|
|
"to": {
|
|
"type": "string"
|
|
},
|
|
"cc": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"bcc": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"subject",
|
|
"body",
|
|
"from",
|
|
"to"
|
|
],
|
|
"title": "SendPaymentRequest"
|
|
},
|
|
"SettingRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"settings": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"settings"
|
|
],
|
|
"title": "SettingRequest"
|
|
},
|
|
"TaxResource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"tax_type_id": {
|
|
"type": "integer"
|
|
},
|
|
"invoice_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"estimate_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"invoice_item_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"estimate_item_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"item_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"company_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"amount": {
|
|
"type": "integer"
|
|
},
|
|
"percent": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
]
|
|
},
|
|
"calculation_type": {
|
|
"type": "string"
|
|
},
|
|
"fixed_amount": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"compound_tax": {
|
|
"type": "integer"
|
|
},
|
|
"base_amount": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"currency_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"type": {
|
|
"type": "string"
|
|
},
|
|
"recurring_invoice_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"tax_type": {
|
|
"$ref": "#/components/schemas/TaxTypeResource"
|
|
},
|
|
"currency": {
|
|
"$ref": "#/components/schemas/CurrencyResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"tax_type_id",
|
|
"invoice_id",
|
|
"estimate_id",
|
|
"invoice_item_id",
|
|
"estimate_item_id",
|
|
"item_id",
|
|
"company_id",
|
|
"name",
|
|
"amount",
|
|
"percent",
|
|
"calculation_type",
|
|
"fixed_amount",
|
|
"compound_tax",
|
|
"base_amount",
|
|
"currency_id",
|
|
"type",
|
|
"recurring_invoice_id"
|
|
],
|
|
"title": "TaxResource"
|
|
},
|
|
"TaxType": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"percent": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
]
|
|
},
|
|
"compound_tax": {
|
|
"type": "boolean"
|
|
},
|
|
"collective_tax": {
|
|
"type": "integer"
|
|
},
|
|
"description": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"company_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"created_at": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"format": "date-time"
|
|
},
|
|
"updated_at": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"format": "date-time"
|
|
},
|
|
"type": {
|
|
"type": "string"
|
|
},
|
|
"calculation_type": {
|
|
"type": "string"
|
|
},
|
|
"fixed_amount": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"percent",
|
|
"compound_tax",
|
|
"collective_tax",
|
|
"description",
|
|
"company_id",
|
|
"created_at",
|
|
"updated_at",
|
|
"type",
|
|
"calculation_type",
|
|
"fixed_amount"
|
|
],
|
|
"title": "TaxType"
|
|
},
|
|
"TaxTypeRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"calculation_type": {
|
|
"type": "string",
|
|
"enum": [
|
|
"percentage",
|
|
"fixed"
|
|
]
|
|
},
|
|
"percent": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
]
|
|
},
|
|
"fixed_amount": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
]
|
|
},
|
|
"description": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"compound_tax": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"collective_tax": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"calculation_type"
|
|
],
|
|
"title": "TaxTypeRequest"
|
|
},
|
|
"TaxTypeResource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"percent": {
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
]
|
|
},
|
|
"fixed_amount": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"calculation_type": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"type": "string"
|
|
},
|
|
"compound_tax": {
|
|
"type": "boolean"
|
|
},
|
|
"collective_tax": {
|
|
"type": "integer"
|
|
},
|
|
"description": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"company_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"company": {
|
|
"$ref": "#/components/schemas/CompanyResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"percent",
|
|
"fixed_amount",
|
|
"calculation_type",
|
|
"type",
|
|
"compound_tax",
|
|
"collective_tax",
|
|
"description",
|
|
"company_id"
|
|
],
|
|
"title": "TaxTypeResource"
|
|
},
|
|
"TransactionResource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"transaction_id": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"type": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"status": {
|
|
"type": "string"
|
|
},
|
|
"transaction_date": {
|
|
"type": "string"
|
|
},
|
|
"invoice_id": {
|
|
"type": "integer"
|
|
},
|
|
"invoice": {
|
|
"$ref": "#/components/schemas/InvoiceResource"
|
|
},
|
|
"company": {
|
|
"$ref": "#/components/schemas/CompanyResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"transaction_id",
|
|
"type",
|
|
"status",
|
|
"transaction_date",
|
|
"invoice_id"
|
|
],
|
|
"title": "TransactionResource"
|
|
},
|
|
"UnitRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"name"
|
|
],
|
|
"title": "UnitRequest"
|
|
},
|
|
"UnitResource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"company_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"company": {
|
|
"$ref": "#/components/schemas/CompanyResource"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"company_id"
|
|
],
|
|
"title": "UnitResource"
|
|
},
|
|
"UnzipUpdateRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"path": {
|
|
"type": "string",
|
|
"pattern": "^[\\.\\/\\w\\-]+$"
|
|
},
|
|
"module": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"module_name": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"path"
|
|
],
|
|
"title": "UnzipUpdateRequest"
|
|
},
|
|
"UpdateSettingsRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"settings": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"settings"
|
|
],
|
|
"title": "UpdateSettingsRequest"
|
|
},
|
|
"UploadExpenseReceiptRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"attachment_receipt": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
"title": "UploadExpenseReceiptRequest"
|
|
},
|
|
"UploadModuleRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"avatar": {
|
|
"type": "string",
|
|
"format": "binary",
|
|
"contentMediaType": "application/octet-stream",
|
|
"maxLength": 20000
|
|
},
|
|
"module": {
|
|
"type": "string",
|
|
"maxLength": 100
|
|
}
|
|
},
|
|
"required": [
|
|
"avatar",
|
|
"module"
|
|
],
|
|
"title": "UploadModuleRequest"
|
|
},
|
|
"User": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"email": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"phone": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"role": {
|
|
"type": "string"
|
|
},
|
|
"facebook_id": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"google_id": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"github_id": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"contact_name": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"company_name": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"website": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"enable_portal": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"currency_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"company_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"created_at": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"format": "date-time"
|
|
},
|
|
"updated_at": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"format": "date-time"
|
|
},
|
|
"creator_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"avatar": {
|
|
"type": "string"
|
|
},
|
|
"currency": {
|
|
"$ref": "#/components/schemas/Currency"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"email",
|
|
"phone",
|
|
"role",
|
|
"facebook_id",
|
|
"google_id",
|
|
"github_id",
|
|
"contact_name",
|
|
"company_name",
|
|
"website",
|
|
"enable_portal",
|
|
"currency_id",
|
|
"company_id",
|
|
"created_at",
|
|
"updated_at",
|
|
"creator_id",
|
|
"avatar"
|
|
],
|
|
"title": "User"
|
|
},
|
|
"UserResource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"email": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"phone": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"role": {
|
|
"type": "string"
|
|
},
|
|
"contact_name": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"company_name": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"website": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"enable_portal": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"currency_id": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"facebook_id": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"google_id": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"github_id": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"created_at": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"format": "date-time"
|
|
},
|
|
"updated_at": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"format": "date-time"
|
|
},
|
|
"avatar": {
|
|
"type": "string"
|
|
},
|
|
"is_owner": {
|
|
"type": "boolean"
|
|
},
|
|
"is_super_admin": {
|
|
"type": "boolean"
|
|
},
|
|
"roles": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Role"
|
|
}
|
|
},
|
|
"formatted_created_at": {
|
|
"type": "string"
|
|
},
|
|
"currency": {
|
|
"$ref": "#/components/schemas/CurrencyResource"
|
|
},
|
|
"companies": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/CompanyResource"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"email",
|
|
"phone",
|
|
"role",
|
|
"contact_name",
|
|
"company_name",
|
|
"website",
|
|
"enable_portal",
|
|
"currency_id",
|
|
"facebook_id",
|
|
"google_id",
|
|
"github_id",
|
|
"created_at",
|
|
"updated_at",
|
|
"avatar",
|
|
"is_owner",
|
|
"is_super_admin",
|
|
"roles",
|
|
"formatted_created_at"
|
|
],
|
|
"title": "UserResource"
|
|
}
|
|
},
|
|
"responses": {
|
|
"ValidationException": {
|
|
"description": "Validation error",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"message": {
|
|
"type": "string",
|
|
"description": "Errors overview."
|
|
},
|
|
"errors": {
|
|
"type": "object",
|
|
"description": "A detailed description of each field that failed validation.",
|
|
"additionalProperties": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"message",
|
|
"errors"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"AuthenticationException": {
|
|
"description": "Unauthenticated",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"message": {
|
|
"type": "string",
|
|
"description": "Error overview."
|
|
}
|
|
},
|
|
"required": [
|
|
"message"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"ModelNotFoundException": {
|
|
"description": "Not found",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"message": {
|
|
"type": "string",
|
|
"description": "Error overview."
|
|
}
|
|
},
|
|
"required": [
|
|
"message"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"AuthorizationException": {
|
|
"description": "Authorization error",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"message": {
|
|
"type": "string",
|
|
"description": "Error overview."
|
|
}
|
|
},
|
|
"required": [
|
|
"message"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |