ServiceBot API API Reference

Rest API documentation for ServiceBot

API Endpoint
http://example.serviceshop.io/api/v1/
Version: 1.0.0

Authentication

internalApiKey

JSON Web token, Authorization header should look like 'JWT TokenFromAuthApi', for example 'JWT eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOjEsImlhdCI6MTU' Auth api can be found at /auth/token

type
apiKey
in
header
name
Authorization

users

Get User Avatar

GET /users/{id}/avatar

Gets a User Avatar image file

id
in path
number (double)

user id

200 OK

User Avatar

Response Content-Types: application/json

Add User Avatar

PUT /users/{id}/avatar

Adds a User Avatar image file

id
in path
number (double)

user id

avatar
in formData
file

user icon to add

200 OK

file

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "user_id": "integer",
  "path": "string",
  "size": "integer",
  "name": "string",
  "mimetype": "string",
  "created_at": "string",
  "updated_at": "string"
}

Register a new User

POST /users/register

Registers a newly created User. User must be invited to be registered. More common process for adding user is for user to be generated with a Service Request.

user to create

Request Example
{
  "id": "integer",
  "role_id": "integer",
  "name": "string",
  "email": "string",
  "password": "string (password)",
  "provider": "string",
  "status": "string",
  "customer_id": "string",
  "phone": "string",
  "last_login": "string",
  "created_at": "string",
  "updated_at": "string",
  "google_user_id": "string",
  "references": {
    "user_roles": [
      null
    ],
    "service_instances": [
      null
    ],
    "service_instance_seats": [
      null
    ],
    "funds": [
      null
    ]
  }
}
200 OK

An array of Users

type
Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "integer",
    "role_id": "integer",
    "name": "string",
    "email": "string",
    "password": "string (password)",
    "provider": "string",
    "status": "string",
    "customer_id": "string",
    "phone": "string",
    "last_login": "string",
    "created_at": "string",
    "updated_at": "string",
    "google_user_id": "string",
    "references": {
      "user_roles": [
        null
      ],
      "service_instances": [
        null
      ],
      "service_instance_seats": [
        null
      ],
      "funds": [
        null
      ]
    }
  }
]

Suspend a User

POST /users/{id}/suspend

Suspends a User which will cancel all users services in Stripe and in Servicebot and mark the user as suspended. Users automatically become suspended if there are payment failures (like expired cards). You can also manually suspend users which will trigger a webhook which can notify your application for application access restriction.

id
in path
number

user to suspend

200 OK

A user

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "role_id": "integer",
  "name": "string",
  "email": "string",
  "password": "string (password)",
  "provider": "string",
  "status": "string",
  "customer_id": "string",
  "phone": "string",
  "last_login": "string",
  "created_at": "string",
  "updated_at": "string",
  "google_user_id": "string",
  "references": {
    "user_roles": [
      null
    ],
    "service_instances": [
      null
    ],
    "service_instance_seats": [
      null
    ],
    "funds": [
      null
    ]
  }
}

Unsuspend a User

POST /users/{id}/unsuspend

Unsuspends a User changing their status from 'suspended' to 'active'. It does not resubscribe User to all previous subscriptions.

id
in path
number

user to unsuspend

200 OK

A user

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "role_id": "integer",
  "name": "string",
  "email": "string",
  "password": "string (password)",
  "provider": "string",
  "status": "string",
  "customer_id": "string",
  "phone": "string",
  "last_login": "string",
  "created_at": "string",
  "updated_at": "string",
  "google_user_id": "string",
  "references": {
    "user_roles": [
      null
    ],
    "service_instances": [
      null
    ],
    "service_instance_seats": [
      null
    ],
    "funds": [
      null
    ]
  }
}

Invite a new User

POST /users/invite

Invites a new User responding with an invitation URL for the user to go to to complete registration. More common process for adding user is for user to be generated with a Service Request.

Request Example
"string"
200 OK

Invitation URL

Response Content-Types: application/json

Get a token for a user

POST /users/{id}/token

As an authenticated admin, gets an auth token for a user.

id
in path
number

user to get a token for

200 OK

API JSON Web token for specified user

Response Content-Types: application/json

Get all users

GET /users

Gets all users

200 OK

An array of users

type
Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "integer",
    "role_id": "integer",
    "name": "string",
    "email": "string",
    "password": "string (password)",
    "provider": "string",
    "status": "string",
    "customer_id": "string",
    "phone": "string",
    "last_login": "string",
    "created_at": "string",
    "updated_at": "string",
    "google_user_id": "string",
    "references": {
      "user_roles": [
        null
      ],
      "service_instances": [
        null
      ],
      "service_instance_seats": [
        null
      ],
      "funds": [
        null
      ]
    }
  }
]

Search for users

GET /users/search

Search for users with query parameters.

key
in query
string

Attribute to search by

value
in query
string

Value to search for

200 OK

An array of filteredusers

type
Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "integer",
    "role_id": "integer",
    "name": "string",
    "email": "string",
    "password": "string (password)",
    "provider": "string",
    "status": "string",
    "customer_id": "string",
    "phone": "string",
    "last_login": "string",
    "created_at": "string",
    "updated_at": "string",
    "google_user_id": "string",
    "references": {
      "user_roles": [
        null
      ],
      "service_instances": [
        null
      ],
      "service_instance_seats": [
        null
      ],
      "funds": [
        null
      ]
    }
  }
]

Get users by id

GET /users/{id}

Gets users by id.

id
in path
number (double)

users id

200 OK

users with id

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "role_id": "integer",
  "name": "string",
  "email": "string",
  "password": "string (password)",
  "provider": "string",
  "status": "string",
  "customer_id": "string",
  "phone": "string",
  "last_login": "string",
  "created_at": "string",
  "updated_at": "string",
  "google_user_id": "string",
  "references": {
    "user_roles": [
      null
    ],
    "service_instances": [
      null
    ],
    "service_instance_seats": [
      null
    ],
    "funds": [
      null
    ]
  }
}

Update users

PUT /users/{id}

Updates a users

Data to update

id
in path
number (double)

users id

Request Example
{
  "id": "integer",
  "role_id": "integer",
  "name": "string",
  "email": "string",
  "password": "string (password)",
  "provider": "string",
  "status": "string",
  "customer_id": "string",
  "phone": "string",
  "last_login": "string",
  "created_at": "string",
  "updated_at": "string",
  "google_user_id": "string",
  "references": {
    "user_roles": [
      null
    ],
    "service_instances": [
      null
    ],
    "service_instance_seats": [
      null
    ],
    "funds": [
      null
    ]
  }
}
200 OK

users with id

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "role_id": "integer",
  "name": "string",
  "email": "string",
  "password": "string (password)",
  "provider": "string",
  "status": "string",
  "customer_id": "string",
  "phone": "string",
  "last_login": "string",
  "created_at": "string",
  "updated_at": "string",
  "google_user_id": "string",
  "references": {
    "user_roles": [
      null
    ],
    "service_instances": [
      null
    ],
    "service_instance_seats": [
      null
    ],
    "funds": [
      null
    ]
  }
}

Delete users by id

DELETE /users/{id}

Deletes a users by id

id
in path
number (double)

users id

200 OK

users that was deleted

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "role_id": "integer",
  "name": "string",
  "email": "string",
  "password": "string (password)",
  "provider": "string",
  "status": "string",
  "customer_id": "string",
  "phone": "string",
  "last_login": "string",
  "created_at": "string",
  "updated_at": "string",
  "google_user_id": "string",
  "references": {
    "user_roles": [
      null
    ],
    "service_instances": [
      null
    ],
    "service_instance_seats": [
      null
    ],
    "funds": [
      null
    ]
  }
}

Get requester's usersobject or objects

GET /users/own

Gets the users object or objects of the authenticated user.

200 OK

An array of users, owned by requester

type
Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "integer",
    "role_id": "integer",
    "name": "string",
    "email": "string",
    "password": "string (password)",
    "provider": "string",
    "status": "string",
    "customer_id": "string",
    "phone": "string",
    "last_login": "string",
    "created_at": "string",
    "updated_at": "string",
    "google_user_id": "string",
    "references": {
      "user_roles": [
        null
      ],
      "service_instances": [
        null
      ],
      "service_instance_seats": [
        null
      ],
      "funds": [
        null
      ]
    }
  }
]

roles

Gets all roles with array of permission ids

GET /roles/manage-permissions

Gets all the roles in the system with all the permissions in that role.

An array of roles

Response Content-Types: application/json
Response Example (200 OK)
[
  null
]

Update role with permission

POST /roles/manage-permissions

Batch update roles with permission Ids.

roles and permissions to update

Request Example

An array of roles

Response Content-Types: application/json
Response Example (200 OK)
[
  null
]

Get all user_roles

GET /roles

Gets all user_roles

200 OK

An array of user_roles

type
Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "integer",
    "role_name": "string",
    "created_at": "string",
    "updated_at": "string"
  }
]

Create new user_roles

POST /roles

Creates a new user_roles

user_roles to create

Request Example
{
  "id": "integer",
  "role_name": "string",
  "created_at": "string",
  "updated_at": "string"
}
200 OK

user_roles with id

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "role_name": "string",
  "created_at": "string",
  "updated_at": "string"
}

Search for user_roles

GET /roles/search

Search for user_roles with query parameters.

key
in query
string

Attribute to search by

value
in query
string

Value to search for

200 OK

An array of filtereduser_roles

type
Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "integer",
    "role_name": "string",
    "created_at": "string",
    "updated_at": "string"
  }
]

Get user_roles by id

GET /roles/{id}

Gets user_roles by id.

id
in path
number (double)

user_roles id

200 OK

user_roles with id

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "role_name": "string",
  "created_at": "string",
  "updated_at": "string"
}

Update user_roles

PUT /roles/{id}

Updates a user_roles

Data to update

id
in path
number (double)

user_roles id

Request Example
{
  "id": "integer",
  "role_name": "string",
  "created_at": "string",
  "updated_at": "string"
}
200 OK

user_roles with id

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "role_name": "string",
  "created_at": "string",
  "updated_at": "string"
}

Delete user_roles by id

DELETE /roles/{id}

Deletes a user_roles by id

id
in path
number (double)

user_roles id

200 OK

user_roles that was deleted

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "role_name": "string",
  "created_at": "string",
  "updated_at": "string"
}

service-templates

Get all public Service Templates

GET /service-templates/public

Gets all published Service Templates. Templates default to published when created. Does not need Auth.

An array of service-templates

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "integer",
    "category_id": "integer",
    "created_by": "integer",
    "name": "string",
    "published": "boolean",
    "created_at": "string",
    "updated_at": "string",
    "references": {
      "service_template_properties": [
        null
      ],
      "service_categories": [
        null
      ],
      "users": [
        null
      ],
      "tiers": [
        null
      ]
    }
  }
]

