{ "openapi": "3.0.1", "info": { "title": "Upodi API", "description": "An API for the Upodi Subscription Management system https://upodi.com, https://portal.upodi.io", "termsOfService": "https://go.upodi.io/tos", "contact": { "name": "Upodi Helpdesk", "url": "https://go.upodi.io/v5api", "email": "helpdesk@upodi.com" }, "version": "v5" }, "servers": [ { "url": "https://api-front.upodi.io" } ], "paths": { "/BusinessUnits/query": { "post": { "tags": [ "BusinessUnits" ], "summary": "Query business units", "parameters": [ { "name": "page", "in": "query", "description": "", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "Query to request.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Models.GraphQL.QueryRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.API.Models.Response.BusinessUnit.BusinessUnitResponse_" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/BusinessUnits": { "post": { "tags": [ "BusinessUnits" ], "summary": "Create BusinessUnit", "parameters": [ { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.CreatBusinessUnitRequest" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Response.BusinessUnit.BusinessUnitResponse" } } } } } }, "get": { "tags": [ "BusinessUnits" ], "summary": "List of paged BusinessUnits", "parameters": [ { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Upodi.API.Models.Response.BusinessUnit.BusinessUnitResponse" } } } } } } } }, "/BusinessUnits/{id}": { "patch": { "tags": [ "BusinessUnits" ], "summary": "Update an existing BusinessUnit", "parameters": [ { "name": "id", "in": "path", "description": "The identifier of the BusinessUnit to be updated.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.PatchBusinessUnitRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Response.BusinessUnit.BusinessUnitResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } }, "put": { "tags": [ "BusinessUnits" ], "summary": "Update an existing BusinessUnit", "parameters": [ { "name": "id", "in": "path", "description": "The identifier of the BusinessUnit to be updated.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.BusinessUnit.UpdateBusinessUnitRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Response.BusinessUnit.BusinessUnitResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } }, "get": { "tags": [ "BusinessUnits" ], "summary": "Get BusinessUnit by ID", "parameters": [ { "name": "id", "in": "path", "description": "The identifier of the BusinessUnit to be fetched.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Data.Models.Subscription" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } }, "delete": { "tags": [ "BusinessUnits" ], "summary": "Delete BusinessUnit", "parameters": [ { "name": "id", "in": "path", "description": "", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "204": { "description": "No Content" }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Checkout": { "put": { "tags": [ "Checkout" ], "parameters": [ { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Models.Checkout" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Models.Checkout" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } }, "post": { "tags": [ "Checkout" ], "parameters": [ { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Models.Checkout" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Models.Checkout" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Contacts/byrefkey/{refkey}": { "get": { "tags": [ "Contacts" ], "summary": "Get contacts by refkey", "parameters": [ { "name": "refkey", "in": "path", "description": "The refkey you want to search for", "required": true, "schema": { "type": "string" } }, { "name": "page", "in": "query", "description": "", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.API.Models.Response.Contacts.ContactResponse_" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Contacts": { "post": { "tags": [ "Contacts" ], "summary": "Create contact", "description": "", "parameters": [ { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "Contact to create.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Contact.CreateContactRequest" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Response.Contacts.ContactResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } }, "get": { "tags": [ "Contacts" ], "summary": "List of contacts", "parameters": [ { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.API.Models.Response.Contacts.ContactResponse_" } } } } } } }, "/Contacts/{id}": { "delete": { "tags": [ "Contacts" ], "summary": "Delete contact", "parameters": [ { "name": "id", "in": "path", "description": "", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "204": { "description": "No Content" }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } }, "put": { "tags": [ "Contacts" ], "summary": "Update contact", "description": "", "parameters": [ { "name": "id", "in": "path", "description": "", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "Contact to update.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Contact.UpdateContactRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Response.Contacts.ContactResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } }, "patch": { "tags": [ "Contacts" ], "summary": "Patch contact", "description": "", "parameters": [ { "name": "id", "in": "path", "description": "", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Contact.PatchContactRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Response.Contacts.ContactResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } }, "get": { "tags": [ "Contacts" ], "summary": "Get contact", "parameters": [ { "name": "id", "in": "path", "description": "", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Response.Contacts.ContactResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Contacts/query": { "post": { "tags": [ "Contacts" ], "summary": "Query contacts", "parameters": [ { "name": "page", "in": "query", "description": "", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "Query to request.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Models.GraphQL.QueryRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.API.Models.Response.Contacts.ContactResponse_" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/CustomerGroups": { "post": { "tags": [ "CustomerGroups" ], "parameters": [ { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Customer.CreateCustomerGroupRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Customer.CreateCustomerGroupResponse" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } }, "get": { "tags": [ "CustomerGroups" ], "parameters": [ { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollectionClass_1_T_" } } } } } } }, "/CustomerGroups/{id}": { "delete": { "tags": [ "CustomerGroups" ], "parameters": [ { "name": "id", "in": "query", "schema": { "type": "string", "format": "uuid" } }, { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "204": { "description": "No Content" }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails" } } } } } }, "put": { "tags": [ "CustomerGroups" ], "parameters": [ { "name": "id", "in": "query", "schema": { "type": "string", "format": "uuid" } }, { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Customer.UpdateCustomerGroupRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Customer.UpdateCustomerGroupResponse" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } }, "get": { "tags": [ "CustomerGroups" ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Customer.GetCustomerGroupResponse" } } } } } } }, "/CustomerGroups/number/{number}": { "get": { "tags": [ "CustomerGroups" ], "parameters": [ { "name": "number", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Customer.GetCustomerGroupResponse" } } } } } } }, "/Customers/query": { "post": { "tags": [ "Customers" ], "summary": "Query customers", "parameters": [ { "name": "page", "in": "query", "description": "", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "Query to request.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Models.GraphQL.QueryRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.Data.Models.Customer_" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Customers/{id}": { "delete": { "tags": [ "Customers" ], "summary": "Delete customer", "parameters": [ { "name": "id", "in": "path", "description": "Customer to delete.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "204": { "description": "No Content" }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } }, "get": { "tags": [ "Customers" ], "summary": "Get customer", "parameters": [ { "name": "id", "in": "path", "description": "Id of customer", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Response.Customer.CustomerResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } }, "put": { "tags": [ "Customers" ], "summary": "Update customer", "description": "", "parameters": [ { "name": "id", "in": "path", "description": "", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "Customer to update.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Customer.UpdateCustomerRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Data.Models.Customer" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } }, "patch": { "tags": [ "Customers" ], "summary": "Patch customer", "description": "", "parameters": [ { "name": "id", "in": "path", "description": "Customer to patch.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "Values to patch.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Customer.PatchCustomerRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Data.Models.Customer" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Customers/metadata/{metadataId}": { "delete": { "tags": [ "Customers" ], "summary": "Delete metadata entry for a customer", "parameters": [ { "name": "metadataId", "in": "path", "description": "Metadata to delete.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "204": { "description": "No Content" }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Customers": { "get": { "tags": [ "Customers" ], "summary": "List customers", "parameters": [ { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.Data.Models.Customer_" } } } } } }, "post": { "tags": [ "Customers" ], "summary": "Create customer", "description": "", "parameters": [ { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "Customer to create.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Customer.CreateCustomerRequest" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Data.Models.Customer" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Customers/byaccountnumber/{accountNumber}": { "get": { "tags": [ "Customers" ], "summary": "Get customer by account number", "parameters": [ { "name": "accountNumber", "in": "path", "description": "", "required": true, "schema": { "type": "string" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Response.Customer.CustomerWithMetaDataResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Customers/byrefkey/{refkey}": { "get": { "tags": [ "Customers" ], "summary": "Get customers by refkey", "parameters": [ { "name": "refkey", "in": "path", "description": "", "required": true, "schema": { "type": "string" } }, { "name": "page", "in": "query", "description": "", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.Data.Models.Customer_" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Customers/{id}/paymentmethods": { "get": { "tags": [ "Customers" ], "summary": "Get customer paymentmethods", "parameters": [ { "name": "id", "in": "path", "description": "", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.API.Models.Response.PaymentMethod.PaymentMethodWithDefaultCustomerResponse_" } } } } } } }, "/Customers/{id}/invoices": { "get": { "tags": [ "Customers" ], "summary": "Get customer invoices", "parameters": [ { "name": "id", "in": "path", "description": "", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.Data.Models.Invoice_" } } } } } } }, "/Customers/{id}/contacts": { "get": { "tags": [ "Customers" ], "summary": "Get customer contacts", "parameters": [ { "name": "id", "in": "path", "description": "", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.Data.Models.Contact_" } } } } } } }, "/Customers/{id}/metadata": { "get": { "tags": [ "Customers" ], "summary": "Get customer metadata", "parameters": [ { "name": "id", "in": "path", "description": "The customer to get Metadata for.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.MetaData.CustomerMetaData_" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } }, "put": { "tags": [ "Customers" ], "summary": "Put customer metadata", "parameters": [ { "name": "id", "in": "path", "description": "Id of customer", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "Key and value", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.InputMetadataRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Response.MetaData.UpdateMetaDataResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Customers/bymetadata": { "get": { "tags": [ "Customers" ], "summary": "Get customer by metadata", "parameters": [ { "name": "key", "in": "query", "description": "Required", "schema": { "type": "string" } }, { "name": "value", "in": "query", "description": "Optional", "schema": { "type": "string" } }, { "name": "page", "in": "query", "description": "", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.Data.Models.Customer_" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Customers/metadata": { "post": { "tags": [ "Customers" ], "summary": "Create Metadata for a customer", "description": "", "parameters": [ { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "Metadata input.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.CreateMetaDataRequest" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.MetaData.CustomerMetaData" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Customers/{id}/setdefaultpaymentmethod": { "put": { "tags": [ "Customers" ], "summary": "Set default payment method", "parameters": [ { "name": "id", "in": "path", "description": "", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "paymentMethodId", "in": "query", "description": "", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Data.Models.Customer" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Customers/{id}/entitlements": { "get": { "tags": [ "Customers" ], "summary": "Get entitlements by customer id", "parameters": [ { "name": "id", "in": "path", "description": "The id of the customer", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "", "schema": { "type": "integer", "format": "int32" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollectionClass_1_Upodi.API.Models.Request.Entitlements.GetPagingEntitlementResponse_" } } } } } } }, "/Customers/bygroup/{number}": { "get": { "tags": [ "Customers" ], "parameters": [ { "name": "number", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } }, { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.Data.Models.Customer_" } } } } } } }, "/DataPrivacy/customers/{id}": { "get": { "tags": [ "DataPrivacy" ], "summary": "Retrieves customer data based on the provided customer ID.", "parameters": [ { "name": "id", "in": "path", "description": "The ID of the customer to retrieve data for.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Response.Customer.CustomerDataPrivacyResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails" } } } } } }, "delete": { "tags": [ "DataPrivacy" ], "summary": "Deletes customer and all his data permanently if no new booked invoices appear for the last 5 years", "parameters": [ { "name": "id", "in": "path", "description": "", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "204": { "description": "No Content" }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/DataPrivacy/customers/{id}/obfuscate": { "post": { "tags": [ "DataPrivacy" ], "summary": "Obfuscates customer data based on the provided customer ID.", "parameters": [ { "name": "id", "in": "path", "description": "The ID of the customer to retrieve data for.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "204": { "description": "No Content" }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Discounts/{id}/discountcodes": { "get": { "tags": [ "Discounts" ], "summary": "Get Discount Codes of a specific Discount", "parameters": [ { "name": "id", "in": "path", "description": "Discount id.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.Data.Models.DiscountCode_" } } } } } } }, "/Discounts/byrefkey/{refkey}": { "get": { "tags": [ "Discounts" ], "summary": "Get Discounts for a specific Ref key", "parameters": [ { "name": "refkey", "in": "path", "description": "Discount id", "required": true, "schema": { "type": "string" } }, { "name": "page", "in": "query", "description": "", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.Data.Models.Discount_" } } } } } } }, "/Discounts": { "post": { "tags": [ "Discounts" ], "summary": "Create discount", "description": "", "parameters": [ { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "Discount to create", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Discount.CreateDiscountRequest" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Data.Models.Discount" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } }, "get": { "tags": [ "Discounts" ], "summary": "List discounts", "parameters": [ { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.Data.Models.Discount_" } } } } } } }, "/Discounts/checkeligibility": { "post": { "tags": [ "Discounts" ], "summary": "Check eligibility of discount code", "description": "", "parameters": [ { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "Input body containing the discount code and product plan", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Discount.DiscountCheckEligibilityRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Data.Models.DiscountCode" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Discounts/{id}": { "put": { "tags": [ "Discounts" ], "summary": "Update discount", "description": "", "parameters": [ { "name": "id", "in": "path", "description": "", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "Discount to update.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Discount.UpdateDiscountRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Data.Models.Discount" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } }, "patch": { "tags": [ "Discounts" ], "summary": "Patch discount", "description": "", "parameters": [ { "name": "id", "in": "path", "description": "Discount to patch", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "Values to patch", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Discount.PatchDiscountRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Data.Models.Discount" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } }, "get": { "tags": [ "Discounts" ], "summary": "Get discount", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Data.Models.Discount" } } } } } }, "delete": { "tags": [ "Discounts" ], "summary": "Delete discount", "description": "Caution: All related uses of the discount will be removed.", "parameters": [ { "name": "id", "in": "path", "description": "", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "204": { "description": "No Content" }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Discounts/{id}/generatediscountcodes": { "put": { "tags": [ "Discounts" ], "summary": "Generate discount codes for a discount", "description": "", "parameters": [ { "name": "id", "in": "path", "description": "Discount to generate codes for.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "Discount Code generation specifications.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Discount.DiscountCodeGenerateRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.Data.Models.DiscountCode_" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Discounts/applydiscountcodecustomer/{customerId}": { "put": { "tags": [ "Discounts" ], "summary": "Apply discount code to customer", "description": "", "parameters": [ { "name": "customerId", "in": "path", "description": "Customer to apply the discount to.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "Discount Code to apply.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Discount.ApplyDiscountCodeRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Data.Models.DiscountCode" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Discounts/applydiscountcodesubscription/{subscriptionId}": { "put": { "tags": [ "Discounts" ], "summary": "Apply discount code to subscription", "description": "", "parameters": [ { "name": "subscriptionId", "in": "path", "description": "Subscription to apply the discount to.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "Discount Code to apply.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Discount.ApplyDiscountCodeRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Data.Models.DiscountCode" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Discounts/applydiscountcodesubscriptioncharge/{subscriptionChargeId}": { "put": { "tags": [ "Discounts" ], "summary": "Apply discount code to subscription charge", "description": "", "parameters": [ { "name": "subscriptionChargeId", "in": "path", "description": "Subscription Charge to apply the discount to", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "Discount Code to apply", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Discount.ApplyDiscountCodeRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Data.Models.DiscountCode" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Discounts/{id}/discountcodes/{code}": { "delete": { "tags": [ "Discounts" ], "summary": "Delete discount code", "description": "Caution: All related uses of the discount code will be deleted.", "parameters": [ { "name": "id", "in": "path", "description": "Id of the discount.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "code", "in": "path", "description": "The discount code to delete.", "required": true, "schema": { "type": "string" }, "example": "50-Rrw553Kf" }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "204": { "description": "No Content" }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Discounts/{customerId}/cleardiscountcodecustomer": { "delete": { "tags": [ "Discounts" ], "summary": "Clear discount on customer", "parameters": [ { "name": "customerId", "in": "path", "description": "Customer to clear discounts for.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "204": { "description": "No Content" }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Discounts/{subscriptionId}/cleardiscountcodesubscription": { "delete": { "tags": [ "Discounts" ], "summary": "Clear discount on subscription", "parameters": [ { "name": "subscriptionId", "in": "path", "description": "Subscription to clear discounts for.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "204": { "description": "No Content" }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Discounts/{subscriptionChargeId}/cleardiscountcodesubscriptioncharge": { "delete": { "tags": [ "Discounts" ], "summary": "Clear discount on subscription charge", "parameters": [ { "name": "subscriptionChargeId", "in": "path", "description": "Subscription Charge to clear discounts for.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "204": { "description": "No Content" }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Discounts/{discountID}/consumers": { "get": { "tags": [ "Discounts" ], "summary": "Get discount uses", "parameters": [ { "name": "discountID", "in": "path", "description": "Id of the discount to return uses for", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.Data.Models.NonData.DiscountDetails_" } } } } } } }, "/Discounts/metadata/{metadataId}": { "delete": { "tags": [ "Discounts" ], "parameters": [ { "name": "metadataId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "204": { "description": "No Content" }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Discounts/{id}/metadata": { "get": { "tags": [ "Discounts" ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.MetaData.DiscountMetaData_" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } }, "put": { "tags": [ "Discounts" ], "summary": "Put discount metadata", "parameters": [ { "name": "id", "in": "path", "description": "Id of discount", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "Key and value", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.InputMetadataRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Response.MetaData.UpdateMetaDataResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Discounts/metadata": { "post": { "tags": [ "Discounts" ], "summary": "Create Metadata for a discount.", "parameters": [ { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "Metadata input.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.CreateMetaDataRequest" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.MetaData.DiscountMetaData" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Discounts/bymetadata": { "get": { "tags": [ "Discounts" ], "summary": "Get discount by metadata", "parameters": [ { "name": "key", "in": "query", "description": "Required", "schema": { "type": "string" } }, { "name": "value", "in": "query", "description": "Optional", "schema": { "type": "string" } }, { "name": "page", "in": "query", "description": "", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.Data.Models.Customer_" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Discounts/query": { "post": { "tags": [ "Discounts" ], "summary": "Query discounts", "parameters": [ { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Models.GraphQL.QueryRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.Data.Models.Discount_" } } } } } } }, "/EmailTemplateSets/query": { "post": { "tags": [ "EmailTemplateSets" ], "summary": "Query emailtemplatesets", "parameters": [ { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Models.GraphQL.QueryRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.Data.Models.EmailTemplateSet_" } } } } } } }, "/EmailTemplateSets": { "get": { "tags": [ "EmailTemplateSets" ], "summary": "List emailtemplatesets", "parameters": [ { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.Data.Models.EmailTemplateSet_" } } } } } } }, "/EmailTemplateSets/{id}": { "get": { "tags": [ "EmailTemplateSets" ], "summary": "Get emailtemplateset", "parameters": [ { "name": "id", "in": "path", "description": "Id of entity.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Data.Models.EmailTemplateSet" } } } } } } }, "/Entitlements": { "post": { "tags": [ "Entitlements" ], "summary": "Create new entitlement", "parameters": [ { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "The model to create entitlement", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Entitlements.CreateEntitlementRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Entitlements.CreateEntitlementResponse" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails" } } } } } }, "get": { "tags": [ "Entitlements" ], "summary": "Get paginated entitlements", "parameters": [ { "name": "page", "in": "query", "description": "Current page", "schema": { "type": "integer", "format": "int32" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollectionClass_1_Upodi.API.Models.Request.Entitlements.GetPagingEntitlementResponse_" } } } } } } }, "/Entitlements/{id}": { "put": { "tags": [ "Entitlements" ], "summary": "Update entitlement", "parameters": [ { "name": "id", "in": "path", "description": "The id of the entitlement to update", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "Model for updating the entitlement", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Entitlements.UpdateEntitlementRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Entitlements.UpdateEntitlementResponse" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails" } } } } } }, "delete": { "tags": [ "Entitlements" ], "summary": "Delete entitlement", "parameters": [ { "name": "id", "in": "path", "description": "The id of the entitlement to be deleted", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "204": { "description": "No Content" }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails" } } } } } }, "get": { "tags": [ "Entitlements" ], "summary": "Get entitlement by id", "parameters": [ { "name": "id", "in": "path", "description": "The id of the entitlement", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Entitlements.GetEntitlementResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/FinancialAccounts": { "post": { "tags": [ "FinancialAccounts" ], "parameters": [ { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.ProductPlan.FinancialAccounts.CreateAccountRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.ProductPlan.FinancialAccounts.CreateAccountResponse" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails" } } } } } }, "get": { "tags": [ "FinancialAccounts" ], "parameters": [ { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollectionClass_1_Upodi.API.Models.Request.ProductPlan.FinancialAccounts.PagingAccountResponse_" } } } } } } }, "/FinancialAccounts/{id}": { "put": { "tags": [ "FinancialAccounts" ], "parameters": [ { "name": "id", "in": "query", "schema": { "type": "string", "format": "uuid" } }, { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.ProductPlan.FinancialAccounts.UpdateAccountRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.ProductPlan.FinancialAccounts.UpdateAccountResponse" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails" } } } } } }, "delete": { "tags": [ "FinancialAccounts" ], "parameters": [ { "name": "id", "in": "query", "schema": { "type": "string", "format": "uuid" } }, { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "204": { "description": "No Content" }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails" } } } } } }, "get": { "tags": [ "FinancialAccounts" ], "parameters": [ { "name": "id", "in": "query", "schema": { "type": "string", "format": "uuid" } }, { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.ProductPlan.FinancialAccounts.AccountResponse" } } } } } } }, "/FinancialAccountSets": { "post": { "tags": [ "FinancialAccountSets" ], "parameters": [ { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.ProductPlan.FinancialAccounts.CreateAccountSetRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.ProductPlan.FinancialAccounts.CreateAccountSetResponse" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails" } } } } } }, "get": { "tags": [ "FinancialAccountSets" ], "parameters": [ { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollectionClass_1_Upodi.API.Models.Request.ProductPlan.FinancialAccounts.PagingAccountSetResponse_" } } } } } } }, "/FinancialAccountSets/{id}": { "put": { "tags": [ "FinancialAccountSets" ], "parameters": [ { "name": "id", "in": "query", "schema": { "type": "string", "format": "uuid" } }, { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.ProductPlan.FinancialAccounts.UpdateAccountSetRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.ProductPlan.FinancialAccounts.UpdateAccountSetResponse" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails" } } } } } }, "delete": { "tags": [ "FinancialAccountSets" ], "parameters": [ { "name": "id", "in": "query", "schema": { "type": "string", "format": "uuid" } }, { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "204": { "description": "No Content" }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails" } } } } } }, "get": { "tags": [ "FinancialAccountSets" ], "parameters": [ { "name": "id", "in": "query", "schema": { "type": "string", "format": "uuid" } }, { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.ProductPlan.FinancialAccounts.AccountSetResponse" } } } } } } }, "/Graph": { "post": { "tags": [ "Graph" ], "summary": "GraphQL", "parameters": [ { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.GraphQL.GraphQLRequest" } } } }, "responses": { "200": { "description": "Success" }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails" } } } } } } }, "/Invoices/query": { "post": { "tags": [ "Invoices" ], "summary": "Query invoices", "parameters": [ { "name": "page", "in": "query", "description": "", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "Query to request.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Models.GraphQL.QueryRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.Data.Models.Invoice_" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Invoices/{id}": { "delete": { "tags": [ "Invoices" ], "summary": "Delete invoice", "description": "Cannot delete booked invoices", "parameters": [ { "name": "id", "in": "path", "description": "Invoice id to delete", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "204": { "description": "No Content" }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails" } } } } } }, "get": { "tags": [ "Invoices" ], "summary": "Get invoice", "parameters": [ { "name": "id", "in": "path", "description": "", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Response.Invoice.InvoiceWithInvoiceLinesAndCustomerAndSettlementsResponse" } } } } } }, "put": { "tags": [ "Invoices" ], "summary": "Update invoice", "description": "", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Invoice.UpdateInvoiceRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Response.Invoice.InvoiceWithInvoiceLinesResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } }, "patch": { "tags": [ "Invoices" ], "summary": "Patch invoice", "parameters": [ { "name": "id", "in": "path", "description": "", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Invoice.PatchInvoiceRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Response.Invoice.InvoiceWithInvoiceLinesResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Invoices/{id}/cancel": { "put": { "tags": [ "Invoices" ], "summary": "Cancel invoice", "description": "Cancels dunning and marks it unable to be paid", "parameters": [ { "name": "id", "in": "path", "description": "Required. Id of invoice to cancel", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success" }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails" } } } } } } }, "/Invoices": { "post": { "tags": [ "Invoices" ], "summary": "Create invoice", "description": "", "parameters": [ { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "Required. Invoice to create.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Invoice.CreateInvoiceRequest" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Response.Invoice.InvoiceWithInvoiceLinesResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } }, "get": { "tags": [ "Invoices" ], "summary": "List invoices", "parameters": [ { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.Data.Models.Invoice_" } } } } } } }, "/Invoices/{id}/duplicate": { "post": { "tags": [ "Invoices" ], "summary": "Duplicate an invoice", "description": "Also used to create a credit note for an invoice, which is a reversed duplicate", "parameters": [ { "name": "id", "in": "path", "description": "Invoice to duplicate.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "Optional parameters regarding the duplication.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.DuplicateInvoiceRequest" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Response.Invoice.InvoiceWithInvoiceLinesAndCustomerResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails" } } } } } } }, "/Invoices/{id}/sendemail": { "post": { "tags": [ "Invoices" ], "summary": "Send the 'new invoice' email for an existing invoice", "description": "The automated flow of booking will automatically also send a copy of the invoice if configured. This is for en\r\nextraordinary resend of the email.", "parameters": [ { "name": "id", "in": "path", "description": "Invoice to send the new invoice invoice email for.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "Parameters regarding the email sendout.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Messaging.EmailInvoiceRequest" } } } }, "responses": { "204": { "description": "No Content" }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails" } } } } } } }, "/Invoices/{id}/book": { "put": { "tags": [ "Invoices" ], "summary": "Book invoice", "description": "", "parameters": [ { "name": "id", "in": "path", "description": "Invoice to book", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "Booking options", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Invoice.InvoiceBookOptions" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Response.Invoice.InvoiceWithInvoiceLinesResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails" } } } } } } }, "/Invoices/{settlementId}/settlement": { "put": { "tags": [ "Invoices" ], "summary": "Update an invoice settlement", "parameters": [ { "name": "settlementId", "in": "path", "description": "Id of invoiceSettlement to update. Must be sourcetype manual", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Invoice.UpdateInvoiceSettlementRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Data.Models.InvoiceSettlement" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } }, "patch": { "tags": [ "Invoices" ], "summary": "Patch invoice settlement", "parameters": [ { "name": "settlementId", "in": "path", "description": "Invoice settlement to patch. Must be sourcetype manual", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Invoice.PatchInvoiceSettlementRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Data.Models.InvoiceSettlement" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } }, "delete": { "tags": [ "Invoices" ], "summary": "Delete invoice settlement", "parameters": [ { "name": "settlementId", "in": "path", "description": "Invoice settlement to delete. Must be sourcetype manual", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Response.Invoice.InvoiceWithSettlementsResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Invoices/{invoiceId}/settle": { "post": { "tags": [ "Invoices" ], "summary": "Settle (pay or refund) an invoice.", "description": "", "parameters": [ { "name": "invoiceId", "in": "path", "description": "Required. Id of invoice.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "Required.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Invoice.SettleInvoiceRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Response.Invoice.InvoiceWithSettlementsResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Invoices/{id}/settlement": { "post": { "tags": [ "Invoices" ], "summary": "Settle the invoice.", "description": "", "parameters": [ { "name": "id", "in": "path", "description": "Invoice to settle", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "Settlement options", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Invoice.CreateInvoiceSettlementRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Response.Invoice.InvoiceWithSettlementsResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails" } } } } } } }, "/Invoices/{id}/dunning": { "put": { "tags": [ "Invoices" ], "summary": "Handle dunning actions on invoice.", "parameters": [ { "name": "id", "in": "path", "description": "Required. Id of invoice.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "Required. Action parameter to action for dunning.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Invoice.DunningActionRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Data.Models.Invoice" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails" } } } } } } }, "/Invoices/{invoiceId}/pdf": { "get": { "tags": [ "Invoices" ], "summary": "Get PDF", "parameters": [ { "name": "invoiceId", "in": "path", "description": "Required. Id of invoice.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "emailTemplateSetId", "in": "query", "description": "Optional. Overwrite email template set.", "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/pdf": { "schema": { "type": "string", "format": "binary" } }, "application/json": { "schema": { "type": "string", "format": "binary" } } } } } } }, "/PaymentMethods/{id}/change": { "put": { "tags": [ "PaymentMethods" ], "summary": "Change default payment method", "description": "", "parameters": [ { "name": "id", "in": "path", "description": "Required. Id of payment method.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "The change payment method request.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.ChangePaymentMethodRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Data.Models.PaymentMethod" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/PaymentMethods": { "post": { "tags": [ "PaymentMethods" ], "summary": "Create payment method", "description": "", "parameters": [ { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.CreatePaymentMethodRequest" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Data.Models.PaymentMethod" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } }, "get": { "tags": [ "PaymentMethods" ], "summary": "List payment methods", "parameters": [ { "name": "page", "in": "query", "description": "", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.API.Models.Response.PaymentMethod.PaymentMethodWithDefaultCustomerResponse_" } } } } } } }, "/PaymentMethods/{id}": { "delete": { "tags": [ "PaymentMethods" ], "summary": "Delete payment method", "description": "Deletes payment method if it's not referenced on any invoice. If it is, it will be cancelled instead and can not be\r\nused for future payments.", "parameters": [ { "name": "id", "in": "path", "description": "Required. Id of PaymentMethod to delete.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "204": { "description": "No Content" }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails" } } } } } }, "get": { "tags": [ "PaymentMethods" ], "summary": "Get payment method by id", "parameters": [ { "name": "id", "in": "path", "description": "", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Response.PaymentMethod.PaymentMethodWithDefaultCustomerResponse" } } } } } } }, "/PaymentMethods/query": { "post": { "tags": [ "PaymentMethods" ], "summary": "Query payment methods", "parameters": [ { "name": "page", "in": "query", "description": "", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Models.GraphQL.QueryRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.API.Models.Response.PaymentMethod.PaymentMethodWithDefaultCustomerResponse_" } } } } } } }, "/ProductFamilies": { "get": { "tags": [ "ProductFamilies" ], "parameters": [ { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollectionClass_1_Upodi.API.Models.Request.ProductPlan.ProductFamilies.PagingProductFamilyResponse_" } } } } } }, "post": { "tags": [ "ProductFamilies" ], "parameters": [ { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.ProductPlan.ProductFamilies.CreateProductFamilyRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.ProductPlan.ProductFamilies.CreateProductFamilyResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/ProductFamilies/{id}": { "get": { "tags": [ "ProductFamilies" ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.ProductPlan.ProductFamilies.GetProductFamilyResponse" } } } } } }, "put": { "tags": [ "ProductFamilies" ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.ProductPlan.ProductFamilies.UpdateProductFamilyRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.ProductPlan.ProductFamilies.UpdateProductFamilyResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } }, "delete": { "tags": [ "ProductFamilies" ], "parameters": [ { "name": "id", "in": "query", "schema": { "type": "string", "format": "uuid" } }, { "name": "id", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "204": { "description": "No Content" }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/ProductPlans/query": { "post": { "tags": [ "ProductPlans" ], "summary": "Query product plans.", "parameters": [ { "name": "page", "in": "query", "description": "", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "Query to request.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Models.GraphQL.QueryRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.Data.Models.ProductPlan_" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/ProductPlans/{id}": { "patch": { "tags": [ "ProductPlans" ], "summary": "Patch product plan", "parameters": [ { "name": "id", "in": "path", "description": "", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.ProductPlan.PatchProductPlanRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Data.Models.ProductPlan" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } }, "get": { "tags": [ "ProductPlans" ], "summary": "Get product plan", "parameters": [ { "name": "id", "in": "path", "description": "", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Response.ProductPlan.ProductPlanWithProductFamilyAndChargesResponse" } } } } } }, "put": { "tags": [ "ProductPlans" ], "summary": "Update Product Plan", "parameters": [ { "name": "id", "in": "path", "description": "", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "ProductPlan object.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.ProductPlan.UpdateProductPlanRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Data.Models.ProductPlan" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } }, "delete": { "tags": [ "ProductPlans" ], "summary": "Deletes a ProductPlan.", "parameters": [ { "name": "id", "in": "path", "description": "ID of ProductPlan.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "204": { "description": "No Content" }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/ProductPlans": { "get": { "tags": [ "ProductPlans" ], "summary": "List product plans", "parameters": [ { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.Data.Models.ProductPlan_" } } } } } }, "post": { "tags": [ "ProductPlans" ], "summary": "Create product plan", "parameters": [ { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "ProductPlan object", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.ProductPlan.CreateProductPlanRequest" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Data.Models.ProductPlan" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/ProductPlans/{id}/metadata": { "get": { "tags": [ "ProductPlans" ], "summary": "Get product plan metadata", "parameters": [ { "name": "id", "in": "path", "description": "Product plan id", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.MetaData.ProductPlanMetaData_" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } }, "put": { "tags": [ "ProductPlans" ], "summary": "Put product plan metadata", "parameters": [ { "name": "id", "in": "path", "description": "Id of product plan", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "Key and value", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.InputMetadataRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Response.MetaData.UpdateMetaDataResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/ProductPlans/bymetadata": { "get": { "tags": [ "ProductPlans" ], "summary": "Get product plans by metadata", "parameters": [ { "name": "key", "in": "query", "description": "", "schema": { "type": "string" } }, { "name": "value", "in": "query", "description": "", "schema": { "type": "string" } }, { "name": "page", "in": "query", "description": "", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.Data.Models.ProductPlan_" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/ProductPlans/byrefkey/{refkey}": { "get": { "tags": [ "ProductPlans" ], "summary": "Get productplans by refkey", "parameters": [ { "name": "refkey", "in": "path", "description": "", "required": true, "schema": { "type": "string" } }, { "name": "page", "in": "query", "description": "", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.Data.Models.ProductPlan_" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/ProductPlans/metadata": { "post": { "tags": [ "ProductPlans" ], "summary": "Create product plan metadata", "parameters": [ { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.CreateMetaDataRequest" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.MetaData.ProductPlanMetaData" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/ProductPlans/{id}/duplicate": { "post": { "tags": [ "ProductPlans" ], "summary": "Duplicate product plan", "parameters": [ { "name": "id", "in": "path", "description": "ID of product plan that should be duplicated.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Response.ProductPlan.ProductPlanWithMetaDataResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/ProductPlans/{id}/charges": { "post": { "tags": [ "ProductPlans" ], "summary": "Create product plan charges", "parameters": [ { "name": "id", "in": "path", "description": "ID of procut plan.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "Array of ProductPlanCharges", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Upodi.API.Models.Request.ProductPlan.ProductPlanChargeRequest" } } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Response.ProductPlan.ProductPlanChargeWithPricingsResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } }, "delete": { "tags": [ "ProductPlans" ], "summary": "Removes all Charges of a ProductPlan.", "parameters": [ { "name": "id", "in": "path", "description": "ID of ProductPlan", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "204": { "description": "No Content" }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/ProductPlans/charges/{chargeId}/pricings": { "put": { "tags": [ "ProductPlans" ], "summary": "Update product plan charge pricings", "parameters": [ { "name": "chargeId", "in": "path", "description": "ID of specified ProductPlanCharge", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "Array of ProductPlanChargePricing objects.", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Upodi.API.Models.Request.ProductPlan.ProductPlanChargePricingRequest" } } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Response.ProductPlan.ProductPlanChargeWithPricingsResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails" } } } } } } }, "/ProductPlans/charges/{chargeId}": { "put": { "tags": [ "ProductPlans" ], "summary": "Update Product Plan Charge", "parameters": [ { "name": "chargeId", "in": "path", "description": "", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "ChargeInputContainer object", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.ProductPlan.ProductPlanChargeRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Data.Models.ProductPlanCharge" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } }, "delete": { "tags": [ "ProductPlans" ], "summary": "Deletes a single charge from a ProductPlan.", "parameters": [ { "name": "chargeId", "in": "path", "description": "", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "204": { "description": "No Content" }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/ProductPlans/{id}/activate": { "put": { "tags": [ "ProductPlans" ], "summary": "Activate Product Plan", "parameters": [ { "name": "id", "in": "path", "description": "ID of ProductPlan", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Data.Models.ProductPlan" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/ProductPlans/{id}/deactivate": { "put": { "tags": [ "ProductPlans" ], "summary": "Deactivate Product Plan", "parameters": [ { "name": "id", "in": "path", "description": "ID of ProductPlan", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Data.Models.ProductPlan" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/ProductPlans/metadata/{metadataId}": { "delete": { "tags": [ "ProductPlans" ], "summary": "Delete Product Plan Metadata", "parameters": [ { "name": "metadataId", "in": "path", "description": "", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "204": { "description": "No Content" }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/ProductPlans/charges/{id}/entitlements": { "get": { "tags": [ "ProductPlans" ], "summary": "Get entitlements by product plan charge id", "parameters": [ { "name": "id", "in": "path", "description": "The id of the product plan charge", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "", "schema": { "type": "integer", "format": "int32" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollectionClass_1_Upodi.API.Models.Request.Entitlements.GetPagingEntitlementResponse_" } } } } } }, "put": { "tags": [ "ProductPlans" ], "summary": "Add entitlements to product plan charge", "parameters": [ { "name": "id", "in": "path", "description": "The id of the product plan charge", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "Model contains a list of entitlement ids", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Entitlements.AttachEntitlementsToProductPlanChargeRequest" } } } }, "responses": { "200": { "description": "Success" }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/ProductPlans/charges/{id}": { "get": { "tags": [ "ProductPlans" ], "summary": "Get product plan charge", "parameters": [ { "name": "id", "in": "path", "description": "Id of the charge", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success" } } } }, "/SubscriptionCharges/{subscriptionChargeId}/hold": { "put": { "tags": [ "SubscriptionCharges" ], "summary": "Hold Subscription Charge", "parameters": [ { "name": "subscriptionChargeId", "in": "path", "description": "", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Data.Models.SubscriptionCharge" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/SubscriptionCharges/{subscriptionChargeId}/resume": { "put": { "tags": [ "SubscriptionCharges" ], "summary": "Resume Subscription Charge", "parameters": [ { "name": "subscriptionChargeId", "in": "path", "description": "Required. Id of subscription charge.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "Required. Options for resume.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Subscription.ResumeSubscriptionRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Data.Models.SubscriptionCharge" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/SubscriptionCharges/{id}": { "put": { "tags": [ "SubscriptionCharges" ], "summary": "Update Subscription Charge", "description": "If proration is provided it may incur additional costs to the customer", "parameters": [ { "name": "id", "in": "path", "description": "", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Subscription.UpdateSubscriptionChargeRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Response.Invoice.InvoiceWithInvoiceLinesResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } }, "get": { "tags": [ "SubscriptionCharges" ], "summary": "Get subscription charge", "parameters": [ { "name": "id", "in": "path", "description": "Id of subscription charge", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Data.Models.SubscriptionCharge" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } }, "delete": { "tags": [ "SubscriptionCharges" ], "summary": "Remove optional charge.", "parameters": [ { "name": "id", "in": "path", "description": "", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "204": { "description": "No Content" }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Subscriptions/query": { "post": { "tags": [ "Subscriptions" ], "summary": "Query Subscriptions", "parameters": [ { "name": "page", "in": "query", "description": "", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "Query request.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Models.GraphQL.QueryRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.Data.Models.Subscription_" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Subscriptions/{id}": { "patch": { "tags": [ "Subscriptions" ], "summary": "Patch Subscription", "parameters": [ { "name": "id", "in": "path", "description": "", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Subscription.PatchSubscriptionRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Data.Models.Subscription" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } }, "get": { "tags": [ "Subscriptions" ], "summary": "Get Subscription", "parameters": [ { "name": "id", "in": "path", "description": "Id of subscription", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Data.Models.Subscription" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } }, "put": { "tags": [ "Subscriptions" ], "summary": "Update subscription", "description": "", "parameters": [ { "name": "id", "in": "path", "description": "Required. Id of subscription to update.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "Required. Subscription to update.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Subscription.UpdateSubscriptionRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Data.Models.Subscription" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Subscriptions/metadata/{metadataId}": { "delete": { "tags": [ "Subscriptions" ], "summary": "Delete Subscription Metadata", "parameters": [ { "name": "metadataId", "in": "path", "description": "", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "204": { "description": "No Content" }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Subscriptions": { "get": { "tags": [ "Subscriptions" ], "summary": "List Subscriptions", "parameters": [ { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.Data.Models.Subscription_" } } } } } }, "post": { "tags": [ "Subscriptions" ], "summary": "Create Subscription", "parameters": [ { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Subscription.CreateSubscriptionRequest" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Data.Models.Subscription" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Subscriptions/byrefkey/{refkey}": { "get": { "tags": [ "Subscriptions" ], "summary": "Get subscriptions by refkey", "parameters": [ { "name": "refkey", "in": "path", "description": "", "required": true, "schema": { "type": "string" } }, { "name": "page", "in": "query", "description": "", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.Data.Models.Subscription_" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Subscriptions/bymetadata": { "get": { "tags": [ "Subscriptions" ], "summary": "Get Subscriptions by Metadata", "parameters": [ { "name": "key", "in": "query", "description": "Required", "schema": { "type": "string" } }, { "name": "value", "in": "query", "description": "Optional", "schema": { "type": "string" } }, { "name": "page", "in": "query", "description": "", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.Data.Models.Subscription_" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Subscriptions/{id}/metadata": { "get": { "tags": [ "Subscriptions" ], "summary": "Get Subscription Metadata", "parameters": [ { "name": "id", "in": "path", "description": "", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.MetaData.SubscriptionMetaData_" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } }, "put": { "tags": [ "Subscriptions" ], "summary": "Put subscription metadata", "parameters": [ { "name": "id", "in": "path", "description": "Id of subscription", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "Key and value", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.InputMetadataRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Response.MetaData.UpdateMetaDataResponse" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Subscriptions/{id}/charges": { "get": { "tags": [ "Subscriptions" ], "summary": "Get Subscription Charges", "parameters": [ { "name": "id", "in": "path", "description": "SubscriptionId", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Upodi.Data.Models.SubscriptionCharge" } } } } } } } }, "/Subscriptions/{id}/charges/historical": { "get": { "tags": [ "Subscriptions" ], "summary": "Get Subscription Charge History", "parameters": [ { "name": "id", "in": "path", "description": "SubscriptionId", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Upodi.Data.Models.SubscriptionCharge" } } } } } } } }, "/Subscriptions/{id}/charges/active": { "get": { "tags": [ "Subscriptions" ], "summary": "Get Active Subscription Charges", "description": "These are the ones you want to update with most recent quantity and price", "parameters": [ { "name": "id", "in": "path", "description": "SubscriptionId", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Upodi.Data.Models.SubscriptionCharge" } } } } } } } }, "/Subscriptions/metadata": { "post": { "tags": [ "Subscriptions" ], "summary": "Create Subscription Metadata", "parameters": [ { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.CreateMetaDataRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.MetaData.SubscriptionMetaData" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Subscriptions/{id}/billnow": { "post": { "tags": [ "Subscriptions" ], "summary": "Bill select charges on the subscription now", "parameters": [ { "name": "id", "in": "path", "description": "", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Subscription.BillSubscriptionNowRequest" } } } }, "responses": { "204": { "description": "No Content" }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Subscriptions/{id}/switchplan": { "put": { "tags": [ "Subscriptions" ], "summary": "Switch Plan", "parameters": [ { "name": "id", "in": "path", "description": "SubscriptionId", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "Switch plan options.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Subscription.SwitchPlanRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Response.Invoice.InvoiceWithInvoiceLinesResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "204": { "description": "No Content" } } } }, "/Subscriptions/{id}/activate": { "put": { "tags": [ "Subscriptions" ], "summary": "Activate Subscription", "parameters": [ { "name": "id", "in": "path", "description": "", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Subscription.ActivateSubscriptionRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Data.Models.Subscription" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Subscriptions/{id}/cancel": { "put": { "tags": [ "Subscriptions" ], "summary": "Cancel Subscription", "description": "Use cancel when you want to cancel the subscription", "parameters": [ { "name": "id", "in": "path", "description": "", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Subscription.SubscriptionCancellationOptions" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Data.Models.Subscription" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Subscriptions/{id}/expire": { "put": { "tags": [ "Subscriptions" ], "summary": "Expire Subscription", "description": "Expire the subscription when you want to let the subscription continue till the end date", "parameters": [ { "name": "id", "in": "path", "description": "ID of subscription to cancel.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Data.Models.Subscription" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Subscriptions/{id}/hold": { "put": { "tags": [ "Subscriptions" ], "summary": "Hold Subscription", "parameters": [ { "name": "id", "in": "path", "description": "ID of subscription", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Data.Models.Subscription" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Subscriptions/{id}/resume": { "put": { "tags": [ "Subscriptions" ], "summary": "Resume Subscription", "parameters": [ { "name": "id", "in": "path", "description": "Required. ID of subscription", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "Required. Options for resume.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Subscription.ResumeSubscriptionRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Data.Models.Subscription" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Subscriptions/{id}/setpaymentmethod": { "put": { "tags": [ "Subscriptions" ], "summary": "Overwrite Payment Method", "description": "Specifically assign a payment method as the only usable payment method for this subscription", "parameters": [ { "name": "id", "in": "path", "description": "SubscriptionId", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Subscription.SetSubscriptionPaymentMethodRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Data.Models.Subscription" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Subscriptions/{id}/addoptionalcharge": { "put": { "tags": [ "Subscriptions" ], "summary": "Add Optional Charge", "description": "Add a charge of the add-on type Upodi.Data.Models.ProductPlanCharge.ProductChargeType to the subscription", "parameters": [ { "name": "id", "in": "path", "description": "", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Subscription.AddOptionalChargeRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Data.Models.SubscriptionCharge" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Subscriptions/{id}/Events/{subscriptionEventID}": { "delete": { "tags": [ "Subscriptions" ], "summary": "Delete subscription event", "parameters": [ { "name": "id", "in": "path", "description": "Id of subscription", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "subscriptionEventID", "in": "path", "description": "Id of subscription event", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success" }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } }, "put": { "tags": [ "Subscriptions" ], "summary": "Update Subscription event", "parameters": [ { "name": "id", "in": "path", "description": "Id of subscription", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "subscriptionEventID", "in": "path", "description": "Id of subscription event", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Subscription.SubscriptionEventRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Data.Models.SubscriptionEvent" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Subscriptions/{id}/Events": { "get": { "tags": [ "Subscriptions" ], "summary": "Get Subscription with events", "parameters": [ { "name": "id", "in": "path", "description": "Id of subscription", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Data.Models.Subscription" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Subscriptions/{id}/Upcominginvoice": { "get": { "tags": [ "Subscriptions" ], "summary": "Get upcoming invoice for a subscription", "parameters": [ { "name": "id", "in": "path", "description": "Id of subscription", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Response.Invoice.InvoiceResponse" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Subscriptions/{id}/event": { "post": { "tags": [ "Subscriptions" ], "summary": "Create Subscription event", "parameters": [ { "name": "id", "in": "path", "description": "", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Subscription.SubscriptionEventRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Data.Models.Subscription" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Subscriptions/{id}/entitlements": { "get": { "tags": [ "Subscriptions" ], "summary": "Get entitlements by subscription id", "parameters": [ { "name": "id", "in": "path", "description": "The id of the subscription", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "page", "in": "query", "description": "", "schema": { "type": "integer", "format": "int32" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Entitlements.GetEntitlementResponse" } } } } } } } }, "/TaxRules/query": { "post": { "tags": [ "TaxRules" ], "summary": "Query taxrules", "parameters": [ { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Models.GraphQL.QueryRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.Data.Models.TaxRule_" } } } } } } }, "/TaxRules": { "get": { "tags": [ "TaxRules" ], "summary": "List taxrules", "parameters": [ { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.Data.Models.TaxRule_" } } } } } } }, "/TaxRules/{id}": { "get": { "tags": [ "TaxRules" ], "summary": "Get taxrule", "parameters": [ { "name": "id", "in": "path", "description": "Id of entity.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Data.Models.TaxRule" } } } } } } }, "/TenantDetails": { "get": { "tags": [ "TenantDetails" ], "summary": "Get tenant details", "parameters": [ { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Response.TenantDetails.TenantDetailsResponse" } } } } } } }, "/Time": { "get": { "tags": [ "Time" ], "summary": "Gets the current time", "parameters": [ { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Response.Time.TimeResponse" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Response.Time.TimeResponse" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Response.Time.TimeResponse" } } } } } } }, "/Transactions/query": { "post": { "tags": [ "Transactions" ], "summary": "Query transactions", "parameters": [ { "name": "page", "in": "query", "description": "", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "Query to request.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Models.GraphQL.QueryRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.Data.Models.Transaction_" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Transactions/{id}": { "get": { "tags": [ "Transactions" ], "summary": "Get transaction", "parameters": [ { "name": "id", "in": "path", "description": "", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Data.Models.Transaction" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } } }, "/Transactions": { "get": { "tags": [ "Transactions" ], "summary": "List transactions", "parameters": [ { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.Data.Models.Transaction_" } } } } } } }, "/Uoms/query": { "post": { "tags": [ "Uoms" ], "summary": "Query uoms", "parameters": [ { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Models.GraphQL.QueryRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.Data.Models.UoM_" } } } } } } }, "/Uoms": { "get": { "tags": [ "Uoms" ], "summary": "List uoms", "parameters": [ { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.Data.Models.UoM_" } } } } } } }, "/Uoms/{id}": { "get": { "tags": [ "Uoms" ], "summary": "Get uom", "parameters": [ { "name": "id", "in": "path", "description": "Id of entity.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Data.Models.UoM" } } } } } } }, "/UsageData": { "post": { "tags": [ "UsageData" ], "parameters": [ { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Models.Request.UsageData.CreateUsageDataRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Data.Models.UsageData" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } }, "get": { "tags": [ "UsageData" ], "summary": "List usagedata", "parameters": [ { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.Data.Models.UsageData_" } } } } } } }, "/UsageData/query": { "post": { "tags": [ "UsageData" ], "summary": "Query usagedata", "parameters": [ { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Models.GraphQL.QueryRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.Data.Models.UsageData_" } } } } } } }, "/UsageData/{id}": { "get": { "tags": [ "UsageData" ], "summary": "Get usagedata", "parameters": [ { "name": "id", "in": "path", "description": "Id of entity.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Data.Models.UsageData" } } } } } } }, "/Webhooks": { "post": { "tags": [ "Webhooks" ], "summary": "Subscribe for Webhooks", "parameters": [ { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "The webhook subscription you are about to make", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Data.Models.WebhookSubscribeRequest" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Data.Models.Webhook" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } }, "get": { "tags": [ "Webhooks" ], "summary": "List webhooks", "parameters": [ { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.Data.Models.Webhook_" } } } } } } }, "/Webhooks/{id}": { "put": { "tags": [ "Webhooks" ], "summary": "Update subscriptions for existing Webhook", "parameters": [ { "name": "id", "in": "path", "description": "Webhook to update", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "description": "Webhook update request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Data.Models.WebhookSubscribeRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Data.Models.Webhook" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } }, "422": { "description": "Client Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } }, "delete": { "tags": [ "Webhooks" ], "summary": "Unsubscribe for Webhooks", "parameters": [ { "name": "id", "in": "path", "description": "ID of the webhook that needs to be deleted", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "204": { "description": "No Content" }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.ErrorHandling.ErrorObject" } } } } } }, "get": { "tags": [ "Webhooks" ], "summary": "Get webhook", "parameters": [ { "name": "id", "in": "path", "description": "Id of entity.", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Data.Models.Webhook" } } } } } } }, "/Webhooks/query": { "post": { "tags": [ "Webhooks" ], "summary": "Query webhooks", "parameters": [ { "name": "page", "in": "query", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "X-version", "in": "header", "required": true, "schema": { "type": "string" }, "example": "nxt" } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.Models.GraphQL.QueryRequest" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.Data.Models.Webhook_" } } } } } } } }, "components": { "schemas": { "Microsoft.AspNetCore.Mvc.ProblemDetails": { "type": "object", "properties": { "Type": { "type": "string", "nullable": true }, "Title": { "type": "string", "nullable": true }, "Status": { "type": "integer", "format": "int32", "nullable": true }, "Detail": { "type": "string", "nullable": true }, "Instance": { "type": "string", "nullable": true } }, "additionalProperties": { } }, "Newtonsoft.Json.Linq.JToken": { "type": "array", "items": { "$ref": "#/components/schemas/Newtonsoft.Json.Linq.JToken" } }, "T": { "type": "object", "additionalProperties": false }, "Upodi.API.GraphQL.GraphQLRequest": { "type": "object", "properties": { "Query": { "type": "string", "nullable": true }, "Variables": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/Newtonsoft.Json.Linq.JToken" }, "nullable": true } }, "additionalProperties": false }, "Upodi.API.Infrastructure.PagedResultCollectionClass_1_T_": { "type": "object", "properties": { "Results": { "type": "array", "items": { "$ref": "#/components/schemas/T" }, "nullable": true }, "Paging": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagingInformation" } }, "additionalProperties": false }, "Upodi.API.Infrastructure.PagedResultCollectionClass_1_Upodi.API.Models.Request.Entitlements.GetPagingEntitlementResponse_": { "type": "object", "properties": { "Results": { "type": "array", "items": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Entitlements.GetPagingEntitlementResponse" }, "nullable": true }, "Paging": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagingInformation" } }, "additionalProperties": false }, "Upodi.API.Infrastructure.PagedResultCollectionClass_1_Upodi.API.Models.Request.ProductPlan.FinancialAccounts.PagingAccountResponse_": { "type": "object", "properties": { "Results": { "type": "array", "items": { "$ref": "#/components/schemas/Upodi.API.Models.Request.ProductPlan.FinancialAccounts.PagingAccountResponse" }, "nullable": true }, "Paging": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagingInformation" } }, "additionalProperties": false }, "Upodi.API.Infrastructure.PagedResultCollectionClass_1_Upodi.API.Models.Request.ProductPlan.FinancialAccounts.PagingAccountSetResponse_": { "type": "object", "properties": { "Results": { "type": "array", "items": { "$ref": "#/components/schemas/Upodi.API.Models.Request.ProductPlan.FinancialAccounts.PagingAccountSetResponse" }, "nullable": true }, "Paging": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagingInformation" } }, "additionalProperties": false }, "Upodi.API.Infrastructure.PagedResultCollectionClass_1_Upodi.API.Models.Request.ProductPlan.ProductFamilies.PagingProductFamilyResponse_": { "type": "object", "properties": { "Results": { "type": "array", "items": { "$ref": "#/components/schemas/Upodi.API.Models.Request.ProductPlan.ProductFamilies.PagingProductFamilyResponse" }, "nullable": true }, "Paging": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagingInformation" } }, "additionalProperties": false }, "Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.API.Models.Response.BusinessUnit.BusinessUnitResponse_": { "type": "object", "properties": { "Results": { "type": "array", "items": { "$ref": "#/components/schemas/Upodi.API.Models.Response.BusinessUnit.BusinessUnitResponse" }, "nullable": true }, "Paging": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagingInformation" } }, "additionalProperties": false }, "Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.API.Models.Response.Contacts.ContactResponse_": { "type": "object", "properties": { "Results": { "type": "array", "items": { "$ref": "#/components/schemas/Upodi.API.Models.Response.Contacts.ContactResponse" }, "nullable": true }, "Paging": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagingInformation" } }, "additionalProperties": false }, "Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.API.Models.Response.PaymentMethod.PaymentMethodWithDefaultCustomerResponse_": { "type": "object", "properties": { "Results": { "type": "array", "items": { "$ref": "#/components/schemas/Upodi.API.Models.Response.PaymentMethod.PaymentMethodWithDefaultCustomerResponse" }, "nullable": true }, "Paging": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagingInformation" } }, "additionalProperties": false }, "Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.Data.Models.Contact_": { "type": "object", "properties": { "Results": { "type": "array", "items": { "$ref": "#/components/schemas/Upodi.Data.Models.Contact" }, "nullable": true }, "Paging": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagingInformation" } }, "additionalProperties": false }, "Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.Data.Models.Customer_": { "type": "object", "properties": { "Results": { "type": "array", "items": { "$ref": "#/components/schemas/Upodi.Data.Models.Customer" }, "nullable": true }, "Paging": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagingInformation" } }, "additionalProperties": false }, "Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.Data.Models.DiscountCode_": { "type": "object", "properties": { "Results": { "type": "array", "items": { "$ref": "#/components/schemas/Upodi.Data.Models.DiscountCode" }, "nullable": true }, "Paging": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagingInformation" } }, "additionalProperties": false }, "Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.Data.Models.Discount_": { "type": "object", "properties": { "Results": { "type": "array", "items": { "$ref": "#/components/schemas/Upodi.Data.Models.Discount" }, "nullable": true }, "Paging": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagingInformation" } }, "additionalProperties": false }, "Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.Data.Models.EmailTemplateSet_": { "type": "object", "properties": { "Results": { "type": "array", "items": { "$ref": "#/components/schemas/Upodi.Data.Models.EmailTemplateSet" }, "nullable": true }, "Paging": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagingInformation" } }, "additionalProperties": false }, "Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.Data.Models.Invoice_": { "type": "object", "properties": { "Results": { "type": "array", "items": { "$ref": "#/components/schemas/Upodi.Data.Models.Invoice" }, "nullable": true }, "Paging": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagingInformation" } }, "additionalProperties": false }, "Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.Data.Models.NonData.DiscountDetails_": { "type": "object", "properties": { "Results": { "type": "array", "items": { "$ref": "#/components/schemas/Upodi.Data.Models.NonData.DiscountDetails" }, "nullable": true }, "Paging": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagingInformation" } }, "additionalProperties": false }, "Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.Data.Models.ProductPlan_": { "type": "object", "properties": { "Results": { "type": "array", "items": { "$ref": "#/components/schemas/Upodi.Data.Models.ProductPlan" }, "nullable": true }, "Paging": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagingInformation" } }, "additionalProperties": false }, "Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.Data.Models.Subscription_": { "type": "object", "properties": { "Results": { "type": "array", "items": { "$ref": "#/components/schemas/Upodi.Data.Models.Subscription" }, "nullable": true }, "Paging": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagingInformation" } }, "additionalProperties": false }, "Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.Data.Models.TaxRule_": { "type": "object", "properties": { "Results": { "type": "array", "items": { "$ref": "#/components/schemas/Upodi.Data.Models.TaxRule" }, "nullable": true }, "Paging": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagingInformation" } }, "additionalProperties": false }, "Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.Data.Models.Transaction_": { "type": "object", "properties": { "Results": { "type": "array", "items": { "$ref": "#/components/schemas/Upodi.Data.Models.Transaction" }, "nullable": true }, "Paging": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagingInformation" } }, "additionalProperties": false }, "Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.Data.Models.UoM_": { "type": "object", "properties": { "Results": { "type": "array", "items": { "$ref": "#/components/schemas/Upodi.Data.Models.UoM" }, "nullable": true }, "Paging": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagingInformation" } }, "additionalProperties": false }, "Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.Data.Models.UsageData_": { "type": "object", "properties": { "Results": { "type": "array", "items": { "$ref": "#/components/schemas/Upodi.Data.Models.UsageData" }, "nullable": true }, "Paging": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagingInformation" } }, "additionalProperties": false }, "Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.Data.Models.Webhook_": { "type": "object", "properties": { "Results": { "type": "array", "items": { "$ref": "#/components/schemas/Upodi.Data.Models.Webhook" }, "nullable": true }, "Paging": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagingInformation" } }, "additionalProperties": false }, "Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.MetaData.CustomerMetaData_": { "type": "object", "properties": { "Results": { "type": "array", "items": { "$ref": "#/components/schemas/Upodi.MetaData.CustomerMetaData" }, "nullable": true }, "Paging": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagingInformation" } }, "additionalProperties": false }, "Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.MetaData.DiscountMetaData_": { "type": "object", "properties": { "Results": { "type": "array", "items": { "$ref": "#/components/schemas/Upodi.MetaData.DiscountMetaData" }, "nullable": true }, "Paging": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagingInformation" } }, "additionalProperties": false }, "Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.MetaData.ProductPlanMetaData_": { "type": "object", "properties": { "Results": { "type": "array", "items": { "$ref": "#/components/schemas/Upodi.MetaData.ProductPlanMetaData" }, "nullable": true }, "Paging": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagingInformation" } }, "additionalProperties": false }, "Upodi.API.Infrastructure.PagedResultCollection_1_Upodi.MetaData.SubscriptionMetaData_": { "type": "object", "properties": { "Results": { "type": "array", "items": { "$ref": "#/components/schemas/Upodi.MetaData.SubscriptionMetaData" }, "nullable": true }, "Paging": { "$ref": "#/components/schemas/Upodi.API.Infrastructure.PagingInformation" } }, "additionalProperties": false }, "Upodi.API.Infrastructure.PagingInformation": { "type": "object", "properties": { "CurrentPage": { "type": "integer", "format": "int32" }, "Pages": { "type": "integer", "format": "int32" }, "Results": { "type": "integer", "format": "int32" }, "TotalCount": { "type": "integer", "format": "int32" }, "NextPage": { "type": "string", "nullable": true }, "PreviousPage": { "type": "string", "nullable": true } }, "additionalProperties": false }, "Upodi.API.Models.PatchBusinessUnitRequest": { "type": "object", "properties": { "FullName": { "type": "string", "description": "Fullname for the business unit", "nullable": true }, "AccountingCode": { "type": "string", "description": "AccountingCode is used in integrations to ERP systems", "nullable": true }, "Description": { "type": "string", "description": "The description for the business unit", "nullable": true } }, "additionalProperties": false }, "Upodi.API.Models.Request.BusinessUnit.UpdateBusinessUnitRequest": { "type": "object", "properties": { "FullName": { "type": "string", "nullable": true }, "Description": { "type": "string", "nullable": true }, "AccountingCode": { "type": "string", "nullable": true } }, "additionalProperties": false }, "Upodi.API.Models.Request.ChangePaymentMethodRequest": { "type": "object", "properties": { "MakeDefault": { "type": "boolean", "description": "If true marks this payment method as default.", "nullable": true } }, "additionalProperties": false }, "Upodi.API.Models.Request.Contact.CreateContactRequest": { "required": [ "customerID", "fullName" ], "type": "object", "properties": { "CustomerID": { "type": "string", "description": "Gets or sets the customer id of the parent owner.", "format": "uuid" }, "ContactType": { "$ref": "#/components/schemas/Upodi.Data.Enums.ContactTypeEnum" }, "FullName": { "maxLength": 250, "minLength": 0, "type": "string", "description": "The name of your contact." }, "PrimaryEmail": { "maxLength": 255, "minLength": 0, "pattern": ".+\\@.+\\..+", "type": "string", "description": "The primary email of the contact.", "nullable": true }, "HomePhone": { "maxLength": 50, "minLength": 0, "type": "string", "description": "The home phone of your contact.", "nullable": true }, "BusinessPhone": { "maxLength": 50, "minLength": 0, "type": "string", "description": "The business phone of your contact.", "nullable": true }, "MobilePhone": { "maxLength": 50, "minLength": 0, "type": "string", "description": "The mobile phone of your contact.", "nullable": true }, "AddressLine1": { "maxLength": 400, "minLength": 0, "type": "string", "description": "The addressline1 of your contact.", "nullable": true }, "AddressLine2": { "maxLength": 400, "minLength": 0, "type": "string", "description": "The addressline2 of your contact.", "nullable": true }, "City": { "maxLength": 50, "minLength": 0, "type": "string", "description": "The city of your contact.", "nullable": true }, "PostalCode": { "maxLength": 10, "minLength": 0, "type": "string", "description": "The postal/zip code of your contact.", "nullable": true }, "Country": { "maxLength": 40, "minLength": 0, "type": "string", "description": "The country of your contact.", "nullable": true }, "County": { "maxLength": 40, "minLength": 0, "type": "string", "description": "The county of your contact.", "nullable": true }, "State": { "maxLength": 40, "minLength": 0, "type": "string", "description": "The state of your contact.", "nullable": true }, "RefKey": { "maxLength": 200, "minLength": 0, "type": "string", "description": "This is a hidden field typically used by the developer to store a foreign key or similar.", "nullable": true }, "GLN": { "maxLength": 150, "minLength": 0, "type": "string", "description": "The GLN/OVT number of your contact. Only available for GLN/OVT types of contacts.", "nullable": true }, "Note": { "type": "string", "description": "An internal note for the contact.", "nullable": true } }, "additionalProperties": false }, "Upodi.API.Models.Request.Contact.PatchContactRequest": { "type": "object", "properties": { "CustomerID": { "type": "string", "description": "Gets or sets the customer id of the parent owner.", "format": "uuid" }, "ContactType": { "$ref": "#/components/schemas/Upodi.Data.Enums.ContactTypeEnum" }, "FullName": { "maxLength": 250, "minLength": 0, "type": "string", "description": "The name of your contact." }, "PrimaryEmail": { "maxLength": 255, "minLength": 0, "pattern": ".+\\@.+\\..+", "type": "string", "description": "The primary email of the contact.", "nullable": true }, "HomePhone": { "maxLength": 50, "minLength": 0, "type": "string", "description": "The home phone of your contact.", "nullable": true }, "BusinessPhone": { "maxLength": 50, "minLength": 0, "type": "string", "description": "The business phone of your contact.", "nullable": true }, "MobilePhone": { "maxLength": 50, "minLength": 0, "type": "string", "description": "The mobile phone of your contact.", "nullable": true }, "AddressLine1": { "maxLength": 400, "minLength": 0, "type": "string", "description": "The addressline1 of your contact.", "nullable": true }, "AddressLine2": { "maxLength": 400, "minLength": 0, "type": "string", "description": "The addressline2 of your contact.", "nullable": true }, "City": { "maxLength": 50, "minLength": 0, "type": "string", "description": "The city of your contact.", "nullable": true }, "PostalCode": { "maxLength": 10, "minLength": 0, "type": "string", "description": "The postal/zip code of your contact.", "nullable": true }, "Country": { "maxLength": 40, "minLength": 0, "type": "string", "description": "The country of your contact.", "nullable": true }, "County": { "maxLength": 40, "minLength": 0, "type": "string", "description": "The county of your contact.", "nullable": true }, "State": { "maxLength": 40, "minLength": 0, "type": "string", "description": "The state of your contact.", "nullable": true }, "RefKey": { "maxLength": 200, "minLength": 0, "type": "string", "description": "This is a hidden field typically used by the developer to store a foreign key or similar.", "nullable": true }, "GLN": { "maxLength": 150, "minLength": 0, "type": "string", "description": "The GLN/OVT number of your contact. Only available for GLN/OVT types of contacts.", "nullable": true }, "Note": { "type": "string", "description": "An internal note for the contact.", "nullable": true } }, "additionalProperties": false }, "Upodi.API.Models.Request.Contact.UpdateContactRequest": { "required": [ "customerID", "fullName" ], "type": "object", "properties": { "CustomerID": { "type": "string", "description": "Gets or sets the customer id of the parent owner.", "format": "uuid" }, "ContactType": { "$ref": "#/components/schemas/Upodi.Data.Enums.ContactTypeEnum" }, "FullName": { "maxLength": 250, "minLength": 0, "type": "string", "description": "The name of your contact." }, "PrimaryEmail": { "maxLength": 255, "minLength": 0, "pattern": ".+\\@.+\\..+", "type": "string", "description": "The primary email of the contact.", "nullable": true }, "HomePhone": { "maxLength": 50, "minLength": 0, "type": "string", "description": "The home phone of your contact.", "nullable": true }, "BusinessPhone": { "maxLength": 50, "minLength": 0, "type": "string", "description": "The business phone of your contact.", "nullable": true }, "MobilePhone": { "maxLength": 50, "minLength": 0, "type": "string", "description": "The mobile phone of your contact.", "nullable": true }, "AddressLine1": { "maxLength": 400, "minLength": 0, "type": "string", "description": "The addressline1 of your contact.", "nullable": true }, "AddressLine2": { "maxLength": 400, "minLength": 0, "type": "string", "description": "The addressline2 of your contact.", "nullable": true }, "City": { "maxLength": 50, "minLength": 0, "type": "string", "description": "The city of your contact.", "nullable": true }, "PostalCode": { "maxLength": 10, "minLength": 0, "type": "string", "description": "The postal/zip code of your contact.", "nullable": true }, "Country": { "maxLength": 40, "minLength": 0, "type": "string", "description": "The country of your contact.", "nullable": true }, "County": { "maxLength": 40, "minLength": 0, "type": "string", "description": "The county of your contact.", "nullable": true }, "State": { "maxLength": 40, "minLength": 0, "type": "string", "description": "The state of your contact.", "nullable": true }, "RefKey": { "maxLength": 200, "minLength": 0, "type": "string", "description": "This is a hidden field typically used by the developer to store a foreign key or similar.", "nullable": true }, "GLN": { "maxLength": 150, "minLength": 0, "type": "string", "description": "The GLN/OVT number of your contact. Only available for GLN/OVT types of contacts.", "nullable": true }, "Note": { "type": "string", "description": "An internal note for the contact.", "nullable": true } }, "additionalProperties": false }, "Upodi.API.Models.Request.CreatBusinessUnitRequest": { "required": [ "fullname" ], "type": "object", "properties": { "Fullname": { "minLength": 1, "type": "string", "description": "Fullname for the business unit" }, "AccountingCode": { "type": "string", "description": "AccountingCode is used in integrations to ERP systems", "nullable": true }, "Description": { "type": "string", "description": "The description for the business unit", "nullable": true } }, "additionalProperties": false }, "Upodi.API.Models.Request.CreateMetaDataRequest": { "required": [ "entityID", "key" ], "type": "object", "properties": { "EntityID": { "type": "string", "description": "The entity to which the key value pair belongs.", "format": "uuid" }, "Key": { "maxLength": 100, "minLength": 1, "type": "string", "description": "The unique key of the pair." }, "Value": { "maxLength": 1000, "type": "string", "description": "The value of the pair.", "nullable": true } }, "additionalProperties": false }, "Upodi.API.Models.Request.CreatePaymentMethodRequest": { "required": [ "customerID", "gateway" ], "type": "object", "properties": { "Gateway": { "minLength": 1, "type": "string", "description": "Required. Gateway name" }, "Source": { "description": "Optional. Token or payment method data.", "nullable": true }, "CustomerID": { "type": "string", "description": "Required. User must provide the ID of customer in API.", "format": "uuid" }, "MakeDefault": { "type": "boolean", "description": "If true, the added payment method becomes the customer default payment method.", "nullable": true } }, "additionalProperties": false }, "Upodi.API.Models.Request.Customer.CreateCustomerGroupRequest": { "type": "object", "properties": { "Name": { "type": "string", "nullable": true }, "Number": { "type": "integer", "format": "int32" }, "IsDefault": { "type": "boolean" }, "Customers": { "type": "array", "items": { "type": "string", "format": "uuid" }, "nullable": true } }, "additionalProperties": false }, "Upodi.API.Models.Request.Customer.CreateCustomerGroupResponse": { "type": "object", "properties": { "ID": { "type": "string", "format": "uuid" }, "FullName": { "type": "string", "nullable": true }, "Number": { "type": "integer", "format": "int32" }, "IsDefault": { "type": "boolean" } }, "additionalProperties": false }, "Upodi.API.Models.Request.Customer.CreateCustomerRequest": { "required": [ "currencyCode", "fullName" ], "type": "object", "properties": { "AccountNumber": { "maxLength": 50, "minLength": 0, "type": "string", "description": "The unique account number used to identify the customer.", "nullable": true }, "CompanyName": { "maxLength": 250, "minLength": 0, "type": "string", "description": "Fill in company name if the customer is a company.", "nullable": true }, "CompanyVAT": { "maxLength": 50, "minLength": 0, "type": "string", "description": "VAT no. or TAX id of the customer.", "nullable": true, "example": "DK12345678" }, "FullName": { "maxLength": 250, "minLength": 0, "type": "string", "description": "Name of customer." }, "RefKey": { "maxLength": 200, "minLength": 0, "type": "string", "description": "External reference. Only used for integrations. Not visible in the UI.", "nullable": true }, "PrimaryEmail": { "maxLength": 255, "minLength": 0, "pattern": ".+\\@.+\\..+", "type": "string", "nullable": true }, "CurrencyCode": { "maxLength": 5, "minLength": 0, "type": "string", "description": "3-letter ISO code for currency." }, "AutoBill": { "type": "boolean", "description": "Indicates whether system generated invoices should be automatically booked or not." }, "HomePhone": { "maxLength": 50, "minLength": 0, "type": "string", "description": "The customer home phone number.", "nullable": true }, "BusinessPhone": { "maxLength": 50, "minLength": 0, "type": "string", "description": "The customer business phone number.", "nullable": true }, "MobilePhone": { "maxLength": 50, "minLength": 0, "type": "string", "description": "The customer mobile phone number.", "nullable": true }, "AddressLine1": { "maxLength": 400, "minLength": 0, "type": "string", "description": "The customer address line one.", "nullable": true }, "AddressLine2": { "maxLength": 400, "minLength": 0, "type": "string", "description": "The customer address line two.", "nullable": true }, "City": { "maxLength": 50, "minLength": 0, "type": "string", "description": "The customer address city.", "nullable": true }, "PostalCode": { "maxLength": 25, "minLength": 0, "type": "string", "description": "Customer postal/zip code.", "nullable": true }, "Country": { "maxLength": 40, "minLength": 0, "type": "string", "description": "Customer country.", "nullable": true, "example": "Sweden" }, "County": { "maxLength": 40, "minLength": 0, "type": "string", "description": "The customer address county.", "nullable": true }, "State": { "maxLength": 40, "minLength": 0, "type": "string", "description": "The customer address state.", "nullable": true }, "ParentID": { "type": "string", "description": "Set another customer as parent customer.", "format": "uuid", "nullable": true }, "BillToParent": { "type": "boolean", "description": "Booked invoices will be billed to a potential parent customer." }, "Note": { "type": "string", "description": "Here you can write internal notes for each customer.", "nullable": true }, "PaymentTerm": { "type": "integer", "description": "The customer default payment term.", "format": "int32", "nullable": true, "example": 8 }, "CollectiveBilling": { "type": "boolean", "description": "Collect invoices for this customer into one.", "nullable": true }, "BusinessUnitID": { "type": "string", "description": "Set a Business Unit this customer belongs to.", "format": "uuid", "nullable": true }, "EmailTemplateSetID": { "type": "string", "description": "Set a specific email template set for the customer. If left empty a default will be used.", "format": "uuid", "nullable": true }, "OurReferenceID": { "type": "string", "description": "Set reference ID for a contact which is your reference at the customers' party.", "format": "uuid", "nullable": true }, "YourReferenceID": { "type": "string", "description": "Set reference ID for a contact which is your customers' reference at your party.", "format": "uuid", "nullable": true } }, "additionalProperties": false }, "Upodi.API.Models.Request.Customer.GetCustomerGroupResponse": { "type": "object", "properties": { "ID": { "type": "string", "format": "uuid" }, "FullName": { "type": "string", "nullable": true }, "Number": { "type": "integer", "format": "int32" }, "IsDefault": { "type": "boolean" }, "Customers": { "type": "array", "items": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Customer.GetCustomerResponseForGroup" }, "nullable": true } }, "additionalProperties": false }, "Upodi.API.Models.Request.Customer.GetCustomerResponseForGroup": { "type": "object", "properties": { "ID": { "type": "string", "format": "uuid" }, "FullName": { "type": "string", "nullable": true } }, "additionalProperties": false }, "Upodi.API.Models.Request.Customer.PatchCustomerRequest": { "type": "object", "properties": { "AccountNumber": { "maxLength": 50, "minLength": 0, "type": "string", "description": "The unique account number used to identify the customer.", "nullable": true }, "CompanyName": { "maxLength": 250, "minLength": 0, "type": "string", "description": "Fill in company name if the customer is a company.", "nullable": true }, "CompanyVAT": { "maxLength": 50, "minLength": 0, "type": "string", "description": "VAT no. or TAX id of the customer.", "nullable": true, "example": "DK12345678" }, "FullName": { "maxLength": 250, "minLength": 0, "type": "string", "description": "Name of customer." }, "RefKey": { "maxLength": 200, "minLength": 0, "type": "string", "description": "External reference. Only used for integrations. Not visible in the UI.", "nullable": true }, "PrimaryEmail": { "maxLength": 255, "minLength": 0, "pattern": ".+\\@.+\\..+", "type": "string", "nullable": true }, "CurrencyCode": { "maxLength": 5, "minLength": 0, "type": "string", "description": "3-letter ISO code for currency." }, "AutoBill": { "type": "boolean", "description": "Indicates whether system generated invoices should be automatically booked or not." }, "HomePhone": { "maxLength": 50, "minLength": 0, "type": "string", "description": "The customer home phone number.", "nullable": true }, "BusinessPhone": { "maxLength": 50, "minLength": 0, "type": "string", "description": "The customer business phone number.", "nullable": true }, "MobilePhone": { "maxLength": 50, "minLength": 0, "type": "string", "description": "The customer mobile phone number.", "nullable": true }, "AddressLine1": { "maxLength": 400, "minLength": 0, "type": "string", "description": "The customer address line one.", "nullable": true }, "AddressLine2": { "maxLength": 400, "minLength": 0, "type": "string", "description": "The customer address line two.", "nullable": true }, "City": { "maxLength": 50, "minLength": 0, "type": "string", "description": "The customer address city.", "nullable": true }, "PostalCode": { "maxLength": 25, "minLength": 0, "type": "string", "description": "Customer postal/zip code.", "nullable": true }, "Country": { "maxLength": 40, "minLength": 0, "type": "string", "description": "Customer country.", "nullable": true, "example": "Sweden" }, "County": { "maxLength": 40, "minLength": 0, "type": "string", "description": "The customer address county.", "nullable": true }, "State": { "maxLength": 40, "minLength": 0, "type": "string", "description": "The customer address state.", "nullable": true }, "ParentID": { "type": "string", "description": "Set another customer as parent customer.", "format": "uuid", "nullable": true }, "BillToParent": { "type": "boolean", "description": "Booked invoices will be billed to a potential parent customer." }, "Note": { "type": "string", "description": "Here you can write internal notes for each customer.", "nullable": true }, "PaymentTerm": { "type": "integer", "description": "The customer default payment term.", "format": "int32", "nullable": true, "example": 8 }, "CollectiveBilling": { "type": "boolean", "description": "Collect invoices for this customer into one.", "nullable": true }, "BusinessUnitID": { "type": "string", "description": "Set a Business Unit this customer belongs to.", "format": "uuid", "nullable": true }, "EmailTemplateSetID": { "type": "string", "description": "Set a specific email template set for the customer. If left empty a default will be used.", "format": "uuid", "nullable": true }, "OurReferenceID": { "type": "string", "description": "Set reference ID for a contact which is your reference at the customers' party.", "format": "uuid", "nullable": true }, "YourReferenceID": { "type": "string", "description": "Set reference ID for a contact which is your customers' reference at your party.", "format": "uuid", "nullable": true } }, "additionalProperties": false }, "Upodi.API.Models.Request.Customer.UpdateCustomerGroupRequest": { "type": "object", "properties": { "Name": { "type": "string", "nullable": true }, "Number": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "Upodi.API.Models.Request.Customer.UpdateCustomerGroupResponse": { "type": "object", "properties": { "ID": { "type": "string", "format": "uuid" }, "FullName": { "type": "string", "nullable": true }, "Number": { "type": "integer", "format": "int32" }, "IsDefault": { "type": "boolean" } }, "additionalProperties": false }, "Upodi.API.Models.Request.Customer.UpdateCustomerRequest": { "required": [ "currencyCode", "fullName" ], "type": "object", "properties": { "AccountNumber": { "maxLength": 50, "minLength": 0, "type": "string", "description": "The unique account number used to identify the customer.", "nullable": true }, "CompanyName": { "maxLength": 250, "minLength": 0, "type": "string", "description": "Fill in company name if the customer is a company.", "nullable": true }, "CompanyVAT": { "maxLength": 50, "minLength": 0, "type": "string", "description": "VAT no. or TAX id of the customer.", "nullable": true, "example": "DK12345678" }, "FullName": { "maxLength": 250, "minLength": 0, "type": "string", "description": "Name of customer." }, "RefKey": { "maxLength": 200, "minLength": 0, "type": "string", "description": "External reference. Only used for integrations. Not visible in the UI.", "nullable": true }, "PrimaryEmail": { "maxLength": 255, "minLength": 0, "pattern": ".+\\@.+\\..+", "type": "string", "nullable": true }, "CurrencyCode": { "maxLength": 5, "minLength": 0, "type": "string", "description": "3-letter ISO code for currency." }, "AutoBill": { "type": "boolean", "description": "Indicates whether system generated invoices should be automatically booked or not." }, "HomePhone": { "maxLength": 50, "minLength": 0, "type": "string", "description": "The customer home phone number.", "nullable": true }, "BusinessPhone": { "maxLength": 50, "minLength": 0, "type": "string", "description": "The customer business phone number.", "nullable": true }, "MobilePhone": { "maxLength": 50, "minLength": 0, "type": "string", "description": "The customer mobile phone number.", "nullable": true }, "AddressLine1": { "maxLength": 400, "minLength": 0, "type": "string", "description": "The customer address line one.", "nullable": true }, "AddressLine2": { "maxLength": 400, "minLength": 0, "type": "string", "description": "The customer address line two.", "nullable": true }, "City": { "maxLength": 50, "minLength": 0, "type": "string", "description": "The customer address city.", "nullable": true }, "PostalCode": { "maxLength": 25, "minLength": 0, "type": "string", "description": "Customer postal/zip code.", "nullable": true }, "Country": { "maxLength": 40, "minLength": 0, "type": "string", "description": "Customer country.", "nullable": true, "example": "Sweden" }, "County": { "maxLength": 40, "minLength": 0, "type": "string", "description": "The customer address county.", "nullable": true }, "State": { "maxLength": 40, "minLength": 0, "type": "string", "description": "The customer address state.", "nullable": true }, "ParentID": { "type": "string", "description": "Set another customer as parent customer.", "format": "uuid", "nullable": true }, "BillToParent": { "type": "boolean", "description": "Booked invoices will be billed to a potential parent customer." }, "Note": { "type": "string", "description": "Here you can write internal notes for each customer.", "nullable": true }, "PaymentTerm": { "type": "integer", "description": "The customer default payment term.", "format": "int32", "nullable": true, "example": 8 }, "CollectiveBilling": { "type": "boolean", "description": "Collect invoices for this customer into one.", "nullable": true }, "BusinessUnitID": { "type": "string", "description": "Set a Business Unit this customer belongs to.", "format": "uuid", "nullable": true }, "EmailTemplateSetID": { "type": "string", "description": "Set a specific email template set for the customer. If left empty a default will be used.", "format": "uuid", "nullable": true }, "OurReferenceID": { "type": "string", "description": "Set reference ID for a contact which is your reference at the customers' party.", "format": "uuid", "nullable": true }, "YourReferenceID": { "type": "string", "description": "Set reference ID for a contact which is your customers' reference at your party.", "format": "uuid", "nullable": true } }, "additionalProperties": false }, "Upodi.API.Models.Request.Discount.ApplyDiscountCodeRequest": { "required": [ "discountCode" ], "type": "object", "properties": { "DiscountCode": { "minLength": 1, "type": "string" } }, "additionalProperties": false }, "Upodi.API.Models.Request.Discount.CreateDiscountRequest": { "required": [ "fullName", "invoiceText" ], "type": "object", "properties": { "FullName": { "maxLength": 50, "minLength": 0, "type": "string", "description": "The internal name of the discount." }, "Type": { "$ref": "#/components/schemas/Upodi.Data.Enums.DiscountTypeEnum" }, "Amount": { "type": "number", "description": "Percentage", "format": "double", "example": 0.2 }, "InvoiceText": { "maxLength": 150, "minLength": 0, "type": "string", "description": "The external name of the discount when used on invoices." }, "ExpiryPeriod": { "$ref": "#/components/schemas/Upodi.Data.Enums.DiscountExpiryPeriodEnum" }, "ExpiryPeriodInterval": { "type": "integer", "description": "Expiry period interval used as interval for Upodi.API.Models.Request.Discount.DiscountBaseRequest.ExpiryPeriod. Used for calculating\r\nUpodi.Data.Models.DiscountConsumer.ExpiryDate for Discount consumers.", "format": "int32", "nullable": true, "example": 1 }, "RefKey": { "maxLength": 200, "minLength": 0, "type": "string", "description": "External reference. Only used for integrations. Not visible in the UI.", "nullable": true }, "OneCodePerSubscription": { "type": "boolean", "description": "Indicates if only one code is allowed per subscription." }, "SKU": { "type": "string", "description": "A unique identifier used to track discounts flat fee", "nullable": true }, "OneCodePerCustomer": { "type": "boolean", "description": "Indicates if only one code is allowed per customer." }, "FlatFeeDiscountAmount": { "type": "array", "items": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Discount.FlatFeeDiscountAmountRequest" }, "description": "Create Flat Fee discount amount,", "nullable": true } }, "additionalProperties": false }, "Upodi.API.Models.Request.Discount.DiscountCheckEligibilityRequest": { "required": [ "discountCode", "productPlanID" ], "type": "object", "properties": { "DiscountCode": { "minLength": 1, "type": "string", "description": "The discount code you want to check eligibility for." }, "ProductPlanID": { "type": "string", "description": "The product plan you want to check eligibility for in combination with the discount code.", "format": "uuid" } }, "additionalProperties": false }, "Upodi.API.Models.Request.Discount.DiscountCodeGenerateRequest": { "required": [ "amount", "prefix", "redemption" ], "type": "object", "properties": { "PrefixAsCode": { "type": "boolean", "description": "Specify if the input prefix specifies the entire individual code instead of using the prefix-{rng} format" }, "Prefix": { "maxLength": 15, "minLength": 0, "type": "string", "description": "Specify a prefix if the generated discount codes should have this." }, "Amount": { "maximum": 2147483647, "minimum": 1, "type": "integer", "description": "Specify the amount of codes to generate.", "format": "int32" }, "Redemption": { "maximum": 2147483647, "minimum": 0, "type": "integer", "description": "Specify the amount of times each unique discount code should be usable for.", "format": "int32" }, "expiryDate": { "type": "string", "description": "Specify the date at which all the generated discount codes expire and can no longer be applied.", "format": "date-time", "nullable": true } }, "additionalProperties": false }, "Upodi.API.Models.Request.Discount.FlatFeeDiscountAmountRequest": { "type": "object", "properties": { "Amount": { "type": "number", "format": "double" }, "CurrencyCode": { "type": "string", "nullable": true }, "ID": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "Upodi.API.Models.Request.Discount.PatchDiscountRequest": { "type": "object", "properties": { "FullName": { "maxLength": 50, "minLength": 0, "type": "string", "description": "The internal name of the discount." }, "Type": { "$ref": "#/components/schemas/Upodi.Data.Enums.DiscountTypeEnum" }, "Amount": { "type": "number", "description": "Percentage", "format": "double", "example": 0.2 }, "InvoiceText": { "maxLength": 150, "minLength": 0, "type": "string", "description": "The external name of the discount when used on invoices." }, "ExpiryPeriod": { "$ref": "#/components/schemas/Upodi.Data.Enums.DiscountExpiryPeriodEnum" }, "ExpiryPeriodInterval": { "type": "integer", "description": "Expiry period interval used as interval for Upodi.API.Models.Request.Discount.DiscountBaseRequest.ExpiryPeriod. Used for calculating\r\nUpodi.Data.Models.DiscountConsumer.ExpiryDate for Discount consumers.", "format": "int32", "nullable": true, "example": 1 }, "RefKey": { "maxLength": 200, "minLength": 0, "type": "string", "description": "External reference. Only used for integrations. Not visible in the UI.", "nullable": true }, "OneCodePerSubscription": { "type": "boolean", "description": "Indicates if only one code is allowed per subscription." }, "SKU": { "type": "string", "description": "A unique identifier used to track discounts flat fee", "nullable": true }, "OneCodePerCustomer": { "type": "boolean", "description": "Indicates if only one code is allowed per customer." }, "FlatFeeDiscountAmount": { "type": "array", "items": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Discount.FlatFeeDiscountAmountRequest" }, "description": "Create Flat Fee discount amount,", "nullable": true } }, "additionalProperties": false }, "Upodi.API.Models.Request.Discount.UpdateDiscountRequest": { "required": [ "fullName", "invoiceText" ], "type": "object", "properties": { "FullName": { "maxLength": 50, "minLength": 0, "type": "string", "description": "The internal name of the discount." }, "Type": { "$ref": "#/components/schemas/Upodi.Data.Enums.DiscountTypeEnum" }, "Amount": { "type": "number", "description": "Percentage", "format": "double", "example": 0.2 }, "InvoiceText": { "maxLength": 150, "minLength": 0, "type": "string", "description": "The external name of the discount when used on invoices." }, "ExpiryPeriod": { "$ref": "#/components/schemas/Upodi.Data.Enums.DiscountExpiryPeriodEnum" }, "ExpiryPeriodInterval": { "type": "integer", "description": "Expiry period interval used as interval for Upodi.API.Models.Request.Discount.DiscountBaseRequest.ExpiryPeriod. Used for calculating\r\nUpodi.Data.Models.DiscountConsumer.ExpiryDate for Discount consumers.", "format": "int32", "nullable": true, "example": 1 }, "RefKey": { "maxLength": 200, "minLength": 0, "type": "string", "description": "External reference. Only used for integrations. Not visible in the UI.", "nullable": true }, "OneCodePerSubscription": { "type": "boolean", "description": "Indicates if only one code is allowed per subscription." }, "SKU": { "type": "string", "description": "A unique identifier used to track discounts flat fee", "nullable": true }, "OneCodePerCustomer": { "type": "boolean", "description": "Indicates if only one code is allowed per customer." }, "FlatFeeDiscountAmount": { "type": "array", "items": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Discount.FlatFeeDiscountAmountRequest" }, "description": "Create Flat Fee discount amount,", "nullable": true } }, "additionalProperties": false }, "Upodi.API.Models.Request.DuplicateInvoiceRequest": { "type": "object", "properties": { "Reverse": { "type": "boolean", "description": "Set to true if the copy should be a credit note." }, "CreditNoteReason": { "type": "string", "description": "Reason for creating credit note", "nullable": true } }, "additionalProperties": false }, "Upodi.API.Models.Request.Entitlements.AttachEntitlementsToProductPlanChargeRequest": { "type": "object", "properties": { "EntitlementIDs": { "type": "array", "items": { "type": "string", "format": "uuid" }, "nullable": true } }, "additionalProperties": false }, "Upodi.API.Models.Request.Entitlements.CreateEntitlementRequest": { "type": "object", "properties": { "FullName": { "type": "string", "nullable": true }, "Code": { "type": "string", "nullable": true } }, "additionalProperties": false }, "Upodi.API.Models.Request.Entitlements.CreateEntitlementResponse": { "type": "object", "properties": { "ID": { "type": "string", "format": "uuid" }, "FullName": { "type": "string", "nullable": true }, "Code": { "type": "string", "nullable": true } }, "additionalProperties": false }, "Upodi.API.Models.Request.Entitlements.GetEntitlementResponse": { "type": "object", "properties": { "ID": { "type": "string", "format": "uuid" }, "FullName": { "type": "string", "nullable": true }, "Code": { "type": "string", "nullable": true }, "ProductPlanCharges": { "type": "array", "items": { "type": "string", "format": "uuid" }, "nullable": true } }, "additionalProperties": false }, "Upodi.API.Models.Request.Entitlements.GetPagingEntitlementResponse": { "type": "object", "properties": { "ID": { "type": "string", "format": "uuid" }, "FullName": { "type": "string", "nullable": true }, "Code": { "type": "string", "nullable": true } }, "additionalProperties": false }, "Upodi.API.Models.Request.Entitlements.UpdateEntitlementRequest": { "type": "object", "properties": { "FullName": { "type": "string", "nullable": true }, "Code": { "type": "string", "nullable": true } }, "additionalProperties": false }, "Upodi.API.Models.Request.Entitlements.UpdateEntitlementResponse": { "type": "object", "properties": { "ID": { "type": "string", "format": "uuid" }, "FullName": { "type": "string", "nullable": true }, "Code": { "type": "string", "nullable": true } }, "additionalProperties": false }, "Upodi.API.Models.Request.InputMetadataRequest": { "type": "object", "properties": { "Key": { "type": "string", "nullable": true }, "Value": { "type": "string", "nullable": true } }, "additionalProperties": false }, "Upodi.API.Models.Request.Invoice.CreateInvoiceRequest": { "required": [ "currencyCode" ], "type": "object", "properties": { "CustomerID": { "type": "string", "description": "Gets or sets the Id reference of customer.", "format": "uuid" }, "SubscriptionID": { "type": "string", "description": "Gets or sets the Id reference of subscription.", "format": "uuid", "nullable": true }, "ChildID": { "type": "string", "description": "Id of regarding customer when parent billing.", "format": "uuid", "nullable": true }, "CurrencyCode": { "maxLength": 5, "minLength": 0, "type": "string", "description": "Gets or sets the 3 letter ISO 4217 currency code.", "example": "EUR" }, "InvoiceDate": { "type": "string", "description": "The invoice date. Will default to today's date.", "format": "date-time", "nullable": true }, "DueDate": { "type": "string", "description": "The date from where the invoice will be considered overdue.", "format": "date-time", "nullable": true }, "PaymentDate": { "type": "string", "description": "The date the invoice got paid or marked paid.", "format": "date-time", "nullable": true }, "Description": { "type": "string", "description": "A description for the invoice. Usually shown at the top of the invoice.", "nullable": true }, "PaymentTerm": { "type": "integer", "description": "Default -1, until booking is done. If specified before booking will be used to calculate DueDate.", "format": "int32" }, "RefKey": { "type": "string", "description": "A reference field to be used for internal purposes. Typically used to store a foreign key or similar.", "nullable": true }, "BusinessUnitID": { "type": "string", "description": "Indicates the invoice belongs to a specific business unit within the company.", "format": "uuid", "nullable": true }, "OriginalInvoice": { "type": "string", "description": "Used for credit-notes to point to the Invoice they originated from.", "format": "uuid", "nullable": true }, "InvoiceReference": { "maxLength": 200, "minLength": 0, "type": "string", "description": "A reference visible on the invoice.", "nullable": true }, "InvoiceLines": { "type": "array", "items": { "$ref": "#/components/schemas/Upodi.API.Models.Request.Invoice.CreateInvoiceRequestInvoiceLine" }, "description": "The invoice lines of the invoice.", "nullable": true }, "CreditNoteReason": { "type": "string", "description": "The reason for credit note", "nullable": true } }, "additionalProperties": false }, "Upodi.API.Models.Request.Invoice.CreateInvoiceRequestInvoiceLine": { "type": "object", "properties": { "Title": { "maxLength": 255, "type": "string", "description": "Gets or sets the title of the line.", "nullable": true }, "Description": { "maxLength": 4000, "type": "string", "description": "Gets or sets the line description.", "nullable": true }, "LineNumber": { "type": "integer", "description": "You can choose to specify line numbering if this is important.", "format": "int32", "nullable": true }, "Quantity": { "type": "number", "description": "Set the quantity for your invoice line.", "format": "double", "nullable": true }, "TaxExempt": { "type": "boolean", "description": "If set to true the invoice line will be exempted from taxes even if the customer is applicable for taxes.", "nullable": true }, "UnitPrice": { "type": "number", "description": "The unit price excluding a potential VAT.", "format": "double", "nullable": true, "example": 100 }, "TotalPrice": { "type": "number", "description": "Including VAT and Discount.", "format": "double", "nullable": true }, "SKU": { "maxLength": 50, "minLength": 0, "type": "string", "description": "The stock keeping unit of the product.", "nullable": true, "example": "100-10" }, "Unit": { "maxLength": 250, "minLength": 0, "type": "string", "description": "The unit to be displayed on the invoice line. If left empty a standard unit indicator will be used fx. pc.", "nullable": true }, "Discount": { "type": "number", "description": "Discount percentage to apply on top.", "format": "double", "nullable": true, "example": 0.2 }, "DiscountAmount": { "type": "number", "description": "The monetary value of the discount.", "format": "double", "nullable": true }, "PeriodStart": { "type": "string", "description": "Specify when the product is valid from.", "format": "date-time", "nullable": true }, "PeriodEnd": { "type": "string", "description": "Specify when the product is valid to.", "format": "date-time", "nullable": true }, "IsEmptyLine": { "type": "boolean", "description": "Indicate the line is not an actual invoice line, but the title is used as a headline within the invoice.", "nullable": true } }, "additionalProperties": false }, "Upodi.API.Models.Request.Invoice.CreateInvoiceSettlementRequest": { "required": [ "currency" ], "type": "object", "properties": { "Amount": { "type": "number", "description": "The amount to settle on the invoice.", "format": "double", "example": 100 }, "Currency": { "minLength": 1, "type": "string", "description": "The currency code of the settlement." }, "SourceReference": { "type": "string", "description": "Supply the unique reference to the payment if this is known.", "nullable": true } }, "additionalProperties": false }, "Upodi.API.Models.Request.Invoice.DunningActionEnum": { "enum": [ 8, 16 ], "type": "integer", "description": "Actions to apply for dunning.
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members:
Members: