Billing API specification (5e2886cca89c73eda649037cc1797ff0d630d367)

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
}

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
}