Get Service Template Icon

GET /service-templates/{id}/icon

Gets Service Template Icon file

id
in path
number (double)

service-template id

200 OK

service-template File

Response Content-Types: application/json

Add a Service Template Icon

PUT /service-templates/{id}/icon

Adds a Service Template Icon file

id
in path
number (double)

service-template id

template-icon
in formData
file

service-template icon to add

200 OK

An array of System Options

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "user_id": "integer",
  "path": "string",
  "size": "integer",
  "name": "string",
  "mimetype": "string",
  "created_at": "string",
  "updated_at": "string"
}

Delete Service Template Icon

DELETE /service-templates/{id}/icon

Deletes a Service Template Icon file

id
in path
number (double)

service-template id

200 OK

message

Response Content-Types: application/json

Get Service Template Image

GET /service-templates/{id}/image

Gets a Service Template Image file

id
in path
number (double)

service-template id

200 OK

service-template File

Response Content-Types: application/json

Add a Service Template Image

PUT /service-templates/{id}/image

Adds a Service Template Image file

id
in path
number (double)

service-template id

template-image
in formData
file

service-template image to add

200 OK

An array of System Options

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "user_id": "integer",
  "path": "string",
  "size": "integer",
  "name": "string",
  "mimetype": "string",
  "created_at": "string",
  "updated_at": "string"
}

Delete Service Template Image

DELETE /service-templates/{id}/image

Deletes a Service Template Image file

id
in path
number (double)

service-template id

200 OK

message

Response Content-Types: application/json

Get Service Request Template

GET /service-templates/{id}/request

Gets a request template for requesting a Service Instance of the Service Template

id
in path
number (double)

service-templates id

200 OK

A service-template request

Response Content-Types: application/json

Request a Service Instance

POST /service-templates/{id}/request

Requests a Service Instance. Can make this call unauthorized, but must also send 'email', 'password' and 'token_id' in the request JSON. 'token_id' is a Stripe Token: https://stripe.com/docs/api#token_object Can use 'tok_visa' for testing. If using synchronous webhooks, you will find the response of the webhook in webhook_responses.

service-template request information

id
in path
number (double)

service-templates id

Request Example
{
  "email": "string (email)",
  "token_id": "string",
  "client_id": "integer",
  "payment_structure_template_id": "integer",
  "references": {
    "service_instance_properties": [
      {
        "id": "integer",
        "name": "string",
        "type": "string",
        "data": "object",
        "config": "object",
        "prop_class": "string",
        "prop_label": "string",
        "prop_description": "string",
        "created_at": "string",
        "updated_at": "string",
        "parent_id": "integer",
        "private": "boolean",
        "prompt_user": "boolean",
        "required": "boolean"
      }
    ]
  }
}

The newly provisioned service instance

Response Content-Types: application/json
Response Example (200 OK)
{
  "token": "string (string)",
  "request": {
    "email": "string (email)",
    "token_id": "string",
    "client_id": "integer",
    "payment_structure_template_id": "integer",
    "references": {
      "service_instance_properties": [
        {
          "id": "integer",
          "name": "string",
          "type": "string",
          "data": "object",
          "config": "object",
          "prop_class": "string",
          "prop_label": "string",
          "prop_description": "string",
          "created_at": "string",
          "updated_at": "string",
          "parent_id": "integer",
          "private": "boolean",
          "prompt_user": "boolean",
          "required": "boolean"
        }
      ]
    }
  },
  "webhook_responses": "string",
  "references": {
    "service_instance_properties": [
      {
        "id": "integer",
        "name": "string",
        "type": "string",
        "data": "object",
        "config": "object",
        "prop_class": "string",
        "prop_label": "string",
        "prop_description": "string",
        "created_at": "string",
        "updated_at": "string",
        "parent_id": "integer",
        "private": "boolean",
        "prompt_user": "boolean",
        "required": "boolean"
      }
    ]
  }
}

Get all service_templates

GET /service-templates

Gets all service_templates

An array of service_templates

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "integer",
    "category_id": "integer",
    "created_by": "integer",
    "name": "string",
    "published": "boolean",
    "created_at": "string",
    "updated_at": "string",
    "references": {
      "service_template_properties": [
        null
      ],
      "service_categories": [
        null
      ],
      "users": [
        null
      ],
      "tiers": [
        null
      ]
    }
  }
]

Create new service_templates

POST /service-templates

Creates a new service_templates

service_templates to create

Request Example
{
  "id": "integer",
  "category_id": "integer",
  "created_by": "integer",
  "name": "string",
  "published": "boolean",
  "created_at": "string",
  "updated_at": "string",
  "references": {
    "service_template_properties": [
      null
    ],
    "service_categories": [
      null
    ],
    "users": [
      null
    ],
    "tiers": [
      null
    ]
  }
}

service_templates with id

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "category_id": "integer",
  "created_by": "integer",
  "name": "string",
  "published": "boolean",
  "created_at": "string",
  "updated_at": "string",
  "references": {
    "service_template_properties": [
      null
    ],
    "service_categories": [
      null
    ],
    "users": [
      null
    ],
    "tiers": [
      null
    ]
  }
}

Search for service_templates

GET /service-templates/search

Search for service_templates with query parameters.

key
in query
string

Attribute to search by

value
in query
string

Value to search for

An array of filteredservice_templates

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "integer",
    "category_id": "integer",
    "created_by": "integer",
    "name": "string",
    "published": "boolean",
    "created_at": "string",
    "updated_at": "string",
    "references": {
      "service_template_properties": [
        null
      ],
      "service_categories": [
        null
      ],
      "users": [
        null
      ],
      "tiers": [
        null
      ]
    }
  }
]

Get service_templates by id

GET /service-templates/{id}

Gets service_templates by id.

id
in path
number (double)

service_templates id

service_templates with id

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "category_id": "integer",
  "created_by": "integer",
  "name": "string",
  "published": "boolean",
  "created_at": "string",
  "updated_at": "string",
  "references": {
    "service_template_properties": [
      null
    ],
    "service_categories": [
      null
    ],
    "users": [
      null
    ],
    "tiers": [
      null
    ]
  }
}

Update service_templates

PUT /service-templates/{id}

Updates a service_templates

Data to update

id
in path
number (double)

service_templates id

Request Example
{
  "id": "integer",
  "category_id": "integer",
  "created_by": "integer",
  "name": "string",
  "published": "boolean",
  "created_at": "string",
  "updated_at": "string",
  "references": {
    "service_template_properties": [
      null
    ],
    "service_categories": [
      null
    ],
    "users": [
      null
    ],
    "tiers": [
      null
    ]
  }
}

service_templates with id

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "category_id": "integer",
  "created_by": "integer",
  "name": "string",
  "published": "boolean",
  "created_at": "string",
  "updated_at": "string",
  "references": {
    "service_template_properties": [
      null
    ],
    "service_categories": [
      null
    ],
    "users": [
      null
    ],
    "tiers": [
      null
    ]
  }
}

Delete service_templates by id

DELETE /service-templates/{id}

Deletes a service_templates by id

id
in path
number (double)

service_templates id

service_templates that was deleted

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "category_id": "integer",
  "created_by": "integer",
  "name": "string",
  "published": "boolean",
  "created_at": "string",
  "updated_at": "string",
  "references": {
    "service_template_properties": [
      null
    ],
    "service_categories": [
      null
    ],
    "users": [
      null
    ],
    "tiers": [
      null
    ]
  }
}

service-instances

Approve a Service Instance

POST /service-instances/{id}/approve

If an instance was requested by an admin, for a user, they must approve of the Service request. Approving the Service Instance will proceed with charges if there are any and begin the subscription.

id
in path
number (double)

service-instance id

A service-instance

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "service_id": "integer",
  "user_id": "integer",
  "requested_by": "integer",
  "payment_plan": "object",
  "name": "string",
  "description": "string",
  "subscription_id": "string",
  "subscribed_at": "integer (int64)",
  "trial_end": "integer (int64)",
  "payment_structure_template_id": "integer",
  "status": "string",
  "type": "string",
  "split_configuration": "object",
  "created_at": "string",
  "updated_at": "string",
  "references": {
    "service_templates": [
      null
    ],
    "service_instance_properties": [
      null
    ],
    "service_instance_seats": [
      null
    ],
    "service_instance_messages": [
      null
    ],
    "charge_items": [
      null
    ],
    "service_instance_cancellations": [
      null
    ],
    "users": [
      null
    ],
    "payment_structure_templates": [
      null
    ]
  }
}

Reactivate a cancelled Service Instance

POST /service-instances/{id}/reactivate

Reactivates a cancelled Service Instance, triggering a webhook. Once subscription is reactivated, charges will resume.

id
in path
number (double)

service-instance id

A service-instance

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "service_id": "integer",
  "user_id": "integer",
  "requested_by": "integer",
  "payment_plan": "object",
  "name": "string",
  "description": "string",
  "subscription_id": "string",
  "subscribed_at": "integer (int64)",
  "trial_end": "integer (int64)",
  "payment_structure_template_id": "integer",
  "status": "string",
  "type": "string",
  "split_configuration": "object",
  "created_at": "string",
  "updated_at": "string",
  "references": {
    "service_templates": [
      null
    ],
    "service_instance_properties": [
      null
    ],
    "service_instance_seats": [
      null
    ],
    "service_instance_messages": [
      null
    ],
    "charge_items": [
      null
    ],
    "service_instance_cancellations": [
      null
    ],
    "users": [
      null
    ],
    "payment_structure_templates": [
      null
    ]
  }
}

Change a Service Instance payment plan

POST /service-instances/{id}/change-price

Updates the payment plan of a Service Instance. Use to modify price, period, interval, or trial.

service instance payment_plan to update

statement_descriptor: string

what shows up on statement

amount: integer

Amount in cents

currency: string

Currency type

interval: string

Interval period (month, day, year)

interval_count: integer

Number of intervals in a period, for example with a monthly interval and interval_count of 1, customer charged every month

subscription_prorate: boolean

Prorate changes?

trial_period_days: integer

Days of trial

id
in path
number (double)

Service Instance id

Request Example
{
  "statement_descriptor": "string",
  "amount": "integer",
  "currency": "string",
  "interval": "string",
  "interval_count": "integer",
  "subscription_prorate": "boolean",
  "trial_period_days": "integer"
}

