Billing API specification (9b12f12b47941db9c2826ea2c4a93636fa825235)

Download OpenAPI specification:Download

The billing service is used to manage payment information.

billing

UpdateBilling

Updates a billing configuration for an organization

Authorizations:
API_TokenPersonal-Access-Token
Request Body schema: application/json
object (BillingAddress)

BillingAddress is the definition of a billing address

object (OrganizationBillingInformation)

OrganizationBillingInformation contains information about an organization's billing

object (OrganizationLock)

OrganizationLock describes the state of a locked organization

organizationName
string

Name of the organization, only set on creation to set in on the invoice

object (PaymentOption)

PaymentOption is the definition of a payment option

Responses

Request samples

Content type
application/json
{
  • "billingAddress": {
    },
  • "organizationBillingInformation": {
    },
  • "organizationLock": {
    },
  • "organizationName": "string",
  • "paymentOption": {
    }
}

Response samples

Content type
application/json
{
  • "billingAddress": {
    },
  • "organizationBillingInformation": {
    },
  • "organizationLock": {
    },
  • "organizationName": "string",
  • "paymentOption": {
    }
}

CreateBilling

Creates a billing configuration for an organization

Authorizations:
API_TokenPersonal-Access-Token
Request Body schema: application/json
object (BillingAddress)

BillingAddress is the definition of a billing address

object (OrganizationBillingInformation)

OrganizationBillingInformation contains information about an organization's billing

object (OrganizationLock)

OrganizationLock describes the state of a locked organization

organizationName
string

Name of the organization, only set on creation to set in on the invoice

object (PaymentOption)

PaymentOption is the definition of a payment option

Responses

Request samples

Content type
application/json
{
  • "billingAddress": {
    },
  • "organizationBillingInformation": {
    },
  • "organizationLock": {
    },
  • "organizationName": "string",
  • "paymentOption": {
    }
}

Response samples

Content type
application/json
{
  • "billingAddress": {
    },
  • "organizationBillingInformation": {
    },
  • "organizationLock": {
    },
  • "organizationName": "string",
  • "paymentOption": {
    }
}

GetBilling

Get an organizations billing details

Authorizations:
API_TokenPersonal-Access-Token
path Parameters
organizationID
required
integer

Responses

Response samples

Content type
application/json
{
  • "billingAddress": {
    },
  • "organizationBillingInformation": {
    },
  • "organizationLock": {
    },
  • "organizationName": "string",
  • "paymentOption": {
    }
}

ReactivateOrganization

Reactivates a terminated organization payment option

Authorizations:
API_TokenPersonal-Access-Token
path Parameters
organizationID
required
integer

Responses

Response samples

Content type
application/json
{
  • "billingAddress": {
    },
  • "organizationBillingInformation": {
    },
  • "organizationLock": {
    },
  • "organizationName": "string",
  • "paymentOption": {
    }
}

TerminateOrganization

Terminates an organization payment option due the next billing

Authorizations:
API_TokenPersonal-Access-Token
path Parameters
organizationID
required
integer
query Parameters
reason
string

reason for terminating our services

Responses

Response samples

Content type
application/json
{
  • "billingAddress": {
    },
  • "organizationBillingInformation": {
    },
  • "organizationLock": {
    },
  • "organizationName": "string",
  • "paymentOption": {
    }
}

Removes all remaining organization billing data after a successful termination.

Afterwards you are free to use inheritance or an existing account.

Authorizations:
API_TokenPersonal-Access-Token
path Parameters
organizationID
required
integer

Responses

GetBillingPreview

Get a preview of the organization's current billing cycle

Authorizations:
API_TokenPersonal-Access-Token
path Parameters
organizationID
required
integer

Responses

Response samples

Content type
application/json
{
  • "cycleEnd": null,
  • "cycleStart": null,
  • "duplicates": 0,
  • "inheritingBillingPreviews": [
    ],
  • "items": [
    ],
  • "minUserLicenses": 0,
  • "organizationID": 0,
  • "organizationName": "string",
  • "recurringItems": [
    ],
  • "timestamp": null,
  • "total": 0.1,
  • "totalRecurring": 0.1,
  • "usedUserLicenses": 0,
  • "userLicenseUnitPrice": 0
}

SwitchBetweenBillingInheritanceAndWHMCS

Instantaneously switch between an inherited billing from a parent organization or a new / existing whmcs billing account. Organization has to be active already and not terminated. Performing user has to be an owner of the organization and (if applicable) the parent organization. Switching to a new or existing whmcs account requires the organization to be billed through its parent organization. Switching to an inherited billing requires the organization to be billed through its own whmcs account.

Authorizations:
API_TokenPersonal-Access-Token
Request Body schema: application/json
object (ExistingCustomerRequest)

ExistingCustomerRequest is the definition of a billing request payload

object (BillingInheritanceRequest)

BillingInheritanceRequest is used to request the inheritance of billing information

