{
  "openapi": "3.1.0",
  "info": {
    "title": "Common REST API",
    "description": "A-Cube Common API set is useful to manage user profiles and credit within the A-Cube API platform.",
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "https://common.api.acubeapi.com",
      "description": "A-Cube API Common production environment",
      "x-production": "hide"
    }
  ],
  "paths": {
    "/consumptions": {
      "get": {
        "operationId": "api_consumptions_get_collection",
        "tags": [
          "Consumption"
        ],
        "responses": {
          "200": {
            "description": "Consumption collection",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Consumption.ConsumptionOutput"
                  }
                }
              },
              "application/ld+json": {
                "schema": {
                  "type": "object",
                  "description": "Consumption.ConsumptionOutput.jsonld collection.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/HydraCollectionBaseSchema"
                    },
                    {
                      "type": "object",
                      "required": [
                        "member"
                      ],
                      "properties": {
                        "member": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/Consumption.ConsumptionOutput.jsonld"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "summary": "Retrieves the collection of Consumption resources.",
        "description": "Get the list of consumptions by year and month that are not included in a pre-sale package.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "The collection page number",
            "required": false,
            "deprecated": false,
            "schema": {
              "type": "integer",
              "default": 1
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "year",
            "in": "query",
            "description": "",
            "required": false,
            "deprecated": false,
            "schema": {
              "type": "integer"
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "year[]",
            "in": "query",
            "description": "",
            "required": false,
            "deprecated": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer"
              }
            },
            "style": "form",
            "explode": true
          },
          {
            "name": "month",
            "in": "query",
            "description": "",
            "required": false,
            "deprecated": false,
            "schema": {
              "type": "integer"
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "month[]",
            "in": "query",
            "description": "",
            "required": false,
            "deprecated": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer"
              }
            },
            "style": "form",
            "explode": true
          }
        ]
      }
    },
    "/consumptions/{uuid}": {
      "get": {
        "operationId": "api_consumptions_uuid_get",
        "tags": [
          "Consumption"
        ],
        "responses": {
          "200": {
            "description": "Consumption resource",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Consumption.ConsumptionOutput"
                }
              },
              "application/ld+json": {
                "schema": {
                  "$ref": "#/components/schemas/Consumption.ConsumptionOutput.jsonld"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/ld+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error.jsonld"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "links": {}
          }
        },
        "summary": "Retrieves a Consumption resource.",
        "description": "Retrieves a Consumption resource.",
        "parameters": [
          {
            "name": "uuid",
            "in": "path",
            "description": "Consumption identifier",
            "required": true,
            "deprecated": false,
            "schema": {
              "type": "string"
            },
            "style": "simple",
            "explode": false
          }
        ]
      }
    },
    "/login": {
      "post": {
        "operationId": "login_check_post",
        "tags": [
          "Login"
        ],
        "responses": {
          "200": {
            "description": "User token created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "token": {
                      "readOnly": true,
                      "type": "string",
                      "nullable": false
                    }
                  },
                  "required": [
                    "token"
                  ]
                }
              }
            }
          }
        },
        "summary": "Creates a user token.",
        "description": "Creates a user token.",
        "requestBody": {
          "description": "The login data",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "email": {
                    "type": "string",
                    "nullable": false
                  },
                  "password": {
                    "type": "string",
                    "nullable": false
                  },
                  "environment": {
                    "type": "string",
                    "description": "Environment in which the user will be logged in.",
                    "enum": [
                      "sandbox",
                      "production"
                    ],
                    "default": "production",
                    "nullable": true
                  }
                },
                "required": [
                  "email",
                  "password"
                ]
              }
            }
          },
          "required": true
        }
      }
    },
    "/pre-sales": {
      "get": {
        "operationId": "api_pre-sales_get_collection",
        "tags": [
          "PreSale"
        ],
        "responses": {
          "200": {
            "description": "PreSale collection",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PreSale.PreSaleOutput"
                  }
                }
              },
              "application/ld+json": {
                "schema": {
                  "type": "object",
                  "description": "PreSale.PreSaleOutput.jsonld collection.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/HydraCollectionBaseSchema"
                    },
                    {
                      "type": "object",
                      "required": [
                        "member"
                      ],
                      "properties": {
                        "member": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/PreSale.PreSaleOutput.jsonld"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "summary": "Retrieves the collection of PreSale resources.",
        "description": "Get the list of bought presale packages and their current status",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "The collection page number",
            "required": false,
            "deprecated": false,
            "schema": {
              "type": "integer",
              "default": 1
            },
            "style": "form",
            "explode": false
          }
        ]
      }
    },
    "/pre-sales/{uuid}": {
      "get": {
        "operationId": "api_pre-sales_uuid_get",
        "tags": [
          "PreSale"
        ],
        "responses": {
          "200": {
            "description": "PreSale resource",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreSale.PreSaleOutput"
                }
              },
              "application/ld+json": {
                "schema": {
                  "$ref": "#/components/schemas/PreSale.PreSaleOutput.jsonld"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/ld+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error.jsonld"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "links": {}
          }
        },
        "summary": "Retrieves a PreSale resource.",
        "description": "Retrieves a PreSale resource.",
        "parameters": [
          {
            "name": "uuid",
            "in": "path",
            "description": "PreSale identifier",
            "required": true,
            "deprecated": false,
            "schema": {
              "type": "string"
            },
            "style": "simple",
            "explode": false
          }
        ]
      }
    },
    "/pre-sale-actions": {
      "get": {
        "operationId": "api_pre-sale-actions_get_collection",
        "tags": [
          "PreSaleAction"
        ],
        "responses": {
          "200": {
            "description": "PreSaleAction collection",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PreSaleAction.PreSaleActionOutput"
                  }
                }
              },
              "application/ld+json": {
                "schema": {
                  "type": "object",
                  "description": "PreSaleAction.PreSaleActionOutput.jsonld collection.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/HydraCollectionBaseSchema"
                    },
                    {
                      "type": "object",
                      "required": [
                        "member"
                      ],
                      "properties": {
                        "member": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/PreSaleAction.PreSaleActionOutput.jsonld"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "summary": "Retrieves the collection of PreSaleAction resources.",
        "description": "Get the list of the presale actions and their current status",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "The collection page number",
            "required": false,
            "deprecated": false,
            "schema": {
              "type": "integer",
              "default": 1
            },
            "style": "form",
            "explode": false
          }
        ]
      },
      "post": {
        "operationId": "api_pre-sale-actions_post",
        "tags": [
          "PreSaleAction"
        ],
        "responses": {
          "201": {
            "description": "PreSaleAction resource created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreSaleAction.PreSaleActionOutput"
                }
              },
              "application/ld+json": {
                "schema": {
                  "$ref": "#/components/schemas/PreSaleAction.PreSaleActionOutput.jsonld"
                }
              }
            },
            "links": {}
          },
          "400": {
            "description": "Invalid input",
            "content": {
              "application/ld+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error.jsonld"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "links": {}
          },
          "422": {
            "description": "An error occurred",
            "content": {
              "application/ld+json": {
                "schema": {
                  "$ref": "#/components/schemas/ConstraintViolation.jsonld"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ConstraintViolation"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConstraintViolation"
                }
              }
            },
            "links": {}
          }
        },
        "summary": "Creates a new PreSaleAction resource.",
        "description": "Create a new presale action",
        "parameters": [],
        "requestBody": {
          "description": "The new PreSaleAction resource",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PreSaleAction.PreSaleActionInput"
              }
            },
            "application/ld+json": {
              "schema": {
                "$ref": "#/components/schemas/PreSaleAction.PreSaleActionInput"
              }
            }
          },
          "required": true
        }
      }
    },
    "/pre-sale-actions/{uuid}": {
      "get": {
        "operationId": "api_pre-sale-actions_uuid_get",
        "tags": [
          "PreSaleAction"
        ],
        "responses": {
          "200": {
            "description": "PreSaleAction resource",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreSaleAction.PreSaleActionOutput"
                }
              },
              "application/ld+json": {
                "schema": {
                  "$ref": "#/components/schemas/PreSaleAction.PreSaleActionOutput.jsonld"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/ld+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error.jsonld"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "links": {}
          }
        },
        "summary": "Retrieves a PreSaleAction resource.",
        "description": "Retrieves a PreSaleAction resource.",
        "parameters": [
          {
            "name": "uuid",
            "in": "path",
            "description": "PreSaleAction uuid.",
            "required": true,
            "deprecated": false,
            "schema": {
              "type": "string"
            },
            "style": "simple",
            "explode": false
          }
        ]
      },
      "put": {
        "operationId": "api_pre-sale-actions_uuid_put",
        "tags": [
          "PreSaleAction"
        ],
        "responses": {
          "200": {
            "description": "PreSaleAction resource updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreSaleAction.PreSaleActionOutput"
                }
              },
              "application/ld+json": {
                "schema": {
                  "$ref": "#/components/schemas/PreSaleAction.PreSaleActionOutput.jsonld"
                }
              }
            },
            "links": {}
          },
          "400": {
            "description": "Invalid input",
            "content": {
              "application/ld+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error.jsonld"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "links": {}
          },
          "422": {
            "description": "An error occurred",
            "content": {
              "application/ld+json": {
                "schema": {
                  "$ref": "#/components/schemas/ConstraintViolation.jsonld"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ConstraintViolation"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConstraintViolation"
                }
              }
            },
            "links": {}
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/ld+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error.jsonld"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "links": {}
          }
        },
        "summary": "Updates a PreSaleAction resource.",
        "description": "Replaces the PreSaleAction resource.",
        "parameters": [
          {
            "name": "uuid",
            "in": "path",
            "description": "PreSaleAction uuid.",
            "required": true,
            "deprecated": false,
            "schema": {
              "type": "string"
            },
            "style": "simple",
            "explode": false
          }
        ],
        "requestBody": {
          "description": "The updated PreSaleAction resource",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PreSaleAction.PreSaleActionInput"
              }
            },
            "application/ld+json": {
              "schema": {
                "$ref": "#/components/schemas/PreSaleAction.PreSaleActionInput"
              }
            }
          },
          "required": true
        }
      },
      "delete": {
        "operationId": "api_pre-sale-actions_uuid_delete",
        "tags": [
          "PreSaleAction"
        ],
        "responses": {
          "204": {
            "description": "PreSaleAction resource deleted"
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/ld+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error.jsonld"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "links": {}
          }
        },
        "summary": "Deletes a PreSaleAction resource.",
        "description": "Removes the PreSaleAction resource.",
        "parameters": [
          {
            "name": "uuid",
            "in": "path",
            "description": "PreSaleAction uuid.",
            "required": true,
            "deprecated": false,
            "schema": {
              "type": "string"
            },
            "style": "simple",
            "explode": false
          }
        ]
      }
    },
    "/subscriptions": {
      "get": {
        "operationId": "api_subscriptions_get_collection",
        "tags": [
          "Subscription"
        ],
        "responses": {
          "200": {
            "description": "Subscription collection",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Subscription.SubscriptionOutput"
                  }
                }
              }
            }
          }
        },
        "summary": "Retrieves a list of subscriptions",
        "description": "Retrieves the collection of Subscription resources.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "The collection page number",
            "required": false,
            "deprecated": false,
            "schema": {
              "type": "integer",
              "default": 1
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "active",
            "in": "query",
            "description": "",
            "required": false,
            "deprecated": false,
            "schema": {
              "type": "boolean"
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "deleted",
            "in": "query",
            "description": "",
            "required": false,
            "deprecated": false,
            "schema": {
              "type": "boolean"
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "period_starts_at[before]",
            "in": "query",
            "description": "",
            "required": false,
            "deprecated": false,
            "schema": {
              "type": "string"
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "period_starts_at[strictly_before]",
            "in": "query",
            "description": "",
            "required": false,
            "deprecated": false,
            "schema": {
              "type": "string"
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "period_starts_at[after]",
            "in": "query",
            "description": "",
            "required": false,
            "deprecated": false,
            "schema": {
              "type": "string"
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "period_starts_at[strictly_after]",
            "in": "query",
            "description": "",
            "required": false,
            "deprecated": false,
            "schema": {
              "type": "string"
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "period_ends_at[before]",
            "in": "query",
            "description": "",
            "required": false,
            "deprecated": false,
            "schema": {
              "type": "string"
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "period_ends_at[strictly_before]",
            "in": "query",
            "description": "",
            "required": false,
            "deprecated": false,
            "schema": {
              "type": "string"
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "period_ends_at[after]",
            "in": "query",
            "description": "",
            "required": false,
            "deprecated": false,
            "schema": {
              "type": "string"
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "period_ends_at[strictly_after]",
            "in": "query",
            "description": "",
            "required": false,
            "deprecated": false,
            "schema": {
              "type": "string"
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "fiscal_id",
            "in": "query",
            "description": "",
            "required": false,
            "deprecated": false,
            "schema": {
              "type": "string"
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "fiscal_id[]",
            "in": "query",
            "description": "",
            "required": false,
            "deprecated": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "style": "form",
            "explode": true
          }
        ]
      }
    },
    "/subscriptions/{id}": {
      "get": {
        "operationId": "get_user",
        "tags": [
          "Subscription"
        ],
        "responses": {
          "200": {
            "description": "Subscription resource",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Subscription.SubscriptionOutput"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/ld+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error.jsonld"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "links": {}
          }
        },
        "summary": "Get subscription by UUID.",
        "description": "Retrieves a Subscription resource.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "",
            "required": true,
            "deprecated": false,
            "schema": {
              "type": "string"
            },
            "style": "simple",
            "explode": false
          },
          {
            "name": "uuid",
            "in": "path",
            "description": "Subscription identifier",
            "required": true,
            "deprecated": false,
            "schema": {
              "type": "string"
            },
            "style": "simple",
            "explode": false
          }
        ]
      }
    },
    "/ask-new-password/{token}": {
      "get": {
        "operationId": "api_ask-new-password_token_get",
        "tags": [
          "User"
        ],
        "responses": {
          "200": {
            "description": "User resource",
            "content": {
              "text/html": {
                "schema": {
                  "$ref": "#/components/schemas/User.UserOutput.html"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/ld+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error.jsonld"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "links": {}
          }
        },
        "summary": "Render the new password template.",
        "description": "Retrieves a User resource.",
        "parameters": [
          {
            "name": "token",
            "in": "path",
            "description": "User reset-password token.",
            "required": true,
            "deprecated": false,
            "schema": {
              "type": "string"
            },
            "style": "simple",
            "explode": false
          }
        ]
      }
    },
    "/ask-reset-password": {
      "post": {
        "operationId": "api_ask-reset-password_post",
        "tags": [
          "User"
        ],
        "responses": {
          "200": {
            "description": "User resource created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User.UserOutput"
                }
              },
              "application/ld+json": {
                "schema": {
                  "$ref": "#/components/schemas/User.UserOutput.jsonld"
                }
              }
            },
            "links": {}
          },
          "400": {
            "description": "Invalid input",
            "content": {
              "application/ld+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error.jsonld"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "links": {}
          },
          "422": {
            "description": "An error occurred",
            "content": {
              "application/ld+json": {
                "schema": {
                  "$ref": "#/components/schemas/ConstraintViolation.jsonld"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ConstraintViolation"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConstraintViolation"
                }
              }
            },
            "links": {}
          }
        },
        "summary": "Reset user password.",
        "description": "Creates a User resource.",
        "parameters": [],
        "requestBody": {
          "description": "The new User resource",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/User.EmailInput"
              }
            },
            "application/ld+json": {
              "schema": {
                "$ref": "#/components/schemas/User.EmailInput"
              }
            }
          },
          "required": true
        }
      }
    },
    "/users/me": {
      "get": {
        "operationId": "get",
        "tags": [
          "User"
        ],
        "responses": {
          "200": {
            "description": "User resource",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User.UserOutput"
                }
              },
              "application/ld+json": {
                "schema": {
                  "$ref": "#/components/schemas/User.UserOutput.jsonld"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/ld+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error.jsonld"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "links": {}
          }
        },
        "summary": "Get user profile.",
        "description": "Retrieves a User resource.",
        "parameters": []
      },
      "put": {
        "operationId": "put",
        "tags": [
          "User"
        ],
        "responses": {
          "200": {
            "description": "User resource updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User.UserOutput"
                }
              },
              "application/ld+json": {
                "schema": {
                  "$ref": "#/components/schemas/User.UserOutput.jsonld"
                }
              }
            },
            "links": {}
          },
          "400": {
            "description": "Invalid input",
            "content": {
              "application/ld+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error.jsonld"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "links": {}
          },
          "422": {
            "description": "An error occurred",
            "content": {
              "application/ld+json": {
                "schema": {
                  "$ref": "#/components/schemas/ConstraintViolation.jsonld"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ConstraintViolation"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConstraintViolation"
                }
              }
            },
            "links": {}
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/ld+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error.jsonld"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "links": {}
          }
        },
        "summary": "Update user profile.",
        "description": "Replaces the User resource.",
        "parameters": [],
        "requestBody": {
          "description": "The updated User resource",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/User.UserInput"
              }
            },
            "application/ld+json": {
              "schema": {
                "$ref": "#/components/schemas/User.UserInput"
              }
            }
          },
          "required": true
        }
      }
    },
    "/users/me/accounts": {
      "get": {
        "operationId": "get_accounts",
        "tags": [
          "User"
        ],
        "responses": {
          "200": {
            "description": "User collection",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/User.UserSubAccountOutput"
                  }
                }
              },
              "application/ld+json": {
                "schema": {
                  "type": "object",
                  "description": "User.UserSubAccountOutput.jsonld collection.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/HydraCollectionBaseSchema"
                    },
                    {
                      "type": "object",
                      "required": [
                        "member"
                      ],
                      "properties": {
                        "member": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/User.UserSubAccountOutput.jsonld"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "summary": "Get user sub accounts.",
        "description": "Retrieves the collection of User resources.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "The collection page number",
            "required": false,
            "deprecated": false,
            "schema": {
              "type": "integer",
              "default": 1
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "email",
            "in": "query",
            "description": "",
            "required": false,
            "deprecated": false,
            "schema": {
              "type": "string"
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "email[]",
            "in": "query",
            "description": "",
            "required": false,
            "deprecated": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "style": "form",
            "explode": true
          },
          {
            "name": "fiscal_id",
            "in": "query",
            "description": "",
            "required": false,
            "deprecated": false,
            "schema": {
              "type": "string"
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "fiscal_id[]",
            "in": "query",
            "description": "",
            "required": false,
            "deprecated": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "style": "form",
            "explode": true
          },
          {
            "name": "enabled",
            "in": "query",
            "description": "",
            "required": false,
            "deprecated": false,
            "schema": {
              "type": "boolean"
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "enabled[]",
            "in": "query",
            "description": "",
            "required": false,
            "deprecated": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "boolean"
              }
            },
            "style": "form",
            "explode": true
          }
        ]
      },
      "post": {
        "operationId": "post_account",
        "tags": [
          "User"
        ],
        "responses": {
          "201": {
            "description": "User resource created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User.UserSubAccountOutput"
                }
              },
              "application/ld+json": {
                "schema": {
                  "$ref": "#/components/schemas/User.UserSubAccountOutput.jsonld"
                }
              }
            },
            "links": {}
          },
          "400": {
            "description": "Invalid input",
            "content": {
              "application/ld+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error.jsonld"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "links": {}
          },
          "422": {
            "description": "An error occurred",
            "content": {
              "application/ld+json": {
                "schema": {
                  "$ref": "#/components/schemas/ConstraintViolation.jsonld"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ConstraintViolation"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConstraintViolation"
                }
              }
            },
            "links": {}
          }
        },
        "summary": "Create user sub account.",
        "description": "Creates a User resource.",
        "parameters": [],
        "requestBody": {
          "description": "The new User resource",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/User.CreateUserSubAccountInput"
              }
            },
            "application/ld+json": {
              "schema": {
                "$ref": "#/components/schemas/User.CreateUserSubAccountInput"
              }
            }
          },
          "required": true
        }
      }
    },
    "/users/me/accounts/{email}": {
      "get": {
        "operationId": "get_account",
        "tags": [
          "User"
        ],
        "responses": {
          "200": {
            "description": "User resource",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User.UserSubAccountOutput"
                }
              },
              "application/ld+json": {
                "schema": {
                  "$ref": "#/components/schemas/User.UserSubAccountOutput.jsonld"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/ld+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error.jsonld"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "links": {}
          }
        },
        "summary": "Get user sub account by email.",
        "description": "Retrieves a User resource.",
        "parameters": [
          {
            "name": "email",
            "in": "path",
            "description": "Sub account email.",
            "required": true,
            "deprecated": false,
            "schema": {
              "type": "string"
            },
            "style": "simple",
            "explode": false
          }
        ]
      },
      "put": {
        "operationId": "put_account",
        "tags": [
          "User"
        ],
        "responses": {
          "200": {
            "description": "User resource updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User.UserSubAccountOutput"
                }
              },
              "application/ld+json": {
                "schema": {
                  "$ref": "#/components/schemas/User.UserSubAccountOutput.jsonld"
                }
              }
            },
            "links": {}
          },
          "400": {
            "description": "Invalid input",
            "content": {
              "application/ld+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error.jsonld"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "links": {}
          },
          "422": {
            "description": "An error occurred",
            "content": {
              "application/ld+json": {
                "schema": {
                  "$ref": "#/components/schemas/ConstraintViolation.jsonld"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ConstraintViolation"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConstraintViolation"
                }
              }
            },
            "links": {}
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/ld+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error.jsonld"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "links": {}
          }
        },
        "summary": "Update user sub account.",
        "description": "Replaces the User resource.",
        "parameters": [
          {
            "name": "email",
            "in": "path",
            "description": "Sub account email.",
            "required": true,
            "deprecated": false,
            "schema": {
              "type": "string"
            },
            "style": "simple",
            "explode": false
          }
        ],
        "requestBody": {
          "description": "The updated User resource",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/User.UpdateUserSubAccountInput"
              }
            },
            "application/ld+json": {
              "schema": {
                "$ref": "#/components/schemas/User.UpdateUserSubAccountInput"
              }
            }
          },
          "required": true
        }
      },
      "delete": {
        "operationId": "delete_account",
        "tags": [
          "User"
        ],
        "responses": {
          "204": {
            "description": "User resource deleted"
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/ld+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error.jsonld"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "links": {}
          }
        },
        "summary": "Delete user sub account.",
        "description": "Removes the User resource.",
        "parameters": [
          {
            "name": "email",
            "in": "path",
            "description": "Sub account email.",
            "required": true,
            "deprecated": false,
            "schema": {
              "type": "string"
            },
            "style": "simple",
            "explode": false
          }
        ]
      }
    },
    "/users/me/accounts/{id}/change-password": {
      "put": {
        "operationId": "change_account_password",
        "tags": [
          "User"
        ],
        "responses": {
          "200": {
            "description": "User resource updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User.UserOutput"
                }
              },
              "application/ld+json": {
                "schema": {
                  "$ref": "#/components/schemas/User.UserOutput.jsonld"
                }
              }
            },
            "links": {}
          },
          "400": {
            "description": "Invalid input",
            "content": {
              "application/ld+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error.jsonld"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "links": {}
          },
          "422": {
            "description": "An error occurred",
            "content": {
              "application/ld+json": {
                "schema": {
                  "$ref": "#/components/schemas/ConstraintViolation.jsonld"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ConstraintViolation"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConstraintViolation"
                }
              }
            },
            "links": {}
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/ld+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error.jsonld"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "links": {}
          }
        },
        "summary": "Update sub account password by email.",
        "description": "Replaces the User resource.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "",
            "required": true,
            "deprecated": false,
            "schema": {
              "type": "string"
            },
            "style": "simple",
            "explode": false
          },
          {
            "name": "email",
            "in": "path",
            "description": "User identifier",
            "required": true,
            "deprecated": false,
            "schema": {
              "type": "string"
            },
            "style": "simple",
            "explode": false
          }
        ],
        "requestBody": {
          "description": "The updated User resource",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/User.UserPassword"
              }
            },
            "application/ld+json": {
              "schema": {
                "$ref": "#/components/schemas/User.UserPassword"
              }
            }
          },
          "required": true
        }
      }
    },
    "/users/me/change-password": {
      "put": {
        "operationId": "change_password",
        "tags": [
          "User"
        ],
        "responses": {
          "200": {
            "description": "User resource updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User.UserOutput"
                }
              },
              "application/ld+json": {
                "schema": {
                  "$ref": "#/components/schemas/User.UserOutput.jsonld"
                }
              }
            },
            "links": {}
          },
          "400": {
            "description": "Invalid input",
            "content": {
              "application/ld+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error.jsonld"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "links": {}
          },
          "422": {
            "description": "An error occurred",
            "content": {
              "application/ld+json": {
                "schema": {
                  "$ref": "#/components/schemas/ConstraintViolation.jsonld"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ConstraintViolation"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConstraintViolation"
                }
              }
            },
            "links": {}
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/ld+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error.jsonld"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            },
            "links": {}
          }
        },
        "summary": "Update user password.",
        "description": "Replaces the User resource.",
        "parameters": [],
        "requestBody": {
          "description": "The updated User resource",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/User.UserPassword"
              }
            },
            "application/ld+json": {
              "schema": {
                "$ref": "#/components/schemas/User.UserPassword"
              }
            }
          },
          "required": true
        }
      }
    }
  },
  "components": {
    "schemas": {
      "ConstraintViolation": {
        "type": "object",
        "description": "Unprocessable entity",
        "properties": {
          "status": {
            "default": 422,
            "type": "integer"
          },
          "violations": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "propertyPath": {
                  "type": "string",
                  "description": "The property path of the violation"
                },
                "message": {
                  "type": "string",
                  "description": "The message associated with the violation"
                },
                "code": {
                  "type": "string",
                  "description": "The code of the violation"
                },
                "hint": {
                  "type": "string",
                  "description": "An extra hint to understand the violation"
                },
                "payload": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "The serialized payload of the violation"
                }
              },
              "required": [
                "propertyPath",
                "message"
              ]
            }
          },
          "detail": {
            "readOnly": true,
            "type": "string"
          },
          "type": {
            "readOnly": true,
            "type": "string"
          },
          "title": {
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          },
          "instance": {
            "readOnly": true,
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "ConstraintViolation.jsonld": {
        "allOf": [
          {
            "$ref": "#/components/schemas/HydraItemBaseSchema"
          },
          {
            "type": "object",
            "properties": {
              "status": {
                "default": 422,
                "type": "integer"
              },
              "violations": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "propertyPath": {
                      "type": "string",
                      "description": "The property path of the violation"
                    },
                    "message": {
                      "type": "string",
                      "description": "The message associated with the violation"
                    },
                    "code": {
                      "type": "string",
                      "description": "The code of the violation"
                    },
                    "hint": {
                      "type": "string",
                      "description": "An extra hint to understand the violation"
                    },
                    "payload": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "The serialized payload of the violation"
                    }
                  },
                  "required": [
                    "propertyPath",
                    "message"
                  ]
                }
              },
              "detail": {
                "readOnly": true,
                "type": "string"
              },
              "description": {
                "readOnly": true,
                "type": "string"
              },
              "type": {
                "readOnly": true,
                "type": "string"
              },
              "title": {
                "readOnly": true,
                "type": [
                  "string",
                  "null"
                ]
              },
              "instance": {
                "readOnly": true,
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          }
        ],
        "description": "Unprocessable entity"
      },
      "Consumption.ConsumptionOutput": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "month": {
            "type": "integer"
          },
          "year": {
            "type": "integer"
          },
          "total": {
            "type": "string"
          }
        }
      },
      "Consumption.ConsumptionOutput.jsonld": {
        "allOf": [
          {
            "$ref": "#/components/schemas/HydraItemBaseSchema"
          },
          {
            "type": "object",
            "properties": {
              "uuid": {
                "type": "string"
              },
              "month": {
                "type": "integer"
              },
              "year": {
                "type": "integer"
              },
              "total": {
                "type": "string"
              }
            }
          }
        ]
      },
      "Error": {
        "type": "object",
        "description": "A representation of common errors.",
        "properties": {
          "title": {
            "readOnly": true,
            "description": "A short, human-readable summary of the problem.",
            "type": [
              "string",
              "null"
            ]
          },
          "detail": {
            "readOnly": true,
            "description": "A human-readable explanation specific to this occurrence of the problem.",
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "type": [
              "number",
              "null"
            ],
            "examples": [
              404
            ],
            "default": 400
          },
          "instance": {
            "readOnly": true,
            "description": "A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.",
            "type": [
              "string",
              "null"
            ]
          },
          "type": {
            "readOnly": true,
            "description": "A URI reference that identifies the problem type",
            "type": "string"
          }
        }
      },
      "Error.jsonld": {
        "allOf": [
          {
            "$ref": "#/components/schemas/HydraItemBaseSchema"
          },
          {
            "type": "object",
            "properties": {
              "title": {
                "readOnly": true,
                "description": "A short, human-readable summary of the problem.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "detail": {
                "readOnly": true,
                "description": "A human-readable explanation specific to this occurrence of the problem.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "status": {
                "type": [
                  "number",
                  "null"
                ],
                "examples": [
                  404
                ],
                "default": 400
              },
              "instance": {
                "readOnly": true,
                "description": "A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "type": {
                "readOnly": true,
                "description": "A URI reference that identifies the problem type",
                "type": "string"
              },
              "description": {
                "readOnly": true,
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          }
        ],
        "description": "A representation of common errors."
      },
      "HydraCollectionBaseSchema": {
        "allOf": [
          {
            "$ref": "#/components/schemas/HydraCollectionBaseSchemaNoPagination"
          },
          {
            "type": "object",
            "properties": {
              "view": {
                "type": "object",
                "properties": {
                  "@id": {
                    "type": "string",
                    "format": "iri-reference"
                  },
                  "@type": {
                    "type": "string"
                  },
                  "first": {
                    "type": "string",
                    "format": "iri-reference"
                  },
                  "last": {
                    "type": "string",
                    "format": "iri-reference"
                  },
                  "previous": {
                    "type": "string",
                    "format": "iri-reference"
                  },
                  "next": {
                    "type": "string",
                    "format": "iri-reference"
                  }
                },
                "example": {
                  "@id": "string",
                  "type": "string",
                  "first": "string",
                  "last": "string",
                  "previous": "string",
                  "next": "string"
                }
              }
            }
          }
        ]
      },
      "HydraCollectionBaseSchemaNoPagination": {
        "type": "object",
        "properties": {
          "totalItems": {
            "type": "integer",
            "minimum": 0
          },
          "search": {
            "type": "object",
            "properties": {
              "@type": {
                "type": "string"
              },
              "template": {
                "type": "string"
              },
              "variableRepresentation": {
                "type": "string"
              },
              "mapping": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "@type": {
                      "type": "string"
                    },
                    "variable": {
                      "type": "string"
                    },
                    "property": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "required": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "HydraItemBaseSchema": {
        "type": "object",
        "properties": {
          "@context": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "object",
                "properties": {
                  "@vocab": {
                    "type": "string"
                  },
                  "hydra": {
                    "type": "string",
                    "enum": [
                      "http://www.w3.org/ns/hydra/core#"
                    ]
                  }
                },
                "required": [
                  "@vocab",
                  "hydra"
                ],
                "additionalProperties": true
              }
            ]
          },
          "@id": {
            "type": "string"
          },
          "@type": {
            "type": "string"
          }
        },
        "required": [
          "@id",
          "@type"
        ]
      },
      "PreSale.PreSaleOutput": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "created_at": {
            "type": "string"
          },
          "updated_at": {
            "type": "string"
          },
          "valid_until": {
            "type": "string"
          },
          "total_credit_purchased": {
            "type": "string"
          },
          "current_credit_available": {
            "type": "string"
          },
          "current_credit_purchased": {
            "type": "string"
          },
          "current_credit_purchased_at": {
            "type": "string"
          },
          "invoices_sent": {
            "type": "integer"
          },
          "invoices_received": {
            "type": "integer"
          }
        }
      },
      "PreSale.PreSaleOutput.jsonld": {
        "allOf": [
          {
            "$ref": "#/components/schemas/HydraItemBaseSchema"
          },
          {
            "type": "object",
            "properties": {
              "uuid": {
                "type": "string"
              },
              "created_at": {
                "type": "string"
              },
              "updated_at": {
                "type": "string"
              },
              "valid_until": {
                "type": "string"
              },
              "total_credit_purchased": {
                "type": "string"
              },
              "current_credit_available": {
                "type": "string"
              },
              "current_credit_purchased": {
                "type": "string"
              },
              "current_credit_purchased_at": {
                "type": "string"
              },
              "invoices_sent": {
                "type": "integer"
              },
              "invoices_received": {
                "type": "integer"
              }
            }
          }
        ]
      },
      "PreSaleAction.PreSaleActionInput": {
        "type": "object",
        "required": [
          "threshold",
          "action_type",
          "target",
          "enabled",
          "pre_sale_uuid"
        ],
        "properties": {
          "threshold": {
            "minimum": 0,
            "type": "integer"
          },
          "action_type": {
            "enum": [
              "alert_mail"
            ],
            "type": "string"
          },
          "target": {
            "type": "string"
          },
          "enabled": {
            "type": "boolean"
          },
          "pre_sale_uuid": {
            "type": "string"
          }
        }
      },
      "PreSaleAction.PreSaleActionOutput": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "created_at": {
            "type": "string"
          },
          "updated_at": {
            "type": "string"
          },
          "threshold": {
            "type": "integer"
          },
          "action_type": {
            "type": "string"
          },
          "target": {
            "type": "string"
          },
          "enabled": {
            "type": "boolean"
          },
          "running": {
            "type": "boolean"
          },
          "pre_sale_uuid": {
            "type": "string"
          }
        }
      },
      "PreSaleAction.PreSaleActionOutput.jsonld": {
        "allOf": [
          {
            "$ref": "#/components/schemas/HydraItemBaseSchema"
          },
          {
            "type": "object",
            "properties": {
              "uuid": {
                "type": "string"
              },
              "created_at": {
                "type": "string"
              },
              "updated_at": {
                "type": "string"
              },
              "threshold": {
                "type": "integer"
              },
              "action_type": {
                "type": "string"
              },
              "target": {
                "type": "string"
              },
              "enabled": {
                "type": "boolean"
              },
              "running": {
                "type": "boolean"
              },
              "pre_sale_uuid": {
                "type": "string"
              }
            }
          }
        ]
      },
      "Subscription.SubscriptionOutput": {
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          },
          "project_codename": {
            "type": "string"
          },
          "fiscal_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "active": {
            "type": "boolean"
          },
          "period_starts_at": {
            "type": "string"
          },
          "period_ends_at": {
            "type": "string"
          },
          "auto_renew": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "auto_renew_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "limit": {
            "type": [
              "integer",
              "null"
            ]
          },
          "count": {
            "type": [
              "integer",
              "null"
            ]
          },
          "deleted": {
            "type": "boolean"
          }
        }
      },
      "User.CreateUserSubAccountInput": {
        "type": "object",
        "required": [
          "email",
          "password"
        ],
        "properties": {
          "email": {
            "format": "email",
            "externalDocs": {
              "url": "https://schema.org/email"
            },
            "type": "string"
          },
          "fiscal_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "send_reset_password_email": {
            "default": false,
            "type": "boolean"
          },
          "fullname": {
            "type": [
              "string",
              "null"
            ]
          },
          "enabled": {
            "default": true,
            "type": [
              "boolean",
              "null"
            ]
          },
          "password": {
            "pattern": "^((?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[!@#\\$%\\^&\\*])(?=.{10,}).*)$",
            "type": "string"
          }
        }
      },
      "User.EmailInput": {
        "type": "object",
        "required": [
          "email"
        ],
        "properties": {
          "email": {
            "format": "email",
            "externalDocs": {
              "url": "https://schema.org/email"
            },
            "type": "string"
          }
        }
      },
      "User.UpdateUserSubAccountInput": {
        "type": "object",
        "properties": {
          "fullname": {
            "type": [
              "string",
              "null"
            ]
          },
          "enabled": {
            "default": true,
            "type": [
              "boolean",
              "null"
            ]
          }
        }
      },
      "User.UserInput": {
        "type": "object",
        "properties": {
          "fullname": {
            "type": [
              "string",
              "null"
            ]
          },
          "invoicing_vat_number": {
            "type": [
              "string",
              "null"
            ]
          },
          "invoicing_fiscal_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "invoicing_country": {
            "type": [
              "string",
              "null"
            ]
          },
          "invoicing_address": {
            "type": [
              "string",
              "null"
            ]
          },
          "invoicing_cap": {
            "type": [
              "string",
              "null"
            ]
          },
          "invoicing_city": {
            "type": [
              "string",
              "null"
            ]
          },
          "invoicing_province": {
            "type": [
              "string",
              "null"
            ]
          },
          "invoicing_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "invoicing_sdi_recipient_code": {
            "type": [
              "string",
              "null"
            ]
          },
          "invoicing_sdi_pec": {
            "format": "email",
            "externalDocs": {
              "url": "https://schema.org/email"
            },
            "type": [
              "string",
              "null"
            ]
          },
          "pec": {
            "format": "email",
            "externalDocs": {
              "url": "https://schema.org/email"
            },
            "type": [
              "string",
              "null"
            ]
          },
          "fiscal_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "address": {
            "readOnly": true,
            "type": "string"
          }
        }
      },
      "User.UserOutput": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          },
          "fullname": {
            "type": [
              "string",
              "null"
            ]
          },
          "invoicing_vat_number": {
            "type": [
              "string",
              "null"
            ]
          },
          "invoicing_fiscal_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "invoicing_address": {
            "type": [
              "string",
              "null"
            ]
          },
          "invoicing_city": {
            "type": [
              "string",
              "null"
            ]
          },
          "invoicing_province": {
            "type": [
              "string",
              "null"
            ]
          },
          "invoicing_cap": {
            "type": [
              "string",
              "null"
            ]
          },
          "invoicing_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "invoicing_country": {
            "type": [
              "string",
              "null"
            ]
          },
          "invoicing_sdi_recipient_code": {
            "type": [
              "string",
              "null"
            ]
          },
          "invoicing_sdi_pec": {
            "type": [
              "string",
              "null"
            ]
          },
          "logo_url": {
            "description": "The logoUrl is available for premium customers, and\nit is used to customize the UIs provided by A-Cube.",
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "User.UserOutput.html": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          },
          "fullname": {
            "type": [
              "string",
              "null"
            ]
          },
          "invoicing_vat_number": {
            "type": [
              "string",
              "null"
            ]
          },
          "invoicing_fiscal_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "invoicing_address": {
            "type": [
              "string",
              "null"
            ]
          },
          "invoicing_city": {
            "type": [
              "string",
              "null"
            ]
          },
          "invoicing_province": {
            "type": [
              "string",
              "null"
            ]
          },
          "invoicing_cap": {
            "type": [
              "string",
              "null"
            ]
          },
          "invoicing_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "invoicing_country": {
            "type": [
              "string",
              "null"
            ]
          },
          "invoicing_sdi_recipient_code": {
            "type": [
              "string",
              "null"
            ]
          },
          "invoicing_sdi_pec": {
            "type": [
              "string",
              "null"
            ]
          },
          "logo_url": {
            "description": "The logoUrl is available for premium customers, and\nit is used to customize the UIs provided by A-Cube.",
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "User.UserOutput.jsonld": {
        "allOf": [
          {
            "$ref": "#/components/schemas/HydraItemBaseSchema"
          },
          {
            "type": "object",
            "properties": {
              "email": {
                "type": "string"
              },
              "fullname": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "invoicing_vat_number": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "invoicing_fiscal_id": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "invoicing_address": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "invoicing_city": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "invoicing_province": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "invoicing_cap": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "invoicing_name": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "invoicing_country": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "invoicing_sdi_recipient_code": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "invoicing_sdi_pec": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "logo_url": {
                "description": "The logoUrl is available for premium customers, and\nit is used to customize the UIs provided by A-Cube.",
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          }
        ]
      },
      "User.UserPassword": {
        "type": "object",
        "required": [
          "password"
        ],
        "properties": {
          "password": {
            "pattern": "^((?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[!@#\\$%\\^&\\*])(?=.{10,}).*)$",
            "type": "string"
          }
        }
      },
      "User.UserSubAccountOutput": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          },
          "fiscal_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "fullname": {
            "type": [
              "string",
              "null"
            ]
          },
          "enabled": {
            "type": "boolean"
          },
          "created_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "updated_at": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "User.UserSubAccountOutput.jsonld": {
        "allOf": [
          {
            "$ref": "#/components/schemas/HydraItemBaseSchema"
          },
          {
            "type": "object",
            "properties": {
              "email": {
                "type": "string"
              },
              "fiscal_id": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "fullname": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "enabled": {
                "type": "boolean"
              },
              "created_at": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "updated_at": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          }
        ]
      }
    },
    "responses": {},
    "parameters": {},
    "examples": {},
    "requestBodies": {},
    "headers": {},
    "securitySchemes": {
      "JWT": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      }
    }
  },
  "security": [],
  "tags": [
    {
      "name": "Consumption",
      "description": "Resource 'Consumption' operations."
    },
    {
      "name": "PreSale",
      "description": "Resource 'PreSale' operations."
    },
    {
      "name": "PreSaleAction",
      "description": "Resource 'PreSaleAction' operations."
    },
    {
      "name": "Subscription",
      "description": "Resource 'Subscription' operations."
    },
    {
      "name": "User",
      "description": "Resource 'User' operations."
    }
  ],
  "webhooks": {}
}