A service-instance

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "service_id": "integer",
  "user_id": "integer",
  "requested_by": "integer",
  "payment_plan": "object",
  "name": "string",
  "description": "string",
  "subscription_id": "string",
  "subscribed_at": "integer (int64)",
  "trial_end": "integer (int64)",
  "payment_structure_template_id": "integer",
  "status": "string",
  "type": "string",
  "split_configuration": "object",
  "created_at": "string",
  "updated_at": "string",
  "references": {
    "service_templates": [
      null
    ],
    "service_instance_properties": [
      null
    ],
    "service_instance_seats": [
      null
    ],
    "service_instance_messages": [
      null
    ],
    "charge_items": [
      null
    ],
    "service_instance_cancellations": [
      null
    ],
    "users": [
      null
    ],
    "payment_structure_templates": [
      null
    ]
  }
}

Change a Service Instance properties

POST /service-instances/{id}/change-properties

Changes a Service Instance properties, can affect instance pricing if subscription and the properties modify price.

A service-instance

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "service_id": "integer",
  "user_id": "integer",
  "requested_by": "integer",
  "payment_plan": "object",
  "name": "string",
  "description": "string",
  "subscription_id": "string",
  "subscribed_at": "integer (int64)",
  "trial_end": "integer (int64)",
  "payment_structure_template_id": "integer",
  "status": "string",
  "type": "string",
  "split_configuration": "object",
  "created_at": "string",
  "updated_at": "string",
  "references": {
    "service_templates": [
      null
    ],
    "service_instance_properties": [
      null
    ],
    "service_instance_seats": [
      null
    ],
    "service_instance_messages": [
      null
    ],
    "charge_items": [
      null
    ],
    "service_instance_cancellations": [
      null
    ],
    "users": [
      null
    ],
    "payment_structure_templates": [
      null
    ]
  }
}

Cancel a Service Instance

POST /service-instances/{id}/cancel

Cancels a Service Instance. Can only be performed by Admin or Staff.

id
in path
number (double)

service-instance id

A service-instance

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "service_id": "integer",
  "user_id": "integer",
  "requested_by": "integer",
  "payment_plan": "object",
  "name": "string",
  "description": "string",
  "subscription_id": "string",
  "subscribed_at": "integer (int64)",
  "trial_end": "integer (int64)",
  "payment_structure_template_id": "integer",
  "status": "string",
  "type": "string",
  "split_configuration": "object",
  "created_at": "string",
  "updated_at": "string",
  "references": {
    "service_templates": [
      null
    ],
    "service_instance_properties": [
      null
    ],
    "service_instance_seats": [
      null
    ],
    "service_instance_messages": [
      null
    ],
    "charge_items": [
      null
    ],
    "service_instance_cancellations": [
      null
    ],
    "users": [
      null
    ],
    "payment_structure_templates": [
      null
    ]
  }
}

Request Cancellation of a Service Instance

POST /service-instances/{id}/request-cancellation

Requests Cancellation a Service Instance. Can be performed by Admin and Users.

id
in path
number (double)

service-instance id

A service-instance-cancellation

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "service_instance_id": "integer",
  "user_id": "integer",
  "status": "string",
  "fulfilled_by": "integer",
  "created_at": "string",
  "updated_at": "string"
}

Add a charge to a Service Instance

POST /service-instances/{id}/add-charge

Adds a charge to a Service Instance.

Charge to add to Service Instance

id
in path
number (double)

service-instance id

Request Example
{
  "id": "integer",
  "user_id": "integer",
  "service_instance_id": "integer",
  "approved": "boolean",
  "subscription_id": "string",
  "item_id": "string",
  "amount": "number (float)",
  "currency": "string",
  "description": "string",
  "period_start": "integer (int64)",
  "period_end": "integer (int64)",
  "created_at": "string",
  "updated_at": "string"
}
200 OK

A charge-item

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "user_id": "integer",
  "service_instance_id": "integer",
  "approved": "boolean",
  "subscription_id": "string",
  "item_id": "string",
  "amount": "number (float)",
  "currency": "string",
  "description": "string",
  "period_start": "integer (int64)",
  "period_end": "integer (int64)",
  "created_at": "string",
  "updated_at": "string"
}

Get awaiting charges of Service Instance

GET /service-instances/{id}/awaiting-charges

Gets not yet paid charges of Service Instance.

id
in path
number (double)

service-instance id

200 OK

Service Instance Charge Items

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "integer",
    "user_id": "integer",
    "service_instance_id": "integer",
    "approved": "boolean",
    "subscription_id": "string",
    "item_id": "string",
    "amount": "number (float)",
    "currency": "string",
    "description": "string",
    "period_start": "integer (int64)",
    "period_end": "integer (int64)",
    "created_at": "string",
    "updated_at": "string"
  }
]

Approve Charges on a Service Instance

POST /service-instances/{id}/approve-charges

Approves pending charges on a Service Instance.

id
in path
number (double)

service-instance id

200 OK

A service-instance

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "integer",
    "user_id": "integer",
    "service_instance_id": "integer",
    "approved": "boolean",
    "subscription_id": "string",
    "item_id": "string",
    "amount": "number (float)",
    "currency": "string",
    "description": "string",
    "period_start": "integer (int64)",
    "period_end": "integer (int64)",
    "created_at": "string",
    "updated_at": "string"
  }
]

Get metric

GET /service-instance/{id}/metric

Gets the value of an Instance's metric. Use this call along with the POST call to increment or set a metric from your app.

id
in path
number (double)

service-instance id

200 OK

Metric

Response Content-Types: application/json
Response Example (200 OK)
{
  "value": "integer (int32)"
}

Change metric

POST /service-instance/{id}/metric

Modifies an Instance's metric. Automatically adjusts and prorates billing.

id
in path
number (double)

service-instance id

200 OK

Metric

Response Content-Types: application/json
Response Example (200 OK)
{
  "value": "integer (int32)"
}

Get Seats on a service instance

GET /service-instances/{id}/seats

Gets the seats associated with a service instance.

id
in path
number (double)

service-instance id

200 OK

Seat

Response Content-Types: application/json
Response Example (200 OK)
{
  "user_id": "integer",
  "service_instance_id": "integer",
  "id": "integer",
  "references": {
    "users": [
      {
        "id": "integer",
        "role_id": "integer",
        "name": "string",
        "email": "string",
        "password": "string (password)",
        "provider": "string",
        "status": "string",
        "customer_id": "string",
        "phone": "string",
        "last_login": "string",
        "created_at": "string",
        "updated_at": "string",
        "google_user_id": "string",
        "references": {
          "user_roles": [
            null
          ],
          "service_instances": [
            null
          ],
          "service_instance_seats": [
            null
          ],
          "funds": [
            null
          ]
        }
      }
    ]
  }
}

Add a seat to an instance

POST /service-instances/{id}/seats

Adds seat to an Instance using email. If user does not exist, invitation email is set (can be turned off with notification templates), and webhook is triggered.

id
in path
number (double)

service-instance id

Request Example
"string"
200 OK

Seat

Response Content-Types: application/json
Response Example (200 OK)
{
  "user_id": "integer",
  "service_instance_id": "integer",
  "id": "integer",
  "references": {
    "users": [
      {
        "id": "integer",
        "role_id": "integer",
        "name": "string",
        "email": "string",
        "password": "string (password)",
        "provider": "string",
        "status": "string",
        "customer_id": "string",
        "phone": "string",
        "last_login": "string",
        "created_at": "string",
        "updated_at": "string",
        "google_user_id": "string",
        "references": {
          "user_roles": [
            null
          ],
          "service_instances": [
            null
          ],
          "service_instance_seats": [
            null
          ],
          "funds": [
            null
          ]
        }
      }
    ]
  }
}

Remove a seat from an instance

DELETE /service-instances/{id}/seats/{seatId}

Removes the seats associated with a service instance by Id.

id
in path
number (double)

service-instance id

seatId
in path
number (double)

seat id

200 OK

Message

Response Content-Types: application/json

Resend invitation for seat

POST /service-instances/{id}/seats/{seatId}/reinvite

Resends seat invitation using Seat Id. Invitation email is set (can be turned off with notification templates), and webhook is triggered.

id
in path
number (double)

service-instance id

seatId
in path
number (double)

seat id

200 OK

Seat

Response Content-Types: application/json
Response Example (200 OK)
{
  "user_id": "integer",
  "service_instance_id": "integer",
  "id": "integer",
  "references": {
    "users": [
      {
        "id": "integer",
        "role_id": "integer",
        "name": "string",
        "email": "string",
        "password": "string (password)",
        "provider": "string",
        "status": "string",
        "customer_id": "string",
        "phone": "string",
        "last_login": "string",
        "created_at": "string",
        "updated_at": "string",
        "google_user_id": "string",
        "references": {
          "user_roles": [
            null
          ],
          "service_instances": [
            null
          ],
          "service_instance_seats": [
            null
          ],
          "funds": [
            null
          ]
        }
      }
    ]
  }
}

Add a Service Instance File

POST /service-instances/{id}/files

Adds a Service Instance File

id
in path
number (double)

service-instance id

Request Example
[
  "file"
]
200 OK

Files

type
Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "integer",
    "user_id": "integer",
    "path": "string",
    "size": "integer",
    "name": "string",
    "mimetype": "string",
    "created_at": "string",
    "updated_at": "string"
  }
]

Get Service Instance files

GET /service-instances/{id}/files

Gets Service Instance files

id
in path
number (double)

service-instance id

200 OK

Service Instance Charge Items

type
file[]
Response Content-Types: application/json
Response Example (200 OK)
[
  "file"
]

Delete a Service Instance File

DELETE /service-instances/{id}/files/{fid}

Deletes a Service Instance File

id
in path
number (double)

service-instance id

fid
in path
number (double)

service-instance file id

200 OK

Message

Response Content-Types: application/json

Get Service Instance file by id

GET /service-instances/{id}/files/{fid}

Gets a Service Instance file by id

id
in path
number (double)

service-instance id

fid
in path
number (double)

service-instance file id

200 OK

Service Instance File

Response Content-Types: application/json

Get own Seats

GET /service-instance-seats/own

Gets the seat data of the authenticated user.

200 OK

Seat

Response Content-Types: application/json
Response Example (200 OK)
{
  "user_id": "integer",
  "service_instance_id": "integer",
  "id": "integer",
  "references": {
    "users": [
      {
        "id": "integer",
        "role_id": "integer",
        "name": "string",
        "email": "string",
        "password": "string (password)",
        "provider": "string",
        "status": "string",
        "customer_id": "string",
        "phone": "string",
        "last_login": "string",
        "created_at": "string",
        "updated_at": "string",
        "google_user_id": "string",
        "references": {
          "user_roles": [
            null
          ],
          "service_instances": [
            null
          ],
          "service_instance_seats": [
            null
          ],
          "funds": [
            null
          ]
        }
      }
    ]
  }
}