object (BillingRequest)

BillingRequest is the definition of a billing request payload

Responses

Request samples

Content type
application/json
{
  • "existingWHMCSAccount": {
    },
  • "inheritance": {
    },
  • "newWHMCSAccount": {
    }
}

odp

GetContract

Get the current odp-contract of the organization

Authorizations:
API_TokenPersonal-Access-Token
path Parameters
organizationID
required
integer

Responses

Response samples

Content type
application/json
{
  • "activationDetails": {
    },
  • "authorizedPersons": [
    ],
  • "client": {
    },
  • "contractTemplateID": 0,
  • "contractText": "string",
  • "isLatestVersion": true,
  • "organizationID": 0
}

UpdateContract

Updates an existing odp-contract for the given organization

Authorizations:
API_TokenPersonal-Access-Token
path Parameters
organizationID
required
integer
Request Body schema: application/json
object (ODPContractActivationDetails)

ODPContractActivationDetails contains information about who accepted the odp-contract at which point in time

required
Array of objects (ODPContractAuthorizedPerson)
required
object (ODPContractClient)

ODPContractClient contains contact data for an organization creating an odp-contract

contractTemplateID
required
integer <int64>
organizationID
required
integer <int64>

Responses

Request samples

Content type
application/json
{
  • "activationDetails": {
    },
  • "authorizedPersons": [
    ],
  • "client": {
    },
  • "contractTemplateID": 0,
  • "organizationID": 0
}

Response samples

Content type
application/json
{
  • "activationDetails": {
    },
  • "authorizedPersons": [
    ],
  • "client": {
    },
  • "contractTemplateID": 0,
  • "contractText": "string",
  • "isLatestVersion": true,
  • "organizationID": 0
}

CreateContract

Create an odp-contract using the given details

Authorizations:
API_TokenPersonal-Access-Token
path Parameters
organizationID
required
integer
Request Body schema: application/json
object (ODPContractActivationDetails)

ODPContractActivationDetails contains information about who accepted the odp-contract at which point in time

required
Array of objects (ODPContractAuthorizedPerson)
required
object (ODPContractClient)

ODPContractClient contains contact data for an organization creating an odp-contract

contractTemplateID
required
integer <int64>
organizationID
required
integer <int64>

Responses

Request samples

Content type
application/json
{
  • "activationDetails": {
    },
  • "authorizedPersons": [
    ],
  • "client": {
    },
  • "contractTemplateID": 0,
  • "organizationID": 0
}

Response samples

Content type
application/json
{
  • "activationDetails": {
    },
  • "authorizedPersons": [
    ],
  • "client": {
    },
  • "contractTemplateID": 0,
  • "contractText": "string",
  • "isLatestVersion": true,
  • "organizationID": 0
}

DeleteContract

Revokes the odp-contract for the organization

Authorizations:
API_TokenPersonal-Access-Token
path Parameters
organizationID
required
integer

Responses

odp-template

GetCurrentTemplate

Get the current odp-contract template

Authorizations:
API_TokenPersonal-Access-Token

Responses

Response samples

Content type
application/json
{
  • "changeSummary": "string",
  • "creationDate": null,
  • "id": 0,
  • "text": "string"
}

GetContractUpdate

Get the update between the most recent and the organization's accepted odp-contract template in unified format

Authorizations:
API_TokenPersonal-Access-Token
path Parameters
organizationID
required
integer

Responses

Response samples

Content type
application/json
{
  • "changeSummaries": [
    ],
  • "unifiedDiff": "string"
}

odp-contract-template

GetContractTemplateUpdate

Get the update between the most recent and odp-contract template and the current odp-contract template in unified format

Authorizations:
API_TokenPersonal-Access-Token
Request Body schema: application/json
required
templateText
string

Responses

Request samples

Content type
application/json
{
  • "templateText": "string"
}

Response samples

Content type
application/json
{
  • "unifiedDiff": "string"
}

pro-bono

GetProBonoRequest

Check the status of an organization's pro-bono request

Authorizations:
API_TokenPersonal-Access-Token
query Parameters
organization_id
integer

Responses

Response samples

Content type
application/json
{
  • "billing_status": true,
  • "date_request": null,
  • "decision": 0,
  • "organization": null,
  • "reason": 0,
  • "user": null
}

AddProBonoRequest

Create a new pro-bono request

Authorizations:
API_TokenPersonal-Access-Token
Request Body schema: application/json
billing_status
boolean
date_request
any
decision
integer <int64> (ProBonoDecision)

ProBonoDecision is our decision on whether the user is granted a discount or not

organization
any
reason
integer <int64> (ProBonoReason)

ProBonoReason is the user's reason why he beliefs he should be granted a discount

user
any

Responses

Request samples

Content type
application/json
{
  • "billing_status": true,
  • "date_request": null,
  • "decision": 0,
  • "organization": null,
  • "reason": 0,
  • "user": null
}