Get all service_instances

GET /service-instances

Gets all service_instances

An array of service_instances

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "integer",
    "service_id": "integer",
    "user_id": "integer",
    "requested_by": "integer",
    "payment_plan": "object",
    "name": "string",
    "description": "string",
    "subscription_id": "string",
    "subscribed_at": "integer (int64)",
    "trial_end": "integer (int64)",
    "payment_structure_template_id": "integer",
    "status": "string",
    "type": "string",
    "split_configuration": "object",
    "created_at": "string",
    "updated_at": "string",
    "references": {
      "service_templates": [
        null
      ],
      "service_instance_properties": [
        null
      ],
      "service_instance_seats": [
        null
      ],
      "service_instance_messages": [
        null
      ],
      "charge_items": [
        null
      ],
      "service_instance_cancellations": [
        null
      ],
      "users": [
        null
      ],
      "payment_structure_templates": [
        null
      ]
    }
  }
]

Search for service_instances

GET /service-instances/search

Search for service_instances with query parameters.

key
in query
string

Attribute to search by

value
in query
string

Value to search for

An array of filteredservice_instances

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "integer",
    "service_id": "integer",
    "user_id": "integer",
    "requested_by": "integer",
    "payment_plan": "object",
    "name": "string",
    "description": "string",
    "subscription_id": "string",
    "subscribed_at": "integer (int64)",
    "trial_end": "integer (int64)",
    "payment_structure_template_id": "integer",
    "status": "string",
    "type": "string",
    "split_configuration": "object",
    "created_at": "string",
    "updated_at": "string",
    "references": {
      "service_templates": [
        null
      ],
      "service_instance_properties": [
        null
      ],
      "service_instance_seats": [
        null
      ],
      "service_instance_messages": [
        null
      ],
      "charge_items": [
        null
      ],
      "service_instance_cancellations": [
        null
      ],
      "users": [
        null
      ],
      "payment_structure_templates": [
        null
      ]
    }
  }
]

Get service_instances by id

GET /service-instances/{id}

Gets service_instances by id.

id
in path
number (double)

service_instances id

service_instances with id

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "service_id": "integer",
  "user_id": "integer",
  "requested_by": "integer",
  "payment_plan": "object",
  "name": "string",
  "description": "string",
  "subscription_id": "string",
  "subscribed_at": "integer (int64)",
  "trial_end": "integer (int64)",
  "payment_structure_template_id": "integer",
  "status": "string",
  "type": "string",
  "split_configuration": "object",
  "created_at": "string",
  "updated_at": "string",
  "references": {
    "service_templates": [
      null
    ],
    "service_instance_properties": [
      null
    ],
    "service_instance_seats": [
      null
    ],
    "service_instance_messages": [
      null
    ],
    "charge_items": [
      null
    ],
    "service_instance_cancellations": [
      null
    ],
    "users": [
      null
    ],
    "payment_structure_templates": [
      null
    ]
  }
}

Update service_instances

PUT /service-instances/{id}

Updates a service_instances

Data to update

id
in path
number (double)

service_instances id

Request Example
{
  "id": "integer",
  "service_id": "integer",
  "user_id": "integer",
  "requested_by": "integer",
  "payment_plan": "object",
  "name": "string",
  "description": "string",
  "subscription_id": "string",
  "subscribed_at": "integer (int64)",
  "trial_end": "integer (int64)",
  "payment_structure_template_id": "integer",
  "status": "string",
  "type": "string",
  "split_configuration": "object",
  "created_at": "string",
  "updated_at": "string",
  "references": {
    "service_templates": [
      null
    ],
    "service_instance_properties": [
      null
    ],
    "service_instance_seats": [
      null
    ],
    "service_instance_messages": [
      null
    ],
    "charge_items": [
      null
    ],
    "service_instance_cancellations": [
      null
    ],
    "users": [
      null
    ],
    "payment_structure_templates": [
      null
    ]
  }
}

service_instances with id

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "service_id": "integer",
  "user_id": "integer",
  "requested_by": "integer",
  "payment_plan": "object",
  "name": "string",
  "description": "string",
  "subscription_id": "string",
  "subscribed_at": "integer (int64)",
  "trial_end": "integer (int64)",
  "payment_structure_template_id": "integer",
  "status": "string",
  "type": "string",
  "split_configuration": "object",
  "created_at": "string",
  "updated_at": "string",
  "references": {
    "service_templates": [
      null
    ],
    "service_instance_properties": [
      null
    ],
    "service_instance_seats": [
      null
    ],
    "service_instance_messages": [
      null
    ],
    "charge_items": [
      null
    ],
    "service_instance_cancellations": [
      null
    ],
    "users": [
      null
    ],
    "payment_structure_templates": [
      null
    ]
  }
}

Delete service_instances by id

DELETE /service-instances/{id}

Deletes a service_instances by id

id
in path
number (double)

service_instances id

service_instances that was deleted

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "service_id": "integer",
  "user_id": "integer",
  "requested_by": "integer",
  "payment_plan": "object",
  "name": "string",
  "description": "string",
  "subscription_id": "string",
  "subscribed_at": "integer (int64)",
  "trial_end": "integer (int64)",
  "payment_structure_template_id": "integer",
  "status": "string",
  "type": "string",
  "split_configuration": "object",
  "created_at": "string",
  "updated_at": "string",
  "references": {
    "service_templates": [
      null
    ],
    "service_instance_properties": [
      null
    ],
    "service_instance_seats": [
      null
    ],
    "service_instance_messages": [
      null
    ],
    "charge_items": [
      null
    ],
    "service_instance_cancellations": [
      null
    ],
    "users": [
      null
    ],
    "payment_structure_templates": [
      null
    ]
  }
}

Get requester's service_instancesobject or objects

GET /service-instances/own

Gets the service_instances object or objects of the authenticated user.

An array of service_instances, owned by requester

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "integer",
    "service_id": "integer",
    "user_id": "integer",
    "requested_by": "integer",
    "payment_plan": "object",
    "name": "string",
    "description": "string",
    "subscription_id": "string",
    "subscribed_at": "integer (int64)",
    "trial_end": "integer (int64)",
    "payment_structure_template_id": "integer",
    "status": "string",
    "type": "string",
    "split_configuration": "object",
    "created_at": "string",
    "updated_at": "string",
    "references": {
      "service_templates": [
        null
      ],
      "service_instance_properties": [
        null
      ],
      "service_instance_seats": [
        null
      ],
      "service_instance_messages": [
        null
      ],
      "charge_items": [
        null
      ],
      "service_instance_cancellations": [
        null
      ],
      "users": [
        null
      ],
      "payment_structure_templates": [
        null
      ]
    }
  }
]

service-instance-cancellations

Approve a Service Instance Cancellation request

POST /service-instance-cancellations/{id}/approve

Approves a Service Instance Cancellation request

id
in path
number (double)

service-instance-cancellations id

Canceled Instance

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "service_instance_id": "integer",
  "user_id": "integer",
  "status": "string",
  "fulfilled_by": "integer",
  "created_at": "string",
  "updated_at": "string"
}

Reject a Service Instance Cancellation request

POST /service-instance-cancellations/{id}/reject

Rejects a Service Instance Cancellation request. For Admins.

id
in path
number (double)

service-instance-cancellations id

Updated Instance

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "service_instance_id": "integer",
  "user_id": "integer",
  "status": "string",
  "fulfilled_by": "integer",
  "created_at": "string",
  "updated_at": "string"
}

Undo a Service Instance Cancellation request

POST /service-instance-cancellations/{id}/undo

Undoes a Service Instance Cancellation request for the user who requested it.

id
in path
number (double)

service-instance-cancellations id

Updated Instance

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "service_instance_id": "integer",
  "user_id": "integer",
  "status": "string",
  "fulfilled_by": "integer",
  "created_at": "string",
  "updated_at": "string"
}

Get all service_instance_cancellations

GET /service-instance-cancellations

Gets all service_instance_cancellations

An array of service_instance_cancellations

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "integer",
    "service_instance_id": "integer",
    "user_id": "integer",
    "status": "string",
    "fulfilled_by": "integer",
    "created_at": "string",
    "updated_at": "string"
  }
]

Create new service_instance_cancellations

POST /service-instance-cancellations

Creates a new service_instance_cancellations

service_instance_cancellations to create

Request Example
{
  "id": "integer",
  "service_instance_id": "integer",
  "user_id": "integer",
  "status": "string",
  "fulfilled_by": "integer",
  "created_at": "string",
  "updated_at": "string"
}

service_instance_cancellations with id

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "service_instance_id": "integer",
  "user_id": "integer",
  "status": "string",
  "fulfilled_by": "integer",
  "created_at": "string",
  "updated_at": "string"
}

Search for service_instance_cancellations

GET /service-instance-cancellations/search

Search for service_instance_cancellations with query parameters.

key
in query
string

Attribute to search by

value
in query
string

Value to search for

An array of filteredservice_instance_cancellations

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "integer",
    "service_instance_id": "integer",
    "user_id": "integer",
    "status": "string",
    "fulfilled_by": "integer",
    "created_at": "string",
    "updated_at": "string"
  }
]

Get service_instance_cancellations by id

GET /service-instance-cancellations/{id}

Gets service_instance_cancellations by id.

id
in path
number (double)

service_instance_cancellations id

service_instance_cancellations with id

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "service_instance_id": "integer",
  "user_id": "integer",
  "status": "string",
  "fulfilled_by": "integer",
  "created_at": "string",
  "updated_at": "string"
}

Update service_instance_cancellations

PUT /service-instance-cancellations/{id}

Updates a service_instance_cancellations

id
in path
number (double)

service_instance_cancellations id

Request Example
{
  "id": "integer",
  "service_instance_id": "integer",
  "user_id": "integer",
  "status": "string",
  "fulfilled_by": "integer",
  "created_at": "string",
  "updated_at": "string"
}

service_instance_cancellations with id

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "service_instance_id": "integer",
  "user_id": "integer",
  "status": "string",
  "fulfilled_by": "integer",
  "created_at": "string",
  "updated_at": "string"
}

Delete service_instance_cancellations by id

DELETE /service-instance-cancellations/{id}

Deletes a service_instance_cancellations by id

id
in path
number (double)

service_instance_cancellations id

service_instance_cancellations that was deleted

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "service_instance_id": "integer",
  "user_id": "integer",
  "status": "string",
  "fulfilled_by": "integer",
  "created_at": "string",
  "updated_at": "string"
}

notification-templates

Gets Notification Template Roles

GET /notification-templates/{id}/roles
id
in path
number (double)

Notification Template id

200 OK

Template to Roles

Response Content-Types: application/json

Updates an Notification Template Role

PUT /notification-templates/{id}/roles
id
in path
number (double)

Notification Template id

Request Example
"object"
200 OK

Template to Roles

Response Content-Types: application/json

Get all notification_templates

GET /notification-templates

Gets all notification_templates

An array of notification_templates

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "integer",
    "name": "string",
    "event_name": "string",
    "message": "string",
    "subject": "string",
    "description": "string",
    "model": "string",
    "additional_recipients": [
      "string (email)"
    ],
    "send_email": "boolean",
    "send_to_owner": "boolean",
    "create_notification": "boolean",
    "created_at": "string",
    "updated_at": "string"
  }
]

Create new notification_templates

POST /notification-templates

Creates a new notification_templates

notification_templates to create

Request Example
{
  "id": "integer",
  "name": "string",
  "event_name": "string",
  "message": "string",
  "subject": "string",
  "description": "string",
  "model": "string",
  "additional_recipients": [
    "string (email)"
  ],
  "send_email": "boolean",
  "send_to_owner": "boolean",
  "create_notification": "boolean",
  "created_at": "string",
  "updated_at": "string"
}

notification_templates with id

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "name": "string",
  "event_name": "string",
  "message": "string",
  "subject": "string",
  "description": "string",
  "model": "string",
  "additional_recipients": [
    "string (email)"
  ],
  "send_email": "boolean",
  "send_to_owner": "boolean",
  "create_notification": "boolean",
  "created_at": "string",
  "updated_at": "string"
}

Search for notification_templates

GET /notification-templates/search

Search for notification_templates with query parameters.

key
in query
string

Attribute to search by

value
in query
string

Value to search for

An array of filterednotification_templates

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "integer",
    "name": "string",
    "event_name": "string",
    "message": "string",
    "subject": "string",
    "description": "string",
    "model": "string",
    "additional_recipients": [
      "string (email)"
    ],
    "send_email": "boolean",
    "send_to_owner": "boolean",
    "create_notification": "boolean",
    "created_at": "string",
    "updated_at": "string"
  }
]

Get notification_templates by id

GET /notification-templates/{id}

Gets notification_templates by id.

id
in path
number (double)

notification_templates id

notification_templates with id

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "name": "string",
  "event_name": "string",
  "message": "string",
  "subject": "string",
  "description": "string",
  "model": "string",
  "additional_recipients": [
    "string (email)"
  ],
  "send_email": "boolean",
  "send_to_owner": "boolean",
  "create_notification": "boolean",
  "created_at": "string",
  "updated_at": "string"
}

Update notification_templates

PUT /notification-templates/{id}

Updates a notification_templates

Data to update

id
in path
number (double)

notification_templates id

Request Example
{
  "id": "integer",
  "name": "string",
  "event_name": "string",
  "message": "string",
  "subject": "string",
  "description": "string",
  "model": "string",
  "additional_recipients": [
    "string (email)"
  ],
  "send_email": "boolean",
  "send_to_owner": "boolean",
  "create_notification": "boolean",
  "created_at": "string",
  "updated_at": "string"
}

notification_templates with id

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "name": "string",
  "event_name": "string",
  "message": "string",
  "subject": "string",
  "description": "string",
  "model": "string",
  "additional_recipients": [
    "string (email)"
  ],
  "send_email": "boolean",
  "send_to_owner": "boolean",
  "create_notification": "boolean",
  "created_at": "string",
  "updated_at": "string"
}

Delete notification_templates by id

DELETE /notification-templates/{id}

Deletes a notification_templates by id

id
in path
number (double)

notification_templates id

notification_templates that was deleted

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "name": "string",
  "event_name": "string",
  "message": "string",
  "subject": "string",
  "description": "string",
  "model": "string",
  "additional_recipients": [
    "string (email)"
  ],
  "send_email": "boolean",
  "send_to_owner": "boolean",
  "create_notification": "boolean",
  "created_at": "string",
  "updated_at": "string"
}

invoices

Get upcoming Invoices

GET /invoices/upcoming/{id}

Gets the upcoming invoices for a User by id

id
in path
number (double)

User id

200 OK

A Invoices

Response Content-Types: application/json
Response Example (200 OK)

Refund Invoice

POST /invoices/{id}/refund

Refunds an invoice by Id. Can perform partial refund by passing 'amount' field in body.

id
in path
number (double)

Invoice id

Request Example
"string"
200 OK

The transaction

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "invoice_id": "integer",
  "user_id": "integer",
  "charge_id": "string",
  "invoice": "string",
  "amount": "number (float)",
  "refunded": "boolean",
  "amount_refunded": "number (float)",
  "refunds": "object",
  "captured": "boolean",
  "currency": "string",
  "dispute": "string",
  "paid": "boolean",
  "description": "string",
  "failure_code": "string",
  "failure_message": "string",
  "statement_descriptor": "string",
  "status": "string",
  "livemode": "boolean",
  "created_at": "string",
  "updated_at": "string"
}

Get all invoices

GET /invoices

Gets all invoices

200 OK

An array of invoices

type
Response Content-Types: application/json
Response Example (200 OK)
[
  null
]

Search for invoices

GET /invoices/search

Search for invoices with query parameters.

key
in query
string

Attribute to search by

value
in query
string

Value to search for

200 OK

An array of filteredinvoices

type
Response Content-Types: application/json
Response Example (200 OK)
[
  null
]

Get invoices by id

GET /invoices/{id}

Gets invoices by id.

id
in path
number (double)

invoices id

200 OK

invoices with id

Response Content-Types: application/json
Response Example (200 OK)

Get requester's invoicesobject or objects

GET /invoices/own

Gets the invoices object or objects of the authenticated user.

200 OK

An array of invoices, owned by requester

type
Response Content-Types: application/json
Response Example (200 OK)
[
  null
]

system-options

Get all System Options

GET /system-options

Gets all System Options

An array of System Options

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "option": "string",
    "value": "string",
    "public": "boolean",
    "type": "string",
    "data_type": "string",
    "created_at": "string",
    "updated_at": "string"
  }
]

Batch Update System Options

PUT /system-options

Batch Updates System Options

An array of System Options to create

system_options
Request Example
[
  {
    "option": "string",
    "value": "string",
    "public": "boolean",
    "type": "string",
    "data_type": "string",
    "created_at": "string",
    "updated_at": "string"
  }
]

An array of System Options

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "option": "string",
    "value": "string",
    "public": "boolean",
    "type": "string",
    "data_type": "string",
    "created_at": "string",
    "updated_at": "string"
  }
]

Get all public System Options

GET /system-options/public

Gets all public System Options

An array of System Options

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "option": "string",
    "value": "string",
    "public": "boolean",
    "type": "string",
    "data_type": "string",
    "created_at": "string",
    "updated_at": "string"
  }
]

Get a System Option by Id

GET /system-options/{id}

Gets a System Option by Id

id
in path
number (double)

System Option id

A System Options

Response Content-Types: application/json
Response Example (200 OK)
{
  "option": "string",
  "value": "string",
  "public": "boolean",
  "type": "string",
  "data_type": "string",
  "created_at": "string",
  "updated_at": "string"
}

Update a System Option

PUT /system-options/{id}

Updates a System Option

System Option to create

id
in path
number (double)

System Option id

Request Example
{
  "option": "string",
  "value": "string",
  "public": "boolean",
  "type": "string",
  "data_type": "string",
  "created_at": "string",
  "updated_at": "string"
}

An array of System Options

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "option": "string",
    "value": "string",
    "public": "boolean",
    "type": "string",
    "data_type": "string",
    "created_at": "string",
    "updated_at": "string"
  }
]

Get a System File Option

GET /system-options/file/{id}

Gets a System File Option. Ids are 'front_page_image', 'brand_logo'.

id
in path
number (double)

System Option id

200 OK

A System Options

Response Content-Types: application/json

Update a System Option

PUT /system-options/file/{id}

Updates a System File Option. Ids are 'front_page_image', 'brand_logo'.

id
in path
number (double)

System Option id

file
in formData
file

System Option to create

200 OK

An array of System Options

type
Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "integer",
    "user_id": "integer",
    "path": "string",
    "size": "integer",
    "name": "string",
    "mimetype": "string",
    "created_at": "string",
    "updated_at": "string"
  }
]

Get System version

GET /system-options/version

Gets System version

200 OK

System Version

Response Content-Types: application/json

charge

Approve a Charge Item

POST /charge/{id}/approve

Approves a Charge Item added onto a Service Instance. Use POST /service-instances/{id}/add-charge to add charges and GET /service-instances/{id}/awaiting-charges to get charges for an Instance.

id
in path
number (double)

charge-item id

200 OK

A charge-item

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "user_id": "integer",
  "service_instance_id": "integer",
  "approved": "boolean",
  "subscription_id": "string",
  "item_id": "string",
  "amount": "number (float)",
  "currency": "string",
  "description": "string",
  "period_start": "integer (int64)",
  "period_end": "integer (int64)",
  "created_at": "string",
  "updated_at": "string"
}

Cancel a Charge Item

POST /charge/{id}/cancel

Cancels a Charge Item added onto a Service Instance. Use POST /service-instances/{id}/add-charge to add charges and GET /service-instances/{id}/awaiting-charges to get charges for an Instance.

id
in path
number (double)

charge-item id

200 OK

A charge-item

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "user_id": "integer",
  "service_instance_id": "integer",
  "approved": "boolean",
  "subscription_id": "string",
  "item_id": "string",
  "amount": "number (float)",
  "currency": "string",
  "description": "string",
  "period_start": "integer (int64)",
  "period_end": "integer (int64)",
  "created_at": "string",
  "updated_at": "string"
}

auth

Get Authorization Token

POST /auth/token

Gets an Authorization Token. Use to authenticate all other calls with the header 'Authorization' and value 'JWT generated_token'

User Login Information

Request Example
{
  "email": "string",
  "password": "string"
}
200 OK

Authorization Token

Response Content-Types: application/json

Clear session

POST /auth/session/clear

Clears authorized session for token used in call made.

200 OK

Message

Response Content-Types: application/json

Send Reset password email

POST /auth/reset-password

Sends Reset password email to user passed in body. No authorization needed.

Request Example
"string"
200 OK

Message

Response Content-Types: application/json

Check valid password reset token

GET /auth/reset-password/{uid}/{token}

Checks is the password reset token passed as parameter is valid, and returns true or false.

uid
in path
number (double)

user id

token
in path
string

token

200 OK

is valid token

Response Content-Types: application/json

Reset user password

POST /auth/reset-password/{uid}/{token}

Resets a user's password using the user's id, password reset token, and new password.

uid
in path
number (double)

user id

token
in path
string

token

password
in path
string

new password

200 OK

response message

Response Content-Types: application/json

analytics

Get Analytics Data

GET /analytics/data

Gets all Analytics Data from Servicebot instance

200 OK

Analytics Data

Response Content-Types: application/json

Get all instance properties from a template

GET /analytics/properties/{id}

Get all instance properties from a template id. Gather analytics from a single Service template to see commonalities for the fields you are asking from your users in signup.

id
in path
number (double)

Service Template id

200 OK

Instance properties

Response Content-Types: application/json

permissions

Get all user_permissions

GET /permissions

Gets all user_permissions

An array of user_permissions

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "integer",
    "permission_name": "string",
    "created_at": "string",
    "updated_at": "string"
  }
]

Create new user_permissions

POST /permissions

Creates a new user_permissions

user_permissions to create

Request Example
{
  "id": "integer",
  "permission_name": "string",
  "created_at": "string",
  "updated_at": "string"
}

user_permissions with id

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "permission_name": "string",
  "created_at": "string",
  "updated_at": "string"
}

Search for user_permissions

GET /permissions/search

Search for user_permissions with query parameters.

key
in query
string

Attribute to search by

value
in query
string

Value to search for

An array of filtereduser_permissions

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "integer",
    "permission_name": "string",
    "created_at": "string",
    "updated_at": "string"
  }
]

Get user_permissions by id

GET /permissions/{id}

Gets user_permissions by id.

id
in path
number (double)

user_permissions id

user_permissions with id

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "permission_name": "string",
  "created_at": "string",
  "updated_at": "string"
}

Update user_permissions

PUT /permissions/{id}

Updates a user_permissions

Data to update

id
in path
number (double)

user_permissions id

Request Example
{
  "id": "integer",
  "permission_name": "string",
  "created_at": "string",
  "updated_at": "string"
}

user_permissions with id

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "permission_name": "string",
  "created_at": "string",
  "updated_at": "string"
}

Delete user_permissions by id

DELETE /permissions/{id}

Deletes a user_permissions by id

id
in path
number (double)

user_permissions id

user_permissions that was deleted

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "permission_name": "string",
  "created_at": "string",
  "updated_at": "string"
}

stripe

First call to make to change stripe keys

POST /stripe/preconfigure

Public and private stripe keys

Request Example
{
  "stripe_secret": "string",
  "stripe_public": "string"
}

Response message

Response Content-Types: application/json
Response Example (200 OK)
{
  "message": "string",
  "do_migration": "string"
}

Second call to make to change stripe keys

POST /stripe/reconfigure

Public and private stripe keys

Request Example
{
  "stripe_secret": "string",
  "stripe_public": "string"
}
200 OK

Response message

Response Content-Types: application/json

Gets stripe keys

GET /stripe/keys
200 OK

Stripe Keys

Response Content-Types: application/json
Response Example (200 OK)
{
  "stripe_secret": "string",
  "stripe_public": "string"
}

event-logs

Get all event_logs

GET /event-logs

Gets all event_logs

200 OK

An array of event_logs

type
Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "integer",
    "user_id": "integer",
    "log_level": "string",
    "log_type": "string",
    "log": "string",
    "created_at": "string",
    "updated_at": "string"
  }
]

Create new event_logs

POST /event-logs

Creates a new event_logs

event_logs to create

Request Example
{
  "id": "integer",
  "user_id": "integer",
  "log_level": "string",
  "log_type": "string",
  "log": "string",
  "created_at": "string",
  "updated_at": "string"
}
200 OK

event_logs with id

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "user_id": "integer",
  "log_level": "string",
  "log_type": "string",
  "log": "string",
  "created_at": "string",
  "updated_at": "string"
}

Search for event_logs

GET /event-logs/search

Search for event_logs with query parameters.

key
in query
string

Attribute to search by

value
in query
string

Value to search for

200 OK

An array of filteredevent_logs

type
Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "integer",
    "user_id": "integer",
    "log_level": "string",
    "log_type": "string",
    "log": "string",
    "created_at": "string",
    "updated_at": "string"
  }
]

Get event_logs by id

GET /event-logs/{id}

Gets event_logs by id.

id
in path
number (double)

event_logs id

200 OK

event_logs with id

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "user_id": "integer",
  "log_level": "string",
  "log_type": "string",
  "log": "string",
  "created_at": "string",
  "updated_at": "string"
}

Update event_logs

PUT /event-logs/{id}

Updates a event_logs

Data to update

id
in path
number (double)

event_logs id

Request Example
{
  "id": "integer",
  "user_id": "integer",
  "log_level": "string",
  "log_type": "string",
  "log": "string",
  "created_at": "string",
  "updated_at": "string"
}
200 OK

event_logs with id

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "user_id": "integer",
  "log_level": "string",
  "log_type": "string",
  "log": "string",
  "created_at": "string",
  "updated_at": "string"
}

Delete event_logs by id

DELETE /event-logs/{id}

Deletes a event_logs by id

id
in path
number (double)

event_logs id

200 OK

event_logs that was deleted

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "user_id": "integer",
  "log_level": "string",
  "log_type": "string",
  "log": "string",
  "created_at": "string",
  "updated_at": "string"
}

funds

Get all funds

GET /funds

Gets all funds

200 OK

An array of funds

type
Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "integer",
    "user_id": "integer",
    "flagged": "boolean",
    "source": "object",
    "created_at": "string",
    "updated_at": "string"
  }
]

Create new funds

POST /funds

Creates a new funds

funds to create

Request Example
{
  "id": "integer",
  "user_id": "integer",
  "flagged": "boolean",
  "source": "object",
  "created_at": "string",
  "updated_at": "string"
}
200 OK

funds with id

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "user_id": "integer",
  "flagged": "boolean",
  "source": "object",
  "created_at": "string",
  "updated_at": "string"
}

Search for funds

GET /funds/search

Search for funds with query parameters.

key
in query
string

Attribute to search by

value
in query
string

Value to search for

200 OK

An array of filteredfunds

type
Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "integer",
    "user_id": "integer",
    "flagged": "boolean",
    "source": "object",
    "created_at": "string",
    "updated_at": "string"
  }
]

Get funds by id

GET /funds/{id}

Gets funds by id.

id
in path
number (double)

funds id

200 OK

funds with id

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "user_id": "integer",
  "flagged": "boolean",
  "source": "object",
  "created_at": "string",
  "updated_at": "string"
}

Update funds

PUT /funds/{id}

Updates a funds

Data to update

id
in path
number (double)

funds id

Request Example
{
  "id": "integer",
  "user_id": "integer",
  "flagged": "boolean",
  "source": "object",
  "created_at": "string",
  "updated_at": "string"
}
200 OK

funds with id

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "user_id": "integer",
  "flagged": "boolean",
  "source": "object",
  "created_at": "string",
  "updated_at": "string"
}

Get requester's fundsobject or objects

GET /funds/own

Gets the funds object or objects of the authenticated user.

200 OK

An array of funds, owned by requester

type
Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "integer",
    "user_id": "integer",
    "flagged": "boolean",
    "source": "object",
    "created_at": "string",
    "updated_at": "string"
  }
]

notifications

Get all notifications

GET /notifications

Gets all notifications

200 OK

An array of notifications

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "integer",
    "source_id": "string",
    "message": "string",
    "type": "string",
    "user_id": "integer",
    "subject": "string",
    "affected_versions": "string",
    "read": "boolean",
    "email_delivered": "boolean",
    "email_read": "boolean",
    "created_at": "string"
  }
]

Create new notifications

POST /notifications

Creates a new notifications

notifications to create

Request Example
{
  "id": "integer",
  "source_id": "string",
  "message": "string",
  "type": "string",
  "user_id": "integer",
  "subject": "string",
  "affected_versions": "string",
  "read": "boolean",
  "email_delivered": "boolean",
  "email_read": "boolean",
  "created_at": "string"
}
200 OK

notifications with id

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "source_id": "string",
  "message": "string",
  "type": "string",
  "user_id": "integer",
  "subject": "string",
  "affected_versions": "string",
  "read": "boolean",
  "email_delivered": "boolean",
  "email_read": "boolean",
  "created_at": "string"
}

Search for notifications

GET /notifications/search

Search for notifications with query parameters.

key
in query
string

Attribute to search by

value
in query
string

Value to search for

200 OK

An array of filterednotifications

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "integer",
    "source_id": "string",
    "message": "string",
    "type": "string",
    "user_id": "integer",
    "subject": "string",
    "affected_versions": "string",
    "read": "boolean",
    "email_delivered": "boolean",
    "email_read": "boolean",
    "created_at": "string"
  }
]

Get notifications by id

GET /notifications/{id}

Gets notifications by id.

id
in path
number (double)

notifications id

200 OK

notifications with id

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "source_id": "string",
  "message": "string",
  "type": "string",
  "user_id": "integer",
  "subject": "string",
  "affected_versions": "string",
  "read": "boolean",
  "email_delivered": "boolean",
  "email_read": "boolean",
  "created_at": "string"
}

Update notifications

PUT /notifications/{id}

Updates a notifications

Data to update

id
in path
number (double)

notifications id

Request Example
{
  "id": "integer",
  "source_id": "string",
  "message": "string",
  "type": "string",
  "user_id": "integer",
  "subject": "string",
  "affected_versions": "string",
  "read": "boolean",
  "email_delivered": "boolean",
  "email_read": "boolean",
  "created_at": "string"
}
200 OK

notifications with id

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "source_id": "string",
  "message": "string",
  "type": "string",
  "user_id": "integer",
  "subject": "string",
  "affected_versions": "string",
  "read": "boolean",
  "email_delivered": "boolean",
  "email_read": "boolean",
  "created_at": "string"
}

Delete notifications by id

DELETE /notifications/{id}

Deletes a notifications by id

id
in path
number (double)

notifications id

200 OK

notifications that was deleted

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "source_id": "string",
  "message": "string",
  "type": "string",
  "user_id": "integer",
  "subject": "string",
  "affected_versions": "string",
  "read": "boolean",
  "email_delivered": "boolean",
  "email_read": "boolean",
  "created_at": "string"
}

Get requester's notificationsobject or objects

GET /notifications/own

Gets the notifications object or objects of the authenticated user.

200 OK

An array of notifications, owned by requester

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "integer",
    "source_id": "string",
    "message": "string",
    "type": "string",
    "user_id": "integer",
    "subject": "string",
    "affected_versions": "string",
    "read": "boolean",
    "email_delivered": "boolean",
    "email_read": "boolean",
    "created_at": "string"
  }
]

service-categories

Get all service_categories

GET /service-categories

Gets all service_categories

An array of service_categories

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "integer",
    "name": "string",
    "description": "string",
    "created_at": "string",
    "updated_at": "string"
  }
]

Create new service_categories

POST /service-categories

Creates a new service_categories

service_categories to create

Request Example
{
  "id": "integer",
  "name": "string",
  "description": "string",
  "created_at": "string",
  "updated_at": "string"
}

service_categories with id

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "name": "string",
  "description": "string",
  "created_at": "string",
  "updated_at": "string"
}

Search for service_categories

GET /service-categories/search

Search for service_categories with query parameters.

key
in query
string

Attribute to search by

value
in query
string

Value to search for

An array of filteredservice_categories

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "integer",
    "name": "string",
    "description": "string",
    "created_at": "string",
    "updated_at": "string"
  }
]

Get service_categories by id

GET /service-categories/{id}

Gets service_categories by id.

id
in path
number (double)

service_categories id

service_categories with id

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "name": "string",
  "description": "string",
  "created_at": "string",
  "updated_at": "string"
}

Update service_categories

PUT /service-categories/{id}

Updates a service_categories

Data to update

id
in path
number (double)

service_categories id

Request Example
{
  "id": "integer",
  "name": "string",
  "description": "string",
  "created_at": "string",
  "updated_at": "string"
}

service_categories with id

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "name": "string",
  "description": "string",
  "created_at": "string",
  "updated_at": "string"
}

Delete service_categories by id

DELETE /service-categories/{id}

Deletes a service_categories by id

id
in path
number (double)

service_categories id

service_categories that was deleted

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "name": "string",
  "description": "string",
  "created_at": "string",
  "updated_at": "string"
}

service-instance-messages

Get all service_instance_messages

GET /service-instance-messages

Gets all service_instance_messages

An array of service_instance_messages

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "integer",
    "service_instance_id": "integer",
    "user_id": "integer",
    "message": "string",
    "created_at": "string",
    "updated_at": "string",
    "references": {
      "users": [
        null
      ]
    }
  }
]

Create new service_instance_messages

POST /service-instance-messages

Creates a new service_instance_messages

service_instance_messages to create

Request Example
{
  "id": "integer",
  "service_instance_id": "integer",
  "user_id": "integer",
  "message": "string",
  "created_at": "string",
  "updated_at": "string",
  "references": {
    "users": [
      null
    ]
  }
}

service_instance_messages with id

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "service_instance_id": "integer",
  "user_id": "integer",
  "message": "string",
  "created_at": "string",
  "updated_at": "string",
  "references": {
    "users": [
      null
    ]
  }
}

Search for service_instance_messages

GET /service-instance-messages/search

Search for service_instance_messages with query parameters.

key
in query
string

Attribute to search by

value
in query
string

Value to search for

An array of filteredservice_instance_messages

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "integer",
    "service_instance_id": "integer",
    "user_id": "integer",
    "message": "string",
    "created_at": "string",
    "updated_at": "string",
    "references": {
      "users": [
        null
      ]
    }
  }
]

Get service_instance_messages by id

GET /service-instance-messages/{id}

Gets service_instance_messages by id.

id
in path
number (double)

service_instance_messages id

service_instance_messages with id

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "service_instance_id": "integer",
  "user_id": "integer",
  "message": "string",
  "created_at": "string",
  "updated_at": "string",
  "references": {
    "users": [
      null
    ]
  }
}

Update service_instance_messages

PUT /service-instance-messages/{id}

Updates a service_instance_messages

Data to update

id
in path
number (double)

service_instance_messages id

Request Example
{
  "id": "integer",
  "service_instance_id": "integer",
  "user_id": "integer",
  "message": "string",
  "created_at": "string",
  "updated_at": "string",
  "references": {
    "users": [
      null
    ]
  }
}

service_instance_messages with id

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "service_instance_id": "integer",
  "user_id": "integer",
  "message": "string",
  "created_at": "string",
  "updated_at": "string",
  "references": {
    "users": [
      null
    ]
  }
}

Delete service_instance_messages by id

DELETE /service-instance-messages/{id}

Deletes a service_instance_messages by id

id
in path
number (double)

service_instance_messages id

service_instance_messages that was deleted

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "service_instance_id": "integer",
  "user_id": "integer",
  "message": "string",
  "created_at": "string",
  "updated_at": "string",
  "references": {
    "users": [
      null
    ]
  }
}

service-instance-properties

Get all service_instance_properties

GET /service-instance-properties

Gets all service_instance_properties

An array of service_instance_properties

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "integer",
    "name": "string",
    "type": "string",
    "data": "object",
    "config": "object",
    "prop_class": "string",
    "prop_label": "string",
    "prop_description": "string",
    "created_at": "string",
    "updated_at": "string",
    "parent_id": "integer",
    "private": "boolean",
    "prompt_user": "boolean",
    "required": "boolean"
  }
]

Create new service_instance_properties

POST /service-instance-properties

Creates a new service_instance_properties

service_instance_properties to create

Request Example
{
  "id": "integer",
  "name": "string",
  "type": "string",
  "data": "object",
  "config": "object",
  "prop_class": "string",
  "prop_label": "string",
  "prop_description": "string",
  "created_at": "string",
  "updated_at": "string",
  "parent_id": "integer",
  "private": "boolean",
  "prompt_user": "boolean",
  "required": "boolean"
}

service_instance_properties with id

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "name": "string",
  "type": "string",
  "data": "object",
  "config": "object",
  "prop_class": "string",
  "prop_label": "string",
  "prop_description": "string",
  "created_at": "string",
  "updated_at": "string",
  "parent_id": "integer",
  "private": "boolean",
  "prompt_user": "boolean",
  "required": "boolean"
}

Search for service_instance_properties

GET /service-instance-properties/search

Search for service_instance_properties with query parameters.

key
in query
string

Attribute to search by

value
in query
string

Value to search for

An array of filteredservice_instance_properties

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "integer",
    "name": "string",
    "type": "string",
    "data": "object",
    "config": "object",
    "prop_class": "string",
    "prop_label": "string",
    "prop_description": "string",
    "created_at": "string",
    "updated_at": "string",
    "parent_id": "integer",
    "private": "boolean",
    "prompt_user": "boolean",
    "required": "boolean"
  }
]

Get service_instance_properties by id

GET /service-instance-properties/{id}

Gets service_instance_properties by id.

id
in path
number (double)

service_instance_properties id

service_instance_properties with id

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "name": "string",
  "type": "string",
  "data": "object",
  "config": "object",
  "prop_class": "string",
  "prop_label": "string",
  "prop_description": "string",
  "created_at": "string",
  "updated_at": "string",
  "parent_id": "integer",
  "private": "boolean",
  "prompt_user": "boolean",
  "required": "boolean"
}

Update service_instance_properties

PUT /service-instance-properties/{id}

Updates a service_instance_properties

id
in path
number (double)

service_instance_properties id

Request Example
{
  "id": "integer",
  "name": "string",
  "type": "string",
  "data": "object",
  "config": "object",
  "prop_class": "string",
  "prop_label": "string",
  "prop_description": "string",
  "created_at": "string",
  "updated_at": "string",
  "parent_id": "integer",
  "private": "boolean",
  "prompt_user": "boolean",
  "required": "boolean"
}

service_instance_properties with id

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "name": "string",
  "type": "string",
  "data": "object",
  "config": "object",
  "prop_class": "string",
  "prop_label": "string",
  "prop_description": "string",
  "created_at": "string",
  "updated_at": "string",
  "parent_id": "integer",
  "private": "boolean",
  "prompt_user": "boolean",
  "required": "boolean"
}

Delete service_instance_properties by id

DELETE /service-instance-properties/{id}

Deletes a service_instance_properties by id

id
in path
number (double)

service_instance_properties id

service_instance_properties that was deleted

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "name": "string",
  "type": "string",
  "data": "object",
  "config": "object",
  "prop_class": "string",
  "prop_label": "string",
  "prop_description": "string",
  "created_at": "string",
  "updated_at": "string",
  "parent_id": "integer",
  "private": "boolean",
  "prompt_user": "boolean",
  "required": "boolean"
}

service-template-properties

Get all service_template_properties

GET /service-template-properties

Gets all service_template_properties

An array of service_template_properties

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "integer",
    "name": "string",
    "type": "string",
    "data": "object",
    "config": "object",
    "prop_class": "string",
    "prop_label": "string",
    "prop_description": "string",
    "created_at": "string",
    "updated_at": "string",
    "parent_id": "integer",
    "private": "boolean",
    "prompt_user": "boolean",
    "required": "boolean"
  }
]

Create new service_template_properties

POST /service-template-properties

Creates a new service_template_properties

service_template_properties to create

Request Example
{
  "id": "integer",
  "name": "string",
  "type": "string",
  "data": "object",
  "config": "object",
  "prop_class": "string",
  "prop_label": "string",
  "prop_description": "string",
  "created_at": "string",
  "updated_at": "string",
  "parent_id": "integer",
  "private": "boolean",
  "prompt_user": "boolean",
  "required": "boolean"
}

service_template_properties with id

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "name": "string",
  "type": "string",
  "data": "object",
  "config": "object",
  "prop_class": "string",
  "prop_label": "string",
  "prop_description": "string",
  "created_at": "string",
  "updated_at": "string",
  "parent_id": "integer",
  "private": "boolean",
  "prompt_user": "boolean",
  "required": "boolean"
}

Search for service_template_properties

GET /service-template-properties/search

Search for service_template_properties with query parameters.

key
in query
string

Attribute to search by

value
in query
string

Value to search for

An array of filteredservice_template_properties

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "integer",
    "name": "string",
    "type": "string",
    "data": "object",
    "config": "object",
    "prop_class": "string",
    "prop_label": "string",
    "prop_description": "string",
    "created_at": "string",
    "updated_at": "string",
    "parent_id": "integer",
    "private": "boolean",
    "prompt_user": "boolean",
    "required": "boolean"
  }
]

Get service_template_properties by id

GET /service-template-properties/{id}

Gets service_template_properties by id.

id
in path
number (double)

service_template_properties id

service_template_properties with id

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "name": "string",
  "type": "string",
  "data": "object",
  "config": "object",
  "prop_class": "string",
  "prop_label": "string",
  "prop_description": "string",
  "created_at": "string",
  "updated_at": "string",
  "parent_id": "integer",
  "private": "boolean",
  "prompt_user": "boolean",
  "required": "boolean"
}

Update service_template_properties

PUT /service-template-properties/{id}

Updates a service_template_properties

id
in path
number (double)

service_template_properties id

Request Example
{
  "id": "integer",
  "name": "string",
  "type": "string",
  "data": "object",
  "config": "object",
  "prop_class": "string",
  "prop_label": "string",
  "prop_description": "string",
  "created_at": "string",
  "updated_at": "string",
  "parent_id": "integer",
  "private": "boolean",
  "prompt_user": "boolean",
  "required": "boolean"
}

service_template_properties with id

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "name": "string",
  "type": "string",
  "data": "object",
  "config": "object",
  "prop_class": "string",
  "prop_label": "string",
  "prop_description": "string",
  "created_at": "string",
  "updated_at": "string",
  "parent_id": "integer",
  "private": "boolean",
  "prompt_user": "boolean",
  "required": "boolean"
}

Delete service_template_properties by id

DELETE /service-template-properties/{id}

Deletes a service_template_properties by id

id
in path
number (double)

service_template_properties id

service_template_properties that was deleted

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "name": "string",
  "type": "string",
  "data": "object",
  "config": "object",
  "prop_class": "string",
  "prop_label": "string",
  "prop_description": "string",
  "created_at": "string",
  "updated_at": "string",
  "parent_id": "integer",
  "private": "boolean",
  "prompt_user": "boolean",
  "required": "boolean"
}

webhooks

Get all webhooks

GET /webhooks

Gets all webhooks

200 OK

An array of webhooks

type
Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "integer",
    "endpoint_url": "string",
    "health": "string",
    "async_lifecycle": "boolean",
    "created_at": "string",
    "updated_at": "string"
  }
]

Create new webhooks

POST /webhooks

Creates a new webhooks

webhooks to create

Request Example
{
  "id": "integer",
  "endpoint_url": "string",
  "health": "string",
  "async_lifecycle": "boolean",
  "created_at": "string",
  "updated_at": "string"
}
200 OK

webhooks with id

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "endpoint_url": "string",
  "health": "string",
  "async_lifecycle": "boolean",
  "created_at": "string",
  "updated_at": "string"
}

Search for webhooks

GET /webhooks/search

Search for webhooks with query parameters.

key
in query
string

Attribute to search by

value
in query
string

Value to search for

200 OK

An array of filteredwebhooks

type
Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "integer",
    "endpoint_url": "string",
    "health": "string",
    "async_lifecycle": "boolean",
    "created_at": "string",
    "updated_at": "string"
  }
]

Get webhooks by id

GET /webhooks/{id}

Gets webhooks by id.

id
in path
number (double)

webhooks id

200 OK

webhooks with id

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "endpoint_url": "string",
  "health": "string",
  "async_lifecycle": "boolean",
  "created_at": "string",
  "updated_at": "string"
}

Update webhooks

PUT /webhooks/{id}

Updates a webhooks

Data to update

id
in path
number (double)

webhooks id

Request Example
{
  "id": "integer",
  "endpoint_url": "string",
  "health": "string",
  "async_lifecycle": "boolean",
  "created_at": "string",
  "updated_at": "string"
}
200 OK

webhooks with id

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "endpoint_url": "string",
  "health": "string",
  "async_lifecycle": "boolean",
  "created_at": "string",
  "updated_at": "string"
}

Delete webhooks by id

DELETE /webhooks/{id}

Deletes a webhooks by id

id
in path
number (double)

webhooks id

200 OK

webhooks that was deleted

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "integer",
  "endpoint_url": "string",
  "health": "string",
  "async_lifecycle": "boolean",
  "created_at": "string",
  "updated_at": "string"
}

Schema Definitions

charge_items: object

id: integer
user_id: integer
service_instance_id: integer
approved: boolean
subscription_id: string (up to 255 chars)
item_id: string (up to 255 chars)
amount: number (float)
currency: string (up to 255 chars)
description: string (up to 255 chars)
period_start: integer (int64)
period_end: integer (int64)
created_at: string
updated_at: string
Example
{
  "id": "integer",
  "user_id": "integer",
  "service_instance_id": "integer",
  "approved": "boolean",
  "subscription_id": "string",
  "item_id": "string",
  "amount": "number (float)",
  "currency": "string",
  "description": "string",
  "period_start": "integer (int64)",
  "period_end": "integer (int64)",
  "created_at": "string",
  "updated_at": "string"
}

event_logs: object

id: integer
user_id: integer
log_level: string (up to 255 chars)
log_type: string (up to 255 chars)
log: string (up to 255 chars)
created_at: string
updated_at: string
Example
{
  "id": "integer",
  "user_id": "integer",
  "log_level": "string",
  "log_type": "string",
  "log": "string",
  "created_at": "string",
  "updated_at": "string"
}

files: object

id: integer
user_id: integer
path: string (up to 255 chars)
size: integer
name: string (up to 255 chars)
mimetype: string (up to 255 chars)
created_at: string
updated_at: string
Example
{
  "id": "integer",
  "user_id": "integer",
  "path": "string",
  "size": "integer",
  "name": "string",
  "mimetype": "string",
  "created_at": "string",
  "updated_at": "string"
}

funds: object

id: integer
user_id: integer
flagged: boolean
source: object
created_at: string
updated_at: string
Example
{
  "id": "integer",
  "user_id": "integer",
  "flagged": "boolean",
  "source": "object",
  "created_at": "string",
  "updated_at": "string"
}

invitations: object

id: integer
token: string (up to 255 chars)
user_id: integer
created_at: string
updated_at: string
Example
{
  "id": "integer",
  "token": "string",
  "user_id": "integer",
  "created_at": "string",
  "updated_at": "string"
}

user_invoice_lines: object

id: integer
invoice_id: integer
line_item_id: string (up to 255 chars)
amount: number (float)
currency: string (up to 255 chars)
description: string (up to 255 chars)
proration: boolean
quantity: integer
type: string (up to 255 chars)
livemode: boolean
created_at: string
updated_at: string
Example
{
  "id": "integer",
  "invoice_id": "integer",
  "line_item_id": "string",
  "amount": "number (float)",
  "currency": "string",
  "description": "string",
  "proration": "boolean",
  "quantity": "integer",
  "type": "string",
  "livemode": "boolean",
  "created_at": "string",
  "updated_at": "string"
}

notification_templates: object

id: integer
name: string (up to 255 chars)
event_name: string (up to 255 chars)
message: string
subject: string (up to 255 chars)
description: string (up to 255 chars)
model: string (up to 255 chars)
additional_recipients: string[]
send_email: boolean
send_to_owner: boolean
create_notification: boolean
created_at: string
updated_at: string
Example
{
  "id": "integer",
  "name": "string",
  "event_name": "string",
  "message": "string",
  "subject": "string",
  "description": "string",
  "model": "string",
  "additional_recipients": [
    "string (email)"
  ],
  "send_email": "boolean",
  "send_to_owner": "boolean",
  "create_notification": "boolean",
  "created_at": "string",
  "updated_at": "string"
}

notifications: object

id: integer
source_id: string (up to 255 chars)
message: string
type: string (up to 255 chars)
user_id: integer
subject: string (up to 255 chars)
affected_versions: string (up to 255 chars)
read: boolean
email_delivered: boolean
email_read: boolean
created_at: string
Example
{
  "id": "integer",
  "source_id": "string",
  "message": "string",
  "type": "string",
  "user_id": "integer",
  "subject": "string",
  "affected_versions": "string",
  "read": "boolean",
  "email_delivered": "boolean",
  "email_read": "boolean",
  "created_at": "string"
}

password_reset_request: object

id: integer
user_id: integer
hash: string (up to 255 chars)
created_at: string
updated_at: string
Example
{
  "id": "integer",
  "user_id": "integer",
  "hash": "string",
  "created_at": "string",
  "updated_at": "string"
}

user_permissions: object

id: integer
permission_name: string (up to 255 chars)
created_at: string
updated_at: string
Example
{
  "id": "integer",
  "permission_name": "string",
  "created_at": "string",
  "updated_at": "string"
}

user_roles: object

id: integer
role_name: string (up to 255 chars)
created_at: string
updated_at: string
Example
{
  "id": "integer",
  "role_name": "string",
  "created_at": "string",
  "updated_at": "string"
}

service_categories: object

id: integer
name: string (up to 255 chars)
description: string (up to 255 chars)
created_at: string
updated_at: string
Example
{
  "id": "integer",
  "name": "string",
  "description": "string",
  "created_at": "string",
  "updated_at": "string"
}

service_instances: object

id: integer
service_id: integer
user_id: integer
requested_by: integer
payment_plan: object
name: string (up to 255 chars)
description: string
subscription_id: string (up to 255 chars)
subscribed_at: integer (int64)
trial_end: integer (int64)
payment_structure_template_id: integer
status: string
type: string
split_configuration: object
created_at: string
updated_at: string
references: object
Example
{
  "id": "integer",
  "service_id": "integer",
  "user_id": "integer",
  "requested_by": "integer",
  "payment_plan": "object",
  "name": "string",
  "description": "string",
  "subscription_id": "string",
  "subscribed_at": "integer (int64)",
  "trial_end": "integer (int64)",
  "payment_structure_template_id": "integer",
  "status": "string",
  "type": "string",
  "split_configuration": "object",
  "created_at": "string",
  "updated_at": "string",
  "references": {
    "service_templates": [
      null
    ],
    "service_instance_properties": [
      null
    ],
    "service_instance_seats": [
      null
    ],
    "service_instance_messages": [
      null
    ],
    "charge_items": [
      null
    ],
    "service_instance_cancellations": [
      null
    ],
    "users": [
      null
    ],
    "payment_structure_templates": [
      null
    ]
  }
}

service_instance_cancellations: object

id: integer
service_instance_id: integer
user_id: integer
status: string
fulfilled_by: integer
created_at: string
updated_at: string
Example
{
  "id": "integer",
  "service_instance_id": "integer",
  "user_id": "integer",
  "status": "string",
  "fulfilled_by": "integer",
  "created_at": "string",
  "updated_at": "string"
}

service_instance_messages: object

id: integer
service_instance_id: integer
user_id: integer
message: string (up to 255 chars)
created_at: string
updated_at: string
references: object
Example
{
  "id": "integer",
  "service_instance_id": "integer",
  "user_id": "integer",
  "message": "string",
  "created_at": "string",
  "updated_at": "string",
  "references": {
    "users": [
      null
    ]
  }
}

service_instance_properties: object

id: integer
name: string (up to 255 chars)
type: string (up to 255 chars)
data: object
config: object
prop_class: string (up to 255 chars)
prop_label: string (up to 255 chars)
prop_description: string (up to 255 chars)
created_at: string
updated_at: string
parent_id: integer
private: