Maestrano Enterprise API

This documentation presents all the entities available on MNOE API, provided by Maestrano.

Note this page about the version 2 of the enterprise API which is currently in beta.

API V1

If you are looking for the V1 documentation you will find it here.

Endpoint

The MNOE API production endpoint is available here: https://api-hub.maestrano.com

Path prefixing

All API path must be prefixed by: api/mnoe/v2/

Authentication

The MNOE APIs use HTTP basic authentication:

api_key: <your tenant API key>
api_secret: <your tenant API secret>

JSON API

The Mno Hub api is following the JSON API specifications.

Documentation

  •   Unique attribute

  •   Read only attribute

  •   Write only attribute

  •   Create only attribute

  •   Mandatory attribute

  •   Filterable attribute

Date Format

The date format used for updating and querying data is ISO 8601.

The accepted format are:

  • Complete date: YYYY-MM-DD (eg 1985-17-09)

  • Complete date plus hours and minutes: YYYY-MM-DDThh:mmTZD (eg 1997-07-16T19:20+01:00)

  • Complete date plus hours, minutes and seconds: YYYY-MM-DDThh:mm:ssTZD (eg 1997-07-16T19:20:30+01:00)

  • Complete date plus hours, minutes, seconds and a decimal fraction of a second YYYY-MM-DDThh:mm:ss.sTZD (eg 1997-07-16T19:20:30.45+01:00)

where:

  • YYYY = four-digit year

  • MM = two-digit month (01=January, etc.)

  • DD = two-digit day of month (01 through 31)

  • hh = two digits of hour (00 through 23) (am/pm NOT allowed)

  • mm = two digits of minute (00 through 59)

  • ss = two digits of second (00 through 59)

  • s = one or more digits representing a decimal fraction of a second

  • TZD = time zone designator (Z or +hh:mm or -hh:mm)

API | Querying

Resources collection

GET https://api-hub.maestrano.com/api/mnoe/v2/:collection_name

Resources collection
GET/:collection_name

To retrieve a collection of resources, an HTTP GET request is issued agains the resources endpoint. By default, only the first 30 elements of the collection ordered by creation date are returned. Refer to the filter and pagination section below for more details.

To retrieve the list of organizations the following request is sent

GET /organizations

Single Resource

GET https://api-hub.maestrano.com/api/mnoe/v2/:collection_name/:id

Single Resource
GET/:collection_name/:id

To fetch a single resource by its unique identifier, a GET request against the resource URL can be sent.

GET /organizations/5

See Specifications


GET https://api-hub.maestrano.com/api/mnoe/v2/:collection_name?include=:another_collection

Pagination

GET https://api-hub.maestrano.com/api/mnoe/v2/:collection_name?page[number]=10&page[size]=10

Pagination
GET/:collection_name?page[number]=10&page[size]=10

When retrieving a collection of resources, you may paginate your calls.

  • page[size] the number of elements per page, the maximum is 50

  • page[number]= the index of the page

The pagination details are returned when fetching a collection.

  • first: the first page of data

  • last: the last page of data

  • prev: the previous page of data

  • next: the next page of data

See Specifications


Ordering

GET https://api-hub.maestrano.com/api/mnoe/v2/:collection_name?sort=age,name

Ordering
GET/:collection_name?sort=age,name

Examples:

Request to fetch the first 10 Organizations (response provided)

GET /organization?page[number]=1&page[size]=10

Request to retrieve the last created Organizations

GET /organizations?page[number]=1&page[size]=1&sort=-created_at

Request to retrieve the Organizations from index 10 to 19 ordered by name

GET /organizations?page[number]=3&page[size]=10&sort=name

See Specifications


Filtering

GET https://api-hub.maestrano.com/api/mnoe/v2/:collection_name?filter[:filter_option]=:value

Filtering
GET/:collection_name?filter[:filter_option]=:value

To filter a request on the collection of resources, the filter URL parameter can be specified. The following criteria are currently supported: :filter_option may be equal to:

  • field : the request will be filtered for the lines which field is equal to the value

  • field.operation : where operation may be:

    • ne : attribute must be not equal to value
    • none : attribute is null(value is ignored)
    • not : attribute must be not equal to value (if value is null, it will return the non null values)
    • gte : attribute must be greater or equal to value
    • gt : attribute must be greater to value
    • lt : attribute must be lower than value
    • lte : attribute must be lower or equal to value
    • like : attribute must be like to value (for example “%somevalue%”)
    • in : attribute must be in the collection
    • nin : attribute must be not in the collection

Examples:

Retrieve the Organizations having a billing_currency in USD

GET /organizations?filter[billing_currency]=USD

Retrieve the Invoices that are at status “DRAFT”

GET /invoices?filter[status]=DRAFT

Retrieve the Organization that have a latitude greater than 2000 and have a name starting from a letter a to x

GET /organizations?filter[latitude.gt]=200&filter[name.lte]=x

Retrieve the Invoices that where created before the 1985-09-17T20:00:00

GET /invoices?filter[created_at.lt]=1985-09-17T20:00:00

Retrieve the Users with a name containing “jo”

GET /users?filter[name.like]=%25jo%25

Retrieve the organizations with a name that is in the list[“Corporate Name”, “Maker Association”]

GET /organizations?filter[name.in]=Corporate Name,Maker Association

Retrieve the organizations with a name that is not in the list[“Corporate Name”, “Maker Association”]

GET /organizations?filter[name.nin]=Corporate Name,Maker Association

Relationships

For some resources, you may filter on their relationships. For example: Retrieve the app instances with an app named “Great Application”

GET /app_instances?filter[app.name]=Great Application

Retrieve the users that are linked to the organization with id 48

GET /users?filter[organizations.id]=56

API | Save Data

See Specifications

Resource creation

POST https://api-hub.maestrano.com/api/mnoe/v2/:collection_name

Resource creation
POST/:collection_name

To create a new resource, an HTTP POST request is issued against the resource collection endpoint. The payload of the request must contain the attributes as described in the resources schemas in the sections below.

To create a resource of type organizations the following request can be sent:

POST /organizations

with the following payload:

{
  "data": {
    "type": "organizations",
    "attributes": {
      "name": "Organization name"
    }
  }
}

Resource update

PATCH https://api-hub.maestrano.com/api/mnoe/v2/:collection_name/:id
Requestsexample 1
Headers
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "organizations",
    "id": "22",
    "attributes": {
      "name": "Organization name"
    }
  }
}
Responses201422
Body
{
  "data": {
    "id": "45",
    "type": "organizations",
    "links": {
      "self": "http://localhost:3000/api/mnoe/v2/organizations/45"
    },
    "attributes": {
      "created_at": "2017-04-13T16:03:10.037Z",
      "updated_at": "2017-04-13T16:03:10.037Z",
      "uid": "org-fbx1",
      "name": "name",
      "account_frozen": false,
      "soa_enabled": true,
      "logo": null,
      "latitude": 0,
      "longitude": 0,
      "geo_country_code": null,
      "geo_state_code": null,
      "geo_city": null,
      "geo_tz": null,
      "geo_currency": null,
      "meta_data": null,
      "industry": null,
      "size": null,
      "billing_currency": "USD",
      "financial_year_end_month": 6,
      "external_id": null,
      "has_myob_essentials_only": false
    },
    "relationships": {
      "users": {
        "links": {
          "self": "http://localhost:3000/api/mnoe/v2/organizations/45/relationships/users",
          "related": "http://localhost:3000/api/mnoe/v2/organizations/45/users"
        }
      },
      "app_instances": {
        "links": {
          "self": "http://localhost:3000/api/mnoe/v2/organizations/45/relationships/app_instances",
          "related": "http://localhost:3000/api/mnoe/v2/organizations/45/app_instances"
        }
      },
      "invoices": {
        "links": {
          "self": "http://localhost:3000/api/mnoe/v2/organizations/45/relationships/invoices",
          "related": "http://localhost:3000/api/mnoe/v2/organizations/45/invoices"
        }
      },
      "teams": {
        "links": {
          "self": "http://localhost:3000/api/mnoe/v2/organizations/45/relationships/teams",
          "related": "http://localhost:3000/api/mnoe/v2/organizations/45/teams"
        }
      },
      "credit_card": {
        "links": {
          "self": "http://localhost:3000/api/mnoe/v2/organizations/45/relationships/credit_card",
          "related": "http://localhost:3000/api/mnoe/v2/organizations/45/credit_card"
        }
      }
    }
  }
}
Headers
Content-Type: application/vnd.api+json
Body
{
  "errors": [
    {
      "title": "can't be blank",
      "detail": "name - can't be blank",
      "code": "100",
      "source": {
        "pointer": "/data/attributes/name"
      },
      "status": "422"
    }
  ]
}

Resource update
PATCH/:collection_name/:id

To update a resource, an HTTP PATCH request is issued against the single resource endpoint. The payload of the request must contain the resource attributes as described in the resources schemas in the sections below.

To update a resource of type organizations with the id 22 the following request can be sent:

PATCH /organizations/22

with the following payload:

{
  "data": {
    "type": "organizations",
    "id": "22",
    "attributes": {
      "name": "Organization name"
    }
  }
}

Common Workflows

Maestrano Model

  • Maestrano model contains User and Organizations/Companies.

  • An organization may contains several users and a user may be in multiple organizations.

  • A user has a role inside an organization.

User Roles

  • Super Admin: has all power within the company including access to billing management

  • Admin: can manage other members (except Super Admin users) and manage the company apps

  • Member: can see other members and access the company apps

Create Users and Organizations

Create User directly linked to Organization

The best way to create a user directly linked to the company is to use the orga_on_create field when creating a User.

Create a User

{
   "data":{
      "type":"users",
      "attributes":{
         "name":"name",
         "surname":"surname",
         "email":"email@test.com",
         "company": "Bob's Company",
         "orga_on_create":"true"
      }
   }
}

This will automatically create the Organization “Bob’s Company” and the user “Bob Partrige” as a Super Admin of the company.

Add other Users to the Organization

In order to add user to an organization, you may directly use the OrgaRelation endpoint which is the join table between User and Organization.

Add User to an organization

{
       "data":{
          "type":"orga_relations",
          "attributes":{
             "user_id": 35,// The id of the user
             "organization_id": 3,// The id of the organization
             "role": "Member"// The role of the user
          }
       }
    }

Or use the users endpoint of Organizations :

Add User to an organization

Change User role

In order to add user to add user to an organization, you may directly use the OrgaRelation endpoint

Update User’s role in an organization

{
       "data":{
          "type":"orga_relations",
          "id": 42
          "attributes":{
             "role": "Member"
          }
       }
    }

Or use the users endpoint of Organizations :

Update User Role inside an Organization

Remove User from an Organization

Use the OrgaRelation endpoint: Remove user from organization

Or use the Organizations endpoint: Remove user from organization

Create a User

Invite the user via email

When user invite other users, we advise to send an mail only containing a confirmation_token. The User should then update his password himself.

You should never send password via email.

Generate a confirmation_token randomly, for example: Bfb7zVWMxU7y6QYxZkZC. Create the user with the confirmation_token and set confirmation_sent_at to the current time.

Create a User

{
   "data":{
      "type":"users",
      "attributes":{
        "name": "Bob",
        "surname": "Partridge",
        "email": "bob.partridge@test.com",
        "password": "HisPassword",
        "company": "Bob's Company",
        "confirmation_token": "Bfb7zVWMxU7y6QYxZkZC",
        "confirmation_sent_at": "2016-09-13T16:28:40"
      }
   }
}

Send an email to your newly created user containing a link containing the confirmation_token. For example: http://platform.com/mnoe/auth/users/confirmation?confirmation_token=Bfb7zVWMxU7y6QYxZkZC

The user clicks on the link the request contains the confirmation_token parameters. Extract that parameter and retrieve the user by confirmation_token:

Get a User

GET /users?$limit=1&filter[confirmation_token]=Bfb7zVWMxU7y6QYxZkZC

You may check that the confirmation_sent_at is not too old. (for example less than 3 days) before proceeding.

The user can decide his password.

Update a User

{
  "data": {
    "password": "HisChosenPassword"
  }
}

Directly create the user with a password

Use this option if you would like users to give their details and password when they create an account on the platform.

Create a User

{
  "data": {
    "name": "Bob",
    "surname": "Partridge",
    "email": "bob.partridge@test.com",
    "password": "HisPassword",
    "company": "Bob's Company"
  }
}

Provision an App for an Organization

In order to provision an application for an Organization, you should first list the list of available applications and extract their nid.

Get Apps

Provision an App Instance

{
  "data": {
    "attributes": {
      "app_nid": "cin7-dev",
      "owner_id": "3",
      "owner_type": "organization"
    }
  }
}

Addresses

Manage Addresses. An address is a polymorphic resource attached to an owner and represents a physical location where an entity does business. Addresses are important when it comes to calculating taxes for any kind of financial invoicing. Only tenants have addresses at this stage.

Addresses are geocoded upon creation. Fields like the longitude, latitude, city and state_code are automatically populated.

Attributes

Field Type Description Example
id Filterable Unique Read only integer ID 42
created_at Filterable Read only datetime Date of creation 2018-09-21T05:30:21Z
updated_at Filterable Read only datetime Date of last update 2018-09-21T05:30:21Z
city Filterable Mandatory string The city of the location Sydney
country_code Filterable Mandatory string An alpha2 code representing the country AU
latitude Filterable Read only decimal Latitude coordinate
longitude Filterable Read only decimal Longitude coordinate
main Filterable boolean Whether this address is the main one. Only one main address per entity. false
postal_code Filterable Mandatory string The postal code. Postal codes are essential for tax calculation. 2000
state_code Filterable Mandatory string The federal state of the location NSW
street Filterable Mandatory string Unit, street number and name 46 Market Street
phone Filterable Mandatory string Phone number of the address 9174550598
phone_country_code Filterable string Phone country code of the address phone number US

Additional Filters

Filter Description
tenant.id Tenant relation
owner.id Owner relation
owner.type Owner relation

Relationships

Name Type To
tenant One to One Tenant
owner One to One Owner

Addresses

GET https://api-hub.maestrano.com/api/mnoe/v2/addresses
Responses200
Body
{
  "data": [
    {
      "id": "42",
      "type": "addresses",
      "links": {
        "self": "/api/mnoe/v2/addresses/42"
      },
      "attributes": {
        "created_at": "2018-09-21T05:30:21.366Z",
        "updated_at": "2018-09-21T05:30:21.365Z",
        "city": "Sydney",
        "country_code": "AU",
        "latitude": null,
        "longitude": null,
        "main": false,
        "postal_code": "2000",
        "state_code": "NSW",
        "street": "46 Market Street",
        "phone": "9174550598",
        "phone_country_code": "US"
      },
      "relationships": {
        "tenant": {
          "links": {
            "self": "/api/mnoe/v2/addresses/42/relationships/tenant",
            "related": "/api/mnoe/v2/addresses/42/tenant"
          }
        },
        "owner": {
          "links": {
            "self": "/api/mnoe/v2/addresses/42/relationships/owner",
            "related": "/api/mnoe/v2/addresses/42/owner"
          }
        }
      }
    }
  ]
}

Get Addresses
GET/addresses

Get the list of addresses.


POST https://api-hub.maestrano.com/api/mnoe/v2/addresses
Requestsexample 1
Body
{
  "data": {
    "type": "addresses",
    "attributes": {
      "street": "46 Market Street",
      "postal_code": "2000",
      "country_code": "AU"
    },
    "relationships": {
      "owner": {
        "data": {
          "type": "tenants",
          "id": 123
        }
      }
    }
  }
}
Responses201
Body
{
  "data": {
    "id": "42",
    "type": "addresses",
    "links": {
      "self": "/api/mnoe/v2/addresses/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:21.366Z",
      "updated_at": "2018-09-21T05:30:21.365Z",
      "city": "Sydney",
      "country_code": "AU",
      "latitude": null,
      "longitude": null,
      "main": false,
      "postal_code": "2000",
      "state_code": "NSW",
      "street": "46 Market Street",
      "phone": "9174550598",
      "phone_country_code": "US"
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/addresses/42/relationships/tenant",
          "related": "/api/mnoe/v2/addresses/42/tenant"
        }
      },
      "owner": {
        "links": {
          "self": "/api/mnoe/v2/addresses/42/relationships/owner",
          "related": "/api/mnoe/v2/addresses/42/owner"
        }
      }
    }
  }
}

Create New addresses
POST/addresses

Create a new address.


Address

GET https://api-hub.maestrano.com/api/mnoe/v2/addresses/42
Responses200
Body
{
  "data": {
    "id": "42",
    "type": "addresses",
    "links": {
      "self": "/api/mnoe/v2/addresses/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:21.366Z",
      "updated_at": "2018-09-21T05:30:21.365Z",
      "city": "Sydney",
      "country_code": "AU",
      "latitude": null,
      "longitude": null,
      "main": false,
      "postal_code": "2000",
      "state_code": "NSW",
      "street": "46 Market Street",
      "phone": "9174550598",
      "phone_country_code": "US"
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/addresses/42/relationships/tenant",
          "related": "/api/mnoe/v2/addresses/42/tenant"
        }
      },
      "owner": {
        "links": {
          "self": "/api/mnoe/v2/addresses/42/relationships/owner",
          "related": "/api/mnoe/v2/addresses/42/owner"
        }
      }
    }
  }
}

Get a Address
GET/addresses/{id}

Get a single address.

URI Parameters
HideShow
id
integer (required) Example: 42

The address ID


DELETE https://api-hub.maestrano.com/api/mnoe/v2/addresses/42
Requestsexample 1
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Responses

Delete a Address
DELETE/addresses/{id}

URI Parameters
HideShow
id
integer (required) Example: 42

The address ID


Alerts

An Alert can be attached on to a KPI containing email recipients & websockets service metadata for delivering the alert.

Attributes

Field Type Description Example
id Filterable Unique Read only integer ID 42
created_at Filterable Read only datetime Date of creation 2018-09-21T05:30:21Z
updated_at Filterable Read only datetime Date of last update 2018-09-21T05:30:21Z
title Filterable string Alert title
webhook Filterable string A webhook url string
service Filterable Mandatory string Type of Alert: “inapp”, “email” inapp
sent Filterable boolean Was the Alert sent false
settings Filterable string Alert metadata hash for storing settings {}

Additional Filters

Filter Description
tenant.id Tenant relation
kpi.id Kpi relation
recipients.id Recipients relation

Relationships

Name Type To
tenant One to One Tenant
kpi One to One Kpi
recipients One to Many User

Alerts

GET https://api-hub.maestrano.com/api/mnoe/v2/alerts
Responses200
Body
{
  "data": [
    {
      "id": "42",
      "type": "alerts",
      "links": {
        "self": "/api/mnoe/v2/alerts/42"
      },
      "attributes": {
        "created_at": "2018-09-21T05:30:21.443Z",
        "updated_at": "2018-09-21T05:30:21.443Z",
        "title": null,
        "webhook": null,
        "service": "inapp",
        "sent": false,
        "settings": {},
        "recipient_ids": [],
        "kpi_id": 1006
      },
      "relationships": {
        "tenant": {
          "links": {
            "self": "/api/mnoe/v2/alerts/42/relationships/tenant",
            "related": "/api/mnoe/v2/alerts/42/tenant"
          }
        },
        "kpi": {
          "links": {
            "self": "/api/mnoe/v2/alerts/42/relationships/kpi",
            "related": "/api/mnoe/v2/alerts/42/kpi"
          }
        },
        "recipients": {
          "links": {
            "self": "/api/mnoe/v2/alerts/42/relationships/recipients",
            "related": "/api/mnoe/v2/alerts/42/recipients"
          }
        }
      }
    }
  ]
}

Get Alerts
GET/alerts

Get the list of alerts.


POST https://api-hub.maestrano.com/api/mnoe/v2/alerts
Requestsexample 1
Body
{
"data":{
  "type":"alerts",
  "attributes":{
  }
}
}
[Alert][]
Responses

Create New Alert
POST/alerts

Create a new alert.


Alert

GET https://api-hub.maestrano.com/api/mnoe/v2/Alerts/42
Responses200
Body
{
  "data": {
    "id": "42",
    "type": "alerts",
    "links": {
      "self": "/api/mnoe/v2/alerts/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:21.443Z",
      "updated_at": "2018-09-21T05:30:21.443Z",
      "title": null,
      "webhook": null,
      "service": "inapp",
      "sent": false,
      "settings": {},
      "recipient_ids": [],
      "kpi_id": 1006
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/alerts/42/relationships/tenant",
          "related": "/api/mnoe/v2/alerts/42/tenant"
        }
      },
      "kpi": {
        "links": {
          "self": "/api/mnoe/v2/alerts/42/relationships/kpi",
          "related": "/api/mnoe/v2/alerts/42/kpi"
        }
      },
      "recipients": {
        "links": {
          "self": "/api/mnoe/v2/alerts/42/relationships/recipients",
          "related": "/api/mnoe/v2/alerts/42/recipients"
        }
      }
    }
  }
}

Get Alert
GET/Alerts/{id}

Get a single alert.

URI Parameters
HideShow
id
integer (required) Example: 42

The alert ID


PATCH https://api-hub.maestrano.com/api/mnoe/v2/Alerts/42
Requestsexample 1
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "type": "users",
    "id": 9,
    "attributes": {
      "name": "New Name"
    }
  }
}
Responses201
Body
{
  "data": {
    "id": "42",
    "type": "alerts",
    "links": {
      "self": "/api/mnoe/v2/alerts/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:21.443Z",
      "updated_at": "2018-09-21T05:30:21.443Z",
      "title": null,
      "webhook": null,
      "service": "inapp",
      "sent": false,
      "settings": {},
      "recipient_ids": [],
      "kpi_id": 1006
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/alerts/42/relationships/tenant",
          "related": "/api/mnoe/v2/alerts/42/tenant"
        }
      },
      "kpi": {
        "links": {
          "self": "/api/mnoe/v2/alerts/42/relationships/kpi",
          "related": "/api/mnoe/v2/alerts/42/kpi"
        }
      },
      "recipients": {
        "links": {
          "self": "/api/mnoe/v2/alerts/42/relationships/recipients",
          "related": "/api/mnoe/v2/alerts/42/recipients"
        }
      }
    }
  }
}

Update an Alert
PATCH/Alerts/{id}

Update a single alert.

URI Parameters
HideShow
id
integer (required) Example: 42

The alert ID


DELETE https://api-hub.maestrano.com/api/mnoe/v2/Alerts/42
Requestsexample 1
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Responses

Delete an Alert
DELETE/Alerts/{id}

Delete a single alert.

URI Parameters
HideShow
id
integer (required) Example: 42

The alert ID


Apps

An application available on the platform

Attributes

Field Type Description Example
id Filterable Unique Read only integer ID 42
created_at Filterable Read only datetime Date of creation 2018-09-21T05:30:21Z
updated_at Filterable Read only datetime Date of last update 2018-09-21T05:30:21Z
uid Filterable Unique string public facing ID used by apps app-15u9
nid Filterable Unique Mandatory string Identification Name testapp1
name Filterable Mandatory string Name of the Application TestApp1
description Filterable string Description of the application This is a description
logo Filterable string URL to the logo of the application //hub.dev.maestrano.io/fallback/default_app_logo.jpg
website Filterable string Main Website of the app
slug Filterable string Short name
categories Filterable string Categories of the application [“CRM”]
key_benefits Filterable string Key Benefits []
key_features Filterable string Key Features []
key_workflows Filterable string Key Workflows []
testimonials Filterable string Testimonials
worldwide_usage Filterable integer Worlwide usage
tiny_description Filterable string Short Description
stack Filterable string Stack. One of: connector | cube | cloud cube
terms_url Filterable string Url of the applications terms of conditions
support_url Filterable string Url to the application support center
pictures Filterable array Url of the application pictures []
tags Filterable array Tag of the app [“Sales”]
pricing_plans Filterable hash pricing plans {:default=>nil}
trademark Filterable string Trademark
active Filterable boolean Is the app currently active true
appinfo Filterable text App Info
sso_enabled Filterable boolean Is single sign-on enabled true
data_sharing_enabled Filterable boolean Is data-sharing enabled
single_billing_enabled Filterable boolean Is single billing enabled true
billed_locally Filterable boolean Is single billing managed by MnoHub
api_key Filterable string Api Key of the application
rank Filterable integer Current rank of the application 1000
multi_instantiable Filterable boolean Can the application be multi instantiated for one owner true
metadata Filterable text Metadata of the application
subcategories Filterable array Sub Categories []
known_limitations Filterable string Any known limitations on the application
getting_started Filterable string Explain to new users how to get started using the application
average_rating Filterable number Average Rating
running_instances_count Filterable number Number of Instances running 0
pricing_text Filterable string Notes to be displayed along with pricing plans
free_trial_duration Filterable number Free trial duration
free_trial_unit Filterable string Free trial unit

Additional Filters

Filter Description
tenant.id Tenant relation
scope By default, the apps may be filtered to the apps allocated for the tenant. You may set the filter “scope” to “all” to retrieve all the apps.
app_shared_entities.id App Shared Entities relation
app_shared_attributes.id App Shared Attributes relation

Examples

Retrieving all the apps

GET /apps?filter[scope]=all

Relationships

Name Type To
tenant One to One Tenant
app_shared_entities One to Many App Shared Entity
app_shared_attributes One to Many App Shared Attribute

Apps List

GET https://api-hub.maestrano.com/api/mnoe/v2/apps
Responses200
Body
{
  "data": {
    "id": "232",
    "type": "apps",
    "links": {
      "self": "https://api-hub.maestrano.com/api/mnoe/v2/apps/232"
    },
    "attributes": {
      "created_at": "2016-12-07T11:53:36.000Z",
      "updated_at": "2017-03-08T10:04:39.000Z",
      "nid": "demo-app-java-prod",
      "uid": "app-15pj",
      "name": "Demo App Java",
      "description": null,
      "logo": "//cdn.maestrano.com/web/mno/uploads/app/logo/232/java.png",
      "website": "http://java-demoapp.maestrano.io",
      "slug": "232-demo-app-java",
      "categories": [],
      "key_benefits": [],
      "key_features": [],
      "testimonials": "",
      "worldwide_usage": null,
      "tiny_description": "Simple Application to demonstrate Java SDK Integration",
      "stack": "cloud",
      "terms_url": null,
      "pictures": [],
      "tags": "",
      "pricing_plans": {
        "default": null
      },
      "trademark": null,
      "active": true,
      "appinfo": null,
      "api_key": "fasdfasdfasdfasdf",
      "metadata_url": "http://java-demoapp.maestrano.io/maestrano/metadata",
      "metadata": {
        "nid": "demo-app-java-prod",
        "environment": "demo-app-java",
        "app": {
          "host": "http://java-demoapp.maestrano.io",
          "synchronization_start_path": "/maestrano/maestrano/synchronizations",
          "synchronization_toggle_path": "/maestrano/maestrano/synchronizations/toggle_sync",
          "synchronization_status_path": "/maestrano/maestrano/synchronizations/:cld-uid"
        },
        "api": {
          "host": "https://api-hub.maestrano.com",
          "base": "/api/v1/"
        },
        "sso": {
          "init_path": "/maestrano/auth/saml/init/maestrano",
          "consume_path": "/maestrano/auth/saml/consume/maestrano",
          "idm": "http://java-demoapp.maestrano.io",
          "idp": "https://api-hub.maestrano.com",
          "x509_fingerprint": "2f:57:71:e4:40:19:57:37:a6:2c:f0:c5:82:52:2f:2e:41:b7:9d:7e\n",
          "x509_certificate": "-----BEGIN CERTIFICATE-----\nMIIDezCCAuSgAwIBAgIJAPFpcH2rW0pyMA0GCSqGSIb3DQEBBQUAMIGGMQswCQYD\nVQQGEwJBVTEMMAoGA1UECBMDTlNXMQ8wDQYDVQQHEwZTeWRuZXkxGjAYBgNVBAoT\nEU1hZXN0cmFubyBQdHkgTHRkMRYwFAYDVQQDEw1tYWVzdHJhbm8uY29tMSQwIgYJ\nKoZIhvcNAQkBFhVzdXBwb3J0QG1hZXN0cmFuby5jb20wHhcNMTQwMTA0MDUyNDEw\nWhcNMzMxMjMwMDUyNDEwWjCBhjELMAkGA1UEBhMCQVUxDDAKBgNVBAgTA05TVzEP\nMA0GA1UEBxMGU3lkbmV5MRowGAYDVQQKExFNYWVzdHJhbm8gUHR5IEx0ZDEWMBQG\nA1UEAxMNbWFlc3RyYW5vLmNvbTEkMCIGCSqGSIb3DQEJARYVc3VwcG9ydEBtYWVz\ndHJhbm8uY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD3feNNn2xfEz5/\nQvkBIu2keh9NNhobpre8U4r1qC7h7OeInTldmxGL4cLHw4ZAqKbJVrlFWqNevM5V\nZBkDe4mjuVkK6rYK1ZK7eVk59BicRksVKRmdhXbANk/C5sESUsQv1wLZyrF5Iq8m\na9Oy4oYrIsEF2uHzCouTKM5n+O4DkwIDAQABo4HuMIHrMB0GA1UdDgQWBBSd/X0L\n/Pq+ZkHvItMtLnxMCAMdhjCBuwYDVR0jBIGzMIGwgBSd/X0L/Pq+ZkHvItMtLnxM\nCAMdhqGBjKSBiTCBhjELMAkGA1UEBhMCQVUxDDAKBgNVBAgTA05TVzEPMA0GA1UE\nBxMGU3lkbmV5MRowGAYDVQQKExFNYWVzdHJhbm8gUHR5IEx0ZDEWMBQGA1UEAxMN\nbWFlc3RyYW5vLmNvbTEkMCIGCSqGSIb3DQEJARYVc3VwcG9ydEBtYWVzdHJhbm8u\nY29tggkA8WlwfatbSnIwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOBgQDE\nhe/18oRh8EqIhOl0bPk6BG49AkjhZZezrRJkCFp4dZxaBjwZTddwo8O5KHwkFGdy\nyLiPV326dtvXoKa9RFJvoJiSTQLEn5mO1NzWYnBMLtrDWojOe6Ltvn3x0HVo/iHh\nJShjAn6ZYX43Tjl1YXDd1H9O+7/VgEWAQQ32v8p5lA==\n-----END CERTIFICATE-----\n"
        },
        "connec": {
          "host": "https://api-connec.maestrano.com"
        },
        "webhook": {
          "account": {
            "groups_path": "/maestrano/account/groups/:id/maestrano",
            "group_users_path": "/maestrano/account/groups/:group_id/users/:id/maestrano"
          },
          "connec": {
            "external_ids": true,
            "initialization_path": null,
            "notifications_path": "/maestrano/connec/notifications/maestrano",
            "subscriptions": {
              "invoices": true,
              "journals": true,
              "pay_schedules": true,
              "people": true,
              "payments": true,
              "accounts": true,
              "tax_codes": true,
              "items": true,
              "opportunities": true,
              "pay_runs": true,
              "work_locations": true,
              "purchase_orders": true,
              "pay_stubs": true,
              "company": true,
              "employees": true,
              "event_orders": true,
              "pay_items": true,
              "projects": true,
              "venues": true,
              "tax_rates": true,
              "time_activities": true,
              "events": true,
              "sales_orders": true,
              "quotes": true,
              "time_sheets": true,
              "organizations": true,
              "warehouses": true,
              "contacts": true
            }
          }
        }
      },
      "rank": null,
      "multi_instantiable": false,
      "details": {
        "nid": "demo-app-java-prod",
        "environment": "demo-app-java",
        "app": {
          "host": "http://java-demoapp.maestrano.io",
          "synchronization_start_path": "/maestrano/maestrano/synchronizations",
          "synchronization_toggle_path": "/maestrano/maestrano/synchronizations/toggle_sync",
          "synchronization_status_path": "/maestrano/maestrano/synchronizations/:cld-uid"
        },
        "api": {
          "host": "https://api-hub.maestrano.com",
          "base": "/api/v1/"
        },
        "sso": {
          "init_path": "/maestrano/auth/saml/init/maestrano",
          "consume_path": "/maestrano/auth/saml/consume/maestrano",
          "idm": "http://java-demoapp.maestrano.io",
          "idp": "https://api-hub.maestrano.com",
          "x509_fingerprint": "2f:57:71:e4:40:19:57:37:a6:2c:f0:c5:82:52:2f:2e:41:b7:9d:7e\n",
          "x509_certificate": "-----BEGIN CERTIFICATE-----\nMIIDezCCAuSgAwIBAgIJAPFpcH2rW0pyMA0GCSqGSIb3DQEBBQUAMIGGMQswCQYD\nVQQGEwJBVTEMMAoGA1UECBMDTlNXMQ8wDQYDVQQHEwZTeWRuZXkxGjAYBgNVBAoT\nEU1hZXN0cmFubyBQdHkgTHRkMRYwFAYDVQQDEw1tYWVzdHJhbm8uY29tMSQwIgYJ\nKoZIhvcNAQkBFhVzdXBwb3J0QG1hZXN0cmFuby5jb20wHhcNMTQwMTA0MDUyNDEw\nWhcNMzMxMjMwMDUyNDEwWjCBhjELMAkGA1UEBhMCQVUxDDAKBgNVBAgTA05TVzEP\nMA0GA1UEBxMGU3lkbmV5MRowGAYDVQQKExFNYWVzdHJhbm8gUHR5IEx0ZDEWMBQG\nA1UEAxMNbWFlc3RyYW5vLmNvbTEkMCIGCSqGSIb3DQEJARYVc3VwcG9ydEBtYWVz\ndHJhbm8uY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD3feNNn2xfEz5/\nQvkBIu2keh9NNhobpre8U4r1qC7h7OeInTldmxGL4cLHw4ZAqKbJVrlFWqNevM5V\nZBkDe4mjuVkK6rYK1ZK7eVk59BicRksVKRmdhXbANk/C5sESUsQv1wLZyrF5Iq8m\na9Oy4oYrIsEF2uHzCouTKM5n+O4DkwIDAQABo4HuMIHrMB0GA1UdDgQWBBSd/X0L\n/Pq+ZkHvItMtLnxMCAMdhjCBuwYDVR0jBIGzMIGwgBSd/X0L/Pq+ZkHvItMtLnxM\nCAMdhqGBjKSBiTCBhjELMAkGA1UEBhMCQVUxDDAKBgNVBAgTA05TVzEPMA0GA1UE\nBxMGU3lkbmV5MRowGAYDVQQKExFNYWVzdHJhbm8gUHR5IEx0ZDEWMBQGA1UEAxMN\nbWFlc3RyYW5vLmNvbTEkMCIGCSqGSIb3DQEJARYVc3VwcG9ydEBtYWVzdHJhbm8u\nY29tggkA8WlwfatbSnIwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOBgQDE\nhe/18oRh8EqIhOl0bPk6BG49AkjhZZezrRJkCFp4dZxaBjwZTddwo8O5KHwkFGdy\nyLiPV326dtvXoKa9RFJvoJiSTQLEn5mO1NzWYnBMLtrDWojOe6Ltvn3x0HVo/iHh\nJShjAn6ZYX43Tjl1YXDd1H9O+7/VgEWAQQ32v8p5lA==\n-----END CERTIFICATE-----\n"
        },
        "connec": {
          "host": "https://api-connec.maestrano.com"
        },
        "webhook": {
          "account": {
            "groups_path": "/maestrano/account/groups/:id/maestrano",
            "group_users_path": "/maestrano/account/groups/:group_id/users/:id/maestrano"
          },
          "connec": {
            "external_ids": true,
            "initialization_path": null,
            "notifications_path": "/maestrano/connec/notifications/maestrano",
            "subscriptions": {
              "invoices": true,
              "journals": true,
              "pay_schedules": true,
              "people": true,
              "payments": true,
              "accounts": true,
              "tax_codes": true,
              "items": true,
              "opportunities": true,
              "pay_runs": true,
              "work_locations": true,
              "purchase_orders": true,
              "pay_stubs": true,
              "company": true,
              "employees": true,
              "event_orders": true,
              "pay_items": true,
              "projects": true,
              "venues": true,
              "tax_rates": true,
              "time_activities": true,
              "events": true,
              "sales_orders": true,
              "quotes": true,
              "time_sheets": true,
              "organizations": true,
              "warehouses": true,
              "contacts": true
            }
          }
        }
      },
      "subcategories": "#<AppSubcategory::ActiveRecord_Relation:0x63e43cf1>"
    },
    "relationships": {
      "app_instances": {
        "links": {
          "self": "https://api-hub.maestrano.com/api/mnoe/v2/apps/232/relationships/app_instances",
          "related": "https://api-hub.maestrano.com/api/mnoe/v2/apps/232/app_instances"
        }
      },
      "app_shared_entities": {
        "links": {
          "self": "https://api-hub.maestrano.com/api/mnoe/v2/apps/232/relationships/app_shared_entities",
          "related": "https://api-hub.maestrano.com/api/mnoe/v2/apps/232/app_shared_entities"
        }
      },
      "app_shared_attributes": {
        "links": {
          "self": "https://api-hub.maestrano.com/api/mnoe/v2/apps/232/relationships/app_shared_attributes",
          "related": "https://api-hub.maestrano.com/api/mnoe/v2/apps/232/app_shared_attributes"
        }
      }
    }
  }
}

Get Apps
GET/apps

Get the list of apps in an array.


App Instances

An application added inside an organization.

Attributes

Field Type Description Example
id Filterable Unique Read only integer ID 42
created_at Filterable Read only datetime Date of creation 2018-09-21T05:30:21Z
updated_at Filterable Read only datetime Date of last update 2018-09-21T05:30:21Z
uid Filterable Unique Read only string public facing ID used by apps cld-9pfv
name Filterable Mandatory string Name of the app MyTestAppInstance
status Filterable Read only string An App Instance can have 3 status. One of: running | stopped | terminated staged
stack Filterable Read only string Type of the app. One of: connector | cube | cloud cube
billing_type Filterable Read only Mandatory string Type of the billing, default:“monthly” monthly
http_url Filterable Read only string Url on which it can be reached
soa_enabled Filterable boolean Is SOA enabled false
oauth_keys Filterable text Oauth keys used by the app instance
owner_type Filterable Read only Mandatory string Owner Type of the App Instance Organization
owner_id Filterable Read only Mandatory integer Owner ID of the App Instance 1013
encrypted_oauth_keys Filterable Read only text Encrypted Oauth keys used by the app instance
api_key Filterable Read only string API key for API authentication, applies to cube application
api_secret Filterable Read only string API Secret for API authentication, applies to cube application
channel_id Filterable Read only string Owner UID
ssl_enabled Filterable Read only boolean Is SSL Enabled on the app instance false
metadata Filterable Read only text Hash Metadata
durations Read only string Indicative durations for different stages of the cube lifecycle (cube only) {}
url Filterable Read only string Url of the application
website Filterable Read only string Website
transaction_management Filterable Read only boolean false
oauth_company Read only string Oauth company
oauth_keys_valid Read only string Is the app properly connected false
under_free_trial Read only string Is the app under Free Trial false
per_user_licence Read only boolean Is this app billed by users (cube only) false
active_licences_count Read only string Number of active licences (cube only) 0
started_at Filterable Read only datetime Timestamp the app was started
terminated_at Filterable Read only datetime Timestamp the app was terminated
stopped_at Filterable Read only datetime Timestamp the app was stopped
next_status Filterable Read only string Next planned status of the app

Additional Filters

Filter Description
tenant.id Tenant relation
channel_id Owner ID
nid App NID
app.name App Name
fulfilled_only App instances linked to a product with at least one subscription fulfilled
app.id App relation
owner.id Owner relation
owner.type Owner relation
sync_status.id Sync Status relation

Relationships

Name Type To
tenant One to One Tenant
app One to One App
owner One to One Owner
sync_status One to One Sync Status

App Instances

GET https://api-hub.maestrano.com/api/mnoe/v2/app_instances
Responses200
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "data": [
    {
      "id": "1",
      "type": "app_instances",
      "links": {
        "self": "https://api-hub.maestrano.com/api/mnoe/v2/app_instances/1"
      },
      "attributes": {
        "created_at": "2012-07-24T11:16:15.000Z",
        "updated_at": "2015-03-10T00:50:50.000Z",
        "uid": "rae.mcube.co",
        "name": "MyJenkins",
        "status": "terminated",
        "app_id": 1,
        "started_at": "2012-10-07T10:30:35.000Z",
        "stack": null,
        "terminated_at": "2013-02-28T21:39:58.000Z",
        "stopped_at": null,
        "billing_type": "hourly",
        "autostop_at": null,
        "autostop_interval": null,
        "next_status": null,
        "soa_enabled": false,
        "http_url": "http://ddd.mcube.co",
        "oauth_keys": null,
        "owner_type": "Organization",
        "owner_id": 767,
        "encrypted_oauth_keys": null,
        "api_key": "fdffasdfasdfasdfasdfasdf",
        "api_secret": "sdfasdfasdf-2226-4dc3-af68-ccc5a7240346",
        "channel_id": "org-fbd5",
        "ssl_enabled": false,
        "metadata": {
          "environment": "jenkins",
          "app": {
            "host": null
          },
          "api": {
            "host": "https://api-hub.maestrano.com",
            "base": "/api/v1/"
          },
          "sso": {
            "init_path": null,
            "consume_path": null,
            "idp": "https://api-hub.maestrano.com",
            "x509_fingerprint": "E2:F8:9A:47:DE:AF:1B:60:BB:F6:90:79:B6:65:3C:27:DE:0A:79:73",
            "x509_certificate": "-----BEGIN CERTIFICATE-----\nMIIDdjCCAl6gAwIBAgIBAzANBgkqhkiG9w0BAQsFADBMMQswCQYDVQQGEwJBVTEa\nMBgGA1UECgwRTWFlc3RyYW5vIFB0eSBMdGQxITAfBgNVBAMMGGRldmVsb3BlcnMu\nbWFlc3RyYW5vLmNvbTAeFw0xNjA5MjAwMDU3MjBaFw0zNjA5MjEwMDU3MjBaMEEx\nCzAJBgNVBAYTAkFVMRowGAYDVQQKDBFNYWVzdHJhbm8gUHR5IEx0ZDEWMBQGA1UE\nAwwNbWFlc3RyYW5vLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB\nAPOQ27n0Yv+uuyxb1m9JBQOA9N1E8JznK/ieKHH8E9SDo+NQcf0j8vRLd4h67tD8\nLCMfnuxNpOn9hyESzH9EV/G86AAD0FN8CJiG+cIfOltIrQ1opCh9PxftPVAhJ5EB\nBJMY0XOEOSgi4cItDrY337n1b6GpZTkapP4W41mP/xQLYpHMJwHAJd/i4Ycx4PLb\nZu6Q/SiyRxGBr8ApxbijuKKq7XfXCl+pFnKJ2h1w3tAUp/WE5XO3ymiUkhOdBYXH\n4Uxp5X8dCMWx6TpPSjbm1a3qed5cYDHTnF19GOXp7nBtnXaGdTNegur5wMPOrNqD\nq7cd3qQDVu2y0xQKKCsEDY0CAwEAAaNuMGwwLQYJYIZIAYb4QgENBCAWHk1hZXN0\ncmFubyBJbnRlcm5hbCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUtq8zRqgl6r4nf6ux\nst+A6W/db3AwDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCBLAwDQYJKoZIhvcN\nAQELBQADggEBAEyL2b+9Co66U+6RibnMbZ0PjknfCcROrvWYIr54o72/JA1QgfLp\nxjckms+13IX8H5evxIMk6MLkz3RfsdZ0YwfXduiL8P+QYmJhZio/M3cXacq+Eg47\nGa+tcv75+6mBnufBPKfnCQZ4rhjkQdCzLvWX6m++zxHNb3/NdOITgP1bRZ78XFlt\nT4J2HvJaX7oTQH2ZIo5NFBe5UPkdlxMWxRh0TN/gojy/o8ctplotNK5mz85IiT2l\nxMfK6yBcAz9YxkfYkdzyPsD6nm9h+LuQC2qfQEZYeqIHPf8hbk84lGBk9FGtrqG4\nFIZmUtf+haYl0J0f0+TobO3MsNMelFz6aC0=\n-----END CERTIFICATE-----\n"
          },
          "connec": {
            "host": "https://api-connec.maestrano.com"
          },
          "webhook": {
            "account": {
              "groups_path": null,
              "group_users_path": null
            },
            "connec": {
              "initialization_path": null,
              "notifications_path": null
            }
          }
        },
        "url": "rae.mcube.co",
        "website": "http://jenkins-ci.org",
        "app_uid": null,
        "app_api_key": null,
        "oauth_keys_valid": false
      },
      "relationships": {
        "app": {
          "links": {
            "self": "https://api-hub.maestrano.com/api/mnoe/v2/app_instances/1/relationships/app",
            "related": "https://api-hub.maestrano.com/api/mnoe/v2/app_instances/1/app"
          }
        },
        "owner": {
          "links": {
            "self": "https://api-hub.maestrano.com/api/mnoe/v2/app_instances/1/relationships/owner",
            "related": "https://api-hub.maestrano.com/api/mnoe/v2/app_instances/1/owner"
          }
        }
      }
    }
  ],
  "meta": {
    "record_count": 14234
  },
  "links": {
    "first": "https://api-hub.maestrano.com/api/mnoe/v2/app_instances?page%5Bnumber%5D=1&page%5Bsize%5D=1",
    "next": "https://api-hub.maestrano.com/api/mnoe/v2/app_instances?page%5Bnumber%5D=2&page%5Bsize%5D=1",
    "last": "https://api-hub.maestrano.com/api/mnoe/v2/app_instances?page%5Bnumber%5D=14234&page%5Bsize%5D=1"
  }
}

Get App Instances
GET/app_instances

Get the list of application instances.


POST https://api-hub.maestrano.com/api/mnoe/v2/app_instances/provision
Requestsexample 1
Body
{
  "data": {
    "attributes": {
      "app_nid": "cin7-dev",
      "owner_id": "3",
      "owner_type": "organization"
    }
  }
}
Responses201422
Body
{
  "data": {
    "id": "1",
    "type": "app_instances",
    "links": {
      "self": "https://api-hub.maestrano.com/api/mnoe/v2/app_instances/1"
    },
    "attributes": {
      "created_at": "2012-07-24T11:16:15.000Z",
      "updated_at": "2015-03-10T00:50:50.000Z",
      "uid": "rae.mcube.co",
      "name": "MyJenkins",
      "status": "terminated",
      "app_id": 1,
      "started_at": "2012-10-07T10:30:35.000Z",
      "stack": null,
      "terminated_at": "2013-02-28T21:39:58.000Z",
      "stopped_at": null,
      "billing_type": "hourly",
      "autostop_at": null,
      "autostop_interval": null,
      "next_status": null,
      "soa_enabled": false,
      "http_url": "http://rae.mcube.co",
      "oauth_keys": null,
      "owner_type": "Organization",
      "owner_id": 767,
      "encrypted_oauth_keys": null,
      "api_key": "dbc675be25daa3e22fc7a1fd82e5e2f93117e7abacab0614438ff29b577f8e3f",
      "api_secret": "a12fc38e-2226-4dc3-af68-ccc5a7240346",
      "channel_id": "org-fbd5",
      "ssl_enabled": false,
      "metadata": {
        "environment": "jenkins",
        "app": {
          "host": null
        },
        "api": {
          "host": "https://api-hub.maestrano.com",
          "base": "/api/v1/"
        },
        "sso": {
          "init_path": null,
          "consume_path": null,
          "idp": "https://api-hub.maestrano.com",
          "x509_fingerprint": "E2:F8:9A:47:DE:AF:1B:60:BB:F6:90:79:B6:65:3C:27:DE:0A:79:73",
          "x509_certificate": "-----BEGIN CERTIFICATE-----\nMIIDdjCCAl6gAwIBAgIBAzANBgkqhkiG9w0BAQsFADBMMQswCQYDVQQGEwJBVTEa\nMBgGA1UECgwRTWFlc3RyYW5vIFB0eSBMdGQxITAfBgNVBAMMGGRldmVsb3BlcnMu\nbWFlc3RyYW5vLmNvbTAeFw0xNjA5MjAwMDU3MjBaFw0zNjA5MjEwMDU3MjBaMEEx\nCzAJBgNVBAYTAkFVMRowGAYDVQQKDBFNYWVzdHJhbm8gUHR5IEx0ZDEWMBQGA1UE\nAwwNbWFlc3RyYW5vLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB\nAPOQ27n0Yv+uuyxb1m9JBQOA9N1E8JznK/ieKHH8E9SDo+NQcf0j8vRLd4h67tD8\nLCMfnuxNpOn9hyESzH9EV/G86AAD0FN8CJiG+cIfOltIrQ1opCh9PxftPVAhJ5EB\nBJMY0XOEOSgi4cItDrY337n1b6GpZTkapP4W41mP/xQLYpHMJwHAJd/i4Ycx4PLb\nZu6Q/SiyRxGBr8ApxbijuKKq7XfXCl+pFnKJ2h1w3tAUp/WE5XO3ymiUkhOdBYXH\n4Uxp5X8dCMWx6TpPSjbm1a3qed5cYDHTnF19GOXp7nBtnXaGdTNegur5wMPOrNqD\nq7cd3qQDVu2y0xQKKCsEDY0CAwEAAaNuMGwwLQYJYIZIAYb4QgENBCAWHk1hZXN0\ncmFubyBJbnRlcm5hbCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUtq8zRqgl6r4nf6ux\nst+A6W/db3AwDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCBLAwDQYJKoZIhvcN\nAQELBQADggEBAEyL2b+9Co66U+6RibnMbZ0PjknfCcROrvWYIr54o72/JA1QgfLp\nxjckms+13IX8H5evxIMk6MLkz3RfsdZ0YwfXduiL8P+QYmJhZio/M3cXacq+Eg47\nGa+tcv75+6mBnufBPKfnCQZ4rhjkQdCzLvWX6m++zxHNb3/NdOITgP1bRZ78XFlt\nT4J2HvJaX7oTQH2ZIo5NFBe5UPkdlxMWxRh0TN/gojy/o8ctplotNK5mz85IiT2l\nxMfK6yBcAz9YxkfYkdzyPsD6nm9h+LuQC2qfQEZYeqIHPf8hbk84lGBk9FGtrqG4\nFIZmUtf+haYl0J0f0+TobO3MsNMelFz6aC0=\n-----END CERTIFICATE-----\n"
        },
        "connec": {
          "host": "https://api-connec.maestrano.com"
        },
        "webhook": {
          "account": {
            "groups_path": null,
            "group_users_path": null
          },
          "connec": {
            "initialization_path": null,
            "notifications_path": null
          }
        }
      },
      "url": "rae.mcube.co",
      "website": "http://jenkins-ci.org",
      "app_uid": null,
      "app_api_key": null,
      "oauth_keys_valid": false
    },
    "relationships": {
      "app": {
        "links": {
          "self": "https://api-hub.maestrano.com/api/mnoe/v2/app_instances/1/relationships/app",
          "related": "https://api-hub.maestrano.com/api/mnoe/v2/app_instances/1/app"
        }
      },
      "owner": {
        "links": {
          "self": "https://api-hub.maestrano.com/api/mnoe/v2/app_instances/1/relationships/owner",
          "related": "https://api-hub.maestrano.com/api/mnoe/v2/app_instances/1/owner"
        }
      }
    }
  }
}
Body
{
  "errors": [
    {
      "title": "requested application does not exist cin7-dev",
      "detail": "app_nid - requested application does not exist cin7-dev",
      "code": "100",
      "source": {
        "pointer": "/data/attributes/app_nid"
      },
      "status": "422"
    }
  ]
}

Provision a New App Instance
POST/app_instances/provision


App Instance

GET https://api-hub.maestrano.com/api/mnoe/v2/app_instances/42
Responses200
Body
{
  "data": {
    "id": "1",
    "type": "app_instances",
    "links": {
      "self": "https://api-hub.maestrano.com/api/mnoe/v2/app_instances/1"
    },
    "attributes": {
      "created_at": "2012-07-24T11:16:15.000Z",
      "updated_at": "2015-03-10T00:50:50.000Z",
      "uid": "rae.mcube.co",
      "name": "MyJenkins",
      "status": "terminated",
      "app_id": 1,
      "started_at": "2012-10-07T10:30:35.000Z",
      "stack": null,
      "terminated_at": "2013-02-28T21:39:58.000Z",
      "stopped_at": null,
      "billing_type": "hourly",
      "autostop_at": null,
      "autostop_interval": null,
      "next_status": null,
      "soa_enabled": false,
      "http_url": "http://rae.mcube.co",
      "oauth_keys": null,
      "owner_type": "Organization",
      "owner_id": 767,
      "encrypted_oauth_keys": null,
      "api_key": "dbc675be25daa3e22fc7a1fd82e5e2f93117e7abacab0614438ff29b577f8e3f",
      "api_secret": "a12fc38e-2226-4dc3-af68-ccc5a7240346",
      "channel_id": "org-fbd5",
      "ssl_enabled": false,
      "metadata": {
        "environment": "jenkins",
        "app": {
          "host": null
        },
        "api": {
          "host": "https://api-hub.maestrano.com",
          "base": "/api/v1/"
        },
        "sso": {
          "init_path": null,
          "consume_path": null,
          "idp": "https://api-hub.maestrano.com",
          "x509_fingerprint": "E2:F8:9A:47:DE:AF:1B:60:BB:F6:90:79:B6:65:3C:27:DE:0A:79:73",
          "x509_certificate": "-----BEGIN CERTIFICATE-----\nMIIDdjCCAl6gAwIBAgIBAzANBgkqhkiG9w0BAQsFADBMMQswCQYDVQQGEwJBVTEa\nMBgGA1UECgwRTWFlc3RyYW5vIFB0eSBMdGQxITAfBgNVBAMMGGRldmVsb3BlcnMu\nbWFlc3RyYW5vLmNvbTAeFw0xNjA5MjAwMDU3MjBaFw0zNjA5MjEwMDU3MjBaMEEx\nCzAJBgNVBAYTAkFVMRowGAYDVQQKDBFNYWVzdHJhbm8gUHR5IEx0ZDEWMBQGA1UE\nAwwNbWFlc3RyYW5vLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB\nAPOQ27n0Yv+uuyxb1m9JBQOA9N1E8JznK/ieKHH8E9SDo+NQcf0j8vRLd4h67tD8\nLCMfnuxNpOn9hyESzH9EV/G86AAD0FN8CJiG+cIfOltIrQ1opCh9PxftPVAhJ5EB\nBJMY0XOEOSgi4cItDrY337n1b6GpZTkapP4W41mP/xQLYpHMJwHAJd/i4Ycx4PLb\nZu6Q/SiyRxGBr8ApxbijuKKq7XfXCl+pFnKJ2h1w3tAUp/WE5XO3ymiUkhOdBYXH\n4Uxp5X8dCMWx6TpPSjbm1a3qed5cYDHTnF19GOXp7nBtnXaGdTNegur5wMPOrNqD\nq7cd3qQDVu2y0xQKKCsEDY0CAwEAAaNuMGwwLQYJYIZIAYb4QgENBCAWHk1hZXN0\ncmFubyBJbnRlcm5hbCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUtq8zRqgl6r4nf6ux\nst+A6W/db3AwDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCBLAwDQYJKoZIhvcN\nAQELBQADggEBAEyL2b+9Co66U+6RibnMbZ0PjknfCcROrvWYIr54o72/JA1QgfLp\nxjckms+13IX8H5evxIMk6MLkz3RfsdZ0YwfXduiL8P+QYmJhZio/M3cXacq+Eg47\nGa+tcv75+6mBnufBPKfnCQZ4rhjkQdCzLvWX6m++zxHNb3/NdOITgP1bRZ78XFlt\nT4J2HvJaX7oTQH2ZIo5NFBe5UPkdlxMWxRh0TN/gojy/o8ctplotNK5mz85IiT2l\nxMfK6yBcAz9YxkfYkdzyPsD6nm9h+LuQC2qfQEZYeqIHPf8hbk84lGBk9FGtrqG4\nFIZmUtf+haYl0J0f0+TobO3MsNMelFz6aC0=\n-----END CERTIFICATE-----\n"
        },
        "connec": {
          "host": "https://api-connec.maestrano.com"
        },
        "webhook": {
          "account": {
            "groups_path": null,
            "group_users_path": null
          },
          "connec": {
            "initialization_path": null,
            "notifications_path": null
          }
        }
      },
      "url": "rae.mcube.co",
      "website": "http://jenkins-ci.org",
      "app_uid": null,
      "app_api_key": null,
      "oauth_keys_valid": false
    },
    "relationships": {
      "app": {
        "links": {
          "self": "https://api-hub.maestrano.com/api/mnoe/v2/app_instances/1/relationships/app",
          "related": "https://api-hub.maestrano.com/api/mnoe/v2/app_instances/1/app"
        }
      },
      "owner": {
        "links": {
          "self": "https://api-hub.maestrano.com/api/mnoe/v2/app_instances/1/relationships/owner",
          "related": "https://api-hub.maestrano.com/api/mnoe/v2/app_instances/1/owner"
        }
      }
    }
  }
}

Get App Instance
GET/app_instances/{id}

Get a single App Instance.

URI Parameters
HideShow
id
integer (required) Example: 42

The app instance ID


PATCH https://api-hub.maestrano.com/api/mnoe/v2/app_instances/42
Requestsexample 1
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "data": {
    "type": "app_instances",
    "id": 62,
    "attributes": {
      "name": "New Name"
    }
  }
}
Responses200
Body
{
  "data": {
    "id": "1",
    "type": "app_instances",
    "links": {
      "self": "https://api-hub.maestrano.com/api/mnoe/v2/app_instances/1"
    },
    "attributes": {
      "created_at": "2012-07-24T11:16:15.000Z",
      "updated_at": "2015-03-10T00:50:50.000Z",
      "uid": "rae.mcube.co",
      "name": "MyJenkins",
      "status": "terminated",
      "app_id": 1,
      "started_at": "2012-10-07T10:30:35.000Z",
      "stack": null,
      "terminated_at": "2013-02-28T21:39:58.000Z",
      "stopped_at": null,
      "billing_type": "hourly",
      "autostop_at": null,
      "autostop_interval": null,
      "next_status": null,
      "soa_enabled": false,
      "http_url": "http://rae.mcube.co",
      "oauth_keys": null,
      "owner_type": "Organization",
      "owner_id": 767,
      "encrypted_oauth_keys": null,
      "api_key": "dbc675be25daa3e22fc7a1fd82e5e2f93117e7abacab0614438ff29b577f8e3f",
      "api_secret": "a12fc38e-2226-4dc3-af68-ccc5a7240346",
      "channel_id": "org-fbd5",
      "ssl_enabled": false,
      "metadata": {
        "environment": "jenkins",
        "app": {
          "host": null
        },
        "api": {
          "host": "https://api-hub.maestrano.com",
          "base": "/api/v1/"
        },
        "sso": {
          "init_path": null,
          "consume_path": null,
          "idp": "https://api-hub.maestrano.com",
          "x509_fingerprint": "E2:F8:9A:47:DE:AF:1B:60:BB:F6:90:79:B6:65:3C:27:DE:0A:79:73",
          "x509_certificate": "-----BEGIN CERTIFICATE-----\nMIIDdjCCAl6gAwIBAgIBAzANBgkqhkiG9w0BAQsFADBMMQswCQYDVQQGEwJBVTEa\nMBgGA1UECgwRTWFlc3RyYW5vIFB0eSBMdGQxITAfBgNVBAMMGGRldmVsb3BlcnMu\nbWFlc3RyYW5vLmNvbTAeFw0xNjA5MjAwMDU3MjBaFw0zNjA5MjEwMDU3MjBaMEEx\nCzAJBgNVBAYTAkFVMRowGAYDVQQKDBFNYWVzdHJhbm8gUHR5IEx0ZDEWMBQGA1UE\nAwwNbWFlc3RyYW5vLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB\nAPOQ27n0Yv+uuyxb1m9JBQOA9N1E8JznK/ieKHH8E9SDo+NQcf0j8vRLd4h67tD8\nLCMfnuxNpOn9hyESzH9EV/G86AAD0FN8CJiG+cIfOltIrQ1opCh9PxftPVAhJ5EB\nBJMY0XOEOSgi4cItDrY337n1b6GpZTkapP4W41mP/xQLYpHMJwHAJd/i4Ycx4PLb\nZu6Q/SiyRxGBr8ApxbijuKKq7XfXCl+pFnKJ2h1w3tAUp/WE5XO3ymiUkhOdBYXH\n4Uxp5X8dCMWx6TpPSjbm1a3qed5cYDHTnF19GOXp7nBtnXaGdTNegur5wMPOrNqD\nq7cd3qQDVu2y0xQKKCsEDY0CAwEAAaNuMGwwLQYJYIZIAYb4QgENBCAWHk1hZXN0\ncmFubyBJbnRlcm5hbCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUtq8zRqgl6r4nf6ux\nst+A6W/db3AwDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCBLAwDQYJKoZIhvcN\nAQELBQADggEBAEyL2b+9Co66U+6RibnMbZ0PjknfCcROrvWYIr54o72/JA1QgfLp\nxjckms+13IX8H5evxIMk6MLkz3RfsdZ0YwfXduiL8P+QYmJhZio/M3cXacq+Eg47\nGa+tcv75+6mBnufBPKfnCQZ4rhjkQdCzLvWX6m++zxHNb3/NdOITgP1bRZ78XFlt\nT4J2HvJaX7oTQH2ZIo5NFBe5UPkdlxMWxRh0TN/gojy/o8ctplotNK5mz85IiT2l\nxMfK6yBcAz9YxkfYkdzyPsD6nm9h+LuQC2qfQEZYeqIHPf8hbk84lGBk9FGtrqG4\nFIZmUtf+haYl0J0f0+TobO3MsNMelFz6aC0=\n-----END CERTIFICATE-----\n"
        },
        "connec": {
          "host": "https://api-connec.maestrano.com"
        },
        "webhook": {
          "account": {
            "groups_path": null,
            "group_users_path": null
          },
          "connec": {
            "initialization_path": null,
            "notifications_path": null
          }
        }
      },
      "url": "rae.mcube.co",
      "website": "http://jenkins-ci.org",
      "app_uid": null,
      "app_api_key": null,
      "oauth_keys_valid": false
    },
    "relationships": {
      "app": {
        "links": {
          "self": "https://api-hub.maestrano.com/api/mnoe/v2/app_instances/1/relationships/app",
          "related": "https://api-hub.maestrano.com/api/mnoe/v2/app_instances/1/app"
        }
      },
      "owner": {
        "links": {
          "self": "https://api-hub.maestrano.com/api/mnoe/v2/app_instances/1/relationships/owner",
          "related": "https://api-hub.maestrano.com/api/mnoe/v2/app_instances/1/owner"
        }
      }
    }
  }
}

Update an App Instance
PATCH/app_instances/{id}

Update a single App Instance.

URI Parameters
HideShow
id
integer (required) Example: 42

The app instance ID


PATCH https://api-hub.maestrano.com/api/mnoe/v2/app_instances/42
Requestsexample 1
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "data": {
    "name": "Another Name"
  }
}
Responses200
Body
{
  "data": {
    "id": "1",
    "type": "app_instances",
    "links": {
      "self": "https://api-hub.maestrano.com/api/mnoe/v2/app_instances/1"
    },
    "attributes": {
      "created_at": "2012-07-24T11:16:15.000Z",
      "updated_at": "2015-03-10T00:50:50.000Z",
      "uid": "rae.mcube.co",
      "name": "MyJenkins",
      "status": "terminated",
      "app_id": 1,
      "started_at": "2012-10-07T10:30:35.000Z",
      "stack": null,
      "terminated_at": "2013-02-28T21:39:58.000Z",
      "stopped_at": null,
      "billing_type": "hourly",
      "autostop_at": null,
      "autostop_interval": null,
      "next_status": null,
      "soa_enabled": false,
      "http_url": "http://rae.mcube.co",
      "oauth_keys": null,
      "owner_type": "Organization",
      "owner_id": 767,
      "encrypted_oauth_keys": null,
      "api_key": "dbc675be25daa3e22fc7a1fd82e5e2f93117e7abacab0614438ff29b577f8e3f",
      "api_secret": "a12fc38e-2226-4dc3-af68-ccc5a7240346",
      "channel_id": "org-fbd5",
      "ssl_enabled": false,
      "metadata": {
        "environment": "jenkins",
        "app": {
          "host": null
        },
        "api": {
          "host": "https://api-hub.maestrano.com",
          "base": "/api/v1/"
        },
        "sso": {
          "init_path": null,
          "consume_path": null,
          "idp": "https://api-hub.maestrano.com",
          "x509_fingerprint": "E2:F8:9A:47:DE:AF:1B:60:BB:F6:90:79:B6:65:3C:27:DE:0A:79:73",
          "x509_certificate": "-----BEGIN CERTIFICATE-----\nMIIDdjCCAl6gAwIBAgIBAzANBgkqhkiG9w0BAQsFADBMMQswCQYDVQQGEwJBVTEa\nMBgGA1UECgwRTWFlc3RyYW5vIFB0eSBMdGQxITAfBgNVBAMMGGRldmVsb3BlcnMu\nbWFlc3RyYW5vLmNvbTAeFw0xNjA5MjAwMDU3MjBaFw0zNjA5MjEwMDU3MjBaMEEx\nCzAJBgNVBAYTAkFVMRowGAYDVQQKDBFNYWVzdHJhbm8gUHR5IEx0ZDEWMBQGA1UE\nAwwNbWFlc3RyYW5vLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB\nAPOQ27n0Yv+uuyxb1m9JBQOA9N1E8JznK/ieKHH8E9SDo+NQcf0j8vRLd4h67tD8\nLCMfnuxNpOn9hyESzH9EV/G86AAD0FN8CJiG+cIfOltIrQ1opCh9PxftPVAhJ5EB\nBJMY0XOEOSgi4cItDrY337n1b6GpZTkapP4W41mP/xQLYpHMJwHAJd/i4Ycx4PLb\nZu6Q/SiyRxGBr8ApxbijuKKq7XfXCl+pFnKJ2h1w3tAUp/WE5XO3ymiUkhOdBYXH\n4Uxp5X8dCMWx6TpPSjbm1a3qed5cYDHTnF19GOXp7nBtnXaGdTNegur5wMPOrNqD\nq7cd3qQDVu2y0xQKKCsEDY0CAwEAAaNuMGwwLQYJYIZIAYb4QgENBCAWHk1hZXN0\ncmFubyBJbnRlcm5hbCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUtq8zRqgl6r4nf6ux\nst+A6W/db3AwDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCBLAwDQYJKoZIhvcN\nAQELBQADggEBAEyL2b+9Co66U+6RibnMbZ0PjknfCcROrvWYIr54o72/JA1QgfLp\nxjckms+13IX8H5evxIMk6MLkz3RfsdZ0YwfXduiL8P+QYmJhZio/M3cXacq+Eg47\nGa+tcv75+6mBnufBPKfnCQZ4rhjkQdCzLvWX6m++zxHNb3/NdOITgP1bRZ78XFlt\nT4J2HvJaX7oTQH2ZIo5NFBe5UPkdlxMWxRh0TN/gojy/o8ctplotNK5mz85IiT2l\nxMfK6yBcAz9YxkfYkdzyPsD6nm9h+LuQC2qfQEZYeqIHPf8hbk84lGBk9FGtrqG4\nFIZmUtf+haYl0J0f0+TobO3MsNMelFz6aC0=\n-----END CERTIFICATE-----\n"
        },
        "connec": {
          "host": "https://api-connec.maestrano.com"
        },
        "webhook": {
          "account": {
            "groups_path": null,
            "group_users_path": null
          },
          "connec": {
            "initialization_path": null,
            "notifications_path": null
          }
        }
      },
      "url": "rae.mcube.co",
      "website": "http://jenkins-ci.org",
      "app_uid": null,
      "app_api_key": null,
      "oauth_keys_valid": false
    },
    "relationships": {
      "app": {
        "links": {
          "self": "https://api-hub.maestrano.com/api/mnoe/v2/app_instances/1/relationships/app",
          "related": "https://api-hub.maestrano.com/api/mnoe/v2/app_instances/1/app"
        }
      },
      "owner": {
        "links": {
          "self": "https://api-hub.maestrano.com/api/mnoe/v2/app_instances/1/relationships/owner",
          "related": "https://api-hub.maestrano.com/api/mnoe/v2/app_instances/1/owner"
        }
      }
    }
  }
}

Update an Organization App Instance
PATCH/app_instances/{id}

Update a single App Instance.

URI Parameters
HideShow
id
integer (required) Example: 42

The app instance ID


Arrears Situations

Money that is owed and should have been paid earlier by an organization

Attribute

Attributes

Field Type Description Example
id Filterable Unique Read only integer ID 42
created_at Filterable Read only datetime Date of creation 2018-09-21T05:30:21Z
updated_at Filterable Read only datetime Date of last update 2018-09-21T05:30:21Z
status Filterable string Status of the arrear. One of: pending | performing | performed | resolved | cancelled
category Filterable Mandatory string Category of the arrear. One of: credit_expired | payment_failed | free_trial_expired credit_expired
payment Filterable money Payment done for the arrear 0.73
name Filterable string Name of the owner of the arrear organization_2

Additional Filters

Filter Description
tenant.id Tenant relation
owner.id Owner relation
owner.type Owner relation

Arrears Situation List

GET https://api-hub.maestrano.com/api/mnoe/v2/arrears_situation
Responses200
Body
{
  "data": [
    {
      "id": "42",
      "type": "arrears_situations",
      "links": {
        "self": "/api/mnoe/v2/arrears_situations/42"
      },
      "attributes": {
        "created_at": "2018-09-21T05:30:21.667Z",
        "updated_at": "2018-09-21T05:30:21.667Z",
        "status": null,
        "category": "credit_expired",
        "payment": {
          "cents": 73,
          "currency": "USD"
        },
        "name": "organization_2"
      },
      "relationships": {
        "tenant": {
          "links": {
            "self": "/api/mnoe/v2/arrears_situations/42/relationships/tenant",
            "related": "/api/mnoe/v2/arrears_situations/42/tenant"
          }
        },
        "owner": {
          "links": {
            "self": "/api/mnoe/v2/arrears_situations/42/relationships/owner",
            "related": "/api/mnoe/v2/arrears_situations/42/owner"
          }
        }
      }
    }
  ]
}

Get Arrears Situation
GET/arrears_situation

Get the list of arrears.


Audit Events

Every action of the platform may be logged in an audit event.

Attributes

Field Type Description Example
id Filterable Unique Read only integer ID 42
created_at Filterable Read only datetime Date of creation 2018-09-21T05:30:21Z
updated_at Filterable Read only datetime Date of last update 2018-09-21T05:30:21Z
key Filterable string Key identifying the audit event update_user
description Filterable text Description of the event Update of user
metadata Filterable text Metadata associated to metadata Name Surname
subject_type Filterable string type of the subject User
subject_id Filterable string id of the subject Organization

Additional Filters

Filter Description
tenant.id Tenant relation
user.id User relation
organization.id Organization relation

Relationships

Name Type To
tenant One to One Tenant
user One to One User
organization One to One Organization

Audit Events

GET https://api-hub.maestrano.com/api/mnoe/v2/audit_events
Responses200
Body
{
  "data": [
    {
      "id": "42",
      "type": "audit_events",
      "links": {
        "self": "/api/mnoe/v2/audit_events/42"
      },
      "attributes": {
        "created_at": "2018-09-21T05:30:21.717Z",
        "updated_at": "2018-09-21T05:30:21.717Z",
        "key": "update_user",
        "user_id": 1026,
        "organization_id": null,
        "description": "Update of user",
        "metadata": "Name Surname",
        "subject_type": "User",
        "subject_id": "Organization"
      },
      "relationships": {
        "tenant": {
          "links": {
            "self": "/api/mnoe/v2/audit_events/42/relationships/tenant",
            "related": "/api/mnoe/v2/audit_events/42/tenant"
          }
        },
        "user": {
          "links": {
            "self": "/api/mnoe/v2/audit_events/42/relationships/user",
            "related": "/api/mnoe/v2/audit_events/42/user"
          }
        },
        "organization": {
          "links": {
            "self": "/api/mnoe/v2/audit_events/42/relationships/organization",
            "related": "/api/mnoe/v2/audit_events/42/organization"
          }
        }
      }
    }
  ]
}

Get Audit Events
GET/audit_events

Get the list of audit events.


POST https://api-hub.maestrano.com/api/mnoe/v2/audit_events
Requestsexample 1
Body
{
  "data": {
    "type": "audit_events",
    "attributes": {
      "user_id": 35,
      "organization_id": 3,
      "role": "Super Admin"
    }
  }
}
Responses201
Body
{
  "data": [
    {
      "id": "42",
      "type": "audit_events",
      "links": {
        "self": "/api/mnoe/v2/audit_events/42"
      },
      "attributes": {
        "created_at": "2018-09-21T05:30:21.717Z",
        "updated_at": "2018-09-21T05:30:21.717Z",
        "key": "update_user",
        "user_id": 1026,
        "organization_id": null,
        "description": "Update of user",
        "metadata": "Name Surname",
        "subject_type": "User",
        "subject_id": "Organization"
      },
      "relationships": {
        "tenant": {
          "links": {
            "self": "/api/mnoe/v2/audit_events/42/relationships/tenant",
            "related": "/api/mnoe/v2/audit_events/42/tenant"
          }
        },
        "user": {
          "links": {
            "self": "/api/mnoe/v2/audit_events/42/relationships/user",
            "related": "/api/mnoe/v2/audit_events/42/user"
          }
        },
        "organization": {
          "links": {
            "self": "/api/mnoe/v2/audit_events/42/relationships/organization",
            "related": "/api/mnoe/v2/audit_events/42/organization"
          }
        }
      }
    }
  ]
}

Create a new Audit Event
POST/audit_events


Audit Event

GET https://api-hub.maestrano.com/api/mnoe/v2/audit_events/42
Responses200
Body
{
  "data": {
    "id": "42",
    "type": "audit_events",
    "links": {
      "self": "/api/mnoe/v2/audit_events/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:21.717Z",
      "updated_at": "2018-09-21T05:30:21.717Z",
      "key": "update_user",
      "user_id": 1026,
      "organization_id": null,
      "description": "Update of user",
      "metadata": "Name Surname",
      "subject_type": "User",
      "subject_id": "Organization"
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/audit_events/42/relationships/tenant",
          "related": "/api/mnoe/v2/audit_events/42/tenant"
        }
      },
      "user": {
        "links": {
          "self": "/api/mnoe/v2/audit_events/42/relationships/user",
          "related": "/api/mnoe/v2/audit_events/42/user"
        }
      },
      "organization": {
        "links": {
          "self": "/api/mnoe/v2/audit_events/42/relationships/organization",
          "related": "/api/mnoe/v2/audit_events/42/organization"
        }
      }
    }
  }
}

Get an Audit Event
GET/audit_events/{id}

Get a single audit event.

URI Parameters
HideShow
id
integer (required) Example: 42

The audit event ID


PATCH https://api-hub.maestrano.com/api/mnoe/v2/audit_events/42
Requestsexample 1
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
   "data":{
      "type":"organizations",
      "id": 42
      "attributes":{
         "role": "Super Admin"
      }
   }
}
Responses201
Body
{
  "data": {
    "id": "42",
    "type": "audit_events",
    "links": {
      "self": "/api/mnoe/v2/audit_events/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:21.717Z",
      "updated_at": "2018-09-21T05:30:21.717Z",
      "key": "update_user",
      "user_id": 1026,
      "organization_id": null,
      "description": "Update of user",
      "metadata": "Name Surname",
      "subject_type": "User",
      "subject_id": "Organization"
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/audit_events/42/relationships/tenant",
          "related": "/api/mnoe/v2/audit_events/42/tenant"
        }
      },
      "user": {
        "links": {
          "self": "/api/mnoe/v2/audit_events/42/relationships/user",
          "related": "/api/mnoe/v2/audit_events/42/user"
        }
      },
      "organization": {
        "links": {
          "self": "/api/mnoe/v2/audit_events/42/relationships/organization",
          "related": "/api/mnoe/v2/audit_events/42/organization"
        }
      }
    }
  }
}

Update an Audit Event
PATCH/audit_events/{id}

URI Parameters
HideShow
id
integer (required) Example: 42

The audit event ID


DELETE https://api-hub.maestrano.com/api/mnoe/v2/audit_events/42
Requestsexample 1
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Responses

Delete an Audit Event
DELETE/audit_events/{id}

URI Parameters
HideShow
id
integer (required) Example: 42

The audit event ID


Bills

A bill represents a charge related to the use of an app or product to be invoiced to a customer. A bill can be created through the API or be generated from a recurring bill.

When creating a bill through the API a billable must be attached to it. A billable is an AppInstance or a Subscription.

The supplier_price_cents and platform_price_cents are automatically populated based on the revenue sharing agreement between the platform owner and the service provider creating the bill. These fields are read-only but some service providers may be allowed to configure these fields (e.g. for apps owned by the platform owner itself)

From a reconciliation point of view the following rules apply: supplier_price = [Provider revenue share] platform_price = supplier_price + [Platform revenue share] price = platform_price + [Tenant revenue share] = [Price set via API] end_user_price = price + [Tenant markup/discount]

Attributes

Field Type Description Example
id Filterable Unique Read only integer ID 42
created_at Filterable Read only datetime Date of creation 2018-09-21T05:30:21Z
updated_at Filterable Read only datetime Date of last update 2018-09-21T05:30:21Z
currency Filterable Create only Mandatory string The currency of the amount charged. Must be in ISO 4217 format. AUD
description Filterable Mandatory string A description to appear on the invoice some bill description
end_user_price_cents Filterable Create only integer The amount eventually paid by customers - inclusive of tenant-specific markups/discounts
period_started_at Filterable Create only datetime The start date of the billing period this charge is for
period_ended_at Filterable Create only datetime The end date of the billing period this charge is for
platform_price_cents Filterable Create only integer The platform + service provider revenue share. Represents the bill cost from a tenant point of view.
price_cents Filterable Create only Mandatory integer The amount to be charged in cents 2400
status Filterable Read only string The current status of the bill. One of: submitted | cancelled | invoiced submitted
supplier_price_cents Filterable Create only integer The service provider revenue share. Represents the bill cost from a platform point of view.
third_party Filterable Create only boolean Set to true if this bill is related to a service provider expense with a third party which is not subject to commission. false
closed_end_user_price Filterable Create only string The end_user_price in the invoice currency.
closure_exchange_rate Filterable Create only string Default exchange rate at the invoice ended_at date.
adjustment Filterable Read only string Set to true if this bill represents a manual adjustment false
billing_group Read only string Name of the invoice section under which this bill will appear TestApp5

Additional Filters

Filter Description
tenant.id Tenant relation
billable.type Billable relation
billable.id Billable relation
invoice.id Invoice relation
recurring_bill.id Recurring Bill relation

Relationships

Name Type To
tenant One to One Tenant
billable One to One Billable
invoice One to One Invoice
recurring_bill One to One Recurring Bill

Bills List

GET https://api-hub.maestrano.com/api/mnoe/v2/bills
Responses200
Body
{
  "data": [
    {
      "id": "42",
      "type": "bills",
      "links": {
        "self": "/api/mnoe/v2/bills/42"
      },
      "attributes": {
        "created_at": "2018-09-21T05:30:21.749Z",
        "updated_at": "2018-09-21T05:30:21.749Z",
        "currency": "AUD",
        "description": "some bill description",
        "end_user_price_cents": null,
        "period_started_at": null,
        "period_ended_at": null,
        "platform_price_cents": null,
        "price_cents": 2400,
        "status": "submitted",
        "supplier_price_cents": null,
        "third_party": false,
        "closed_end_user_price": null,
        "closure_exchange_rate": null,
        "adjustment": false,
        "billing_group": "TestApp5"
      },
      "relationships": {
        "tenant": {
          "links": {
            "self": "/api/mnoe/v2/bills/42/relationships/tenant",
            "related": "/api/mnoe/v2/bills/42/tenant"
          }
        },
        "billable": {
          "links": {
            "self": "/api/mnoe/v2/bills/42/relationships/billable",
            "related": "/api/mnoe/v2/bills/42/billable"
          }
        },
        "invoice": {
          "links": {
            "self": "/api/mnoe/v2/bills/42/relationships/invoice",
            "related": "/api/mnoe/v2/bills/42/invoice"
          }
        },
        "recurring_bill": {
          "links": {
            "self": "/api/mnoe/v2/bills/42/relationships/recurring_bill",
            "related": "/api/mnoe/v2/bills/42/recurring_bill"
          }
        }
      }
    }
  ]
}

Get Bills
GET/bills

Get all recurring bills


POST https://api-hub.maestrano.com/api/mnoe/v2/bills
RequestsWith AppInstanceWith Subscription
Body
{
  "data": {
    "type": "bills",
    "attributes": {
      "currency": "USD",
      "description": "Company subscription: Pro",
      "price_cents": 2990
    },
    "relationships": {
      "billable": {
        "data": {
          "type": "app_instances",
          "id": "442"
        }
      }
    }
  }
}
Responses
Body
{
  "data": {
    "type": "bills",
    "attributes": {
      "currency": "USD",
      "description": "User subscription: Basic",
      "price_cents": 2990
    },
    "relationships": {
      "billable": {
        "data": {
          "type": "subscriptions",
          "id": "50f3d438-fab0-44cb-815c-1003f0f6d1ea"
        }
      }
    }
  }
}
Responses

Create New bills
POST/bills

Create a new bill.


Bill

GET https://api-hub.maestrano.com/api/mnoe/v2/bills/42
Responses200
Body
{
  "data": {
    "id": "42",
    "type": "bills",
    "links": {
      "self": "/api/mnoe/v2/bills/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:21.749Z",
      "updated_at": "2018-09-21T05:30:21.749Z",
      "currency": "AUD",
      "description": "some bill description",
      "end_user_price_cents": null,
      "period_started_at": null,
      "period_ended_at": null,
      "platform_price_cents": null,
      "price_cents": 2400,
      "status": "submitted",
      "supplier_price_cents": null,
      "third_party": false,
      "closed_end_user_price": null,
      "closure_exchange_rate": null,
      "adjustment": false,
      "billing_group": "TestApp5"
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/bills/42/relationships/tenant",
          "related": "/api/mnoe/v2/bills/42/tenant"
        }
      },
      "billable": {
        "links": {
          "self": "/api/mnoe/v2/bills/42/relationships/billable",
          "related": "/api/mnoe/v2/bills/42/billable"
        }
      },
      "invoice": {
        "links": {
          "self": "/api/mnoe/v2/bills/42/relationships/invoice",
          "related": "/api/mnoe/v2/bills/42/invoice"
        }
      },
      "recurring_bill": {
        "links": {
          "self": "/api/mnoe/v2/bills/42/relationships/recurring_bill",
          "related": "/api/mnoe/v2/bills/42/recurring_bill"
        }
      }
    }
  }
}

Get a Bill
GET/bills/{id}

Get a single bill.

URI Parameters
HideShow
id
integer (required) Example: 42

The bill ID


DELETE https://api-hub.maestrano.com/api/mnoe/v2/bills/42
Requestsexample 1
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Responses

Delete a Bill
DELETE/bills/{id}

The bill will not actually be deleted and will be flagged as cancelled instead. Only bills that are in a ‘submitted’ status can be cancelled.

URI Parameters
HideShow
id
integer (required) Example: 42

The bill ID


Credit Cards

Store an Organization credit card

Attributes

Field Type Description Example
id Filterable Unique Read only integer ID 42
created_at Filterable Read only datetime Date of creation 2018-09-21T05:30:21Z
updated_at Filterable Read only datetime Date of last update 2018-09-21T05:30:21Z
title Filterable Mandatory string Title of the customer Mr.
first_name Filterable string First name on the card John
last_name Filterable string Last name on the card Doe
country Filterable Mandatory string Country of delivery AU
masked_number Filterable string Credit Card number masked except last 4 numbers
number Filterable string Credit Card number 4242424242424242
month Filterable integer Month of expiration 9
year Filterable integer Year of expiration 2019
billing_address Filterable Mandatory text Customer billing address 123 Black Street
billing_city Filterable Mandatory string Customer billing city Blackville
billing_postcode Filterable string Customer billing post code
billing_country Filterable Mandatory string Customer billing country AU
verification_value Filterable string Verification code 123

Additional Filters

Filter Description
tenant.id Tenant relation
owner.id Owner relation
owner.type Owner relation

Credit Cards

GET https://api-hub.maestrano.com/api/mnoe/v2/credit_cards
Responses200
Body
{
  "data": [
    {
      "id": "42",
      "type": "credit_cards",
      "links": {
        "self": "/api/mnoe/v2/credit_cards/42"
      },
      "attributes": {
        "created_at": "2018-09-21T05:30:21.758Z",
        "updated_at": "2018-09-21T05:30:21.757Z",
        "title": "Mr.",
        "first_name": "John",
        "last_name": "Doe",
        "country": "AU",
        "masked_number": null,
        "number": "4242424242424242",
        "month": 9,
        "year": 2019,
        "billing_address": "123 Black Street",
        "billing_city": "Blackville",
        "billing_postcode": null,
        "billing_country": "AU",
        "verification_value": "123",
        "owner_type": "Organization",
        "owner_id": 1038
      },
      "relationships": {
        "tenant": {
          "links": {
            "self": "/api/mnoe/v2/credit_cards/42/relationships/tenant",
            "related": "/api/mnoe/v2/credit_cards/42/tenant"
          }
        },
        "owner": {
          "links": {
            "self": "/api/mnoe/v2/credit_cards/42/relationships/owner",
            "related": "/api/mnoe/v2/credit_cards/42/owner"
          }
        }
      }
    }
  ]
}

Get Credit Cards
GET/credit_cards

Get the credit cards


POST https://api-hub.maestrano.com/api/mnoe/v2/credit_cards
Requestsexample 1
Body
{
  "data": {
    "type": "credit_cards",
    "attributes": {
      "title": "Mr.",
      "first_name": "Jean",
      "last_name": "Doe",
      "country": "US",
      "number": "4242424242424242",
      "month": 1,
      "year": 2020,
      "billing_address": "test",
      "billing_city": "City",
      "billing_postcode": null,
      "billing_country": "US",
      "verification_value": 589,
      "owner_type": "Organization",
      "owner_id": 3
    }
  }
}
Responses

Add New Credit Card
POST/credit_cards

Create a credit card. Only one can be linked to an organization.


Credit Card

GET https://api-hub.maestrano.com/api/mnoe/v2/credit_cards/42
Responses200
Body
{
  "data": {
    "id": "42",
    "type": "credit_cards",
    "links": {
      "self": "/api/mnoe/v2/credit_cards/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:21.758Z",
      "updated_at": "2018-09-21T05:30:21.757Z",
      "title": "Mr.",
      "first_name": "John",
      "last_name": "Doe",
      "country": "AU",
      "masked_number": null,
      "number": "4242424242424242",
      "month": 9,
      "year": 2019,
      "billing_address": "123 Black Street",
      "billing_city": "Blackville",
      "billing_postcode": null,
      "billing_country": "AU",
      "verification_value": "123",
      "owner_type": "Organization",
      "owner_id": 1038
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/credit_cards/42/relationships/tenant",
          "related": "/api/mnoe/v2/credit_cards/42/tenant"
        }
      },
      "owner": {
        "links": {
          "self": "/api/mnoe/v2/credit_cards/42/relationships/owner",
          "related": "/api/mnoe/v2/credit_cards/42/owner"
        }
      }
    }
  }
}

Get a single Credit Card
GET/credit_cards/{id}

Get a single credit card.

URI Parameters
HideShow
id
integer (required) Example: 42

The Credit Card ID


PATCH https://api-hub.maestrano.com/api/mnoe/v2/credit_cards/42
Requestsexample 1
Body
{
  "data": {
    "type": "credit_cards",
    "id": 1,
    "attributes": {
      "title": "Mr.",
      "first_name": "Jean",
      "last_name": "Doe",
      "country": "US",
      "number": "4242424242424242",
      "month": 1,
      "year": 2020,
      "billing_address": "test",
      "billing_city": "City",
      "billing_postcode": null,
      "billing_country": "US",
      "verification_value": 589,
      "owner_type": "Organization",
      "owner_id": 3
    }
  }
}
Responses

Update the Credit Card
PATCH/credit_cards/{id}

Updates the credit card.

URI Parameters
HideShow
id
integer (required) Example: 42

The Credit Card ID


DELETE https://api-hub.maestrano.com/api/mnoe/v2/credit_cards/42
Requestsexample 1
This response has no content.
Responses

Delete
DELETE/credit_cards/{id}

Delete the credit card.

URI Parameters
HideShow
id
integer (required) Example: 42

The Credit Card ID


Dashboards

A dashboard is a multi-organization user interface which contains widgets, KPIS & user metadata

Attributes

Field Type Description Example
id Filterable Unique Read only integer ID 42
created_at Filterable Read only datetime Date of creation 2018-09-21T05:30:21Z
updated_at Filterable Read only datetime Date of last update 2018-09-21T05:30:21Z
name Filterable Mandatory string Name of the Dashboard analytics dashboard example
settings Filterable string Metadata field that holds the settings applied to the dashboard (eg: currency, widgets_order) {}
widgets_order Filterable string Display order of the widgets []
organization_ids Filterable string Ids of the organizations with access []
currency Filterable string Currency displayed on the widgets
hist_parameters Filterable string Time period applied to a dashboard. When used, the time period will be propagated to all the KPIs attached to the dashboard
source_id Filterable integer The dashboard source id. Applies when dashboard was created from a template.
dashboard_type Filterable string The dashboard type. It can be template or null dashboard
published Filterable boolean Is the dashboard template published ? true

Additional Filters

Filter Description
tenant.id Tenant relation
kpis.id Kpis relation
widgets.id Widgets relation
owner.id Owner relation
owner.type Owner relation

Relationships

Name Type To
tenant One to One Tenant
kpis One to Many Kpi
widgets One to Many Widget
owner One to One Owner

Dashboards

GET https://api-hub.maestrano.com/api/mnoe/v2/dashboards
Responses200
Body
{
  "data": [
    {
      "id": "42",
      "type": "dashboards",
      "links": {
        "self": "/api/mnoe/v2/dashboards/42"
      },
      "attributes": {
        "created_at": "2018-09-21T05:30:21.766Z",
        "updated_at": "2018-09-21T05:30:21.765Z",
        "owner_type": "User",
        "owner_id": 1041,
        "name": "analytics dashboard example",
        "settings": {},
        "widgets_order": [],
        "organization_ids": [],
        "currency": null,
        "hist_parameters": null,
        "source_id": null,
        "dashboard_type": "dashboard",
        "published": true
      },
      "relationships": {
        "tenant": {
          "links": {
            "self": "/api/mnoe/v2/dashboards/42/relationships/tenant",
            "related": "/api/mnoe/v2/dashboards/42/tenant"
          }
        },
        "kpis": {
          "links": {
            "self": "/api/mnoe/v2/dashboards/42/relationships/kpis",
            "related": "/api/mnoe/v2/dashboards/42/kpis"
          }
        },
        "widgets": {
          "links": {
            "self": "/api/mnoe/v2/dashboards/42/relationships/widgets",
            "related": "/api/mnoe/v2/dashboards/42/widgets"
          }
        },
        "owner": {
          "links": {
            "self": "/api/mnoe/v2/dashboards/42/relationships/owner",
            "related": "/api/mnoe/v2/dashboards/42/owner"
          }
        }
      }
    }
  ]
}

Get Dashboards
GET/dashboards

Get the list of dashboards.


POST https://api-hub.maestrano.com/api/mnoe/v2/dashboards
Requestsexample 1
Body
{
"data":{
  "type":"dashboards",
  "attributes":{
    "name": "analytics dashboard example"
  }
}
}
[Dashboard][]
Responses

Create new Dasboard
POST/dashboards

Create a new dashboard.


Dashboard

GET https://api-hub.maestrano.com/api/mnoe/v2/dashboards/42
Responses200
Body
{
  "data": {
    "id": "42",
    "type": "dashboards",
    "links": {
      "self": "/api/mnoe/v2/dashboards/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:21.766Z",
      "updated_at": "2018-09-21T05:30:21.765Z",
      "owner_type": "User",
      "owner_id": 1041,
      "name": "analytics dashboard example",
      "settings": {},
      "widgets_order": [],
      "organization_ids": [],
      "currency": null,
      "hist_parameters": null,
      "source_id": null,
      "dashboard_type": "dashboard",
      "published": true
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/dashboards/42/relationships/tenant",
          "related": "/api/mnoe/v2/dashboards/42/tenant"
        }
      },
      "kpis": {
        "links": {
          "self": "/api/mnoe/v2/dashboards/42/relationships/kpis",
          "related": "/api/mnoe/v2/dashboards/42/kpis"
        }
      },
      "widgets": {
        "links": {
          "self": "/api/mnoe/v2/dashboards/42/relationships/widgets",
          "related": "/api/mnoe/v2/dashboards/42/widgets"
        }
      },
      "owner": {
        "links": {
          "self": "/api/mnoe/v2/dashboards/42/relationships/owner",
          "related": "/api/mnoe/v2/dashboards/42/owner"
        }
      }
    }
  }
}

Get Dashboard
GET/dashboards/{id}

Get a single dashboard.

URI Parameters
HideShow
id
integer (required) Example: 42

The dashboard ID


PATCH https://api-hub.maestrano.com/api/mnoe/v2/dashboards/42
Requestsexample 1
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "type": "dashboards",
    "attributes": {
      "name": "New name"
    }
  }
}
Responses201
Body
{
  "data": {
    "id": "42",
    "type": "dashboards",
    "links": {
      "self": "/api/mnoe/v2/dashboards/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:21.766Z",
      "updated_at": "2018-09-21T05:30:21.765Z",
      "owner_type": "User",
      "owner_id": 1041,
      "name": "analytics dashboard example",
      "settings": {},
      "widgets_order": [],
      "organization_ids": [],
      "currency": null,
      "hist_parameters": null,
      "source_id": null,
      "dashboard_type": "dashboard",
      "published": true
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/dashboards/42/relationships/tenant",
          "related": "/api/mnoe/v2/dashboards/42/tenant"
        }
      },
      "kpis": {
        "links": {
          "self": "/api/mnoe/v2/dashboards/42/relationships/kpis",
          "related": "/api/mnoe/v2/dashboards/42/kpis"
        }
      },
      "widgets": {
        "links": {
          "self": "/api/mnoe/v2/dashboards/42/relationships/widgets",
          "related": "/api/mnoe/v2/dashboards/42/widgets"
        }
      },
      "owner": {
        "links": {
          "self": "/api/mnoe/v2/dashboards/42/relationships/owner",
          "related": "/api/mnoe/v2/dashboards/42/owner"
        }
      }
    }
  }
}

Update an Dashboard
PATCH/dashboards/{id}

Update a single dashboard.

URI Parameters
HideShow
id
integer (required) Example: 42

The dashboard ID


DELETE https://api-hub.maestrano.com/api/mnoe/v2/dashboards/42
Requestsexample 1
Headers
Content-Type: application/json; charset=utf-8
Responses

Delete a Dashboard
DELETE/dashboards/{id}

Delete a single dashboard.

URI Parameters
HideShow
id
integer (required) Example: 42

The dashboard ID


Deletion Requests

A deletion request is used to store the request to delete a user or an organization

Attributes

Field Type Description Example
id Filterable Unique Read only integer ID 42
created_at Filterable Read only datetime Date of creation 2018-09-21T05:30:21Z
updated_at Filterable Read only datetime Date of last update 2018-09-21T05:30:21Z
token Filterable Read only string Token of the Deletion Request
status Filterable string Current status of the deletion request

Additional Filters

Filter Description
tenant.id Tenant relation
deletable.id Deletable relation
deletable.type Deletable relation

Deletion Requests

GET https://api-hub.maestrano.com/api/mnoe/v2/deletion_requests
Responses200
Body
{
  "data": [
    {
      "id": "42",
      "type": "deletion_requests",
      "links": {
        "self": "/api/mnoe/v2/deletion_requests/42"
      },
      "attributes": {
        "created_at": "2018-09-21T05:30:21.779Z",
        "updated_at": "2018-09-21T05:30:21.779Z",
        "token": null,
        "status": null,
        "deletable_id": 1044,
        "deletable_type": "User"
      },
      "relationships": {
        "tenant": {
          "links": {
            "self": "/api/mnoe/v2/deletion_requests/42/relationships/tenant",
            "related": "/api/mnoe/v2/deletion_requests/42/tenant"
          }
        },
        "deletable": {
          "links": {
            "self": "/api/mnoe/v2/deletion_requests/42/relationships/deletable",
            "related": "/api/mnoe/v2/deletion_requests/42/deletable"
          }
        }
      }
    }
  ]
}

Get Deletion Requests
GET/deletion_requests

Get the list of deletion_requests.


POST https://api-hub.maestrano.com/api/mnoe/v2/deletion_requests
Requestsexample 1
Body
{
"data":{
  "type":"deletion_requests",
  "attributes":{
     "name":"name",
     "surname":"surname",
     "email":"email@test.com",
     "password":"password"
  }
}
}
[Deletion Request][]
Responses

Create New deletion_requests
POST/deletion_requests

Create a new deletion request.


Deletion Request

GET https://api-hub.maestrano.com/api/mnoe/v2/deletion_requests/42
Responses200
Body
{
  "data": {
    "id": "42",
    "type": "deletion_requests",
    "links": {
      "self": "/api/mnoe/v2/deletion_requests/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:21.779Z",
      "updated_at": "2018-09-21T05:30:21.779Z",
      "token": null,
      "status": null,
      "deletable_id": 1044,
      "deletable_type": "User"
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/deletion_requests/42/relationships/tenant",
          "related": "/api/mnoe/v2/deletion_requests/42/tenant"
        }
      },
      "deletable": {
        "links": {
          "self": "/api/mnoe/v2/deletion_requests/42/relationships/deletable",
          "related": "/api/mnoe/v2/deletion_requests/42/deletable"
        }
      }
    }
  }
}

Get Deletion Request
GET/deletion_requests/{id}

Get a single deletion request.

URI Parameters
HideShow
id
integer (required) Example: 42

The deletion request ID


PATCH https://api-hub.maestrano.com/api/mnoe/v2/deletion_requests/42
Requestsexample 1
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "type": "deletion_requests",
    "id": 9,
    "attributes": {
      "name": "New Name"
    }
  }
}
Responses201
Body
{
  "data": {
    "id": "42",
    "type": "deletion_requests",
    "links": {
      "self": "/api/mnoe/v2/deletion_requests/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:21.779Z",
      "updated_at": "2018-09-21T05:30:21.779Z",
      "token": null,
      "status": null,
      "deletable_id": 1044,
      "deletable_type": "User"
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/deletion_requests/42/relationships/tenant",
          "related": "/api/mnoe/v2/deletion_requests/42/tenant"
        }
      },
      "deletable": {
        "links": {
          "self": "/api/mnoe/v2/deletion_requests/42/relationships/deletable",
          "related": "/api/mnoe/v2/deletion_requests/42/deletable"
        }
      }
    }
  }
}

Update an Deletion Request
PATCH/deletion_requests/{id}

Update a single deletion request.

URI Parameters
HideShow
id
integer (required) Example: 42

The deletion request ID


DELETE https://api-hub.maestrano.com/api/mnoe/v2/deletion_requests/42
Requestsexample 1
Headers
Content-Type: application/json; charset=utf-8
Responses

Delete a Deletion Request
DELETE/deletion_requests/{id}

Delete a single deletion request.

URI Parameters
HideShow
id
integer (required) Example: 42

The deletion request ID


Identities

Used to link multiple OAuth identities to a single user

Attributes

Field Type Description Example
id Filterable Unique Read only integer ID 42
created_at Filterable Read only datetime Date of creation 2018-09-21T05:30:21Z
updated_at Filterable Read only datetime Date of last update 2018-09-21T05:30:21Z
provider Filterable Mandatory string Provider someprovider
uid Filterable Mandatory string Id of the identify for the given provider uid_1

Additional Filters

Filter Description
tenant.id Tenant relation
user.id User relation

Relationships

Name Type To
tenant One to One Tenant
user One to One User

Identities

GET https://api-hub.maestrano.com/api/mnoe/v2/identities
Responses200
Body
{
  "data": [
    {
      "id": "42",
      "type": "identities",
      "links": {
        "self": "/api/mnoe/v2/identities/42"
      },
      "attributes": {
        "created_at": "2018-09-21T05:30:21.791Z",
        "updated_at": "2018-09-21T05:30:21.790Z",
        "user_id": 1047,
        "provider": "someprovider",
        "uid": "uid_1"
      },
      "relationships": {
        "tenant": {
          "links": {
            "self": "/api/mnoe/v2/identities/42/relationships/tenant",
            "related": "/api/mnoe/v2/identities/42/tenant"
          }
        },
        "user": {
          "links": {
            "self": "/api/mnoe/v2/identities/42/relationships/user",
            "related": "/api/mnoe/v2/identities/42/user"
          }
        }
      }
    }
  ]
}

Get Identities
GET/identities

Get the list of identities


POST https://api-hub.maestrano.com/api/mnoe/v2/identities
Requestsexample 1
Body
{
  "data": {
    "type": "identities",
    "attributes": {
      "user_id": 9,
      "provider": "someprovider",
      "uid": "uid_1"
    }
  }
}
Responses201
Body
{
  "data": [
    {
      "id": "42",
      "type": "identities",
      "links": {
        "self": "/api/mnoe/v2/identities/42"
      },
      "attributes": {
        "created_at": "2018-09-21T05:30:21.791Z",
        "updated_at": "2018-09-21T05:30:21.790Z",
        "user_id": 1047,
        "provider": "someprovider",
        "uid": "uid_1"
      },
      "relationships": {
        "tenant": {
          "links": {
            "self": "/api/mnoe/v2/identities/42/relationships/tenant",
            "related": "/api/mnoe/v2/identities/42/tenant"
          }
        },
        "user": {
          "links": {
            "self": "/api/mnoe/v2/identities/42/relationships/user",
            "related": "/api/mnoe/v2/identities/42/user"
          }
        }
      }
    }
  ]
}

Create a new Identitie
POST/identities


Identity

GET https://api-hub.maestrano.com/api/mnoe/v2/Identities/42
Responses200
Body
{
  "data": [
    {
      "id": "42",
      "type": "identities",
      "links": {
        "self": "/api/mnoe/v2/identities/42"
      },
      "attributes": {
        "created_at": "2018-09-21T05:30:21.791Z",
        "updated_at": "2018-09-21T05:30:21.790Z",
        "user_id": 1047,
        "provider": "someprovider",
        "uid": "uid_1"
      },
      "relationships": {
        "tenant": {
          "links": {
            "self": "/api/mnoe/v2/identities/42/relationships/tenant",
            "related": "/api/mnoe/v2/identities/42/tenant"
          }
        },
        "user": {
          "links": {
            "self": "/api/mnoe/v2/identities/42/relationships/user",
            "related": "/api/mnoe/v2/identities/42/user"
          }
        }
      }
    }
  ]
}

Get an Identity
GET/Identities/{id}

Get a single Identity.

URI Parameters
HideShow
id
integer (required) Example: 42

The Identity ID


PATCH https://api-hub.maestrano.com/api/mnoe/v2/Identities/42
Requestsexample 1
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
   "data":{
      "type":"identities",
      "id": 42
      "attributes":{
         "provider": "facebook"
      }
   }
}
Responses201
Body
{
  "data": {
    "id": "42",
    "type": "identities",
    "links": {
      "self": "/api/mnoe/v2/identities/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:21.791Z",
      "updated_at": "2018-09-21T05:30:21.790Z",
      "user_id": 1047,
      "provider": "someprovider",
      "uid": "uid_1"
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/identities/42/relationships/tenant",
          "related": "/api/mnoe/v2/identities/42/tenant"
        }
      },
      "user": {
        "links": {
          "self": "/api/mnoe/v2/identities/42/relationships/user",
          "related": "/api/mnoe/v2/identities/42/user"
        }
      }
    }
  }
}

Update an Identity
PATCH/Identities/{id}

URI Parameters
HideShow
id
integer (required) Example: 42

The Identity ID


DELETE https://api-hub.maestrano.com/api/mnoe/v2/Identities/42
Requestsexample 1
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Responses

Delete an Identity
DELETE/Identities/{id}

URI Parameters
HideShow
id
integer (required) Example: 42

The Identity ID


Invoices

Store an Organization Invoice

Attributes

Field Type Description Example
id Filterable Unique Read only integer ID 42
created_at Filterable Read only datetime Date of creation 2018-09-21T05:30:21Z
updated_at Filterable Read only datetime Date of last update 2018-09-21T05:30:21Z
billing_address Filterable Read only text Invoice billing address
ended_at Filterable Read only Mandatory datetime Date of invoice end 2011-02-01T00:00:00Z
currency Filterable Read only Mandatory string Invoice currency in ISO 4217 format (three letters) AUD
paid_at Filterable datetime Date paid
price_cents Filterable Read only Mandatory integer Total price of the invoice in cents 2000
started_at Filterable Read only Mandatory datetime Date of invoice start 2011-01-01T00:00:00Z
slug Filterable Read only string Invoice reference
tax_pips_applied Filterable integer Tax calculation method for display purpose (Tax Inclusive / Exclusive)
credit_paid Read only string The amount paid via CreditAccount 0.00
billing_summary Read only array The complete summary of the invoice as an array of consolidated (per app instance) item []
price Read only string Total price of the invoice 20.00
previous_total_due Read only string The previous total due for this invoice as it will be displayed on the customer’s PDF. Use previous_due_invoices for thec alculations 0.00
previous_total_paid Read only string The previous total paid for this invoice as it will be displayedon the customer’s PDF 0.00
tax_due_remaining Read only string How much tax should be paid based on total_due_remaining tax_due_remaining = tax_payable - self.payment_paid*rate 0.00
tax_payable Read only string Use the tax_pips_applied value for the tax rate Rounding follows the GST guidelines (normal math rounding) http://www.ato.gov.au/Media-centre/Media-releases/Certainty-for-business-in-GST-calculations-and-rounding/ 0.00
total_due_remaining Read only string How much is remaining to pay for this invoice. Basically: total_due - paid 20.00
total_due Read only string total_due is a snapshot of the invoice before any payment has been done. 20.00
total_payable Read only string How much should be paid via credit card the taxes payable for this invoice 20.00

Additional Filters

Filter Description
tenant.id Tenant relation
organization.id Organization relation
bills.id Bills relation

Invoices List

GET https://api-hub.maestrano.com/api/mnoe/v2/organizations/1/invoices
Responses200
Body
{
  "data": [
    {
      "id": 208,
      "started_at": "2013-02-28T21:43:20Z",
      "ended_at": "2013-07-25T00:00:00Z",
      "created_at": "2013-07-25T01:01:08Z",
      "updated_at": "2013-08-25T01:01:06Z",
      "paid_at": "2013-08-25T01:01:06Z",
      "slug": "201307-N43",
      "tax_pips_applied": null,
      "billing_address": null,
      "price": {
        "cents": 105,
        "currency": "AUD"
      },
      "total_due": {
        "cents": 0,
        "currency": "AUD"
      },
      "total_payable": {
        "cents": 0,
        "currency": "AUD"
      },
      "tax_payable": {
        "cents": 0,
        "currency": "AUD"
      },
      "total_due_remaining": {
        "cents": 0,
        "currency": "AUD"
      },
      "tax_due_remaining": {
        "cents": 0,
        "currency": "AUD"
      },
      "credit_paid": {
        "cents": 0,
        "currency": "AUD"
      },
      "previous_total_due": {
        "cents": 0,
        "currency": "AUD"
      },
      "previous_total_paid": {
        "cents": 0,
        "currency": "AUD"
      },
      "billing_summary": [
        {
          "app_uid": "rsq.mcube.co",
          "name": "Feng Office",
          "usage": "-",
          "label": "CRM investors",
          "price_tag": "$0.15",
          "price": {
            "cents": 15,
            "currency": "AUD"
          },
          "lines": [
            {
              "label": "Application plan",
              "price_tag": "$0.15",
              "price": {
                "cents": 15,
                "currency": "AUD"
              },
              "converted_price": {
                "cents": 15,
                "currency": "AUD"
              }
            }
          ]
        },
        {
          "app_uid": "www.mcube.co",
          "name": "Lovely application",
          "usage": "-",
          "label": "ERO dam",
          "price_tag": "$0.15",
          "price": {
            "cents": 15,
            "currency": "AUD"
          },
          "lines": [
            {
              "label": "Application plan",
              "price_tag": "$0.15",
              "price": {
                "cents": 15,
                "currency": "AUD"
              },
              "converted_price": {
                "cents": 15,
                "currency": "AUD"
              }
            }
          ]
        },
        {
          "app_uid": "sac.mcube.co",
          "name": "Another Application",
          "usage": "-",
          "label": "Configuration Management",
          "price_tag": "$0.15",
          "price": {
            "cents": 15,
            "currency": "AUD"
          },
          "lines": [
            {
              "label": "Application plan",
              "price_tag": "$0.15",
              "price": {
                "cents": 15,
                "currency": "AUD"
              },
              "converted_price": {
                "cents": 15,
                "currency": "AUD"
              }
            }
          ]
        },
        {
          "app_uid": "aaa.mcube.co",
          "name": "An Application",
          "usage": "-",
          "label": "Survey",
          "price_tag": "$0.123",
          "price": {
            "cents": 15,
            "currency": "AUD"
          },
          "lines": [
            {
              "label": "Application plan",
              "price_tag": "$0.123",
              "price": {
                "cents": 15,
                "currency": "AUD"
              },
              "converted_price": {
                "cents": 15,
                "currency": "AUD"
              }
            }
          ]
        }
      ],
      "organization_id": 1
    }
  ],
  "metadata": {
    "pagination": {
      "count": 138266,
      "skip": 0,
      "limit": "1"
    }
  }
}

Get Invoices
GET/organizations/{organization_id}/invoices

Get the list of invoices.

URI Parameters
HideShow
organization_id
string (required) Example: 1

The organization ID


Invoice

GET https://api-hub.maestrano.com/api/mnoe/v2/invoices/208
Responses200404
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "data": {
    "id": 208,
    "started_at": "2013-02-28T21:43:20Z",
    "ended_at": "2013-07-25T00:00:00Z",
    "created_at": "2013-07-25T01:01:08Z",
    "updated_at": "2013-08-25T01:01:06Z",
    "paid_at": "2013-08-25T01:01:06Z",
    "slug": "201307-N43",
    "tax_pips_applied": null,
    "billing_address": null,
    "price": {
      "cents": 105,
      "currency": "AUD"
    },
    "total_due": {
      "cents": 0,
      "currency": "AUD"
    },
    "total_payable": {
      "cents": 0,
      "currency": "AUD"
    },
    "tax_payable": {
      "cents": 0,
      "currency": "AUD"
    },
    "total_due_remaining": {
      "cents": 0,
      "currency": "AUD"
    },
    "tax_due_remaining": {
      "cents": 0,
      "currency": "AUD"
    },
    "credit_paid": {
      "cents": 0,
      "currency": "AUD"
    },
    "previous_total_due": {
      "cents": 0,
      "currency": "AUD"
    },
    "previous_total_paid": {
      "cents": 0,
      "currency": "AUD"
    },
    "billing_summary": [
      {
        "app_uid": "abc.mcube.co",
        "name": "Another Office",
        "usage": "-",
        "label": "The label",
        "price_tag": "$0.15",
        "price": {
          "cents": 15,
          "currency": "AUD"
        },
        "lines": [
          {
            "label": "Application plan",
            "price_tag": "$0.15",
            "price": {
              "cents": 15,
              "currency": "AUD"
            },
            "converted_price": {
              "cents": 15,
              "currency": "AUD"
            }
          }
        ]
      },
      {
        "app_uid": "www.mcube.co",
        "name": "Lovely application",
        "usage": "-",
        "label": "ERO grinch",
        "price_tag": "$0.15",
        "price": {
          "cents": 15,
          "currency": "AUD"
        },
        "lines": [
          {
            "label": "Application plan",
            "price_tag": "$0.15",
            "price": {
              "cents": 15,
              "currency": "AUD"
            },
            "converted_price": {
              "cents": 15,
              "currency": "AUD"
            }
          }
        ]
      },
      {
        "app_uid": "xad.mcube.co",
        "name": "Another Application",
        "usage": "-",
        "label": "Configuration Management",
        "price_tag": "$0.15",
        "price": {
          "cents": 15,
          "currency": "AUD"
        },
        "lines": [
          {
            "label": "Application plan",
            "price_tag": "$0.15",
            "price": {
              "cents": 15,
              "currency": "AUD"
            },
            "converted_price": {
              "cents": 15,
              "currency": "AUD"
            }
          }
        ]
      },
      {
        "app_uid": "xyz.mcube.co",
        "name": "An Application",
        "usage": "-",
        "label": "Survey",
        "price_tag": "$0.123",
        "price": {
          "cents": 15,
          "currency": "AUD"
        },
        "lines": [
          {
            "label": "Application plan",
            "price_tag": "$0.123",
            "price": {
              "cents": 15,
              "currency": "AUD"
            },
            "converted_price": {
              "cents": 15,
              "currency": "AUD"
            }
          }
        ]
      }
    ],
    "organization_id": 1
  }
}
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "errors": [
    {
      "id": "d57558c1-e6e9-0134-9e45-4d78b8e2d232",
      "href": "http://maestrano.github.io/maestrano-hub/#invoices-invoice-get",
      "status": "404",
      "code": "resource-not-found",
      "title": "Resource not found",
      "detail": "Resource not found"
    }
  ]
}

Get Invoice
GET/invoices/{id}

Get a single invoice.

URI Parameters
HideShow
id
string (required) Example: 208

The invoice ID


Kpis

A KPI (Key Performance Indicator) is a component which can be attached to your dashboard, so you can then view & set targets on values from provided calculations on accounting values, reports & statistics.

Attributes

Field Type Description Example
id Filterable Unique Read only integer ID 42
created_at Filterable Read only datetime Date of creation 2018-09-21T05:30:21Z
updated_at Filterable Read only datetime Date of last update 2018-09-21T05:30:21Z
settings Filterable string Metadata field that holds the settings applied to the widget (eg: hist_parameters, organization_ids,) {}
targets Filterable text Threshold that will switch a KPI in a “triggered” state when reached (eg: {“ratio” => {“min” => 0.5}} means the KPI will be triggered if the value of the “ratio” watchable goes below 0.5)
extra_params Filterable text Additional parameters that can be attached to a KPI to allows its calculation
endpoint Filterable Mandatory string Endpoint on Impac! API to hit in order to calculate the KPI finance/revenue
source Filterable string Determines if the kpi endpoint is available on Impac! API or locally on the frontend
element_watched Filterable Mandatory string Combined with the endpoint, it will determine which metric is to be calculated (eg: “ratio”, “balance”, “total”) evolution
extra_watchables Filterable text Allows to configure a KPI so that it will watch several watchables and be triggered if any of these watchables meets one of its targets []

Additional Filters

Filter Description
tenant.id Tenant relation
alerts.id Alerts relation
dashboard.id Dashboard relation
widget.id Widget relation

Relationships

Name Type To
tenant One to One Tenant
alerts One to Many Alert
dashboard One to One Dashboard
widget One to One Widget

Kpis

GET https://api-hub.maestrano.com/api/mnoe/v2/kpis
Responses200
Body
{
  "data": [
    {
      "id": "42",
      "type": "kpis",
      "links": {
        "self": "/api/mnoe/v2/kpis/42"
      },
      "attributes": {
        "created_at": "2018-09-21T05:30:21.844Z",
        "updated_at": "2018-09-21T05:30:21.843Z",
        "dashboard_id": 1055,
        "widget_id": null,
        "settings": {},
        "targets": null,
        "extra_params": null,
        "endpoint": "finance/revenue",
        "source": null,
        "element_watched": "evolution",
        "extra_watchables": []
      },
      "relationships": {
        "tenant": {
          "links": {
            "self": "/api/mnoe/v2/kpis/42/relationships/tenant",
            "related": "/api/mnoe/v2/kpis/42/tenant"
          }
        },
        "alerts": {
          "links": {
            "self": "/api/mnoe/v2/kpis/42/relationships/alerts",
            "related": "/api/mnoe/v2/kpis/42/alerts"
          }
        },
        "dashboard": {
          "links": {
            "self": "/api/mnoe/v2/kpis/42/relationships/dashboard",
            "related": "/api/mnoe/v2/kpis/42/dashboard"
          }
        },
        "widget": {
          "links": {
            "self": "/api/mnoe/v2/kpis/42/relationships/widget",
            "related": "/api/mnoe/v2/kpis/42/widget"
          }
        }
      }
    }
  ]
}

Get Kpis
GET/kpis

Get the list of kpis.


POST https://api-hub.maestrano.com/api/mnoe/v2/kpis
Requestsexample 1
Body
{
"data":{
  "type": "widgets",
  "attributes":{
  "name": "Accounts classes comparison",
    "width": 3,
    "widget_category": "accounts/classifications_summary",
    "endpoint": "accounts/classifications_summary",
    "dashboard_id": 42
  }
}
}
[Kpi][]
Responses

Create New Kpi
POST/kpis

Create a new kpi.


Kpi

GET https://api-hub.maestrano.com/api/mnoe/v2/kpis/42
Responses200
Body
{
  "data": {
    "id": "42",
    "type": "kpis",
    "links": {
      "self": "/api/mnoe/v2/kpis/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:21.844Z",
      "updated_at": "2018-09-21T05:30:21.843Z",
      "dashboard_id": 1055,
      "widget_id": null,
      "settings": {},
      "targets": null,
      "extra_params": null,
      "endpoint": "finance/revenue",
      "source": null,
      "element_watched": "evolution",
      "extra_watchables": []
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/kpis/42/relationships/tenant",
          "related": "/api/mnoe/v2/kpis/42/tenant"
        }
      },
      "alerts": {
        "links": {
          "self": "/api/mnoe/v2/kpis/42/relationships/alerts",
          "related": "/api/mnoe/v2/kpis/42/alerts"
        }
      },
      "dashboard": {
        "links": {
          "self": "/api/mnoe/v2/kpis/42/relationships/dashboard",
          "related": "/api/mnoe/v2/kpis/42/dashboard"
        }
      },
      "widget": {
        "links": {
          "self": "/api/mnoe/v2/kpis/42/relationships/widget",
          "related": "/api/mnoe/v2/kpis/42/widget"
        }
      }
    }
  }
}

Get Kpi
GET/kpis/{id}

Get a single kpi.

URI Parameters
HideShow
id
integer (required) Example: 42

The kpi ID


PATCH https://api-hub.maestrano.com/api/mnoe/v2/kpis/42
Requestsexample 1
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": 42,
    "type": "widgets",
    "attributes": {
      "name": "New Name"
    }
  }
}
Responses201
Body
{
  "data": {
    "id": "42",
    "type": "kpis",
    "links": {
      "self": "/api/mnoe/v2/kpis/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:21.844Z",
      "updated_at": "2018-09-21T05:30:21.843Z",
      "dashboard_id": 1055,
      "widget_id": null,
      "settings": {},
      "targets": null,
      "extra_params": null,
      "endpoint": "finance/revenue",
      "source": null,
      "element_watched": "evolution",
      "extra_watchables": []
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/kpis/42/relationships/tenant",
          "related": "/api/mnoe/v2/kpis/42/tenant"
        }
      },
      "alerts": {
        "links": {
          "self": "/api/mnoe/v2/kpis/42/relationships/alerts",
          "related": "/api/mnoe/v2/kpis/42/alerts"
        }
      },
      "dashboard": {
        "links": {
          "self": "/api/mnoe/v2/kpis/42/relationships/dashboard",
          "related": "/api/mnoe/v2/kpis/42/dashboard"
        }
      },
      "widget": {
        "links": {
          "self": "/api/mnoe/v2/kpis/42/relationships/widget",
          "related": "/api/mnoe/v2/kpis/42/widget"
        }
      }
    }
  }
}

Update an Kpi
PATCH/kpis/{id}

Update a single kpi.

URI Parameters
HideShow
id
integer (required) Example: 42

The kpi ID


DELETE https://api-hub.maestrano.com/api/mnoe/v2/kpis/42
Requestsexample 1
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Responses

Delete an Kpi
DELETE/kpis/{id}

Delete a single kpi.

URI Parameters
HideShow
id
integer (required) Example: 42

The kpi ID


Orga Invites

The invitation to an organization

Attributes

Field Type Description Example
id Filterable Unique Read only integer ID 42
created_at Filterable Read only datetime Date of creation 2018-09-21T05:30:21Z
updated_at Filterable Read only datetime Date of last update 2018-09-21T05:30:21Z
user_email Filterable Mandatory string Email of the invited user bla_1@gmail.com
token Filterable string Secret token
status Filterable string Status of the Invite. One of: accepted | pending | declined
user_role Filterable Mandatory string Role of the invited user
notification_sent_at Filterable datetime First notification sent to user

Additional Filters

Filter Description
tenant.id Tenant relation
user.id User relation
organization.id Organization relation
referrer.id Referrer relation
team.id Team relation

Relationships

Name Type To
tenant One to One Tenant
user One to One User
organization One to One Organization
referrer One to One User
team One to One Team

Orga Invites

GET https://api-hub.maestrano.com/api/mnoe/v2/orga_invites
Responses200
Body
{
  "data": [
    {
      "id": "42",
      "type": "orga_invites",
      "links": {
        "self": "/api/mnoe/v2/orga_invites/42"
      },
      "attributes": {
        "created_at": "2018-09-21T05:30:21.861Z",
        "updated_at": "2018-09-21T05:30:21.861Z",
        "user_id": null,
        "user_email": "bla_1@gmail.com",
        "organization_id": 1059,
        "referrer_id": 1060,
        "token": null,
        "status": null,
        "user_role": null,
        "team_id": null,
        "notification_sent_at": null
      },
      "relationships": {
        "tenant": {
          "links": {
            "self": "/api/mnoe/v2/orga_invites/42/relationships/tenant",
            "related": "/api/mnoe/v2/orga_invites/42/tenant"
          }
        },
        "user": {
          "links": {
            "self": "/api/mnoe/v2/orga_invites/42/relationships/user",
            "related": "/api/mnoe/v2/orga_invites/42/user"
          }
        },
        "organization": {
          "links": {
            "self": "/api/mnoe/v2/orga_invites/42/relationships/organization",
            "related": "/api/mnoe/v2/orga_invites/42/organization"
          }
        },
        "referrer": {
          "links": {
            "self": "/api/mnoe/v2/orga_invites/42/relationships/referrer",
            "related": "/api/mnoe/v2/orga_invites/42/referrer"
          }
        },
        "team": {
          "links": {
            "self": "/api/mnoe/v2/orga_invites/42/relationships/team",
            "related": "/api/mnoe/v2/orga_invites/42/team"
          }
        }
      }
    }
  ]
}

Get Orga Invites
GET/orga_invites

Get the list of orga invites.


POST https://api-hub.maestrano.com/api/mnoe/v2/orga_invites
Requestsexample 1
Body
{
  "data": {
    "type": "orga_invites",
    "attributes": {
      "user_id": 3,
      "user_email": "xavier.delamotte+telstradev@maestrano.com",
      "organization_id": 9,
      "user_role": "Admin",
      "status": "pending",
      "referrer_id": 12
    }
  }
}
Responses201
Body
{
  "data": [
    {
      "id": "42",
      "type": "orga_invites",
      "links": {
        "self": "/api/mnoe/v2/orga_invites/42"
      },
      "attributes": {
        "created_at": "2018-09-21T05:30:21.861Z",
        "updated_at": "2018-09-21T05:30:21.861Z",
        "user_id": null,
        "user_email": "bla_1@gmail.com",
        "organization_id": 1059,
        "referrer_id": 1060,
        "token": null,
        "status": null,
        "user_role": null,
        "team_id": null,
        "notification_sent_at": null
      },
      "relationships": {
        "tenant": {
          "links": {
            "self": "/api/mnoe/v2/orga_invites/42/relationships/tenant",
            "related": "/api/mnoe/v2/orga_invites/42/tenant"
          }
        },
        "user": {
          "links": {
            "self": "/api/mnoe/v2/orga_invites/42/relationships/user",
            "related": "/api/mnoe/v2/orga_invites/42/user"
          }
        },
        "organization": {
          "links": {
            "self": "/api/mnoe/v2/orga_invites/42/relationships/organization",
            "related": "/api/mnoe/v2/orga_invites/42/organization"
          }
        },
        "referrer": {
          "links": {
            "self": "/api/mnoe/v2/orga_invites/42/relationships/referrer",
            "related": "/api/mnoe/v2/orga_invites/42/referrer"
          }
        },
        "team": {
          "links": {
            "self": "/api/mnoe/v2/orga_invites/42/relationships/team",
            "related": "/api/mnoe/v2/orga_invites/42/team"
          }
        }
      }
    }
  ]
}

Create a new Orga Invite
POST/orga_invites


Orga Invite

GET https://api-hub.maestrano.com/api/mnoe/v2/orga_invites/42
Responses200
Body
{
  "data": {
    "id": "42",
    "type": "orga_invites",
    "links": {
      "self": "/api/mnoe/v2/orga_invites/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:21.861Z",
      "updated_at": "2018-09-21T05:30:21.861Z",
      "user_id": null,
      "user_email": "bla_1@gmail.com",
      "organization_id": 1059,
      "referrer_id": 1060,
      "token": null,
      "status": null,
      "user_role": null,
      "team_id": null,
      "notification_sent_at": null
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/orga_invites/42/relationships/tenant",
          "related": "/api/mnoe/v2/orga_invites/42/tenant"
        }
      },
      "user": {
        "links": {
          "self": "/api/mnoe/v2/orga_invites/42/relationships/user",
          "related": "/api/mnoe/v2/orga_invites/42/user"
        }
      },
      "organization": {
        "links": {
          "self": "/api/mnoe/v2/orga_invites/42/relationships/organization",
          "related": "/api/mnoe/v2/orga_invites/42/organization"
        }
      },
      "referrer": {
        "links": {
          "self": "/api/mnoe/v2/orga_invites/42/relationships/referrer",
          "related": "/api/mnoe/v2/orga_invites/42/referrer"
        }
      },
      "team": {
        "links": {
          "self": "/api/mnoe/v2/orga_invites/42/relationships/team",
          "related": "/api/mnoe/v2/orga_invites/42/team"
        }
      }
    }
  }
}

Get an Orga Invite
GET/orga_invites/{id}

Get a single orga invite.

URI Parameters
HideShow
id
integer (required) Example: 42

The orga invite ID


PATCH https://api-hub.maestrano.com/api/mnoe/v2/orga_invites/42
Requestsexample 1
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "type": "orga_invites",
    "id": 2,
    "attributes": {
      "status": "approved"
    }
  }
}
Responses201
Body
{
  "data": {
    "id": "42",
    "type": "orga_invites",
    "links": {
      "self": "/api/mnoe/v2/orga_invites/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:21.861Z",
      "updated_at": "2018-09-21T05:30:21.861Z",
      "user_id": null,
      "user_email": "bla_1@gmail.com",
      "organization_id": 1059,
      "referrer_id": 1060,
      "token": null,
      "status": null,
      "user_role": null,
      "team_id": null,
      "notification_sent_at": null
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/orga_invites/42/relationships/tenant",
          "related": "/api/mnoe/v2/orga_invites/42/tenant"
        }
      },
      "user": {
        "links": {
          "self": "/api/mnoe/v2/orga_invites/42/relationships/user",
          "related": "/api/mnoe/v2/orga_invites/42/user"
        }
      },
      "organization": {
        "links": {
          "self": "/api/mnoe/v2/orga_invites/42/relationships/organization",
          "related": "/api/mnoe/v2/orga_invites/42/organization"
        }
      },
      "referrer": {
        "links": {
          "self": "/api/mnoe/v2/orga_invites/42/relationships/referrer",
          "related": "/api/mnoe/v2/orga_invites/42/referrer"
        }
      },
      "team": {
        "links": {
          "self": "/api/mnoe/v2/orga_invites/42/relationships/team",
          "related": "/api/mnoe/v2/orga_invites/42/team"
        }
      }
    }
  }
}

Update an Orga Invite
PATCH/orga_invites/{id}

URI Parameters
HideShow
id
integer (required) Example: 42

The orga invite ID


DELETE https://api-hub.maestrano.com/api/mnoe/v2/orga_invites/42
Requestsexample 1
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Responses

Delete an Orga Invite
DELETE/orga_invites/{id}

URI Parameters
HideShow
id
integer (required) Example: 42

The orga invite ID


Organizations

An organization represents a group of people working together in the same entity. It may be a company or a team. An Organization contains several Users via the OrgaRelations join table.

Attributes

Field Type Description Example
id Filterable Unique Read only integer ID 42
created_at Filterable Read only datetime Date of creation 2018-09-21T05:30:21Z
updated_at Filterable Read only datetime Date of last update 2018-09-21T05:30:21Z
uid Filterable Unique Read only string public facing ID used by apps org-fbco
name Filterable Mandatory string Name of the organization organization_8
account_frozen Filterable boolean Frozen status false
soa_enabled Filterable boolean Service-oriented architecture state true
mails Filterable text Organization Mails
logo Filterable string Company’s logo url
latitude Filterable float Geographic latitude 0.0
longitude Filterable float Geographic longitude 0.0
geo_country_code Filterable string Country code of the company AU
geo_state_code Filterable string State of the company
geo_city Filterable string City of the company
geo_tz Filterable string Time zone of the company
geo_currency Filterable string Currency of the company
metadata Filterable hash Organization Metadata
industry Filterable string Industry of the company
size Filterable string Number of employees in the company
billing_currency Filterable string Currency prefered for billing by the company AUD
financial_year_end_month Filterable integer Month that defined the company financial end of the year
connectors Filterable string Connectors Sync Status. This is only filled when synchronize_connectors or trigger_app_instances_sync are called.
current_billing Filterable string Current Billing 0.00
current_credit Filterable string Current Credit 0.00
external_id Filterable string External Id. May be used to link the organization with an external system. Limited to 255 characters.
has_myob_essentials_only Filterable Read only string Organization only has MYOB Essential false
transaction_management Filterable boolean false
financial_metrics Filterable string Revenue and margin from org
belong_to_sub_tenant Filterable boolean Belong to the Sub Tenant, sub_tenant_id parameter needs to be provided to retrieve that field
belong_to_account_manager Filterable boolean Belong to the Account Manager, account_manager_id parameter needs to be provided to retrieve that field
demo_account Filterable string Demo company description
main_address_attributes Filterable Write only string Attributes for main address
credit_account_id Filterable integer Used to link an organization to a Credit Account 1062

Additional Filters

Filter Description
tenant.id Tenant relation
users.id Users relation
orga_relations.id Orga Relations relation
app_instances.id App Instances relation
invoices.id Invoices relation
teams.id Teams relation
orga_invites.id Orga Invites relation
addresses.id Addresses relation
main_address.id Main Address relation
credit_account.id Credit Account relation
credit_card.id Credit Card relation
sub_tenants.id Sub Tenants relation
account_managers.id Account Managers relation
subscriptions.id Subscriptions relation

Relationships

Name Type To
tenant One to One Tenant
users One to Many User
orga_relations One to Many Orga Relation
app_instances One to Many App Instance
invoices One to Many Invoice
teams One to Many Team
orga_invites One to Many Orga Invite
addresses One to Many Address
main_address One to One Address
credit_account One to One Credit Account
credit_card One to One Credit Card
sub_tenants One to Many Sub Tenant
account_managers One to Many User
subscriptions One to Many Subscription

Organizations

GET https://api-hub.maestrano.com/api/mnoe/v2/organizations
Responses200
Body
{
  "data": [
    {
      "id": "42",
      "type": "organizations",
      "links": {
        "self": "/api/mnoe/v2/organizations/42"
      },
      "attributes": {
        "created_at": "2018-09-21T05:30:21.869Z",
        "updated_at": "2018-09-21T05:30:21.868Z",
        "uid": "org-fbco",
        "name": "organization_8",
        "account_frozen": false,
        "soa_enabled": true,
        "mails": null,
        "logo": null,
        "latitude": 0,
        "longitude": 0,
        "geo_country_code": "AU",
        "geo_state_code": null,
        "geo_city": null,
        "geo_tz": null,
        "geo_currency": null,
        "metadata": null,
        "industry": null,
        "size": null,
        "billing_currency": "AUD",
        "financial_year_end_month": null,
        "connectors": null,
        "current_billing": {
          "cents": 0,
          "currency": "AUD"
        },
        "current_credit": {
          "cents": 0,
          "currency": "AUD"
        },
        "external_id": null,
        "has_myob_essentials_only": false,
        "transaction_management": false,
        "financial_metrics": null,
        "belong_to_sub_tenant": null,
        "belong_to_account_manager": null,
        "demo_account": null,
        "credit_account_id": 1062
      },
      "relationships": {
        "tenant": {
          "links": {
            "self": "/api/mnoe/v2/organizations/42/relationships/tenant",
            "related": "/api/mnoe/v2/organizations/42/tenant"
          }
        },
        "users": {
          "links": {
            "self": "/api/mnoe/v2/organizations/42/relationships/users",
            "related": "/api/mnoe/v2/organizations/42/users"
          }
        },
        "orga_relations": {
          "links": {
            "self": "/api/mnoe/v2/organizations/42/relationships/orga_relations",
            "related": "/api/mnoe/v2/organizations/42/orga_relations"
          }
        },
        "app_instances": {
          "links": {
            "self": "/api/mnoe/v2/organizations/42/relationships/app_instances",
            "related": "/api/mnoe/v2/organizations/42/app_instances"
          }
        },
        "invoices": {
          "links": {
            "self": "/api/mnoe/v2/organizations/42/relationships/invoices",
            "related": "/api/mnoe/v2/organizations/42/invoices"
          }
        },
        "teams": {
          "links": {
            "self": "/api/mnoe/v2/organizations/42/relationships/teams",
            "related": "/api/mnoe/v2/organizations/42/teams"
          }
        },
        "orga_invites": {
          "links": {
            "self": "/api/mnoe/v2/organizations/42/relationships/orga_invites",
            "related": "/api/mnoe/v2/organizations/42/orga_invites"
          }
        },
        "addresses": {
          "links": {
            "self": "/api/mnoe/v2/organizations/42/relationships/addresses",
            "related": "/api/mnoe/v2/organizations/42/addresses"
          }
        },
        "main_address": {
          "links": {
            "self": "/api/mnoe/v2/organizations/42/relationships/main_address",
            "related": "/api/mnoe/v2/organizations/42/main_address"
          }
        },
        "credit_account": {
          "links": {
            "self": "/api/mnoe/v2/organizations/42/relationships/credit_account",
            "related": "/api/mnoe/v2/organizations/42/credit_account"
          }
        },
        "credit_card": {
          "links": {
            "self": "/api/mnoe/v2/organizations/42/relationships/credit_card",
            "related": "/api/mnoe/v2/organizations/42/credit_card"
          }
        },
        "sub_tenants": {
          "links": {
            "self": "/api/mnoe/v2/organizations/42/relationships/sub_tenants",
            "related": "/api/mnoe/v2/organizations/42/sub_tenants"
          }
        },
        "account_managers": {
          "links": {
            "self": "/api/mnoe/v2/organizations/42/relationships/account_managers",
            "related": "/api/mnoe/v2/organizations/42/account_managers"
          }
        },
        "subscriptions": {
          "links": {
            "self": "/api/mnoe/v2/organizations/42/relationships/subscriptions",
            "related": "/api/mnoe/v2/organizations/42/subscriptions"
          }
        }
      }
    }
  ]
}

Get Organizations
GET/organizations

Get the list of organizations.


POST https://api-hub.maestrano.com/api/mnoe/v2/organizations
Requestsexample 1
Body
{
  "data": {
    "type": "organizations",
    "attributes": {
      "name": "The Organization"
    }
  }
}
Responses201
Body
{
  "data": {
    "id": "42",
    "type": "organizations",
    "links": {
      "self": "/api/mnoe/v2/organizations/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:21.869Z",
      "updated_at": "2018-09-21T05:30:21.868Z",
      "uid": "org-fbco",
      "name": "organization_8",
      "account_frozen": false,
      "soa_enabled": true,
      "mails": null,
      "logo": null,
      "latitude": 0,
      "longitude": 0,
      "geo_country_code": "AU",
      "geo_state_code": null,
      "geo_city": null,
      "geo_tz": null,
      "geo_currency": null,
      "metadata": null,
      "industry": null,
      "size": null,
      "billing_currency": "AUD",
      "financial_year_end_month": null,
      "connectors": null,
      "current_billing": {
        "cents": 0,
        "currency": "AUD"
      },
      "current_credit": {
        "cents": 0,
        "currency": "AUD"
      },
      "external_id": null,
      "has_myob_essentials_only": false,
      "transaction_management": false,
      "financial_metrics": null,
      "belong_to_sub_tenant": null,
      "belong_to_account_manager": null,
      "demo_account": null,
      "credit_account_id": 1062
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/tenant",
          "related": "/api/mnoe/v2/organizations/42/tenant"
        }
      },
      "users": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/users",
          "related": "/api/mnoe/v2/organizations/42/users"
        }
      },
      "orga_relations": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/orga_relations",
          "related": "/api/mnoe/v2/organizations/42/orga_relations"
        }
      },
      "app_instances": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/app_instances",
          "related": "/api/mnoe/v2/organizations/42/app_instances"
        }
      },
      "invoices": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/invoices",
          "related": "/api/mnoe/v2/organizations/42/invoices"
        }
      },
      "teams": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/teams",
          "related": "/api/mnoe/v2/organizations/42/teams"
        }
      },
      "orga_invites": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/orga_invites",
          "related": "/api/mnoe/v2/organizations/42/orga_invites"
        }
      },
      "addresses": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/addresses",
          "related": "/api/mnoe/v2/organizations/42/addresses"
        }
      },
      "main_address": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/main_address",
          "related": "/api/mnoe/v2/organizations/42/main_address"
        }
      },
      "credit_account": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/credit_account",
          "related": "/api/mnoe/v2/organizations/42/credit_account"
        }
      },
      "credit_card": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/credit_card",
          "related": "/api/mnoe/v2/organizations/42/credit_card"
        }
      },
      "sub_tenants": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/sub_tenants",
          "related": "/api/mnoe/v2/organizations/42/sub_tenants"
        }
      },
      "account_managers": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/account_managers",
          "related": "/api/mnoe/v2/organizations/42/account_managers"
        }
      },
      "subscriptions": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/subscriptions",
          "related": "/api/mnoe/v2/organizations/42/subscriptions"
        }
      }
    }
  }
}

Create New organizations
POST/organizations

Create a new organizations.


Organization

GET https://api-hub.maestrano.com/api/mnoe/v2/organizations/42
Responses200
Body
{
  "data": {
    "id": "42",
    "type": "organizations",
    "links": {
      "self": "/api/mnoe/v2/organizations/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:21.869Z",
      "updated_at": "2018-09-21T05:30:21.868Z",
      "uid": "org-fbco",
      "name": "organization_8",
      "account_frozen": false,
      "soa_enabled": true,
      "mails": null,
      "logo": null,
      "latitude": 0,
      "longitude": 0,
      "geo_country_code": "AU",
      "geo_state_code": null,
      "geo_city": null,
      "geo_tz": null,
      "geo_currency": null,
      "metadata": null,
      "industry": null,
      "size": null,
      "billing_currency": "AUD",
      "financial_year_end_month": null,
      "connectors": null,
      "current_billing": {
        "cents": 0,
        "currency": "AUD"
      },
      "current_credit": {
        "cents": 0,
        "currency": "AUD"
      },
      "external_id": null,
      "has_myob_essentials_only": false,
      "transaction_management": false,
      "financial_metrics": null,
      "belong_to_sub_tenant": null,
      "belong_to_account_manager": null,
      "demo_account": null,
      "credit_account_id": 1062
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/tenant",
          "related": "/api/mnoe/v2/organizations/42/tenant"
        }
      },
      "users": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/users",
          "related": "/api/mnoe/v2/organizations/42/users"
        }
      },
      "orga_relations": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/orga_relations",
          "related": "/api/mnoe/v2/organizations/42/orga_relations"
        }
      },
      "app_instances": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/app_instances",
          "related": "/api/mnoe/v2/organizations/42/app_instances"
        }
      },
      "invoices": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/invoices",
          "related": "/api/mnoe/v2/organizations/42/invoices"
        }
      },
      "teams": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/teams",
          "related": "/api/mnoe/v2/organizations/42/teams"
        }
      },
      "orga_invites": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/orga_invites",
          "related": "/api/mnoe/v2/organizations/42/orga_invites"
        }
      },
      "addresses": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/addresses",
          "related": "/api/mnoe/v2/organizations/42/addresses"
        }
      },
      "main_address": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/main_address",
          "related": "/api/mnoe/v2/organizations/42/main_address"
        }
      },
      "credit_account": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/credit_account",
          "related": "/api/mnoe/v2/organizations/42/credit_account"
        }
      },
      "credit_card": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/credit_card",
          "related": "/api/mnoe/v2/organizations/42/credit_card"
        }
      },
      "sub_tenants": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/sub_tenants",
          "related": "/api/mnoe/v2/organizations/42/sub_tenants"
        }
      },
      "account_managers": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/account_managers",
          "related": "/api/mnoe/v2/organizations/42/account_managers"
        }
      },
      "subscriptions": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/subscriptions",
          "related": "/api/mnoe/v2/organizations/42/subscriptions"
        }
      }
    }
  }
}

Get an Organization
GET/organizations/{id}

Get a single organization.

URI Parameters
HideShow
id
integer (required) Example: 42

The organization ID


PATCH https://api-hub.maestrano.com/api/mnoe/v2/organizations/42
Requestsexample 1
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "type": "organizations",
    "id": 42,
    "attributes": {
      "name": "New Name"
    }
  }
}
Responses200
Body
{
  "data": {
    "id": "42",
    "type": "organizations",
    "links": {
      "self": "/api/mnoe/v2/organizations/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:21.869Z",
      "updated_at": "2018-09-21T05:30:21.868Z",
      "uid": "org-fbco",
      "name": "organization_8",
      "account_frozen": false,
      "soa_enabled": true,
      "mails": null,
      "logo": null,
      "latitude": 0,
      "longitude": 0,
      "geo_country_code": "AU",
      "geo_state_code": null,
      "geo_city": null,
      "geo_tz": null,
      "geo_currency": null,
      "metadata": null,
      "industry": null,
      "size": null,
      "billing_currency": "AUD",
      "financial_year_end_month": null,
      "connectors": null,
      "current_billing": {
        "cents": 0,
        "currency": "AUD"
      },
      "current_credit": {
        "cents": 0,
        "currency": "AUD"
      },
      "external_id": null,
      "has_myob_essentials_only": false,
      "transaction_management": false,
      "financial_metrics": null,
      "belong_to_sub_tenant": null,
      "belong_to_account_manager": null,
      "demo_account": null,
      "credit_account_id": 1062
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/tenant",
          "related": "/api/mnoe/v2/organizations/42/tenant"
        }
      },
      "users": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/users",
          "related": "/api/mnoe/v2/organizations/42/users"
        }
      },
      "orga_relations": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/orga_relations",
          "related": "/api/mnoe/v2/organizations/42/orga_relations"
        }
      },
      "app_instances": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/app_instances",
          "related": "/api/mnoe/v2/organizations/42/app_instances"
        }
      },
      "invoices": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/invoices",
          "related": "/api/mnoe/v2/organizations/42/invoices"
        }
      },
      "teams": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/teams",
          "related": "/api/mnoe/v2/organizations/42/teams"
        }
      },
      "orga_invites": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/orga_invites",
          "related": "/api/mnoe/v2/organizations/42/orga_invites"
        }
      },
      "addresses": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/addresses",
          "related": "/api/mnoe/v2/organizations/42/addresses"
        }
      },
      "main_address": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/main_address",
          "related": "/api/mnoe/v2/organizations/42/main_address"
        }
      },
      "credit_account": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/credit_account",
          "related": "/api/mnoe/v2/organizations/42/credit_account"
        }
      },
      "credit_card": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/credit_card",
          "related": "/api/mnoe/v2/organizations/42/credit_card"
        }
      },
      "sub_tenants": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/sub_tenants",
          "related": "/api/mnoe/v2/organizations/42/sub_tenants"
        }
      },
      "account_managers": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/account_managers",
          "related": "/api/mnoe/v2/organizations/42/account_managers"
        }
      },
      "subscriptions": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/subscriptions",
          "related": "/api/mnoe/v2/organizations/42/subscriptions"
        }
      }
    }
  }
}

Update an Organization
PATCH/organizations/{id}

Update a single organization.

URI Parameters
HideShow
id
integer (required) Example: 42

The organization ID


Organization

PATCH https://api-hub.maestrano.com/api/mnoe/v2/organizations/42/freeze
Requestsexample 1
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Responses200
Body
{
  "data": {
    "id": "42",
    "type": "organizations",
    "links": {
      "self": "/api/mnoe/v2/organizations/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:21.869Z",
      "updated_at": "2018-09-21T05:30:21.868Z",
      "uid": "org-fbco",
      "name": "organization_8",
      "account_frozen": false,
      "soa_enabled": true,
      "mails": null,
      "logo": null,
      "latitude": 0,
      "longitude": 0,
      "geo_country_code": "AU",
      "geo_state_code": null,
      "geo_city": null,
      "geo_tz": null,
      "geo_currency": null,
      "metadata": null,
      "industry": null,
      "size": null,
      "billing_currency": "AUD",
      "financial_year_end_month": null,
      "connectors": null,
      "current_billing": {
        "cents": 0,
        "currency": "AUD"
      },
      "current_credit": {
        "cents": 0,
        "currency": "AUD"
      },
      "external_id": null,
      "has_myob_essentials_only": false,
      "transaction_management": false,
      "financial_metrics": null,
      "belong_to_sub_tenant": null,
      "belong_to_account_manager": null,
      "demo_account": null,
      "credit_account_id": 1062
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/tenant",
          "related": "/api/mnoe/v2/organizations/42/tenant"
        }
      },
      "users": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/users",
          "related": "/api/mnoe/v2/organizations/42/users"
        }
      },
      "orga_relations": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/orga_relations",
          "related": "/api/mnoe/v2/organizations/42/orga_relations"
        }
      },
      "app_instances": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/app_instances",
          "related": "/api/mnoe/v2/organizations/42/app_instances"
        }
      },
      "invoices": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/invoices",
          "related": "/api/mnoe/v2/organizations/42/invoices"
        }
      },
      "teams": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/teams",
          "related": "/api/mnoe/v2/organizations/42/teams"
        }
      },
      "orga_invites": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/orga_invites",
          "related": "/api/mnoe/v2/organizations/42/orga_invites"
        }
      },
      "addresses": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/addresses",
          "related": "/api/mnoe/v2/organizations/42/addresses"
        }
      },
      "main_address": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/main_address",
          "related": "/api/mnoe/v2/organizations/42/main_address"
        }
      },
      "credit_account": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/credit_account",
          "related": "/api/mnoe/v2/organizations/42/credit_account"
        }
      },
      "credit_card": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/credit_card",
          "related": "/api/mnoe/v2/organizations/42/credit_card"
        }
      },
      "sub_tenants": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/sub_tenants",
          "related": "/api/mnoe/v2/organizations/42/sub_tenants"
        }
      },
      "account_managers": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/account_managers",
          "related": "/api/mnoe/v2/organizations/42/account_managers"
        }
      },
      "subscriptions": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/subscriptions",
          "related": "/api/mnoe/v2/organizations/42/subscriptions"
        }
      }
    }
  }
}

Freeze an Organization
PATCH/organizations/{id}/freeze

Freeze an organization, stopping all its applications and making it inaccessible to users.

URI Parameters
HideShow
id
integer (required) Example: 42

The organization ID


Organization

PATCH https://api-hub.maestrano.com/api/mnoe/v2/organizations/42/unfreeze
Requestsexample 1
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Responses200
Body
{
  "data": {
    "id": "42",
    "type": "organizations",
    "links": {
      "self": "/api/mnoe/v2/organizations/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:21.869Z",
      "updated_at": "2018-09-21T05:30:21.868Z",
      "uid": "org-fbco",
      "name": "organization_8",
      "account_frozen": false,
      "soa_enabled": true,
      "mails": null,
      "logo": null,
      "latitude": 0,
      "longitude": 0,
      "geo_country_code": "AU",
      "geo_state_code": null,
      "geo_city": null,
      "geo_tz": null,
      "geo_currency": null,
      "metadata": null,
      "industry": null,
      "size": null,
      "billing_currency": "AUD",
      "financial_year_end_month": null,
      "connectors": null,
      "current_billing": {
        "cents": 0,
        "currency": "AUD"
      },
      "current_credit": {
        "cents": 0,
        "currency": "AUD"
      },
      "external_id": null,
      "has_myob_essentials_only": false,
      "transaction_management": false,
      "financial_metrics": null,
      "belong_to_sub_tenant": null,
      "belong_to_account_manager": null,
      "demo_account": null,
      "credit_account_id": 1062
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/tenant",
          "related": "/api/mnoe/v2/organizations/42/tenant"
        }
      },
      "users": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/users",
          "related": "/api/mnoe/v2/organizations/42/users"
        }
      },
      "orga_relations": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/orga_relations",
          "related": "/api/mnoe/v2/organizations/42/orga_relations"
        }
      },
      "app_instances": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/app_instances",
          "related": "/api/mnoe/v2/organizations/42/app_instances"
        }
      },
      "invoices": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/invoices",
          "related": "/api/mnoe/v2/organizations/42/invoices"
        }
      },
      "teams": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/teams",
          "related": "/api/mnoe/v2/organizations/42/teams"
        }
      },
      "orga_invites": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/orga_invites",
          "related": "/api/mnoe/v2/organizations/42/orga_invites"
        }
      },
      "addresses": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/addresses",
          "related": "/api/mnoe/v2/organizations/42/addresses"
        }
      },
      "main_address": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/main_address",
          "related": "/api/mnoe/v2/organizations/42/main_address"
        }
      },
      "credit_account": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/credit_account",
          "related": "/api/mnoe/v2/organizations/42/credit_account"
        }
      },
      "credit_card": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/credit_card",
          "related": "/api/mnoe/v2/organizations/42/credit_card"
        }
      },
      "sub_tenants": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/sub_tenants",
          "related": "/api/mnoe/v2/organizations/42/sub_tenants"
        }
      },
      "account_managers": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/account_managers",
          "related": "/api/mnoe/v2/organizations/42/account_managers"
        }
      },
      "subscriptions": {
        "links": {
          "self": "/api/mnoe/v2/organizations/42/relationships/subscriptions",
          "related": "/api/mnoe/v2/organizations/42/subscriptions"
        }
      }
    }
  }
}

Unfreeze an Organization
PATCH/organizations/{id}/unfreeze

Unfreeze an organization making it accessible to users.

URI Parameters
HideShow
id
integer (required) Example: 42

The organization ID


Organization

POST https://api-hub.maestrano.com/api/mnoe/v2/organizations/42/users/4242
Requestsexample 1
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "attributes": {
      "role": "Super Admin"
    }
  }
}
Responses200
Body
{
  "data": {
    "id": "424242",
    "type": "orga_relations",
    "links": {
      "self": "/api/mnoe/v2/orga_relations/42"
    },
    "attributes": {
      "created_at": "2017-12-08T19:40:02.977Z",
      "updated_at": "2017-12-08T19:40:02.977Z",
      "organization_id": 42,
      "user_id": 4242,
      "role": "Super Admin"
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/orga_relations/13380/relationships/tenant",
          "related": "/api/mnoe/v2/orga_relations/13380/tenant"
        }
      },
      "user": {
        "links": {
          "self": "/api/mnoe/v2/orga_relations/13380/relationships/user",
          "related": "/api/mnoe/v2/orga_relations/13380/user"
        }
      },
      "organization": {
        "links": {
          "self": "/api/mnoe/v2/orga_relations/13380/relationships/organization",
          "related": "/api/mnoe/v2/orga_relations/13380/organization"
        }
      }
    }
  }
}

Add User to Organization
POST/organizations/{id}/users/{user_id}

Add a user to the organization with a given role.

URI Parameters
HideShow
id
integer (required) Example: 42

The organization ID

user_id
integer (required) Example: 4242

The user ID


Organization

PATCH https://api-hub.maestrano.com/api/mnoe/v2/organizations/42/users/4242
Requestsexample 1
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "attributes": {
      "role": "Super Admin"
    }
  }
}
Responses200
Body
{
  "data": {
    "id": "424242",
    "type": "orga_relations",
    "links": {
      "self": "/api/mnoe/v2/orga_relations/42"
    },
    "attributes": {
      "created_at": "2017-12-08T19:40:02.977Z",
      "updated_at": "2017-12-08T19:40:02.977Z",
      "organization_id": 42,
      "user_id": 4242,
      "role": "Super Admin"
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/orga_relations/13380/relationships/tenant",
          "related": "/api/mnoe/v2/orga_relations/13380/tenant"
        }
      },
      "user": {
        "links": {
          "self": "/api/mnoe/v2/orga_relations/13380/relationships/user",
          "related": "/api/mnoe/v2/orga_relations/13380/user"
        }
      },
      "organization": {
        "links": {
          "self": "/api/mnoe/v2/orga_relations/13380/relationships/organization",
          "related": "/api/mnoe/v2/orga_relations/13380/organization"
        }
      }
    }
  }
}

Update User role in Organization
PATCH/organizations/{id}/users/{user_id}

Update the User role inside the Organization

URI Parameters
HideShow
id
integer (required) Example: 42

The organization ID

user_id
integer (required) Example: 4242

The user ID


Organization

DELETE https://api-hub.maestrano.com/api/mnoe/v2/organizations/42/users/4242
Requestsexample 1
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Responses200
This response has no content.

Remove User from Organization
DELETE/organizations/{id}/users/{user_id}

Remove the User role from the Organization

URI Parameters
HideShow
id
integer (required) Example: 42

The organization ID

user_id
integer (required) Example: 4242

The user ID


Orga Relations

Join Table between Users and Organizations. Used to associate a user to an organization. This join table also defines the roles of a user inside the organization.

Attributes

Field Type Description Example
id Filterable Unique Read only integer ID 42
created_at Filterable Read only datetime Date of creation 2018-09-21T05:30:21Z
updated_at Filterable Read only datetime Date of last update 2018-09-21T05:30:21Z
role Filterable Mandatory string Role of the user inside the organization. In the MNOE framework, the value accepted are “Super Admin”, “Admin”, “Power User” and “Member” Super Admin

Additional Filters

Filter Description
tenant.id Tenant relation
user.id User relation
organization.id Organization relation

Relationships

Name Type To
tenant One to One Tenant
user One to One User
organization One to One Organization

Orga Relations

GET https://api-hub.maestrano.com/api/mnoe/v2/orga_relations
Responses200
Body
{
  "data": [
    {
      "id": "42",
      "type": "orga_relations",
      "links": {
        "self": "/api/mnoe/v2/orga_relations/42"
      },
      "attributes": {
        "created_at": "2018-09-21T05:30:21.953Z",
        "updated_at": "2018-09-21T05:30:21.953Z",
        "organization_id": 1069,
        "user_id": 1066,
        "role": "Super Admin"
      },
      "relationships": {
        "tenant": {
          "links": {
            "self": "/api/mnoe/v2/orga_relations/42/relationships/tenant",
            "related": "/api/mnoe/v2/orga_relations/42/tenant"
          }
        },
        "user": {
          "links": {
            "self": "/api/mnoe/v2/orga_relations/42/relationships/user",
            "related": "/api/mnoe/v2/orga_relations/42/user"
          }
        },
        "organization": {
          "links": {
            "self": "/api/mnoe/v2/orga_relations/42/relationships/organization",
            "related": "/api/mnoe/v2/orga_relations/42/organization"
          }
        }
      }
    }
  ]
}

Get Orga Relations
GET/orga_relations

Get the list of orga relations.


POST https://api-hub.maestrano.com/api/mnoe/v2/orga_relations
Requestsexample 1
Body
{
  "data": {
    "type": "orga_relations",
    "attributes": {
      "user_id": 35,
      "organization_id": 3,
      "role": "Super Admin"
    }
  }
}
Responses201
Body
{
  "data": [
    {
      "id": "42",
      "type": "orga_relations",
      "links": {
        "self": "/api/mnoe/v2/orga_relations/42"
      },
      "attributes": {
        "created_at": "2018-09-21T05:30:21.953Z",
        "updated_at": "2018-09-21T05:30:21.953Z",
        "organization_id": 1069,
        "user_id": 1066,
        "role": "Super Admin"
      },
      "relationships": {
        "tenant": {
          "links": {
            "self": "/api/mnoe/v2/orga_relations/42/relationships/tenant",
            "related": "/api/mnoe/v2/orga_relations/42/tenant"
          }
        },
        "user": {
          "links": {
            "self": "/api/mnoe/v2/orga_relations/42/relationships/user",
            "related": "/api/mnoe/v2/orga_relations/42/user"
          }
        },
        "organization": {
          "links": {
            "self": "/api/mnoe/v2/orga_relations/42/relationships/organization",
            "related": "/api/mnoe/v2/orga_relations/42/organization"
          }
        }
      }
    }
  ]
}

Add a user to an organization
POST/orga_relations


Orga Relation

GET https://api-hub.maestrano.com/api/mnoe/v2/orga_relations/42
Responses200
Body
{
  "data": {
    "id": "42",
    "type": "orga_relations",
    "links": {
      "self": "/api/mnoe/v2/orga_relations/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:21.953Z",
      "updated_at": "2018-09-21T05:30:21.953Z",
      "organization_id": 1069,
      "user_id": 1066,
      "role": "Super Admin"
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/orga_relations/42/relationships/tenant",
          "related": "/api/mnoe/v2/orga_relations/42/tenant"
        }
      },
      "user": {
        "links": {
          "self": "/api/mnoe/v2/orga_relations/42/relationships/user",
          "related": "/api/mnoe/v2/orga_relations/42/user"
        }
      },
      "organization": {
        "links": {
          "self": "/api/mnoe/v2/orga_relations/42/relationships/organization",
          "related": "/api/mnoe/v2/orga_relations/42/organization"
        }
      }
    }
  }
}

Get an Orga Relation
GET/orga_relations/{id}

Get a single orga relation.

URI Parameters
HideShow
id
integer (required) Example: 42

The orga relation ID


PATCH https://api-hub.maestrano.com/api/mnoe/v2/orga_relations/42
Requestsexample 1
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
   "data":{
      "type":"organizations",
      "id": 42
      "attributes":{
         "role": "Super Admin"
      }
   }
}
Responses201
Body
{
  "data": {
    "id": "42",
    "type": "orga_relations",
    "links": {
      "self": "/api/mnoe/v2/orga_relations/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:21.953Z",
      "updated_at": "2018-09-21T05:30:21.953Z",
      "organization_id": 1069,
      "user_id": 1066,
      "role": "Super Admin"
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/orga_relations/42/relationships/tenant",
          "related": "/api/mnoe/v2/orga_relations/42/tenant"
        }
      },
      "user": {
        "links": {
          "self": "/api/mnoe/v2/orga_relations/42/relationships/user",
          "related": "/api/mnoe/v2/orga_relations/42/user"
        }
      },
      "organization": {
        "links": {
          "self": "/api/mnoe/v2/orga_relations/42/relationships/organization",
          "related": "/api/mnoe/v2/orga_relations/42/organization"
        }
      }
    }
  }
}

Update the role of a user inside an organization
PATCH/orga_relations/{id}

URI Parameters
HideShow
id
integer (required) Example: 42

The orga relation ID


DELETE https://api-hub.maestrano.com/api/mnoe/v2/orga_relations/42
Requestsexample 1
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Responses

Remove a user from an organization
DELETE/orga_relations/{id}

URI Parameters
HideShow
id
integer (required) Example: 42

The orga relation ID


Recurring Bills

A recurring bill is a recurring task generating bills at a certain frequency. For services charging a fixed amount per unit of time - e.g. $10 per month - it may be simpler to set a recurring bill through the API when customers subscribe to the service rather than manually creating bills through the API.

When creating a recurring bill through the API a billable must be attached to it. A billable is an AppInstance or a Subscription.

Recurring bills generate bills at the end of each cycle. Generated bills can be queried through the API like any other bill and will have a Recurring Bill attached to them.

Attributes

Field Type Description Example
id Filterable Unique Read only integer ID 42
created_at Filterable Read only datetime Date of creation 2018-09-21T05:30:21Z
updated_at Filterable Read only datetime Date of last update 2018-09-21T05:30:21Z
currency Create only Mandatory string The currency of the amount charged. Must be in ISO 4217 format. USD
cycles Create only integer The number of cycles to run for. E.g. 12 cycles of 1 month. Runs forever otherwise.
description Mandatory string Generated bills will have this description which will appear on the invoice Recurring subscription
frequency Create only integer A charge will occur at the end of each frequency x period cycle. E.g. every 2 months. 1
initial_cents Create only integer The initial amount to charge when creating this recurring bill. Useful to pro-rate the first month of subscrition.
last_execution_at Read only datetime When the last bill was generated 2018-09-21T05:30:21Z
next_execution_at Read only datetime When the next bill is going to be generated 2018-10-21T05:30:21Z
period Create only Mandatory string The unit of time for each charging cycle. One of: month | day | week | semimonth | year month
price_cents Create only Mandatory integer The amount to be charged in cents 2400
remaining_cycles Read only integer Number of cycles remaining before the recurring bill expires. Null if run forever.
status Read only string The current status of the recurring bill. One of: submitted | active | cancelled | expired active
start_date Create only datetime When to generate the first bill. First bill will be generated at the end of the cycle otherwise. 2018-09-21T05:30:21Z

Additional Filters

Filter Description
tenant.id Tenant relation
billable.id Billable relation
billable.type Billable relation
bills.id Bills relation

Relationships

Name Type To
tenant One to One Tenant
billable One to One Billable
bills One to Many Bill

Recurring Bills List

GET https://api-hub.maestrano.com/api/mnoe/v2/recurring_bills
Responses200
Body
{
  "data": [
    {
      "id": "42",
      "type": "recurring_bills",
      "links": {
        "self": "/api/mnoe/v2/recurring_bills/42"
      },
      "attributes": {
        "created_at": "2018-09-21T05:30:21.978Z",
        "updated_at": "2018-09-21T05:30:21.978Z",
        "currency": "USD",
        "cycles": null,
        "description": "Recurring subscription",
        "frequency": 1,
        "initial_cents": null,
        "last_execution_at": "2018-09-21T05:30:21.977Z",
        "next_execution_at": "2018-10-21T05:30:21.977Z",
        "period": "month",
        "price_cents": 2400,
        "remaining_cycles": null,
        "status": "active",
        "start_date": "2018-09-21T05:30:21.977Z"
      },
      "relationships": {
        "tenant": {
          "links": {
            "self": "/api/mnoe/v2/recurring_bills/42/relationships/tenant",
            "related": "/api/mnoe/v2/recurring_bills/42/tenant"
          }
        },
        "billable": {
          "links": {
            "self": "/api/mnoe/v2/recurring_bills/42/relationships/billable",
            "related": "/api/mnoe/v2/recurring_bills/42/billable"
          }
        },
        "bills": {
          "links": {
            "self": "/api/mnoe/v2/recurring_bills/42/relationships/bills",
            "related": "/api/mnoe/v2/recurring_bills/42/bills"
          }
        }
      }
    }
  ]
}

Get Recurring Bills
GET/recurring_bills

Get all recurring bills


POST https://api-hub.maestrano.com/api/mnoe/v2/recurring_bills
RequestsMonthly ChargeQuarterly Charge With Upfront Cost
Body
{
  "data": {
    "type": "bills",
    "attributes": {
      "currency": "USD",
      "description": "Company subscription: Pro",
      "price_cents": 2990,
      "frequency": 1,
      "period": "month"
    },
    "relationships": {
      "billable": {
        "data": {
          "type": "app_instances",
          "id": "442"
        }
      }
    }
  }
}
Responses
Body
{
  "data": {
    "type": "bills",
    "attributes": {
      "currency": "USD",
      "description": "User gold subscription",
      "price_cents": 9990,
      "frequency": 3,
      "period": "month",
      "initial_cents": 29999
    },
    "relationships": {
      "billable": {
        "data": {
          "type": "subscriptions",
          "id": "50f3d438-fab0-44cb-815c-1003f0f6d1ea"
        }
      }
    }
  }
}
Responses

Create New recurring bills
POST/recurring_bills

Create a new recurring bill.


Recurring Bill

GET https://api-hub.maestrano.com/api/mnoe/v2/recurring_bills/42
Responses200
Body
{
  "data": {
    "id": "42",
    "type": "bills",
    "links": {
      "self": "/api/mnoe/v2/bills/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:21.749Z",
      "updated_at": "2018-09-21T05:30:21.749Z",
      "currency": "AUD",
      "description": "some bill description",
      "end_user_price_cents": null,
      "period_started_at": null,
      "period_ended_at": null,
      "platform_price_cents": null,
      "price_cents": 2400,
      "status": "submitted",
      "supplier_price_cents": null,
      "third_party": false,
      "closed_end_user_price": null,
      "closure_exchange_rate": null,
      "adjustment": false,
      "billing_group": "TestApp5"
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/bills/42/relationships/tenant",
          "related": "/api/mnoe/v2/bills/42/tenant"
        }
      },
      "billable": {
        "links": {
          "self": "/api/mnoe/v2/bills/42/relationships/billable",
          "related": "/api/mnoe/v2/bills/42/billable"
        }
      },
      "invoice": {
        "links": {
          "self": "/api/mnoe/v2/bills/42/relationships/invoice",
          "related": "/api/mnoe/v2/bills/42/invoice"
        }
      },
      "recurring_bill": {
        "links": {
          "self": "/api/mnoe/v2/bills/42/relationships/recurring_bill",
          "related": "/api/mnoe/v2/bills/42/recurring_bill"
        }
      }
    }
  }
}

Get a Recurring Bill
GET/recurring_bills/{id}

Get a single recurring bill.

URI Parameters
HideShow
id
integer (required) Example: 42

The recurring bill ID


DELETE https://api-hub.maestrano.com/api/mnoe/v2/recurring_bills/42
Requestsexample 1
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Responses

Delete a Recurring Bill
DELETE/recurring_bills/{id}

The recurring bill will not actually be deleted and will be flagged as cancelled instead. Only recurring bills that are in a ‘submitted’ or ‘active’ status can be cancelled.

URI Parameters
HideShow
id
integer (required) Example: 42

The recurring bill ID


SyncStatuses

The Synchronization Status of an App Instance with its third-party API.

Attributes

Field Type Description Example
id Filterable Unique Read only integer ID 42
created_at Filterable Read only datetime Date of creation 2018-09-21T05:30:22Z
updated_at Filterable Read only datetime Date of last update 2018-09-21T05:30:22Z
status Filterable string Synchronization status. One of: success | error | running | enqueued | disconnected success
messages string Messages to be displayed to the user
progress integer Synchronization progression percentage when running
started_at datetime Synchronization start time
finished_at datetime Synchronization finish time

Additional Filters

Filter Description
tenant.id Tenant relation
app_instance.id App Instance relation
product_instance.id Product Instance relation

Relationships

Name Type To
tenant One to One Tenant
app_instance One to One App Instance
product_instance One to One Product Instance

SyncStatuses

GET https://api-hub.maestrano.com/api/mnoe/v2/sync_statuses
Responses200
Body
{
  "data": [
    {
      "id": "42",
      "type": "sync_statuses",
      "links": {
        "self": "/api/mnoe/v2/sync_statuses/42"
      },
      "attributes": {
        "created_at": "2018-09-21T05:30:22.028Z",
        "updated_at": "2018-09-21T05:30:22.027Z",
        "status": "success",
        "messages": null,
        "progress": null,
        "started_at": null,
        "finished_at": null
      },
      "relationships": {
        "tenant": {
          "links": {
            "self": "/api/mnoe/v2/sync_statuses/42/relationships/tenant",
            "related": "/api/mnoe/v2/sync_statuses/42/tenant"
          }
        },
        "app_instance": {
          "links": {
            "self": "/api/mnoe/v2/sync_statuses/42/relationships/app_instance",
            "related": "/api/mnoe/v2/sync_statuses/42/app_instance"
          }
        },
        "product_instance": {
          "links": {
            "self": "/api/mnoe/v2/sync_statuses/42/relationships/product_instance",
            "related": "/api/mnoe/v2/sync_statuses/42/product_instance"
          }
        }
      }
    }
  ]
}

Get SyncStatuses
GET/sync_statuses

Get the list of sync_statuses.


Teams

A team inside an organization defines a list of user and their access to the app instances

Attributes

Field Type Description Example
id Filterable Unique Read only integer ID 42
created_at Filterable Read only datetime Date of creation 2018-09-21T05:30:22Z
updated_at Filterable Read only datetime Date of last update 2018-09-21T05:30:22Z
name Filterable Mandatory string Name of the Team Team 1

Additional Filters

Filter Description
tenant.id Tenant relation
organization.id Organization relation
users.id Users relation
app_instances.id App Instances relation

Relationships

Name Type To
tenant One to One Tenant
organization One to One Organization
users One to Many User
app_instances One to Many App Instance

Teams

GET https://api-hub.maestrano.com/api/mnoe/v2/teams
Responses200
Body
{
  "data": [
    {
      "id": "42",
      "type": "teams",
      "links": {
        "self": "/api/mnoe/v2/teams/42"
      },
      "attributes": {
        "created_at": "2018-09-21T05:30:22.038Z",
        "updated_at": "2018-09-21T05:30:22.038Z",
        "organization_id": 1094,
        "name": "Team 1",
        "app_instance_ids": [],
        "user_ids": []
      },
      "relationships": {
        "tenant": {
          "links": {
            "self": "/api/mnoe/v2/teams/42/relationships/tenant",
            "related": "/api/mnoe/v2/teams/42/tenant"
          }
        },
        "organization": {
          "links": {
            "self": "/api/mnoe/v2/teams/42/relationships/organization",
            "related": "/api/mnoe/v2/teams/42/organization"
          }
        },
        "users": {
          "links": {
            "self": "/api/mnoe/v2/teams/42/relationships/users",
            "related": "/api/mnoe/v2/teams/42/users"
          }
        },
        "app_instances": {
          "links": {
            "self": "/api/mnoe/v2/teams/42/relationships/app_instances",
            "related": "/api/mnoe/v2/teams/42/app_instances"
          }
        }
      }
    }
  ]
}

Get Teams
GET/teams

Get the list of teams.


POST https://api-hub.maestrano.com/api/mnoe/v2/teams
Requestsexample 1
Body
{
"data": {
    "attributes": {
        "app_instance_ids": [
            66
        ],
        "name": "The A Team",
        "organization_id": 31,
    },
    "type": "teams"
}
}
Responses201
Body
{
  "data": [
    {
      "id": "42",
      "type": "teams",
      "links": {
        "self": "/api/mnoe/v2/teams/42"
      },
      "attributes": {
        "created_at": "2018-09-21T05:30:22.038Z",
        "updated_at": "2018-09-21T05:30:22.038Z",
        "organization_id": 1094,
        "name": "Team 1",
        "app_instance_ids": [],
        "user_ids": []
      },
      "relationships": {
        "tenant": {
          "links": {
            "self": "/api/mnoe/v2/teams/42/relationships/tenant",
            "related": "/api/mnoe/v2/teams/42/tenant"
          }
        },
        "organization": {
          "links": {
            "self": "/api/mnoe/v2/teams/42/relationships/organization",
            "related": "/api/mnoe/v2/teams/42/organization"
          }
        },
        "users": {
          "links": {
            "self": "/api/mnoe/v2/teams/42/relationships/users",
            "related": "/api/mnoe/v2/teams/42/users"
          }
        },
        "app_instances": {
          "links": {
            "self": "/api/mnoe/v2/teams/42/relationships/app_instances",
            "related": "/api/mnoe/v2/teams/42/app_instances"
          }
        }
      }
    }
  ]
}

Create a new Team
POST/teams


Team

GET https://api-hub.maestrano.com/api/mnoe/v2/teams/42
Responses200
Body
{
  "data": {
    "id": "42",
    "type": "teams",
    "links": {
      "self": "/api/mnoe/v2/teams/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:22.038Z",
      "updated_at": "2018-09-21T05:30:22.038Z",
      "organization_id": 1094,
      "name": "Team 1",
      "app_instance_ids": [],
      "user_ids": []
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/teams/42/relationships/tenant",
          "related": "/api/mnoe/v2/teams/42/tenant"
        }
      },
      "organization": {
        "links": {
          "self": "/api/mnoe/v2/teams/42/relationships/organization",
          "related": "/api/mnoe/v2/teams/42/organization"
        }
      },
      "users": {
        "links": {
          "self": "/api/mnoe/v2/teams/42/relationships/users",
          "related": "/api/mnoe/v2/teams/42/users"
        }
      },
      "app_instances": {
        "links": {
          "self": "/api/mnoe/v2/teams/42/relationships/app_instances",
          "related": "/api/mnoe/v2/teams/42/app_instances"
        }
      }
    }
  }
}

Get an Team
GET/teams/{id}

Get a single team.

URI Parameters
HideShow
id
integer (required) Example: 42

The team ID


PATCH https://api-hub.maestrano.com/api/mnoe/v2/teams/42
Requestsexample 1
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "attributes": {
      "app_instance_ids": [
        66
      ],
      "name": "The A Team"
    },
    "type": "teams",
    "id": 42
  }
}
Responses201
Body
{
  "data": {
    "id": "42",
    "type": "teams",
    "links": {
      "self": "/api/mnoe/v2/teams/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:22.038Z",
      "updated_at": "2018-09-21T05:30:22.038Z",
      "organization_id": 1094,
      "name": "Team 1",
      "app_instance_ids": [],
      "user_ids": []
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/teams/42/relationships/tenant",
          "related": "/api/mnoe/v2/teams/42/tenant"
        }
      },
      "organization": {
        "links": {
          "self": "/api/mnoe/v2/teams/42/relationships/organization",
          "related": "/api/mnoe/v2/teams/42/organization"
        }
      },
      "users": {
        "links": {
          "self": "/api/mnoe/v2/teams/42/relationships/users",
          "related": "/api/mnoe/v2/teams/42/users"
        }
      },
      "app_instances": {
        "links": {
          "self": "/api/mnoe/v2/teams/42/relationships/app_instances",
          "related": "/api/mnoe/v2/teams/42/app_instances"
        }
      }
    }
  }
}

Update an Team
PATCH/teams/{id}

URI Parameters
HideShow
id
integer (required) Example: 42

The team ID


DELETE https://api-hub.maestrano.com/api/mnoe/v2/teams/42
Requestsexample 1
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Responses

Delete an Team
DELETE/teams/{id}

URI Parameters
HideShow
id
integer (required) Example: 42

The team ID


Tenant App Restrictions

This endpoint is only accessible in read-only mode to Tenants. This endpoint is fully accessible to Master Tenants.

A Tenant App Restriction represents a whitelist entry filtering the list of applications that a Tenant can see and select for their platform.

If no Tenant App Restrictions exist for a given Tenant then it will have access to all applications available on Maestrano Hub.

As soon as a Tenant App Restriction is created for a particular Tenant the list of available applications becomes scoped to the list of Tenant App Restrictions.

Attributes

Field Type Description Example
id Filterable Unique Read only integer ID 42
created_at Filterable Read only datetime Date of creation 2018-09-21T05:30:22Z
updated_at Filterable Read only datetime Date of last update 2018-09-21T05:30:22Z

Additional Filters

Filter Description
tenant.id Tenant relation
app.id App relation

Relationships

Name Type To
tenant One to One Tenant
app One to One App

Tenant App Restrictions List

GET https://api-hub.maestrano.com/api/mnoe/v2/tenant_app_restrictions
Responses200
Body
{
  "data": [
    {
      "id": "42",
      "type": "tenant_app_restrictions",
      "links": {
        "self": "/api/mnoe/v2/tenant_app_restrictions/42"
      },
      "attributes": {
        "created_at": "2018-09-21T05:30:22.058Z",
        "updated_at": "2018-09-21T05:30:22.058Z"
      },
      "relationships": {
        "tenant": {
          "links": {
            "self": "/api/mnoe/v2/tenant_app_restrictions/42/relationships/tenant",
            "related": "/api/mnoe/v2/tenant_app_restrictions/42/tenant"
          }
        },
        "app": {
          "links": {
            "self": "/api/mnoe/v2/tenant_app_restrictions/42/relationships/app",
            "related": "/api/mnoe/v2/tenant_app_restrictions/42/app"
          }
        }
      }
    }
  ]
}

Get Tenant App Restrictions
GET/tenant_app_restrictions

Get a tenant app restriction


POST https://api-hub.maestrano.com/api/mnoe/v2/tenant_app_restrictions
RequestsMinimal
Body
{
  "data": {
    "type": "tenants",
    "relationships": {
      "app": {
        "data": {
          "type": "apps",
          "id": "123"
        }
      },
      "tenant": {
        "data": {
          "type": "tenants",
          "id": "321"
        }
      }
    }
  }
}
Responses201
Body
{
  "data": {
    "id": "42",
    "type": "tenant_app_restrictions",
    "links": {
      "self": "/api/mnoe/v2/tenant_app_restrictions/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:22.058Z",
      "updated_at": "2018-09-21T05:30:22.058Z"
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/tenant_app_restrictions/42/relationships/tenant",
          "related": "/api/mnoe/v2/tenant_app_restrictions/42/tenant"
        }
      },
      "app": {
        "links": {
          "self": "/api/mnoe/v2/tenant_app_restrictions/42/relationships/app",
          "related": "/api/mnoe/v2/tenant_app_restrictions/42/app"
        }
      }
    }
  }
}

Create New Tenant App Restrictions
POST/tenant_app_restrictions

Create a new tenant app restriction.


Tenant App Restriction

GET https://api-hub.maestrano.com/api/mnoe/v2/tenant_app_restrictions/42
Responses200
Body
{
  "data": {
    "id": "42",
    "type": "tenant_app_restrictions",
    "links": {
      "self": "/api/mnoe/v2/tenant_app_restrictions/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:22.058Z",
      "updated_at": "2018-09-21T05:30:22.058Z"
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/tenant_app_restrictions/42/relationships/tenant",
          "related": "/api/mnoe/v2/tenant_app_restrictions/42/tenant"
        }
      },
      "app": {
        "links": {
          "self": "/api/mnoe/v2/tenant_app_restrictions/42/relationships/app",
          "related": "/api/mnoe/v2/tenant_app_restrictions/42/app"
        }
      }
    }
  }
}

Get a Tenant App Restriction
GET/tenant_app_restrictions/{id}

Get a single tenant.

URI Parameters
HideShow
id
integer (required) Example: 42

The tenant ID


DELETE https://api-hub.maestrano.com/api/mnoe/v2/tenant_app_restrictions/42
Requestsexample 1
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Responses

Delete a Tenant App Restriction
DELETE/tenant_app_restrictions/{id}

URI Parameters
HideShow
id
integer (required) Example: 42

The tenant ID


Tenant Invoices

Invoice issued to the tenant

Attributes

Field Type Description Example
id Filterable Unique Read only integer ID 42
created_at Filterable Read only datetime Date of creation 2018-09-21T05:30:22Z
updated_at Filterable Read only datetime Date of last update 2018-09-21T05:30:22Z
started_at Filterable Mandatory datetime Date when the invoice started 2015-01-01T00:00:00Z
ended_at Filterable Mandatory datetime Date when the invoice ended 2015-02-01T00:00:00Z
paid_at Filterable datetime Date the invoice was paid
slug Filterable string slug of the invoice
total_portfolio_amount Filterable money Total portfolio 0.00
total_commission_amount Filterable money Total commission 0.00
mno_commission_amount Filterable money Maestrano Commission 0.00
non_commissionable_amount Filterable money Non Comission amount 0.00

Additional Filters

Filter Description
tenant.id Tenant relation

Tenant Invoices List

GET https://api-hub.maestrano.com/api/mnoe/v2/apps
Responses200
Body
{
  "data": [
    {
      "id": "42",
      "type": "tenant_invoices",
      "links": {
        "self": "/api/mnoe/v2/tenant_invoices/42"
      },
      "attributes": {
        "created_at": "2018-09-21T05:30:22.105Z",
        "updated_at": "2018-09-21T05:30:22.105Z",
        "started_at": "2015-01-01T00:00:00.000Z",
        "ended_at": "2015-02-01T00:00:00.000Z",
        "paid_at": null,
        "slug": null,
        "total_portfolio_amount": {
          "cents": 0,
          "currency": "AUD"
        },
        "total_commission_amount": {
          "cents": 0,
          "currency": "AUD"
        },
        "mno_commission_amount": {
          "cents": 0,
          "currency": "AUD"
        },
        "non_commissionable_amount": {
          "cents": 0,
          "currency": "AUD"
        }
      },
      "relationships": {
        "tenant": {
          "links": {
            "self": "/api/mnoe/v2/tenant_invoices/42/relationships/tenant",
            "related": "/api/mnoe/v2/tenant_invoices/42/tenant"
          }
        }
      }
    }
  ]
}

Get Tenant Invoices
GET/apps

Get the invoices


Tenants

This endpoint is only accessible to Master Tenants.

Manage tenants. A tenant represents a portal provider (e.g. based on mno-enterprise). A tenant has full authority on its organizations, apps, etc. Tenants are virtually isolated from each other.

Attributes

Field Type Description Example
id Filterable Unique Read only integer ID 42
created_at Filterable Read only datetime Date of creation 2018-09-21T05:30:22Z
updated_at Filterable Read only datetime Date of last update 2018-09-21T05:30:22Z
name Filterable Mandatory string Name Tenant 23
uuid Filterable string UUID
api_key Filterable Read only string API Key
api_secret Filterable Read only string API Secret
domain Filterable Mandatory string Tenant portal host (e.g. portal.mydomain.com). Not required if webstore option specified. sometenant23.com
email Filterable string Billing email john.doe@maestrano.com
bank_account Filterable text Bank account {:name=>“Johnny Cash”, :bsb=>“123456”, :account=>“101010”, :type=>“AU”}
commission Filterable text Commission configuration {:name=>“Percentage”, :options=>{:percentage=>0.15}}
transaction_management Filterable boolean false
metadata Filterable text Tenant configuration {}
frontend_config Filterable text Frontend Configuration
webstore_attributes Filterable Write only Create only string Attributes to create a webstore. Only on Tenant creation.
main_address Filterable Read only string Main business address
addresses_attributes Filterable Write only string Array of attributes to create addresses
external_id Filterable Unique string An external ID that you can supply to easily search on. Must be unique if specified.
members_attributes Filterable Write only string Array of attributes to create users with admin privileges. The least minimum is an email address. Set auto_confirm to true to skip email confirmation.
keystore Filterable string Keystore configuration

Additional Filters

Filter Description
tenant.id Tenant relation
webstore.id Webstore relation
addresses.id Addresses relation
members.id Members relation

Relationships

Name Type To
tenant One to One Tenant
webstore One to One Webstore
addresses One to Many Address
members One to Many User

Tenants List

GET https://api-hub.maestrano.com/api/mnoe/v2/tenants
Responses200
Body
{
  "data": [
    {
      "id": "42",
      "type": "tenants",
      "links": {
        "self": "/api/mnoe/v2/tenants/42"
      },
      "attributes": {
        "created_at": "2018-09-21T05:30:22.113Z",
        "updated_at": "2018-09-21T05:30:22.113Z",
        "name": "Tenant 23",
        "uuid": null,
        "api_key": null,
        "api_secret": null,
        "domain": "sometenant23.com",
        "address": null,
        "country": null,
        "email": "john.doe@maestrano.com",
        "bank_account": {
          "name": "Johnny Cash",
          "bsb": "123456",
          "account": "101010",
          "type": "AU"
        },
        "commission": {
          "name": "Percentage",
          "options": {
            "percentage": 0.15
          }
        },
        "transaction_management": false,
        "metadata": {},
        "frontend_config": null,
        "main_address": null,
        "external_id": null,
        "keystore": null
      },
      "relationships": {
        "tenant": {
          "links": {
            "self": "/api/mnoe/v2/tenants/42/relationships/tenant",
            "related": "/api/mnoe/v2/tenants/42/tenant"
          }
        },
        "webstore": {
          "links": {
            "self": "/api/mnoe/v2/tenants/42/relationships/webstore",
            "related": "/api/mnoe/v2/tenants/42/webstore"
          }
        },
        "addresses": {
          "links": {
            "self": "/api/mnoe/v2/tenants/42/relationships/addresses",
            "related": "/api/mnoe/v2/tenants/42/addresses"
          }
        },
        "members": {
          "links": {
            "self": "/api/mnoe/v2/tenants/42/relationships/members",
            "related": "/api/mnoe/v2/tenants/42/members"
          }
        }
      }
    }
  ]
}

Get Tenants
GET/tenants

Get the tenant


POST https://api-hub.maestrano.com/api/mnoe/v2/tenants
RequestsMinimalNested ResourcesWebstore
Body
{
  "data": {
    "type": "tenants",
    "attributes": {
      "name": "Doe Corp",
      "domain": "doecorp.com"
    }
  }
}
Responses201
Body
{
  "data": {
    "id": "42",
    "type": "tenants",
    "links": {
      "self": "/api/mnoe/v2/tenants/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:22.113Z",
      "updated_at": "2018-09-21T05:30:22.113Z",
      "name": "Tenant 23",
      "uuid": null,
      "api_key": null,
      "api_secret": null,
      "domain": "sometenant23.com",
      "address": null,
      "country": null,
      "email": "john.doe@maestrano.com",
      "bank_account": {
        "name": "Johnny Cash",
        "bsb": "123456",
        "account": "101010",
        "type": "AU"
      },
      "commission": {
        "name": "Percentage",
        "options": {
          "percentage": 0.15
        }
      },
      "transaction_management": false,
      "metadata": {},
      "frontend_config": null,
      "main_address": null,
      "external_id": null,
      "keystore": null
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/tenants/42/relationships/tenant",
          "related": "/api/mnoe/v2/tenants/42/tenant"
        }
      },
      "webstore": {
        "links": {
          "self": "/api/mnoe/v2/tenants/42/relationships/webstore",
          "related": "/api/mnoe/v2/tenants/42/webstore"
        }
      },
      "addresses": {
        "links": {
          "self": "/api/mnoe/v2/tenants/42/relationships/addresses",
          "related": "/api/mnoe/v2/tenants/42/addresses"
        }
      },
      "members": {
        "links": {
          "self": "/api/mnoe/v2/tenants/42/relationships/members",
          "related": "/api/mnoe/v2/tenants/42/members"
        }
      }
    }
  }
}
Body
{
  "data": {
    "type": "tenants",
    "attributes": {
      "name": "Doe Corp",
      "domain": "doecorp.com",
      "members_attributes": [
        {
          "name": "John",
          "surname": "Doe",
          "email": "john@doe.com",
          "password": "initial_password",
          "auto_confirm": true
        }
      ],
      "addresses_attributes": [
        {
          "street": "30 York Street",
          "postal_code": "2000",
          "country_code": "AU"
        }
      ]
    }
  }
}
Responses201
Body
{
  "data": {
    "id": "42",
    "type": "tenants",
    "links": {
      "self": "/api/mnoe/v2/tenants/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:22.113Z",
      "updated_at": "2018-09-21T05:30:22.113Z",
      "name": "Tenant 23",
      "uuid": null,
      "api_key": null,
      "api_secret": null,
      "domain": "sometenant23.com",
      "address": null,
      "country": null,
      "email": "john.doe@maestrano.com",
      "bank_account": {
        "name": "Johnny Cash",
        "bsb": "123456",
        "account": "101010",
        "type": "AU"
      },
      "commission": {
        "name": "Percentage",
        "options": {
          "percentage": 0.15
        }
      },
      "transaction_management": false,
      "metadata": {},
      "frontend_config": null,
      "main_address": null,
      "external_id": null,
      "keystore": null
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/tenants/42/relationships/tenant",
          "related": "/api/mnoe/v2/tenants/42/tenant"
        }
      },
      "webstore": {
        "links": {
          "self": "/api/mnoe/v2/tenants/42/relationships/webstore",
          "related": "/api/mnoe/v2/tenants/42/webstore"
        }
      },
      "addresses": {
        "links": {
          "self": "/api/mnoe/v2/tenants/42/relationships/addresses",
          "related": "/api/mnoe/v2/tenants/42/addresses"
        }
      },
      "members": {
        "links": {
          "self": "/api/mnoe/v2/tenants/42/relationships/members",
          "related": "/api/mnoe/v2/tenants/42/members"
        }
      }
    }
  }
}
Body
{
  "data": {
    "type": "tenants",
    "attributes": {
      "name": "Doe Corp",
      "domain": "doecorp.com",
      "webstore_attributes": {}
    }
  }
}
Responses201
Body
{
  "data": {
    "id": "42",
    "type": "tenants",
    "links": {
      "self": "/api/mnoe/v2/tenants/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:22.113Z",
      "updated_at": "2018-09-21T05:30:22.113Z",
      "name": "Tenant 23",
      "uuid": null,
      "api_key": null,
      "api_secret": null,
      "domain": "sometenant23.com",
      "address": null,
      "country": null,
      "email": "john.doe@maestrano.com",
      "bank_account": {
        "name": "Johnny Cash",
        "bsb": "123456",
        "account": "101010",
        "type": "AU"
      },
      "commission": {
        "name": "Percentage",
        "options": {
          "percentage": 0.15
        }
      },
      "transaction_management": false,
      "metadata": {},
      "frontend_config": null,
      "main_address": null,
      "external_id": null,
      "keystore": null
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/tenants/42/relationships/tenant",
          "related": "/api/mnoe/v2/tenants/42/tenant"
        }
      },
      "webstore": {
        "links": {
          "self": "/api/mnoe/v2/tenants/42/relationships/webstore",
          "related": "/api/mnoe/v2/tenants/42/webstore"
        }
      },
      "addresses": {
        "links": {
          "self": "/api/mnoe/v2/tenants/42/relationships/addresses",
          "related": "/api/mnoe/v2/tenants/42/addresses"
        }
      },
      "members": {
        "links": {
          "self": "/api/mnoe/v2/tenants/42/relationships/members",
          "related": "/api/mnoe/v2/tenants/42/members"
        }
      }
    }
  }
}

Create New tenants
POST/tenants

Create a new tenant.


Tenant

GET https://api-hub.maestrano.com/api/mnoe/v2/tenants/42
Responses200
Body
{
  "data": {
    "id": "42",
    "type": "tenants",
    "links": {
      "self": "/api/mnoe/v2/tenants/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:22.113Z",
      "updated_at": "2018-09-21T05:30:22.113Z",
      "name": "Tenant 23",
      "uuid": null,
      "api_key": null,
      "api_secret": null,
      "domain": "sometenant23.com",
      "address": null,
      "country": null,
      "email": "john.doe@maestrano.com",
      "bank_account": {
        "name": "Johnny Cash",
        "bsb": "123456",
        "account": "101010",
        "type": "AU"
      },
      "commission": {
        "name": "Percentage",
        "options": {
          "percentage": 0.15
        }
      },
      "transaction_management": false,
      "metadata": {},
      "frontend_config": null,
      "main_address": null,
      "external_id": null,
      "keystore": null
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/tenants/42/relationships/tenant",
          "related": "/api/mnoe/v2/tenants/42/tenant"
        }
      },
      "webstore": {
        "links": {
          "self": "/api/mnoe/v2/tenants/42/relationships/webstore",
          "related": "/api/mnoe/v2/tenants/42/webstore"
        }
      },
      "addresses": {
        "links": {
          "self": "/api/mnoe/v2/tenants/42/relationships/addresses",
          "related": "/api/mnoe/v2/tenants/42/addresses"
        }
      },
      "members": {
        "links": {
          "self": "/api/mnoe/v2/tenants/42/relationships/members",
          "related": "/api/mnoe/v2/tenants/42/members"
        }
      }
    }
  }
}

Get a Tenant
GET/tenants/{id}

Get a single tenant.

URI Parameters
HideShow
id
integer (required) Example: 42

The tenant ID


DELETE https://api-hub.maestrano.com/api/mnoe/v2/tenants/42
Requestsexample 1
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Responses

Delete a Tenant
DELETE/tenants/{id}

URI Parameters
HideShow
id
integer (required) Example: 42

The tenant ID


Users

User are end user using the platform. A User may may be part of several Organizations via the OrgaRelations join table.

How to add a user to an organization

Add User to an organization

Regarding roles

There is two fields that define a user role. You may either set the value coming from your system directly, or use the values needed by the MNOE Framework.

  • admin_role: defined at user level. A non-blank value indicates this user has administration privileges at Tenant level. Common values recognised by the MNOE Framework are “admin”, “staff” and nil (regular user).

  • role: defines at orga_relation level. The field specifies the role of a user inside an organization. This value is set up when you add a user to an organization. See Add User to an organization. Accepted values are “Super Admin”, “Admin”, “Power User” and “Member” see Organizations Users

Attributes

Field Type Description Example
id Filterable Unique Read only integer ID 42
created_at Filterable Read only datetime Date of creation 2018-09-21T05:30:22Z
updated_at Filterable Read only datetime Date of last update 2018-09-21T05:30:22Z
uid Filterable Unique Read only string public facing ID used by apps usr-4l0p
name Filterable string Name of the user BoB
surname Filterable string Surname of the user Troll
email Filterable Mandatory string Email of the user user_9@maestrano.com
company Filterable string Company associated with the user MySuperCompany
registration_address Filterable string Address submitted at user sign-up
orga_on_create Filterable Write only boolean Create an organization linked to the User when the user is created
demo_account Filterable string If orga_on_create is true, set it as demo account
website Filterable string Main website of the user
sso_session Filterable string SSO Session Id
account_frozen Filterable boolean True if the account is frozen false
metadata Filterable text Hash of Metadata {}
settings Filterable text Serialized hash for the user settings (eg: locale) {}
admin_role Filterable string This value defines a role on the platform level. The value can be any arbitrary string. In the MNOE framework, the value accepted are “admin”, or “nil” depending if the user is an admin or not.
title Filterable string Title of the user
geo_country_code Filterable string Country code of the localization of the user
geo_state_code Filterable string State of the localization of the user
geo_city Filterable string City of the localization of the user
geo_currency Filterable string Currency of the localization of the user
geo_tz Filterable string Timezone of the localization of the user
phone Filterable string Phone number of the user
phone_country_code Filterable string Country code of the user phone number
authenticatable_salt Filterable Read only string Reliable way to expose the salt regardless of the implementation. $2a$04$u6RjerMORmedelbBYyiMge
reset_password_token Filterable string Token to use when recovering the password for an account
reset_password_sent_at Filterable datetime Last the time the reset password
remember_created_at Filterable datetime Returns Time at which the user last selected “remember me”
sign_in_count Filterable integer Increased every time a sign in is made (by form, openid, oauth) 0
current_sign_in_at Filterable datetime A timestamp updated when the user signs in
last_sign_in_at Filterable datetime Holds the timestamp of the previous sign in
last_active_at Filterable datetime Last activity on the API
current_sign_in_ip Filterable string The remote ip updated when the user sign in
last_sign_in_ip Filterable string Holds the remote ip of the previous sign in
confirmation_token Filterable string A unique random token
confirmed_at Filterable datetime A timestamp when the user clicked the confirmation link
confirmation_sent_at Filterable datetime A timestamp when the confirmation_token was generated (not sent)
unconfirmed_email Filterable string An email address copied from the email attr. After confirmation this value is copied to the email attr then cleared
failed_attempts Filterable integer Increased every time the user failed to give his password 0
unlock_token Filterable string Token used to unlock a user
locked_at Filterable datetime Timestamp when the user was locked
password Filterable Write only Mandatory string User Password MyPassword
current_password Filterable Write only string Current user password. User password will be updated if current_password matches with the current password.
password_confirmation Filterable Write only string Used only when password is changed. Must match with password.
password_changed_at Filterable Read only datetime Timestamp when the password was changed
api_key Filterable Read only string Developer API Key
api_secret Filterable Read only string Developer API Secret
kpi_enabled Filterable boolean Are KPIs enabled? false
external_id Filterable string External Id. May be used to link the user with an external system. Limited to 255 characters.
encrypted_token Filterable Read only string Encrypted Token eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJ1c2VyX2lkIjo0MiwiZXhwIjoxNTM3NTk0MjIyfQ.wrOYdqBhUMe7adAS7chx6UFRKqEu0ExSlClmp9ihLqXTh84xV1m3Q2vtqgtEUYlZP6EdS6XktQoNtoxnqLSwCw
sub_tenant_id Filterable string [DEPRECATED], Use SubTenant Relation
client_ids Filterable string [DEPRECATED] Use clients relation []

Additional Filters

Filter Description
tenant.id Tenant relation
sub_tenant.id Sub Tenant relation
organizations.id Organizations relation
orga_relations.id Orga Relations relation
teams.id Teams relation
alerts.id Alerts relation
identities.id Identities relation
deletion_requests.id Deletion Requests relation
dashboards.id Dashboards relation
license_assignments.id License Assignments relation
user_access_requests.id User Access Requests relation
requested_user_accesses.id Requested User Accesses relation
clients.id Clients relation

Relationships

Name Type To
tenant One to One Tenant
sub_tenant One to One Sub Tenant
organizations One to Many Organization
orga_relations One to Many Orga Relation
teams One to Many Team
alerts One to Many Alert
identities One to Many Identity
deletion_requests One to Many Deletion Request
dashboards One to Many Dashboard
license_assignments One to Many License Assignment
user_access_requests One to Many User Access Request
requested_user_accesses One to Many User Access Request
clients One to Many Organization

Regarding external_id

external_id can be any string value up to 255 characters. It gives a way to identify the user by an external id. This id is not unique, therefore the unicity checks needs to be done externally.

Find a User by external_id: “XDE 48”

GET /users?filter[external_id]=XDE%2048

Users

GET https://api-hub.maestrano.com/api/mnoe/v2/users
Responses200
Body
{
  "data": [
    {
      "id": "42",
      "type": "users",
      "links": {
        "self": "/api/mnoe/v2/users/42"
      },
      "attributes": {
        "created_at": "2018-09-21T05:30:22.126Z",
        "updated_at": "2018-09-21T05:30:22.125Z",
        "uid": "usr-4l0p",
        "name": "BoB",
        "surname": "Troll",
        "email": "user_9@maestrano.com",
        "company": "MySuperCompany",
        "registration_address": null,
        "demo_account": null,
        "website": null,
        "sso_session": null,
        "account_frozen": false,
        "metadata": {},
        "settings": {},
        "admin_role": null,
        "title": null,
        "geo_country_code": null,
        "geo_state_code": null,
        "geo_city": null,
        "geo_currency": null,
        "geo_tz": null,
        "phone": null,
        "phone_country_code": null,
        "authenticatable_salt": "$2a$04$u6RjerMORmedelbBYyiMge",
        "reset_password_token": null,
        "reset_password_sent_at": null,
        "remember_created_at": null,
        "sign_in_count": 0,
        "current_sign_in_at": null,
        "last_sign_in_at": null,
        "last_active_at": null,
        "current_sign_in_ip": null,
        "last_sign_in_ip": null,
        "confirmation_token": null,
        "confirmed_at": null,
        "confirmation_sent_at": null,
        "unconfirmed_email": null,
        "failed_attempts": 0,
        "unlock_token": null,
        "locked_at": null,
        "password_changed_at": null,
        "api_key": null,
        "api_secret": null,
        "kpi_enabled": false,
        "external_id": null,
        "encrypted_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJ1c2VyX2lkIjo0MiwiZXhwIjoxNTM3NTk0MjIyfQ.wrOYdqBhUMe7adAS7chx6UFRKqEu0ExSlClmp9ihLqXTh84xV1m3Q2vtqgtEUYlZP6EdS6XktQoNtoxnqLSwCw",
        "sub_tenant_id": null,
        "client_ids": []
      },
      "relationships": {
        "tenant": {
          "links": {
            "self": "/api/mnoe/v2/users/42/relationships/tenant",
            "related": "/api/mnoe/v2/users/42/tenant"
          }
        },
        "sub_tenant": {
          "links": {
            "self": "/api/mnoe/v2/users/42/relationships/sub_tenant",
            "related": "/api/mnoe/v2/users/42/sub_tenant"
          }
        },
        "organizations": {
          "links": {
            "self": "/api/mnoe/v2/users/42/relationships/organizations",
            "related": "/api/mnoe/v2/users/42/organizations"
          }
        },
        "orga_relations": {
          "links": {
            "self": "/api/mnoe/v2/users/42/relationships/orga_relations",
            "related": "/api/mnoe/v2/users/42/orga_relations"
          }
        },
        "teams": {
          "links": {
            "self": "/api/mnoe/v2/users/42/relationships/teams",
            "related": "/api/mnoe/v2/users/42/teams"
          }
        },
        "alerts": {
          "links": {
            "self": "/api/mnoe/v2/users/42/relationships/alerts",
            "related": "/api/mnoe/v2/users/42/alerts"
          }
        },
        "identities": {
          "links": {
            "self": "/api/mnoe/v2/users/42/relationships/identities",
            "related": "/api/mnoe/v2/users/42/identities"
          }
        },
        "deletion_requests": {
          "links": {
            "self": "/api/mnoe/v2/users/42/relationships/deletion_requests",
            "related": "/api/mnoe/v2/users/42/deletion_requests"
          }
        },
        "dashboards": {
          "links": {
            "self": "/api/mnoe/v2/users/42/relationships/dashboards",
            "related": "/api/mnoe/v2/users/42/dashboards"
          }
        },
        "license_assignments": {
          "links": {
            "self": "/api/mnoe/v2/users/42/relationships/license_assignments",
            "related": "/api/mnoe/v2/users/42/license_assignments"
          }
        },
        "user_access_requests": {
          "links": {
            "self": "/api/mnoe/v2/users/42/relationships/user_access_requests",
            "related": "/api/mnoe/v2/users/42/user_access_requests"
          }
        },
        "requested_user_accesses": {
          "links": {
            "self": "/api/mnoe/v2/users/42/relationships/requested_user_accesses",
            "related": "/api/mnoe/v2/users/42/requested_user_accesses"
          }
        },
        "clients": {
          "links": {
            "self": "/api/mnoe/v2/users/42/relationships/clients",
            "related": "/api/mnoe/v2/users/42/clients"
          }
        }
      }
    }
  ]
}

Get Users
GET/users

Get the list of users.


POST https://api-hub.maestrano.com/api/mnoe/v2/users
Requestsexample 1
Body
{
"data":{
  "type":"users",
  "attributes":{
     "name":"name",
     "surname":"surname",
     "email":"email@test.com",
     "password":"password"
  }
}
}
[User][]
Responses

Create New users
POST/users

Create a new user.


POST https://api-hub.maestrano.com/api/mnoe/v2/users/authenticate
Requestsexample 1
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": 42,
    "type": "users",
    "attributes": {
      "email": "john.doe@test.com",
      "password": "JohnPassword"
    }
  }
}
Responses200404
Body
{
  "data": {
    "id": "42",
    "type": "users",
    "links": {
      "self": "/api/mnoe/v2/users/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:22.126Z",
      "updated_at": "2018-09-21T05:30:22.125Z",
      "uid": "usr-4l0p",
      "name": "BoB",
      "surname": "Troll",
      "email": "user_9@maestrano.com",
      "company": "MySuperCompany",
      "registration_address": null,
      "demo_account": null,
      "website": null,
      "sso_session": null,
      "account_frozen": false,
      "metadata": {},
      "settings": {},
      "admin_role": null,
      "title": null,
      "geo_country_code": null,
      "geo_state_code": null,
      "geo_city": null,
      "geo_currency": null,
      "geo_tz": null,
      "phone": null,
      "phone_country_code": null,
      "authenticatable_salt": "$2a$04$u6RjerMORmedelbBYyiMge",
      "reset_password_token": null,
      "reset_password_sent_at": null,
      "remember_created_at": null,
      "sign_in_count": 0,
      "current_sign_in_at": null,
      "last_sign_in_at": null,
      "last_active_at": null,
      "current_sign_in_ip": null,
      "last_sign_in_ip": null,
      "confirmation_token": null,
      "confirmed_at": null,
      "confirmation_sent_at": null,
      "unconfirmed_email": null,
      "failed_attempts": 0,
      "unlock_token": null,
      "locked_at": null,
      "password_changed_at": null,
      "api_key": null,
      "api_secret": null,
      "kpi_enabled": false,
      "external_id": null,
      "encrypted_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJ1c2VyX2lkIjo0MiwiZXhwIjoxNTM3NTk0MjIyfQ.wrOYdqBhUMe7adAS7chx6UFRKqEu0ExSlClmp9ihLqXTh84xV1m3Q2vtqgtEUYlZP6EdS6XktQoNtoxnqLSwCw",
      "sub_tenant_id": null,
      "client_ids": []
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/tenant",
          "related": "/api/mnoe/v2/users/42/tenant"
        }
      },
      "sub_tenant": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/sub_tenant",
          "related": "/api/mnoe/v2/users/42/sub_tenant"
        }
      },
      "organizations": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/organizations",
          "related": "/api/mnoe/v2/users/42/organizations"
        }
      },
      "orga_relations": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/orga_relations",
          "related": "/api/mnoe/v2/users/42/orga_relations"
        }
      },
      "teams": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/teams",
          "related": "/api/mnoe/v2/users/42/teams"
        }
      },
      "alerts": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/alerts",
          "related": "/api/mnoe/v2/users/42/alerts"
        }
      },
      "identities": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/identities",
          "related": "/api/mnoe/v2/users/42/identities"
        }
      },
      "deletion_requests": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/deletion_requests",
          "related": "/api/mnoe/v2/users/42/deletion_requests"
        }
      },
      "dashboards": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/dashboards",
          "related": "/api/mnoe/v2/users/42/dashboards"
        }
      },
      "license_assignments": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/license_assignments",
          "related": "/api/mnoe/v2/users/42/license_assignments"
        }
      },
      "user_access_requests": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/user_access_requests",
          "related": "/api/mnoe/v2/users/42/user_access_requests"
        }
      },
      "requested_user_accesses": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/requested_user_accesses",
          "related": "/api/mnoe/v2/users/42/requested_user_accesses"
        }
      },
      "clients": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/clients",
          "related": "/api/mnoe/v2/users/42/clients"
        }
      }
    }
  }
}
Body
{
  "errors": [
    {
      "title": "Record not found",
      "detail": "The record identified by john.doe@test.com could not be found.",
      "code": "404",
      "status": "404"
    }
  ]
}

Authenticate
POST/users/authenticate

Check if the user exist for the given email and password. Returns [404] not found if the mail/password does not match. If the user is valid, it will refresh the SSO Session.

URI Parameters
HideShow
id
integer (required) Example: 42

The user ID


User

GET https://api-hub.maestrano.com/api/mnoe/v2/users/42
Responses200
Body
{
  "data": {
    "id": "42",
    "type": "users",
    "links": {
      "self": "/api/mnoe/v2/users/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:22.126Z",
      "updated_at": "2018-09-21T05:30:22.125Z",
      "uid": "usr-4l0p",
      "name": "BoB",
      "surname": "Troll",
      "email": "user_9@maestrano.com",
      "company": "MySuperCompany",
      "registration_address": null,
      "demo_account": null,
      "website": null,
      "sso_session": null,
      "account_frozen": false,
      "metadata": {},
      "settings": {},
      "admin_role": null,
      "title": null,
      "geo_country_code": null,
      "geo_state_code": null,
      "geo_city": null,
      "geo_currency": null,
      "geo_tz": null,
      "phone": null,
      "phone_country_code": null,
      "authenticatable_salt": "$2a$04$u6RjerMORmedelbBYyiMge",
      "reset_password_token": null,
      "reset_password_sent_at": null,
      "remember_created_at": null,
      "sign_in_count": 0,
      "current_sign_in_at": null,
      "last_sign_in_at": null,
      "last_active_at": null,
      "current_sign_in_ip": null,
      "last_sign_in_ip": null,
      "confirmation_token": null,
      "confirmed_at": null,
      "confirmation_sent_at": null,
      "unconfirmed_email": null,
      "failed_attempts": 0,
      "unlock_token": null,
      "locked_at": null,
      "password_changed_at": null,
      "api_key": null,
      "api_secret": null,
      "kpi_enabled": false,
      "external_id": null,
      "encrypted_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJ1c2VyX2lkIjo0MiwiZXhwIjoxNTM3NTk0MjIyfQ.wrOYdqBhUMe7adAS7chx6UFRKqEu0ExSlClmp9ihLqXTh84xV1m3Q2vtqgtEUYlZP6EdS6XktQoNtoxnqLSwCw",
      "sub_tenant_id": null,
      "client_ids": []
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/tenant",
          "related": "/api/mnoe/v2/users/42/tenant"
        }
      },
      "sub_tenant": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/sub_tenant",
          "related": "/api/mnoe/v2/users/42/sub_tenant"
        }
      },
      "organizations": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/organizations",
          "related": "/api/mnoe/v2/users/42/organizations"
        }
      },
      "orga_relations": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/orga_relations",
          "related": "/api/mnoe/v2/users/42/orga_relations"
        }
      },
      "teams": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/teams",
          "related": "/api/mnoe/v2/users/42/teams"
        }
      },
      "alerts": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/alerts",
          "related": "/api/mnoe/v2/users/42/alerts"
        }
      },
      "identities": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/identities",
          "related": "/api/mnoe/v2/users/42/identities"
        }
      },
      "deletion_requests": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/deletion_requests",
          "related": "/api/mnoe/v2/users/42/deletion_requests"
        }
      },
      "dashboards": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/dashboards",
          "related": "/api/mnoe/v2/users/42/dashboards"
        }
      },
      "license_assignments": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/license_assignments",
          "related": "/api/mnoe/v2/users/42/license_assignments"
        }
      },
      "user_access_requests": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/user_access_requests",
          "related": "/api/mnoe/v2/users/42/user_access_requests"
        }
      },
      "requested_user_accesses": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/requested_user_accesses",
          "related": "/api/mnoe/v2/users/42/requested_user_accesses"
        }
      },
      "clients": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/clients",
          "related": "/api/mnoe/v2/users/42/clients"
        }
      }
    }
  }
}

Get User
GET/users/{id}

Get a single user.

URI Parameters
HideShow
id
integer (required) Example: 42

The user ID


PATCH https://api-hub.maestrano.com/api/mnoe/v2/users/42
Requestsexample 1
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "type": "users",
    "id": 9,
    "attributes": {
      "name": "New Name"
    }
  }
}
Responses201
Body
{
  "data": {
    "id": "42",
    "type": "users",
    "links": {
      "self": "/api/mnoe/v2/users/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:22.126Z",
      "updated_at": "2018-09-21T05:30:22.125Z",
      "uid": "usr-4l0p",
      "name": "BoB",
      "surname": "Troll",
      "email": "user_9@maestrano.com",
      "company": "MySuperCompany",
      "registration_address": null,
      "demo_account": null,
      "website": null,
      "sso_session": null,
      "account_frozen": false,
      "metadata": {},
      "settings": {},
      "admin_role": null,
      "title": null,
      "geo_country_code": null,
      "geo_state_code": null,
      "geo_city": null,
      "geo_currency": null,
      "geo_tz": null,
      "phone": null,
      "phone_country_code": null,
      "authenticatable_salt": "$2a$04$u6RjerMORmedelbBYyiMge",
      "reset_password_token": null,
      "reset_password_sent_at": null,
      "remember_created_at": null,
      "sign_in_count": 0,
      "current_sign_in_at": null,
      "last_sign_in_at": null,
      "last_active_at": null,
      "current_sign_in_ip": null,
      "last_sign_in_ip": null,
      "confirmation_token": null,
      "confirmed_at": null,
      "confirmation_sent_at": null,
      "unconfirmed_email": null,
      "failed_attempts": 0,
      "unlock_token": null,
      "locked_at": null,
      "password_changed_at": null,
      "api_key": null,
      "api_secret": null,
      "kpi_enabled": false,
      "external_id": null,
      "encrypted_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJ1c2VyX2lkIjo0MiwiZXhwIjoxNTM3NTk0MjIyfQ.wrOYdqBhUMe7adAS7chx6UFRKqEu0ExSlClmp9ihLqXTh84xV1m3Q2vtqgtEUYlZP6EdS6XktQoNtoxnqLSwCw",
      "sub_tenant_id": null,
      "client_ids": []
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/tenant",
          "related": "/api/mnoe/v2/users/42/tenant"
        }
      },
      "sub_tenant": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/sub_tenant",
          "related": "/api/mnoe/v2/users/42/sub_tenant"
        }
      },
      "organizations": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/organizations",
          "related": "/api/mnoe/v2/users/42/organizations"
        }
      },
      "orga_relations": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/orga_relations",
          "related": "/api/mnoe/v2/users/42/orga_relations"
        }
      },
      "teams": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/teams",
          "related": "/api/mnoe/v2/users/42/teams"
        }
      },
      "alerts": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/alerts",
          "related": "/api/mnoe/v2/users/42/alerts"
        }
      },
      "identities": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/identities",
          "related": "/api/mnoe/v2/users/42/identities"
        }
      },
      "deletion_requests": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/deletion_requests",
          "related": "/api/mnoe/v2/users/42/deletion_requests"
        }
      },
      "dashboards": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/dashboards",
          "related": "/api/mnoe/v2/users/42/dashboards"
        }
      },
      "license_assignments": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/license_assignments",
          "related": "/api/mnoe/v2/users/42/license_assignments"
        }
      },
      "user_access_requests": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/user_access_requests",
          "related": "/api/mnoe/v2/users/42/user_access_requests"
        }
      },
      "requested_user_accesses": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/requested_user_accesses",
          "related": "/api/mnoe/v2/users/42/requested_user_accesses"
        }
      },
      "clients": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/clients",
          "related": "/api/mnoe/v2/users/42/clients"
        }
      }
    }
  }
}

Update an User
PATCH/users/{id}

Update a single user.

URI Parameters
HideShow
id
integer (required) Example: 42

The user ID


PATCH https://api-hub.maestrano.com/api/mnoe/v2/users/42/update_password
Requestsexample 1
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": 42,
    "type": "users",
    "attributes": {
      "current_password": "PreviousPassword",
      "password": "NewPassword"
    }
  }
}
Responses201422
Body
{
  "data": {
    "id": "42",
    "type": "users",
    "links": {
      "self": "/api/mnoe/v2/users/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:22.126Z",
      "updated_at": "2018-09-21T05:30:22.125Z",
      "uid": "usr-4l0p",
      "name": "BoB",
      "surname": "Troll",
      "email": "user_9@maestrano.com",
      "company": "MySuperCompany",
      "registration_address": null,
      "demo_account": null,
      "website": null,
      "sso_session": null,
      "account_frozen": false,
      "metadata": {},
      "settings": {},
      "admin_role": null,
      "title": null,
      "geo_country_code": null,
      "geo_state_code": null,
      "geo_city": null,
      "geo_currency": null,
      "geo_tz": null,
      "phone": null,
      "phone_country_code": null,
      "authenticatable_salt": "$2a$04$u6RjerMORmedelbBYyiMge",
      "reset_password_token": null,
      "reset_password_sent_at": null,
      "remember_created_at": null,
      "sign_in_count": 0,
      "current_sign_in_at": null,
      "last_sign_in_at": null,
      "last_active_at": null,
      "current_sign_in_ip": null,
      "last_sign_in_ip": null,
      "confirmation_token": null,
      "confirmed_at": null,
      "confirmation_sent_at": null,
      "unconfirmed_email": null,
      "failed_attempts": 0,
      "unlock_token": null,
      "locked_at": null,
      "password_changed_at": null,
      "api_key": null,
      "api_secret": null,
      "kpi_enabled": false,
      "external_id": null,
      "encrypted_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJ1c2VyX2lkIjo0MiwiZXhwIjoxNTM3NTk0MjIyfQ.wrOYdqBhUMe7adAS7chx6UFRKqEu0ExSlClmp9ihLqXTh84xV1m3Q2vtqgtEUYlZP6EdS6XktQoNtoxnqLSwCw",
      "sub_tenant_id": null,
      "client_ids": []
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/tenant",
          "related": "/api/mnoe/v2/users/42/tenant"
        }
      },
      "sub_tenant": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/sub_tenant",
          "related": "/api/mnoe/v2/users/42/sub_tenant"
        }
      },
      "organizations": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/organizations",
          "related": "/api/mnoe/v2/users/42/organizations"
        }
      },
      "orga_relations": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/orga_relations",
          "related": "/api/mnoe/v2/users/42/orga_relations"
        }
      },
      "teams": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/teams",
          "related": "/api/mnoe/v2/users/42/teams"
        }
      },
      "alerts": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/alerts",
          "related": "/api/mnoe/v2/users/42/alerts"
        }
      },
      "identities": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/identities",
          "related": "/api/mnoe/v2/users/42/identities"
        }
      },
      "deletion_requests": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/deletion_requests",
          "related": "/api/mnoe/v2/users/42/deletion_requests"
        }
      },
      "dashboards": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/dashboards",
          "related": "/api/mnoe/v2/users/42/dashboards"
        }
      },
      "license_assignments": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/license_assignments",
          "related": "/api/mnoe/v2/users/42/license_assignments"
        }
      },
      "user_access_requests": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/user_access_requests",
          "related": "/api/mnoe/v2/users/42/user_access_requests"
        }
      },
      "requested_user_accesses": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/requested_user_accesses",
          "related": "/api/mnoe/v2/users/42/requested_user_accesses"
        }
      },
      "clients": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/clients",
          "related": "/api/mnoe/v2/users/42/clients"
        }
      }
    }
  }
}
Body
{
  "errors": [
    {
      "title": "is invalid",
      "detail": "current_password - is invalid",
      "code": "100",
      "source": {
        "pointer": "/data/attributes/current_password"
      },
      "status": "422"
    }
  ]
}

Update Password
PATCH/users/{id}/update_password

Update a user password, it will returns an error if current_password is not equal to the user current_password. If you need to update a user password without checking the current_password, use PATCH /users/:id.

URI Parameters
HideShow
id
integer (required) Example: 42

The user ID


PATCH https://api-hub.maestrano.com/api/mnoe/v2/users/42/create_api_credentials
Requestsexample 1
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Responses201
Body
{
  "data": {
    "id": "42",
    "type": "users",
    "links": {
      "self": "/api/mnoe/v2/users/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:22.126Z",
      "updated_at": "2018-09-21T05:30:22.125Z",
      "uid": "usr-4l0p",
      "name": "BoB",
      "surname": "Troll",
      "email": "user_9@maestrano.com",
      "company": "MySuperCompany",
      "registration_address": null,
      "demo_account": null,
      "website": null,
      "sso_session": null,
      "account_frozen": false,
      "metadata": {},
      "settings": {},
      "admin_role": null,
      "title": null,
      "geo_country_code": null,
      "geo_state_code": null,
      "geo_city": null,
      "geo_currency": null,
      "geo_tz": null,
      "phone": null,
      "phone_country_code": null,
      "authenticatable_salt": "$2a$04$u6RjerMORmedelbBYyiMge",
      "reset_password_token": null,
      "reset_password_sent_at": null,
      "remember_created_at": null,
      "sign_in_count": 0,
      "current_sign_in_at": null,
      "last_sign_in_at": null,
      "last_active_at": null,
      "current_sign_in_ip": null,
      "last_sign_in_ip": null,
      "confirmation_token": null,
      "confirmed_at": null,
      "confirmation_sent_at": null,
      "unconfirmed_email": null,
      "failed_attempts": 0,
      "unlock_token": null,
      "locked_at": null,
      "password_changed_at": null,
      "api_key": null,
      "api_secret": null,
      "kpi_enabled": false,
      "external_id": null,
      "encrypted_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJ1c2VyX2lkIjo0MiwiZXhwIjoxNTM3NTk0MjIyfQ.wrOYdqBhUMe7adAS7chx6UFRKqEu0ExSlClmp9ihLqXTh84xV1m3Q2vtqgtEUYlZP6EdS6XktQoNtoxnqLSwCw",
      "sub_tenant_id": null,
      "client_ids": []
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/tenant",
          "related": "/api/mnoe/v2/users/42/tenant"
        }
      },
      "sub_tenant": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/sub_tenant",
          "related": "/api/mnoe/v2/users/42/sub_tenant"
        }
      },
      "organizations": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/organizations",
          "related": "/api/mnoe/v2/users/42/organizations"
        }
      },
      "orga_relations": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/orga_relations",
          "related": "/api/mnoe/v2/users/42/orga_relations"
        }
      },
      "teams": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/teams",
          "related": "/api/mnoe/v2/users/42/teams"
        }
      },
      "alerts": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/alerts",
          "related": "/api/mnoe/v2/users/42/alerts"
        }
      },
      "identities": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/identities",
          "related": "/api/mnoe/v2/users/42/identities"
        }
      },
      "deletion_requests": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/deletion_requests",
          "related": "/api/mnoe/v2/users/42/deletion_requests"
        }
      },
      "dashboards": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/dashboards",
          "related": "/api/mnoe/v2/users/42/dashboards"
        }
      },
      "license_assignments": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/license_assignments",
          "related": "/api/mnoe/v2/users/42/license_assignments"
        }
      },
      "user_access_requests": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/user_access_requests",
          "related": "/api/mnoe/v2/users/42/user_access_requests"
        }
      },
      "requested_user_accesses": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/requested_user_accesses",
          "related": "/api/mnoe/v2/users/42/requested_user_accesses"
        }
      },
      "clients": {
        "links": {
          "self": "/api/mnoe/v2/users/42/relationships/clients",
          "related": "/api/mnoe/v2/users/42/clients"
        }
      }
    }
  }
}

Create Api Credentials
PATCH/users/{id}/create_api_credentials

Create API Credentials for User, it will generate API KEY and API SECRET, that may be used to retrieve data directly from Connec!.

URI Parameters
HideShow
id
integer (required) Example: 42

The user ID


DELETE https://api-hub.maestrano.com/api/mnoe/v2/users/42
Requestsexample 1
Headers
Content-Type: application/json; charset=utf-8
Responses

Delete a User
DELETE/users/{id}

Delete a single user.

URI Parameters
HideShow
id
integer (required) Example: 42

The user ID


User Invites

The invitation to a user to join the platform

Attributes

Field Type Description Example
id Filterable Unique Read only integer ID 42
created_at Filterable Read only datetime Date of creation 2018-09-21T05:30:22Z
updated_at Filterable Read only datetime Date of last update 2018-09-21T05:30:22Z
invitee_email Filterable Mandatory string User email bla_1@gmail.com
token Filterable string Secret token
status Filterable string status of the invite. One of: accepted | pending | declined

Additional Filters

Filter Description
tenant.id Tenant relation
referrer.id Referrer relation

Relationships

Name Type To
tenant One to One Tenant
referrer One to One User

User Invites

GET https://api-hub.maestrano.com/api/mnoe/v2/user_invites
Responses200
Body
{
  "data": [
    {
      "id": "42",
      "type": "user_invites",
      "links": {
        "self": "/api/mnoe/v2/user_invites/42"
      },
      "attributes": {
        "created_at": "2018-09-21T05:30:22.151Z",
        "updated_at": "2018-09-21T05:30:22.150Z",
        "invitee_email": "bla_1@gmail.com",
        "referrer_id": 1105,
        "token": null,
        "status": null
      },
      "relationships": {
        "tenant": {
          "links": {
            "self": "/api/mnoe/v2/user_invites/42/relationships/tenant",
            "related": "/api/mnoe/v2/user_invites/42/tenant"
          }
        },
        "referrer": {
          "links": {
            "self": "/api/mnoe/v2/user_invites/42/relationships/referrer",
            "related": "/api/mnoe/v2/user_invites/42/referrer"
          }
        }
      }
    }
  ]
}

Get User Invites
GET/user_invites

Get the list of user invites.


POST https://api-hub.maestrano.com/api/mnoe/v2/user_invites
Requestsexample 1
Body
{
  "data": {
    "type": "user_invites",
    "attributes": {
      "invitee_email": "john@me.com",
      "referrer_id": 42,
      "token": "SECRET-TOKEN",
      "status": "pending"
    }
  }
}
Responses201
Body
{
  "data": [
    {
      "id": "42",
      "type": "user_invites",
      "links": {
        "self": "/api/mnoe/v2/user_invites/42"
      },
      "attributes": {
        "created_at": "2018-09-21T05:30:22.151Z",
        "updated_at": "2018-09-21T05:30:22.150Z",
        "invitee_email": "bla_1@gmail.com",
        "referrer_id": 1105,
        "token": null,
        "status": null
      },
      "relationships": {
        "tenant": {
          "links": {
            "self": "/api/mnoe/v2/user_invites/42/relationships/tenant",
            "related": "/api/mnoe/v2/user_invites/42/tenant"
          }
        },
        "referrer": {
          "links": {
            "self": "/api/mnoe/v2/user_invites/42/relationships/referrer",
            "related": "/api/mnoe/v2/user_invites/42/referrer"
          }
        }
      }
    }
  ]
}

Create a new User Invite
POST/user_invites


User Invite

GET https://api-hub.maestrano.com/api/mnoe/v2/user_invites/42
Responses200
Body
{
  "data": {
    "id": "42",
    "type": "user_invites",
    "links": {
      "self": "/api/mnoe/v2/user_invites/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:22.151Z",
      "updated_at": "2018-09-21T05:30:22.150Z",
      "invitee_email": "bla_1@gmail.com",
      "referrer_id": 1105,
      "token": null,
      "status": null
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/user_invites/42/relationships/tenant",
          "related": "/api/mnoe/v2/user_invites/42/tenant"
        }
      },
      "referrer": {
        "links": {
          "self": "/api/mnoe/v2/user_invites/42/relationships/referrer",
          "related": "/api/mnoe/v2/user_invites/42/referrer"
        }
      }
    }
  }
}

Get an User Invite
GET/user_invites/{id}

Get a single user invite.

URI Parameters
HideShow
id
integer (required) Example: 42

The user invite ID


PATCH https://api-hub.maestrano.com/api/mnoe/v2/user_invites/42
Requestsexample 1
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "type": "user_invites",
    "id": 2,
    "attributes": {
      "status": "approved"
    }
  }
}
Responses201
Body
{
  "data": {
    "id": "42",
    "type": "user_invites",
    "links": {
      "self": "/api/mnoe/v2/user_invites/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:22.151Z",
      "updated_at": "2018-09-21T05:30:22.150Z",
      "invitee_email": "bla_1@gmail.com",
      "referrer_id": 1105,
      "token": null,
      "status": null
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/user_invites/42/relationships/tenant",
          "related": "/api/mnoe/v2/user_invites/42/tenant"
        }
      },
      "referrer": {
        "links": {
          "self": "/api/mnoe/v2/user_invites/42/relationships/referrer",
          "related": "/api/mnoe/v2/user_invites/42/referrer"
        }
      }
    }
  }
}

Update an User Invite
PATCH/user_invites/{id}

URI Parameters
HideShow
id
integer (required) Example: 42

The user invite ID


DELETE https://api-hub.maestrano.com/api/mnoe/v2/user_invites/42
Requestsexample 1
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Responses

Delete an User Invite
DELETE/user_invites/{id}

URI Parameters
HideShow
id
integer (required) Example: 42

The user invite ID


Webstores

A webstore represents an eCommerce portal provisioned for a specific tenant. Each tenant may have up to one webstore for now. Webstores are optional - some tenants may not have a webstore.

Attributes

Field Type Description Example
id Filterable Unique Read only integer ID 42
created_at Filterable Read only datetime Date of creation 2018-09-21T05:30:22Z
updated_at Filterable Read only datetime Date of last update 2018-09-21T05:30:22Z
addons Filterable Create only array Array of addons required by the webstore. One of: redis | mysql | minio [“redis”]
default_url Filterable Unique Read only string System-generated URL for the webstore. holistic-rabbit-1.some.domain
image Filterable Create only string Name of docker image to use for the webstore someimage
name Filterable Unique Create only string Name of the webstore. Will be parameterized to be url compliant. Auto-generated if left blank. holistic-rabbit-1
nex_app_id Filterable Read only string External reference to the Nex! docker app baa90f4a-e01c-4c9d-b1f9-3b151cdb70be
started_at Filterable Read only datetime When the webstore was last started 2018-09-21T05:30:22Z
status Filterable Read only string Availability status. One of: staged | provisioning | running | stopping | stopped | starting | terminating | terminated running
stopped_at Filterable Read only datetime When the webstore was last stopped
terminated_at Filterable Read only datetime When the webstore was terminated
url Filterable Read only string Webstore URL. This URL may have been customised by the tenant. Return the default_url otherwise. holistic-rabbit-1.some.domain

Additional Filters

Filter Description
tenant.id Tenant relation

Relationships

Name Type To
tenant One to One Tenant

Webstores

GET https://api-hub.maestrano.com/api/mnoe/v2/webstores
Responses200
Body
{
  "data": [
    {
      "id": "42",
      "type": "webstores",
      "links": {
        "self": "/api/mnoe/v2/webstores/42"
      },
      "attributes": {
        "created_at": "2018-09-21T05:30:22.166Z",
        "updated_at": "2018-09-21T05:30:22.165Z",
        "addons": [
          "redis"
        ],
        "default_url": "holistic-rabbit-1.some.domain",
        "image": "someimage",
        "name": "holistic-rabbit-1",
        "nex_app_id": "baa90f4a-e01c-4c9d-b1f9-3b151cdb70be",
        "started_at": "2018-09-21T05:30:22.165Z",
        "status": "running",
        "stopped_at": null,
        "terminated_at": null,
        "url": "holistic-rabbit-1.some.domain"
      },
      "relationships": {
        "tenant": {
          "links": {
            "self": "/api/mnoe/v2/webstores/42/relationships/tenant",
            "related": "/api/mnoe/v2/webstores/42/tenant"
          }
        }
      }
    }
  ]
}

Get Webstores
GET/webstores

Get the list of webstores.


POST https://api-hub.maestrano.com/api/mnoe/v2/webstores
Requestsexample 1
Body
{
  "data": {
    "type": "webstores",
    "attributes": {
      "name": "some-webstore-name"
    }
  }
}
Responses201
Body
{
  "data": {
    "id": "42",
    "type": "webstores",
    "links": {
      "self": "/api/mnoe/v2/webstores/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:22.166Z",
      "updated_at": "2018-09-21T05:30:22.165Z",
      "addons": [
        "redis"
      ],
      "default_url": "holistic-rabbit-1.some.domain",
      "image": "someimage",
      "name": "holistic-rabbit-1",
      "nex_app_id": "baa90f4a-e01c-4c9d-b1f9-3b151cdb70be",
      "started_at": "2018-09-21T05:30:22.165Z",
      "status": "running",
      "stopped_at": null,
      "terminated_at": null,
      "url": "holistic-rabbit-1.some.domain"
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/webstores/42/relationships/tenant",
          "related": "/api/mnoe/v2/webstores/42/tenant"
        }
      }
    }
  }
}

Create New webstores
POST/webstores

Create a new webstore.


Webstore

GET https://api-hub.maestrano.com/api/mnoe/v2/webstores/42
Responses200
Body
{
  "data": {
    "id": "42",
    "type": "webstores",
    "links": {
      "self": "/api/mnoe/v2/webstores/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:22.166Z",
      "updated_at": "2018-09-21T05:30:22.165Z",
      "addons": [
        "redis"
      ],
      "default_url": "holistic-rabbit-1.some.domain",
      "image": "someimage",
      "name": "holistic-rabbit-1",
      "nex_app_id": "baa90f4a-e01c-4c9d-b1f9-3b151cdb70be",
      "started_at": "2018-09-21T05:30:22.165Z",
      "status": "running",
      "stopped_at": null,
      "terminated_at": null,
      "url": "holistic-rabbit-1.some.domain"
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/webstores/42/relationships/tenant",
          "related": "/api/mnoe/v2/webstores/42/tenant"
        }
      }
    }
  }
}

Get a Webstore
GET/webstores/{id}

Get a single webstore.

URI Parameters
HideShow
id
integer (required) Example: 42

The webstore ID


DELETE https://api-hub.maestrano.com/api/mnoe/v2/webstores/42
Requestsexample 1
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Responses

Delete a Webstore
DELETE/webstores/{id}

URI Parameters
HideShow
id
integer (required) Example: 42

The webstore ID


Widgets

A widget is a small component that provides calculations formatted for data visualisation on accounting values, reports, statistics

Attributes

Field Type Description Example
id Filterable Unique Read only integer ID 42
created_at Filterable Read only datetime Date of creation 2018-09-21T05:30:22Z
updated_at Filterable Read only datetime Date of last update 2018-09-21T05:30:22Z
name Filterable string Widget name widget example
width Filterable integer Widget width
widget_category Filterable Mandatory string Widget Category accounts/balance
settings Filterable string Widget metadata hash for storing settings {}
endpoint Filterable string Endpoint accounts/balance
metadata hash Widget Metadata {}
layouts array Widget Layouts []

Additional Filters

Filter Description
tenant.id Tenant relation
organization.id Filter the widgets belonging to the organization or the organization’s users AND that use the organization as a data source
kpis.id Kpis relation
dashboard.id Dashboard relation

Relationships

Name Type To
tenant One to One Tenant
kpis One to Many Kpi
dashboard One to One Dashboard

Widgets

GET https://api-hub.maestrano.com/api/mnoe/v2/widgets
Responses200
Body
{
  "data": [
    {
      "id": "42",
      "type": "widgets",
      "links": {
        "self": "/api/mnoe/v2/widgets/42"
      },
      "attributes": {
        "created_at": "2018-09-21T05:30:22.182Z",
        "updated_at": "2018-09-21T05:30:22.182Z",
        "name": "widget example",
        "width": null,
        "widget_category": "accounts/balance",
        "settings": {},
        "endpoint": "accounts/balance",
        "dashboard_id": 1111,
        "metadata": {},
        "layouts": []
      },
      "relationships": {
        "tenant": {
          "links": {
            "self": "/api/mnoe/v2/widgets/42/relationships/tenant",
            "related": "/api/mnoe/v2/widgets/42/tenant"
          }
        },
        "kpis": {
          "links": {
            "self": "/api/mnoe/v2/widgets/42/relationships/kpis",
            "related": "/api/mnoe/v2/widgets/42/kpis"
          }
        },
        "dashboard": {
          "links": {
            "self": "/api/mnoe/v2/widgets/42/relationships/dashboard",
            "related": "/api/mnoe/v2/widgets/42/dashboard"
          }
        }
      }
    }
  ]
}

Get Widgets
GET/widgets

Get the list of widgets.


POST https://api-hub.maestrano.com/api/mnoe/v2/widgets
Requestsexample 1
Body
{
"data":{
  "type":"widgets",
  "attributes":{
    "name": "analytics widget example"
  }
}
}
[Widget][]
Responses

Create new Widget
POST/widgets

Create a new widget.


Widget

GET https://api-hub.maestrano.com/api/mnoe/v2/widgets/42
Responses200
Body
{
  "data": {
    "id": "42",
    "type": "widgets",
    "links": {
      "self": "/api/mnoe/v2/widgets/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:22.182Z",
      "updated_at": "2018-09-21T05:30:22.182Z",
      "name": "widget example",
      "width": null,
      "widget_category": "accounts/balance",
      "settings": {},
      "endpoint": "accounts/balance",
      "dashboard_id": 1111,
      "metadata": {},
      "layouts": []
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/widgets/42/relationships/tenant",
          "related": "/api/mnoe/v2/widgets/42/tenant"
        }
      },
      "kpis": {
        "links": {
          "self": "/api/mnoe/v2/widgets/42/relationships/kpis",
          "related": "/api/mnoe/v2/widgets/42/kpis"
        }
      },
      "dashboard": {
        "links": {
          "self": "/api/mnoe/v2/widgets/42/relationships/dashboard",
          "related": "/api/mnoe/v2/widgets/42/dashboard"
        }
      }
    }
  }
}

Get Widget
GET/widgets/{id}

Get a single widget.

URI Parameters
HideShow
id
integer (required) Example: 42

The widget ID


PATCH https://api-hub.maestrano.com/api/mnoe/v2/widgets/42
Requestsexample 1
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "type": "widgets",
    "attributes": {
      "name": "New name"
    }
  }
}
Responses201
Body
{
  "data": {
    "id": "42",
    "type": "widgets",
    "links": {
      "self": "/api/mnoe/v2/widgets/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:22.182Z",
      "updated_at": "2018-09-21T05:30:22.182Z",
      "name": "widget example",
      "width": null,
      "widget_category": "accounts/balance",
      "settings": {},
      "endpoint": "accounts/balance",
      "dashboard_id": 1111,
      "metadata": {},
      "layouts": []
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/widgets/42/relationships/tenant",
          "related": "/api/mnoe/v2/widgets/42/tenant"
        }
      },
      "kpis": {
        "links": {
          "self": "/api/mnoe/v2/widgets/42/relationships/kpis",
          "related": "/api/mnoe/v2/widgets/42/kpis"
        }
      },
      "dashboard": {
        "links": {
          "self": "/api/mnoe/v2/widgets/42/relationships/dashboard",
          "related": "/api/mnoe/v2/widgets/42/dashboard"
        }
      }
    }
  }
}

Update an Widget
PATCH/widgets/{id}

Update a single widget.

URI Parameters
HideShow
id
integer (required) Example: 42

The widget ID


DELETE https://api-hub.maestrano.com/api/mnoe/v2/widgets/42
Requestsexample 1
Headers
Content-Type: application/json; charset=utf-8
Responses

Delete a Widget
DELETE/widgets/{id}

Delete a single widget.

URI Parameters
HideShow
id
integer (required) Example: 42

The widget ID


Provisioning API

This API section is to be used by Products Providers to list their Products on a Maestrano powered marketplace.

Provisioning | ProductProviders

API endpoint /product_providers is only available to Maestrano administrators
Other endpoints can be accessed using your Maestrano Partner credentials

A ProductProvider proposes Products on a Maestrano’s powered marketplace and provision them on customer’s request.

SubscriptionEvent notifications are sent to the url defined with the configured security applied (see section SubscriptionEvent for more information).

  • authentication_type = none: Use only for testing, no authentication is applied

  • authentication_type = basic_auth: the api_key and api_secret are passed as Basic Authetication HTTP headers (username and password)

Attributes

Field Type Description Example
id Filterable Unique Read only integer ID 42
created_at Filterable Read only datetime Date of creation 2018-09-21T05:30:22Z
updated_at Filterable Read only datetime Date of last update 2018-09-21T05:30:22Z
uid Filterable Unique string public facing ID used by apps
name Filterable string Name of the ProductProvider My Platform
provisioning_url Filterable string Provisioning Webhook URL used to notify of Subscription events. Default to Product Provider configuration if not set. https://my.platform.com/provisioning
authentication_type Filterable string Authentication type supported by the endpoint: basic_auth, none basic_auth
api_key Filterable string API username (basic auth) username
api_secret Filterable string API password (basic auth) password
active Filterable boolean ProductProvider active (true/false) true

Additional Filters

Filter Description
tenant.id Tenant relation
products.id Products relation

Relationships

Name Type To
tenant One to One Tenant
products One to Many Product

ProductProviders

GET https://api-hub.maestrano.com/api/mnoe/v2/product_providers
Responses200
Body
{
  "data": [
    {
      "id": "42",
      "type": "product_providers",
      "links": {
        "self": "/api/mnoe/v2/product_providers/42"
      },
      "attributes": {
        "created_at": "2018-09-21T05:30:22.188Z",
        "updated_at": "2018-09-21T05:30:22.187Z",
        "uid": null,
        "name": "My Platform",
        "provisioning_url": "https://my.platform.com/provisioning",
        "authentication_type": "basic_auth",
        "api_key": "username",
        "api_secret": "password",
        "active": true
      },
      "relationships": {
        "tenant": {
          "links": {
            "self": "/api/mnoe/v2/product_providers/42/relationships/tenant",
            "related": "/api/mnoe/v2/product_providers/42/tenant"
          }
        },
        "products": {
          "links": {
            "self": "/api/mnoe/v2/product_providers/42/relationships/products",
            "related": "/api/mnoe/v2/product_providers/42/products"
          }
        }
      }
    }
  ]
}

Get ProductProviders
GET/product_providers

Get the list of product_providers.


POST https://api-hub.maestrano.com/api/mnoe/v2/product_providers
RequestsCreate a ProductProvider
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "data": {
    "attributes": {
      "name": "My Platform",
      "url": "https://my.platform.com/provisioning",
      "authentication_type": "basic_auth"
    }
  }
}
Responses201
Body
{
  "data": {
    "id": "42",
    "type": "product_providers",
    "links": {
      "self": "/api/mnoe/v2/product_providers/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:22.188Z",
      "updated_at": "2018-09-21T05:30:22.187Z",
      "uid": null,
      "name": "My Platform",
      "provisioning_url": "https://my.platform.com/provisioning",
      "authentication_type": "basic_auth",
      "api_key": "username",
      "api_secret": "password",
      "active": true
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/product_providers/42/relationships/tenant",
          "related": "/api/mnoe/v2/product_providers/42/tenant"
        }
      },
      "products": {
        "links": {
          "self": "/api/mnoe/v2/product_providers/42/relationships/products",
          "related": "/api/mnoe/v2/product_providers/42/products"
        }
      }
    }
  }
}

Create a ProductProvider
POST/product_providers

Create a new ProductProvider.


ProductProvider

GET https://api-hub.maestrano.com/api/mnoe/v2/product_providers/42
Responses200
Body
{
  "data": {
    "id": "42",
    "type": "product_providers",
    "links": {
      "self": "/api/mnoe/v2/product_providers/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:22.188Z",
      "updated_at": "2018-09-21T05:30:22.187Z",
      "uid": null,
      "name": "My Platform",
      "provisioning_url": "https://my.platform.com/provisioning",
      "authentication_type": "basic_auth",
      "api_key": "username",
      "api_secret": "password",
      "active": true
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/product_providers/42/relationships/tenant",
          "related": "/api/mnoe/v2/product_providers/42/tenant"
        }
      },
      "products": {
        "links": {
          "self": "/api/mnoe/v2/product_providers/42/relationships/products",
          "related": "/api/mnoe/v2/product_providers/42/products"
        }
      }
    }
  }
}

Get ProductProvider
GET/product_providers/{id}

Get a single ProductProvider.

URI Parameters
HideShow
id
integer (required) Example: 42

The ProductProvider ID


PATCH https://api-hub.maestrano.com/api/mnoe/v2/product_providers/42
Requestsexample 1
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "data": {
    "type": "product_providers",
    "id": 1,
    "attributes": {
      "name": "New Name"
    }
  }
}
Responses200
Body
{
  "data": {
    "id": "42",
    "type": "product_providers",
    "links": {
      "self": "/api/mnoe/v2/product_providers/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:22.188Z",
      "updated_at": "2018-09-21T05:30:22.187Z",
      "uid": null,
      "name": "My Platform",
      "provisioning_url": "https://my.platform.com/provisioning",
      "authentication_type": "basic_auth",
      "api_key": "username",
      "api_secret": "password",
      "active": true
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/product_providers/42/relationships/tenant",
          "related": "/api/mnoe/v2/product_providers/42/tenant"
        }
      },
      "products": {
        "links": {
          "self": "/api/mnoe/v2/product_providers/42/relationships/products",
          "related": "/api/mnoe/v2/product_providers/42/products"
        }
      }
    }
  }
}

Update a ProductProvider
PATCH/product_providers/{id}

Update a ProductProvider.

URI Parameters
HideShow
id
integer (required) Example: 42

The ProductProvider ID


Provisioning | Categories

Represents a Product Category

Attributes

Field Type Description Example
id Filterable Unique Read only integer ID 42
created_at Filterable Read only datetime Date of creation 2018-09-21T05:30:22Z
updated_at Filterable Read only datetime Date of last update 2018-09-21T05:30:22Z
name Filterable string Category name eCommerce
parent_id Filterable string Parent category reference

Additional Filters

Filter Description
tenant.id Tenant relation

Relationships

Name Type To
tenant One to One Tenant

Categories

GET https://api-hub.maestrano.com/api/mnoe/v2/categories
Responses200
Body
{
  "data": [
    {
      "id": "42",
      "type": "categories",
      "links": {
        "self": "/api/mnoe/v2/categories/42"
      },
      "attributes": {
        "created_at": "2018-09-21T05:30:22.195Z",
        "updated_at": "2018-09-21T05:30:22.195Z",
        "name": "eCommerce",
        "parent_id": null
      },
      "relationships": {
        "tenant": {
          "links": {
            "self": "/api/mnoe/v2/categories/42/relationships/tenant",
            "related": "/api/mnoe/v2/categories/42/tenant"
          }
        }
      }
    }
  ]
}

Get Categories
GET/categories

Get the list of categories.


Provisioning | Products

A Product available on the platform can be listed on a Marketplace for purchase.

Product type can be one of:

  • application: an application provisioned by a third-party system

  • product: a piece of hardware physically delivered to the customer

  • service: a service given to a customer Products can be provided by third-party information system and be listed on Maestrano powered marketplaces.

Product provisioning workflow is defined under the ProductInstance section.

Attributes

Field Type Description Example
id Filterable Unique Read only integer ID 42
created_at Filterable Read only datetime Date of creation 2018-09-21T05:30:22Z
updated_at Filterable Read only datetime Date of last update 2018-09-21T05:30:22Z
uid Filterable Unique string public facing ID used by apps pro-15i6
nid Filterable string nid of the Product
name Filterable Mandatory string Name of the Product My E-commerce Application
active Filterable boolean Product is enabled (true / false) true
product_type Filterable string Product type: application, product, service application
logo Filterable string URL to the logo of the product //hub.dev.maestrano.io/fallback/default_app_logo.jpg
sso_enabled Filterable boolean Is single sign-on enabled
data_sharing_enabled Filterable boolean Is data-sharing enabled
single_billing_enabled Filterable boolean Is single billing enabled true
billed_locally Filterable boolean Is single billing managed by MnoHub
is_connector_framework Filterable boolean Is the integration done with the Maestrano Connector Framework
external_id Filterable string External reference when coming from a ProductProvider PRODUCT-8239401
externally_provisioned Filterable boolean SubscriptionEvent notifications must be sent to the configured ProductProvider true
custom_schema_url Filterable string URL of the JSON Schema used to generate a form to capture customer input before provisioning
custom_schema Filterable Write only string The actual product form schema. Pass the _locale parameter to get the schema in a different language. E.g. locale=es-es
provisioning_url Filterable string Provisioning Webhook URL used to notify of Subscription events. Default to Product Provider configuration if not set. https://my.platform.com/provisioning
pricing_plans Filterable array pricing plans []
multi_instantiable Filterable boolean Can the application be multi instantiated for one owner false
product_provider Filterable string Reference to the ProductProvider owning the Product #<ProductProvider:0x000000000de52cb8>
parent Filterable string Reference to a parent Product. This is applicable to addons.
children Filterable string Reference to children Products, the list of addons of the Product #<Product::ActiveRecord_Associations_CollectionProxy:0x000000000dd51d28>
values_attributes Filterable Write only string Array of attributes to create values
assets_attributes Filterable Write only string Array of attributes to create assets
local Filterable boolean Is it a product managed by the Tenant false

Additional Filters

Filter Description
tenant.id Tenant relation
scope By default, the products may be filtered to the products allocated for the tenant. You may set the filter “scope” to “all” to retrieve all the products.
product_provider.id Product Provider relation
parent.id Parent relation
children.id Children relation
product_pricings.id Product Pricings relation
product_contracts.id Product Contracts relation
values.id Values relation
assets.id Assets relation
categories.id Categories relation

Relationships

Name Type To
tenant One to One Tenant
product_provider One to One Product Provider
parent One to One Product
children One to Many Product
product_pricings One to Many Product Pricing
product_contracts One to Many Product Contract
values One to Many Value
assets One to Many Asset
categories One to Many Category

Products

GET https://api-hub.maestrano.com/api/mnoe/v2/products
Responses200
Body
{
  "data": [
    {
      "id": "42",
      "type": "products",
      "links": {
        "self": "/api/mnoe/v2/products/42"
      },
      "attributes": {
        "created_at": "2018-09-21T05:30:22.201Z",
        "updated_at": "2018-09-21T05:30:22.200Z",
        "uid": "pro-15i6",
        "nid": null,
        "name": "My E-commerce Application",
        "active": true,
        "product_type": "application",
        "logo": "//hub.dev.maestrano.io/fallback/default_app_logo.jpg",
        "sso_enabled": null,
        "data_sharing_enabled": null,
        "single_billing_enabled": true,
        "billed_locally": null,
        "is_connector_framework": null,
        "external_id": "PRODUCT-8239401",
        "externally_provisioned": true,
        "custom_schema_url": null,
        "provisioning_url": "https://my.platform.com/provisioning",
        "pricing_plans": [],
        "multi_instantiable": false,
        "free_trial_enabled": false,
        "free_trial_duration": null,
        "free_trial_unit": null,
        "product_provider": "#<ProductProvider:0x000000000de52cb8>",
        "parent": null,
        "children": "#<Product::ActiveRecord_Associations_CollectionProxy:0x000000000dd51d28>",
        "local": false
      },
      "relationships": {
        "tenant": {
          "links": {
            "self": "/api/mnoe/v2/products/42/relationships/tenant",
            "related": "/api/mnoe/v2/products/42/tenant"
          }
        },
        "product_provider": {
          "links": {
            "self": "/api/mnoe/v2/products/42/relationships/product_provider",
            "related": "/api/mnoe/v2/products/42/product_provider"
          }
        },
        "parent": {
          "links": {
            "self": "/api/mnoe/v2/products/42/relationships/parent",
            "related": "/api/mnoe/v2/products/42/parent"
          }
        },
        "children": {
          "links": {
            "self": "/api/mnoe/v2/products/42/relationships/children",
            "related": "/api/mnoe/v2/products/42/children"
          }
        },
        "product_pricings": {
          "links": {
            "self": "/api/mnoe/v2/products/42/relationships/product_pricings",
            "related": "/api/mnoe/v2/products/42/product_pricings"
          }
        },
        "product_contracts": {
          "links": {
            "self": "/api/mnoe/v2/products/42/relationships/product_contracts",
            "related": "/api/mnoe/v2/products/42/product_contracts"
          }
        },
        "values": {
          "links": {
            "self": "/api/mnoe/v2/products/42/relationships/values",
            "related": "/api/mnoe/v2/products/42/values"
          }
        },
        "assets": {
          "links": {
            "self": "/api/mnoe/v2/products/42/relationships/assets",
            "related": "/api/mnoe/v2/products/42/assets"
          }
        },
        "categories": {
          "links": {
            "self": "/api/mnoe/v2/products/42/relationships/categories",
            "related": "/api/mnoe/v2/products/42/categories"
          }
        }
      }
    }
  ]
}

Get Products
GET/products

Get the list of products.


POST https://api-hub.maestrano.com/api/mnoe/v2/products
RequestsCreate an ApplicationCreate an Application AddonCreate a Product
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "data": {
    "attributes": {
      "name": "My Accounting Application",
      "product_type": "application"
    }
  }
}
Responses201
Body
{
  "data": {
    "id": "42",
    "type": "products",
    "links": {
      "self": "/api/mnoe/v2/products/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:22.201Z",
      "updated_at": "2018-09-21T05:30:22.200Z",
      "uid": "pro-15i6",
      "nid": null,
      "name": "My E-commerce Application",
      "active": true,
      "product_type": "application",
      "logo": "//hub.dev.maestrano.io/fallback/default_app_logo.jpg",
      "sso_enabled": null,
      "data_sharing_enabled": null,
      "single_billing_enabled": true,
      "billed_locally": null,
      "is_connector_framework": null,
      "external_id": "PRODUCT-8239401",
      "externally_provisioned": true,
      "custom_schema_url": null,
      "provisioning_url": "https://my.platform.com/provisioning",
      "pricing_plans": [],
      "multi_instantiable": false,
      "free_trial_enabled": false,
      "free_trial_duration": null,
      "free_trial_unit": null,
      "product_provider": "#<ProductProvider:0x000000000de52cb8>",
      "parent": null,
      "children": "#<Product::ActiveRecord_Associations_CollectionProxy:0x000000000dd51d28>",
      "local": false
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/products/42/relationships/tenant",
          "related": "/api/mnoe/v2/products/42/tenant"
        }
      },
      "product_provider": {
        "links": {
          "self": "/api/mnoe/v2/products/42/relationships/product_provider",
          "related": "/api/mnoe/v2/products/42/product_provider"
        }
      },
      "parent": {
        "links": {
          "self": "/api/mnoe/v2/products/42/relationships/parent",
          "related": "/api/mnoe/v2/products/42/parent"
        }
      },
      "children": {
        "links": {
          "self": "/api/mnoe/v2/products/42/relationships/children",
          "related": "/api/mnoe/v2/products/42/children"
        }
      },
      "product_pricings": {
        "links": {
          "self": "/api/mnoe/v2/products/42/relationships/product_pricings",
          "related": "/api/mnoe/v2/products/42/product_pricings"
        }
      },
      "product_contracts": {
        "links": {
          "self": "/api/mnoe/v2/products/42/relationships/product_contracts",
          "related": "/api/mnoe/v2/products/42/product_contracts"
        }
      },
      "values": {
        "links": {
          "self": "/api/mnoe/v2/products/42/relationships/values",
          "related": "/api/mnoe/v2/products/42/values"
        }
      },
      "assets": {
        "links": {
          "self": "/api/mnoe/v2/products/42/relationships/assets",
          "related": "/api/mnoe/v2/products/42/assets"
        }
      },
      "categories": {
        "links": {
          "self": "/api/mnoe/v2/products/42/relationships/categories",
          "related": "/api/mnoe/v2/products/42/categories"
        }
      }
    }
  }
}
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "data": {
    "attributes": {
      "name": "Payroll Module",
      "product_type": "application"
    },
    "relationships": {
      "parent": {
        "data": {
          "type": "produts",
          "id": 62
        }
      }
    }
  }
}
Responses201
Body
{
  "data": {
    "id": "42",
    "type": "products",
    "links": {
      "self": "/api/mnoe/v2/products/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:22.201Z",
      "updated_at": "2018-09-21T05:30:22.200Z",
      "uid": "pro-15i6",
      "nid": null,
      "name": "My E-commerce Application",
      "active": true,
      "product_type": "application",
      "logo": "//hub.dev.maestrano.io/fallback/default_app_logo.jpg",
      "sso_enabled": null,
      "data_sharing_enabled": null,
      "single_billing_enabled": true,
      "billed_locally": null,
      "is_connector_framework": null,
      "external_id": "PRODUCT-8239401",
      "externally_provisioned": true,
      "custom_schema_url": null,
      "provisioning_url": "https://my.platform.com/provisioning",
      "pricing_plans": [],
      "multi_instantiable": false,
      "free_trial_enabled": false,
      "free_trial_duration": null,
      "free_trial_unit": null,
      "product_provider": "#<ProductProvider:0x000000000de52cb8>",
      "parent": null,
      "children": "#<Product::ActiveRecord_Associations_CollectionProxy:0x000000000dd51d28>",
      "local": false
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/products/42/relationships/tenant",
          "related": "/api/mnoe/v2/products/42/tenant"
        }
      },
      "product_provider": {
        "links": {
          "self": "/api/mnoe/v2/products/42/relationships/product_provider",
          "related": "/api/mnoe/v2/products/42/product_provider"
        }
      },
      "parent": {
        "links": {
          "self": "/api/mnoe/v2/products/42/relationships/parent",
          "related": "/api/mnoe/v2/products/42/parent"
        }
      },
      "children": {
        "links": {
          "self": "/api/mnoe/v2/products/42/relationships/children",
          "related": "/api/mnoe/v2/products/42/children"
        }
      },
      "product_pricings": {
        "links": {
          "self": "/api/mnoe/v2/products/42/relationships/product_pricings",
          "related": "/api/mnoe/v2/products/42/product_pricings"
        }
      },
      "product_contracts": {
        "links": {
          "self": "/api/mnoe/v2/products/42/relationships/product_contracts",
          "related": "/api/mnoe/v2/products/42/product_contracts"
        }
      },
      "values": {
        "links": {
          "self": "/api/mnoe/v2/products/42/relationships/values",
          "related": "/api/mnoe/v2/products/42/values"
        }
      },
      "assets": {
        "links": {
          "self": "/api/mnoe/v2/products/42/relationships/assets",
          "related": "/api/mnoe/v2/products/42/assets"
        }
      },
      "categories": {
        "links": {
          "self": "/api/mnoe/v2/products/42/relationships/categories",
          "related": "/api/mnoe/v2/products/42/categories"
        }
      }
    }
  }
}
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "data": {
    "attributes": {
      "name": "Wireless router WRTX-250",
      "product_type": "product",
      "provider": "Logitech Industries",
      "external_id": "WRTX-250-1"
    }
  }
}
Responses201
Body
{
  "data": {
    "id": "42",
    "type": "products",
    "links": {
      "self": "/api/mnoe/v2/products/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:22.201Z",
      "updated_at": "2018-09-21T05:30:22.200Z",
      "uid": "pro-15i6",
      "nid": null,
      "name": "My E-commerce Application",
      "active": true,
      "product_type": "application",
      "logo": "//hub.dev.maestrano.io/fallback/default_app_logo.jpg",
      "sso_enabled": null,
      "data_sharing_enabled": null,
      "single_billing_enabled": true,
      "billed_locally": null,
      "is_connector_framework": null,
      "external_id": "PRODUCT-8239401",
      "externally_provisioned": true,
      "custom_schema_url": null,
      "provisioning_url": "https://my.platform.com/provisioning",
      "pricing_plans": [],
      "multi_instantiable": false,
      "free_trial_enabled": false,
      "free_trial_duration": null,
      "free_trial_unit": null,
      "product_provider": "#<ProductProvider:0x000000000de52cb8>",
      "parent": null,
      "children": "#<Product::ActiveRecord_Associations_CollectionProxy:0x000000000dd51d28>",
      "local": false
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/products/42/relationships/tenant",
          "related": "/api/mnoe/v2/products/42/tenant"
        }
      },
      "product_provider": {
        "links": {
          "self": "/api/mnoe/v2/products/42/relationships/product_provider",
          "related": "/api/mnoe/v2/products/42/product_provider"
        }
      },
      "parent": {
        "links": {
          "self": "/api/mnoe/v2/products/42/relationships/parent",
          "related": "/api/mnoe/v2/products/42/parent"
        }
      },
      "children": {
        "links": {
          "self": "/api/mnoe/v2/products/42/relationships/children",
          "related": "/api/mnoe/v2/products/42/children"
        }
      },
      "product_pricings": {
        "links": {
          "self": "/api/mnoe/v2/products/42/relationships/product_pricings",
          "related": "/api/mnoe/v2/products/42/product_pricings"
        }
      },
      "product_contracts": {
        "links": {
          "self": "/api/mnoe/v2/products/42/relationships/product_contracts",
          "related": "/api/mnoe/v2/products/42/product_contracts"
        }
      },
      "values": {
        "links": {
          "self": "/api/mnoe/v2/products/42/relationships/values",
          "related": "/api/mnoe/v2/products/42/values"
        }
      },
      "assets": {
        "links": {
          "self": "/api/mnoe/v2/products/42/relationships/assets",
          "related": "/api/mnoe/v2/products/42/assets"
        }
      },
      "categories": {
        "links": {
          "self": "/api/mnoe/v2/products/42/relationships/categories",
          "related": "/api/mnoe/v2/products/42/categories"
        }
      }
    }
  }
}

Create a Product
POST/products

Create a new Product.


Product

GET https://api-hub.maestrano.com/api/mnoe/v2/products/42
Responses200
Body
{
  "data": {
    "id": "42",
    "type": "products",
    "links": {
      "self": "/api/mnoe/v2/products/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:22.201Z",
      "updated_at": "2018-09-21T05:30:22.200Z",
      "uid": "pro-15i6",
      "nid": null,
      "name": "My E-commerce Application",
      "active": true,
      "product_type": "application",
      "logo": "//hub.dev.maestrano.io/fallback/default_app_logo.jpg",
      "sso_enabled": null,
      "data_sharing_enabled": null,
      "single_billing_enabled": true,
      "billed_locally": null,
      "is_connector_framework": null,
      "external_id": "PRODUCT-8239401",
      "externally_provisioned": true,
      "custom_schema_url": null,
      "provisioning_url": "https://my.platform.com/provisioning",
      "pricing_plans": [],
      "multi_instantiable": false,
      "free_trial_enabled": false,
      "free_trial_duration": null,
      "free_trial_unit": null,
      "product_provider": "#<ProductProvider:0x000000000de52cb8>",
      "parent": null,
      "children": "#<Product::ActiveRecord_Associations_CollectionProxy:0x000000000dd51d28>",
      "local": false
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/products/42/relationships/tenant",
          "related": "/api/mnoe/v2/products/42/tenant"
        }
      },
      "product_provider": {
        "links": {
          "self": "/api/mnoe/v2/products/42/relationships/product_provider",
          "related": "/api/mnoe/v2/products/42/product_provider"
        }
      },
      "parent": {
        "links": {
          "self": "/api/mnoe/v2/products/42/relationships/parent",
          "related": "/api/mnoe/v2/products/42/parent"
        }
      },
      "children": {
        "links": {
          "self": "/api/mnoe/v2/products/42/relationships/children",
          "related": "/api/mnoe/v2/products/42/children"
        }
      },
      "product_pricings": {
        "links": {
          "self": "/api/mnoe/v2/products/42/relationships/product_pricings",
          "related": "/api/mnoe/v2/products/42/product_pricings"
        }
      },
      "product_contracts": {
        "links": {
          "self": "/api/mnoe/v2/products/42/relationships/product_contracts",
          "related": "/api/mnoe/v2/products/42/product_contracts"
        }
      },
      "values": {
        "links": {
          "self": "/api/mnoe/v2/products/42/relationships/values",
          "related": "/api/mnoe/v2/products/42/values"
        }
      },
      "assets": {
        "links": {
          "self": "/api/mnoe/v2/products/42/relationships/assets",
          "related": "/api/mnoe/v2/products/42/assets"
        }
      },
      "categories": {
        "links": {
          "self": "/api/mnoe/v2/products/42/relationships/categories",
          "related": "/api/mnoe/v2/products/42/categories"
        }
      }
    }
  }
}

Get Product
GET/products/{id}

Get a single Product.

URI Parameters
HideShow
id
integer (required) Example: 42

The Product ID


PATCH https://api-hub.maestrano.com/api/mnoe/v2/products/42
Requestsexample 1
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "data": {
    "type": "products",
    "id": 1,
    "attributes": {
      "name": "New Name"
    }
  }
}
Responses200
Body
{
  "data": {
    "id": "42",
    "type": "products",
    "links": {
      "self": "/api/mnoe/v2/products/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:22.201Z",
      "updated_at": "2018-09-21T05:30:22.200Z",
      "uid": "pro-15i6",
      "nid": null,
      "name": "My E-commerce Application",
      "active": true,
      "product_type": "application",
      "logo": "//hub.dev.maestrano.io/fallback/default_app_logo.jpg",
      "sso_enabled": null,
      "data_sharing_enabled": null,
      "single_billing_enabled": true,
      "billed_locally": null,
      "is_connector_framework": null,
      "external_id": "PRODUCT-8239401",
      "externally_provisioned": true,
      "custom_schema_url": null,
      "provisioning_url": "https://my.platform.com/provisioning",
      "pricing_plans": [],
      "multi_instantiable": false,
      "free_trial_enabled": false,
      "free_trial_duration": null,
      "free_trial_unit": null,
      "product_provider": "#<ProductProvider:0x000000000de52cb8>",
      "parent": null,
      "children": "#<Product::ActiveRecord_Associations_CollectionProxy:0x000000000dd51d28>",
      "local": false
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/products/42/relationships/tenant",
          "related": "/api/mnoe/v2/products/42/tenant"
        }
      },
      "product_provider": {
        "links": {
          "self": "/api/mnoe/v2/products/42/relationships/product_provider",
          "related": "/api/mnoe/v2/products/42/product_provider"
        }
      },
      "parent": {
        "links": {
          "self": "/api/mnoe/v2/products/42/relationships/parent",
          "related": "/api/mnoe/v2/products/42/parent"
        }
      },
      "children": {
        "links": {
          "self": "/api/mnoe/v2/products/42/relationships/children",
          "related": "/api/mnoe/v2/products/42/children"
        }
      },
      "product_pricings": {
        "links": {
          "self": "/api/mnoe/v2/products/42/relationships/product_pricings",
          "related": "/api/mnoe/v2/products/42/product_pricings"
        }
      },
      "product_contracts": {
        "links": {
          "self": "/api/mnoe/v2/products/42/relationships/product_contracts",
          "related": "/api/mnoe/v2/products/42/product_contracts"
        }
      },
      "values": {
        "links": {
          "self": "/api/mnoe/v2/products/42/relationships/values",
          "related": "/api/mnoe/v2/products/42/values"
        }
      },
      "assets": {
        "links": {
          "self": "/api/mnoe/v2/products/42/relationships/assets",
          "related": "/api/mnoe/v2/products/42/assets"
        }
      },
      "categories": {
        "links": {
          "self": "/api/mnoe/v2/products/42/relationships/categories",
          "related": "/api/mnoe/v2/products/42/categories"
        }
      }
    }
  }
}

Update a Product
PATCH/products/{id}

Update a Product.

URI Parameters
HideShow
id
integer (required) Example: 42

The Product ID


Pricings

A Pricing defines the available subscription models applicable to a Product and their pricing.

Attributes

Field Type Description Example
id Filterable Unique Read only integer ID 42
created_at Filterable Read only datetime Date of creation 2018-09-21T05:30:22Z
updated_at Filterable Read only datetime Date of last update 2018-09-21T05:30:22Z
uid Filterable Unique string public facing ID used by apps
name Filterable Mandatory string Name of the Pricing Basic plan
description Filterable text Pricing description Basic pricing plan
position Filterable integer Pricing ordering
free Filterable boolean This product is free false
free_trial_enabled Filterable boolean Free trial is available for this pricing true
free_trial_duration Filterable integer Free trial duration 1
free_trial_unit Filterable string Free trial unit of duration (days, weeks, months) month
pricing_type Filterable string Pricing type. One of: main | extra | addon recurring
license_based Filterable boolean Is pricing based on a number of licenses false
quote_based Filterable boolean Is pricing based on product quote false
per_duration Filterable string The unit of time this price applies to month
per_unit Filterable string The unit this price applies to user
prices Filterable text Array of prices [{“currency”=>“USD”, “price_cents”=>995}, {“currency”=>“AUD”, “price_cents”=>1295}, {“currency”=>“EUR”, “price_cents”=>795}]
external_id Filterable string External reference of the product ot provision
product_id Filterable string Product Id 1118
language Filterable string BCP 47 language tag for this pricing

Additional Filters

Filter Description
tenant.id Tenant relation
product.id Product relation

Relationships

Name Type To
tenant One to One Tenant
product One to One Product
GET https://api-hub.maestrano.com/api/mnoe/v2/products/1/pricings
Responses200
Body
{
  "data": [
    {
      "id": "42",
      "type": "product_pricings",
      "links": {
        "self": "/api/mnoe/v2/product_pricings/42"
      },
      "attributes": {
        "created_at": "2018-09-21T05:30:22.227Z",
        "updated_at": "2018-09-21T05:30:22.226Z",
        "uid": null,
        "name": "Basic plan",
        "description": "Basic pricing plan",
        "position": null,
        "free": false,
        "free_trial_enabled": true,
        "free_trial_duration": 1,
        "free_trial_unit": "month",
        "pricing_type": "recurring",
        "license_based": false,
        "quote_based": false,
        "per_duration": "month",
        "per_unit": "user",
        "prices": [
          {
            "currency": "USD",
            "price_cents": 995
          },
          {
            "currency": "AUD",
            "price_cents": 1295
          },
          {
            "currency": "EUR",
            "price_cents": 795
          }
        ],
        "external_id": null,
        "product_id": "1118",
        "language": null
      },
      "relationships": {
        "tenant": {
          "links": {
            "self": "/api/mnoe/v2/product_pricings/42/relationships/tenant",
            "related": "/api/mnoe/v2/product_pricings/42/tenant"
          }
        },
        "product": {
          "links": {
            "self": "/api/mnoe/v2/product_pricings/42/relationships/product",
            "related": "/api/mnoe/v2/product_pricings/42/product"
          }
        }
      }
    }
  ]
}

Get Pricings
GET/products/1/pricings

Get the list of Pricings.


POST https://api-hub.maestrano.com/api/mnoe/v2/products/1/pricings
RequestsMonthly recurring subscriptionQuarterly subscription with 1 month free trial
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "data": {
    "attributes": {
      "name": "Monthly Subscription",
      "description": "User charged on a monthly basis",
      "free": false,
      "per_duration": 1,
      "per_unit": "month",
      "prices": "{‘USD’ => 9.95, ‘AUD’ => 12.95, ‘EUR’ => 7.95}"
    }
  }
}
Responses201
Body
{
  "data": [
    {
      "id": "42",
      "type": "product_pricings",
      "links": {
        "self": "/api/mnoe/v2/product_pricings/42"
      },
      "attributes": {
        "created_at": "2018-09-21T05:30:22.227Z",
        "updated_at": "2018-09-21T05:30:22.226Z",
        "uid": null,
        "name": "Basic plan",
        "description": "Basic pricing plan",
        "position": null,
        "free": false,
        "free_trial_enabled": true,
        "free_trial_duration": 1,
        "free_trial_unit": "month",
        "pricing_type": "recurring",
        "license_based": false,
        "quote_based": false,
        "per_duration": "month",
        "per_unit": "user",
        "prices": [
          {
            "currency": "USD",
            "price_cents": 995
          },
          {
            "currency": "AUD",
            "price_cents": 1295
          },
          {
            "currency": "EUR",
            "price_cents": 795
          }
        ],
        "external_id": null,
        "product_id": "1118",
        "language": null
      },
      "relationships": {
        "tenant": {
          "links": {
            "self": "/api/mnoe/v2/product_pricings/42/relationships/tenant",
            "related": "/api/mnoe/v2/product_pricings/42/tenant"
          }
        },
        "product": {
          "links": {
            "self": "/api/mnoe/v2/product_pricings/42/relationships/product",
            "related": "/api/mnoe/v2/product_pricings/42/product"
          }
        }
      }
    }
  ]
}
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "data": {
    "attributes": {
      "name": "Quarterly Subscription",
      "description": "User charged every quarter",
      "free": false,
      "free_trial_enabled": true,
      "free_trial_duration": 1,
      "free_trial_unit": "month",
      "per_duration": 1,
      "per_unit": "quarter",
      "prices": "{‘USD’ => 9.95, ‘AUD’ => 12.95, ‘EUR’ => 7.95}"
    }
  }
}
Responses201
Body
{
  "data": [
    {
      "id": "42",
      "type": "product_pricings",
      "links": {
        "self": "/api/mnoe/v2/product_pricings/42"
      },
      "attributes": {
        "created_at": "2018-09-21T05:30:22.227Z",
        "updated_at": "2018-09-21T05:30:22.226Z",
        "uid": null,
        "name": "Basic plan",
        "description": "Basic pricing plan",
        "position": null,
        "free": false,
        "free_trial_enabled": true,
        "free_trial_duration": 1,
        "free_trial_unit": "month",
        "pricing_type": "recurring",
        "license_based": false,
        "quote_based": false,
        "per_duration": "month",
        "per_unit": "user",
        "prices": [
          {
            "currency": "USD",
            "price_cents": 995
          },
          {
            "currency": "AUD",
            "price_cents": 1295
          },
          {
            "currency": "EUR",
            "price_cents": 795
          }
        ],
        "external_id": null,
        "product_id": "1118",
        "language": null
      },
      "relationships": {
        "tenant": {
          "links": {
            "self": "/api/mnoe/v2/product_pricings/42/relationships/tenant",
            "related": "/api/mnoe/v2/product_pricings/42/tenant"
          }
        },
        "product": {
          "links": {
            "self": "/api/mnoe/v2/product_pricings/42/relationships/product",
            "related": "/api/mnoe/v2/product_pricings/42/product"
          }
        }
      }
    }
  ]
}

Create a Pricing
POST/products/1/pricings

Create a new Pricing.


Pricing

GET https://api-hub.maestrano.com/api/mnoe/v2/products/1/pricings/42
Responses200
Body
{
  "data": {
    "id": "42",
    "type": "product_pricings",
    "links": {
      "self": "/api/mnoe/v2/product_pricings/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:22.227Z",
      "updated_at": "2018-09-21T05:30:22.226Z",
      "uid": null,
      "name": "Basic plan",
      "description": "Basic pricing plan",
      "position": null,
      "free": false,
      "free_trial_enabled": true,
      "free_trial_duration": 1,
      "free_trial_unit": "month",
      "pricing_type": "recurring",
      "license_based": false,
      "quote_based": false,
      "per_duration": "month",
      "per_unit": "user",
      "prices": [
        {
          "currency": "USD",
          "price_cents": 995
        },
        {
          "currency": "AUD",
          "price_cents": 1295
        },
        {
          "currency": "EUR",
          "price_cents": 795
        }
      ],
      "external_id": null,
      "product_id": "1118",
      "language": null
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/product_pricings/42/relationships/tenant",
          "related": "/api/mnoe/v2/product_pricings/42/tenant"
        }
      },
      "product": {
        "links": {
          "self": "/api/mnoe/v2/product_pricings/42/relationships/product",
          "related": "/api/mnoe/v2/product_pricings/42/product"
        }
      }
    }
  }
}

Get Pricing
GET/products/1/pricings/{id}

Get a single Pricing.

URI Parameters
HideShow
id
integer (required) Example: 42

The Pricing ID


PATCH https://api-hub.maestrano.com/api/mnoe/v2/products/1/pricings/42
Requestsexample 1
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "data": {
    "type": "pricings",
    "id": 62,
    "attributes": {
      "name": "New Name"
    }
  }
}
Responses200
Body
{
  "data": {
    "id": "42",
    "type": "product_pricings",
    "links": {
      "self": "/api/mnoe/v2/product_pricings/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:22.227Z",
      "updated_at": "2018-09-21T05:30:22.226Z",
      "uid": null,
      "name": "Basic plan",
      "description": "Basic pricing plan",
      "position": null,
      "free": false,
      "free_trial_enabled": true,
      "free_trial_duration": 1,
      "free_trial_unit": "month",
      "pricing_type": "recurring",
      "license_based": false,
      "quote_based": false,
      "per_duration": "month",
      "per_unit": "user",
      "prices": [
        {
          "currency": "USD",
          "price_cents": 995
        },
        {
          "currency": "AUD",
          "price_cents": 1295
        },
        {
          "currency": "EUR",
          "price_cents": 795
        }
      ],
      "external_id": null,
      "product_id": "1118",
      "language": null
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/product_pricings/42/relationships/tenant",
          "related": "/api/mnoe/v2/product_pricings/42/tenant"
        }
      },
      "product": {
        "links": {
          "self": "/api/mnoe/v2/product_pricings/42/relationships/product",
          "related": "/api/mnoe/v2/product_pricings/42/product"
        }
      }
    }
  }
}

Update a Pricing
PATCH/products/1/pricings/{id}

Update a Pricing.

URI Parameters
HideShow
id
integer (required) Example: 42

The Pricing ID


Provisioning | ProductInstances

A ProductInstance represents a Product that a Customer has Subscribed to.

A ProductInstance is active if it has a valid Subscription attached to it.
The status of a ProductInstance follows the wokflow:

  • pending: The main Subscription is pending approval before provisioning

  • provisioning: The Product is being provisioned by a third-party provider

  • active: The main Subscription is currently valid and Product has been provisioned

  • suspended: The main Subscription is currently suspended

  • cancelled: All Subscriptions attached to the ProductInstance have been cancelled

Provisioning a new ProductInstance is performed by creating a new Subscription.

Attributes

Field Type Description Example
id Filterable Unique Read only integer ID 42
created_at Filterable Read only datetime Date of creation 2018-09-21T05:30:22Z
updated_at Filterable Read only datetime Date of last update 2018-09-21T05:30:22Z
uid Filterable Unique string public facing ID used by apps
status Filterable string ProductInstance status: pending, provisioning, active, suspended, cancelled active
api_key Filterable string ProductInstance API Key
api_secret Filterable string ProductInstance API Secret
external_id Filterable string External reference when provisioned by a third-party system
organization_id Filterable string RELATED organization of the product Instance 1124

Additional Filters

Filter Description
tenant.id Tenant relation
product.id Product relation
organization.id Organization relation
app_instance.id App Instance relation
subscriptions.id Subscriptions relation
sync_status.id Sync Status relation

Relationships

Name Type To
tenant One to One Tenant
product One to One Product
organization One to One Organization
app_instance One to One App Instance
subscriptions One to Many Subscription
sync_status One to One Sync Status

ProductInstances

GET https://api-hub.maestrano.com/api/mnoe/v2/product_instances
Responses200
Body
{
  "data": [
    {
      "id": "42",
      "type": "product_instances",
      "links": {
        "self": "/api/mnoe/v2/product_instances/42"
      },
      "attributes": {
        "created_at": "2018-09-21T05:30:22.236Z",
        "updated_at": "2018-09-21T05:30:22.235Z",
        "uid": null,
        "status": "active",
        "api_key": null,
        "api_secret": null,
        "external_id": null,
        "organization_id": "1124"
      },
      "relationships": {
        "tenant": {
          "links": {
            "self": "/api/mnoe/v2/product_instances/42/relationships/tenant",
            "related": "/api/mnoe/v2/product_instances/42/tenant"
          }
        },
        "product": {
          "links": {
            "self": "/api/mnoe/v2/product_instances/42/relationships/product",
            "related": "/api/mnoe/v2/product_instances/42/product"
          },
          "data": {
            "type": "products",
            "id": "1121"
          }
        },
        "organization": {
          "links": {
            "self": "/api/mnoe/v2/product_instances/42/relationships/organization",
            "related": "/api/mnoe/v2/product_instances/42/organization"
          },
          "data": {
            "type": "organizations",
            "id": "1124"
          }
        },
        "app_instance": {
          "links": {
            "self": "/api/mnoe/v2/product_instances/42/relationships/app_instance",
            "related": "/api/mnoe/v2/product_instances/42/app_instance"
          },
          "data": null
        },
        "subscriptions": {
          "links": {
            "self": "/api/mnoe/v2/product_instances/42/relationships/subscriptions",
            "related": "/api/mnoe/v2/product_instances/42/subscriptions"
          }
        },
        "sync_status": {
          "links": {
            "self": "/api/mnoe/v2/product_instances/42/relationships/sync_status",
            "related": "/api/mnoe/v2/product_instances/42/sync_status"
          }
        }
      }
    }
  ]
}

Get ProductInstances
GET/product_instances

Get the list of product instances.


ProductInstance

GET https://api-hub.maestrano.com/api/mnoe/v2/product_instances/42
Responses200
Body
{
  "data": {
    "id": "42",
    "type": "product_instances",
    "links": {
      "self": "/api/mnoe/v2/product_instances/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:22.236Z",
      "updated_at": "2018-09-21T05:30:22.235Z",
      "uid": null,
      "status": "active",
      "api_key": null,
      "api_secret": null,
      "external_id": null,
      "organization_id": "1124"
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/product_instances/42/relationships/tenant",
          "related": "/api/mnoe/v2/product_instances/42/tenant"
        }
      },
      "product": {
        "links": {
          "self": "/api/mnoe/v2/product_instances/42/relationships/product",
          "related": "/api/mnoe/v2/product_instances/42/product"
        },
        "data": {
          "type": "products",
          "id": "1121"
        }
      },
      "organization": {
        "links": {
          "self": "/api/mnoe/v2/product_instances/42/relationships/organization",
          "related": "/api/mnoe/v2/product_instances/42/organization"
        },
        "data": {
          "type": "organizations",
          "id": "1124"
        }
      },
      "app_instance": {
        "links": {
          "self": "/api/mnoe/v2/product_instances/42/relationships/app_instance",
          "related": "/api/mnoe/v2/product_instances/42/app_instance"
        },
        "data": null
      },
      "subscriptions": {
        "links": {
          "self": "/api/mnoe/v2/product_instances/42/relationships/subscriptions",
          "related": "/api/mnoe/v2/product_instances/42/subscriptions"
        }
      },
      "sync_status": {
        "links": {
          "self": "/api/mnoe/v2/product_instances/42/relationships/sync_status",
          "related": "/api/mnoe/v2/product_instances/42/sync_status"
        }
      }
    }
  }
}

Get ProductInstance
GET/product_instances/{id}

Get a single ProductInstance.

URI Parameters
HideShow
id
integer (required) Example: 42

The ProductInstance ID


PATCH https://api-hub.maestrano.com/api/mnoe/v2/product_instances/42
Requestsexample 1
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "data": {
    "type": "product_instances",
    "id": 62,
    "attributes": {
      "name": "New Name"
    }
  }
}
Responses200
Body
{
  "data": {
    "id": "42",
    "type": "product_instances",
    "links": {
      "self": "/api/mnoe/v2/product_instances/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:22.236Z",
      "updated_at": "2018-09-21T05:30:22.235Z",
      "uid": null,
      "status": "active",
      "api_key": null,
      "api_secret": null,
      "external_id": null,
      "organization_id": "1124"
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/product_instances/42/relationships/tenant",
          "related": "/api/mnoe/v2/product_instances/42/tenant"
        }
      },
      "product": {
        "links": {
          "self": "/api/mnoe/v2/product_instances/42/relationships/product",
          "related": "/api/mnoe/v2/product_instances/42/product"
        },
        "data": {
          "type": "products",
          "id": "1121"
        }
      },
      "organization": {
        "links": {
          "self": "/api/mnoe/v2/product_instances/42/relationships/organization",
          "related": "/api/mnoe/v2/product_instances/42/organization"
        },
        "data": {
          "type": "organizations",
          "id": "1124"
        }
      },
      "app_instance": {
        "links": {
          "self": "/api/mnoe/v2/product_instances/42/relationships/app_instance",
          "related": "/api/mnoe/v2/product_instances/42/app_instance"
        },
        "data": null
      },
      "subscriptions": {
        "links": {
          "self": "/api/mnoe/v2/product_instances/42/relationships/subscriptions",
          "related": "/api/mnoe/v2/product_instances/42/subscriptions"
        }
      },
      "sync_status": {
        "links": {
          "self": "/api/mnoe/v2/product_instances/42/relationships/sync_status",
          "related": "/api/mnoe/v2/product_instances/42/sync_status"
        }
      }
    }
  }
}

Update a ProductInstance
PATCH/product_instances/{id}

Update a single ProductInstance.

URI Parameters
HideShow
id
integer (required) Example: 42

The ProductInstance ID


DELETE https://api-hub.maestrano.com/api/mnoe/v2/product_instances/42
Requestsexample 1
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "data": {
    "type": "product_instances",
    "id": 62,
    "attributes": {
      "name": "New Name"
    }
  }
}
Responses200
Body
{
  "data": {
    "id": "42",
    "type": "product_instances",
    "links": {
      "self": "/api/mnoe/v2/product_instances/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:22.236Z",
      "updated_at": "2018-09-21T05:30:22.235Z",
      "uid": null,
      "status": "active",
      "api_key": null,
      "api_secret": null,
      "external_id": null,
      "organization_id": "1124"
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/product_instances/42/relationships/tenant",
          "related": "/api/mnoe/v2/product_instances/42/tenant"
        }
      },
      "product": {
        "links": {
          "self": "/api/mnoe/v2/product_instances/42/relationships/product",
          "related": "/api/mnoe/v2/product_instances/42/product"
        },
        "data": {
          "type": "products",
          "id": "1121"
        }
      },
      "organization": {
        "links": {
          "self": "/api/mnoe/v2/product_instances/42/relationships/organization",
          "related": "/api/mnoe/v2/product_instances/42/organization"
        },
        "data": {
          "type": "organizations",
          "id": "1124"
        }
      },
      "app_instance": {
        "links": {
          "self": "/api/mnoe/v2/product_instances/42/relationships/app_instance",
          "related": "/api/mnoe/v2/product_instances/42/app_instance"
        },
        "data": null
      },
      "subscriptions": {
        "links": {
          "self": "/api/mnoe/v2/product_instances/42/relationships/subscriptions",
          "related": "/api/mnoe/v2/product_instances/42/subscriptions"
        }
      },
      "sync_status": {
        "links": {
          "self": "/api/mnoe/v2/product_instances/42/relationships/sync_status",
          "related": "/api/mnoe/v2/product_instances/42/sync_status"
        }
      }
    }
  }
}

Terminate a ProductInstance
DELETE/product_instances/{id}

Cancels all Subscriptions attached to the ProductInstance and terminates it.

URI Parameters
HideShow
id
integer (required) Example: 42

The ProductInstance ID


Provisioning | Subscriptions

A Product Subscription

Subscriptions are created when customers place an order for a Product.

When a Subscription is requested, its status follows the life-cycle:

  • provisioning: Subscription has been requested and is pending provisioning

  • fulfilled: Subscription has been provisioned and is currently valid

  • cancelled: Subscription has been cancelled and is no longer valid

  • suspended: Subscription is currently suspended and may be re-activated

The following actions can be executed on a Subscription, a SubscriptionEvent is then generated with the action to execute

  • provision: Request the provisioning of the Subscription

  • modify: Request a modification of the Subscription content preserving the selected pricing plan

  • change: Request a change of pricing plan (upgrade or downgrade)

  • suspend: Request a suspension of a fulfilled Subscription

  • renew: Request the renewal of a suspended Subscription

  • cancel: Request the cancellation of a Subscription

Attributes

Field Type Description Example
id Filterable Unique Read only integer ID 42
created_at Filterable Read only datetime Date of creation 2018-09-21T05:30:22Z
updated_at Filterable Read only datetime Date of last update 2018-09-21T05:30:22Z
uid Filterable Unique string public facing ID used by apps
status Filterable Create only string Subscription status. One of: pending | staged | provisioning | fulfilled | cancelled | suspended | abandoned pending
subscription_type Filterable string Subscription type (optional). One of: main | extra | addon main
start_date Filterable datetime Subscription Start Date 2018-09-21T05:30:17Z
end_date Filterable datetime Subscription End Date 2018-10-21T05:30:17Z
currency Filterable string Subscription currency USD
max_licenses Filterable integer Maximum number of licenses
available_licenses Filterable integer Available number of licenses 10
external_id Filterable string External reference when invoiced by a third-party system
custom_data Filterable text Extra information required to provision the product. Data is based on the Product custom_schema.
provisioning_data Filterable text Custom information associated with the subscription to be returned to the customer.
available_actions Filterable string Lists available actions for subscription [“provision”]
subscription_events_attributes Filterable Write only string Attributes for subscriptions subscription events
user_id Filterable string User Id
billed_locally Read only boolean true if billing is managed by the platform itself false
externally_provisioned Read only boolean true if provisioning is handled by a third-party true
local_product Read only boolean true if related product was created by a tenant false

Additional Filters

Filter Description
tenant.id Tenant relation
product.id Product relation
subscription_status_in Retrieve subscriptions based on listing filter
user.id User relation
organization.id Organization relation
product_pricing.id Product Pricing relation
product_contract.id Product Contract relation
product_instance.id Product Instance relation
license_assignments.id License Assignments relation
subscription_events.id Subscription Events relation

Relationships

Name Type To
tenant One to One Tenant
user One to One User
organization One to One Organization
product One to One Product
product_pricing One to One Product Pricing
product_contract One to One Product Contract
product_instance One to One Product Instance
license_assignments One to Many License Assignment
subscription_events One to Many Subscription Event

Subscriptions

GET https://api-hub.maestrano.com/api/mnoe/v2/subscriptions
Responses200
Body
{
  "data": [
    {
      "id": "42",
      "type": "subscriptions",
      "links": {
        "self": "/api/mnoe/v2/subscriptions/42"
      },
      "attributes": {
        "created_at": "2018-09-21T05:30:22.270Z",
        "updated_at": "2018-09-21T05:30:22.269Z",
        "uid": null,
        "status": "pending",
        "subscription_type": "main",
        "start_date": "2018-09-21T05:30:17.865Z",
        "end_date": "2018-10-21T05:30:17.865Z",
        "currency": "USD",
        "max_licenses": null,
        "available_licenses": 10,
        "external_id": null,
        "custom_data": null,
        "provisioning_data": null,
        "available_actions": [
          "provision"
        ],
        "organization_id": "1132",
        "user_id": null,
        "product_id": "1128",
        "product_pricing_id": "1129",
        "product_contract_id": "1130",
        "product_instance_id": null,
        "billed_locally": false,
        "externally_provisioned": true,
        "local_product": false
      },
      "relationships": {
        "tenant": {
          "links": {
            "self": "/api/mnoe/v2/subscriptions/42/relationships/tenant",
            "related": "/api/mnoe/v2/subscriptions/42/tenant"
          }
        },
        "user": {
          "links": {
            "self": "/api/mnoe/v2/subscriptions/42/relationships/user",
            "related": "/api/mnoe/v2/subscriptions/42/user"
          }
        },
        "organization": {
          "links": {
            "self": "/api/mnoe/v2/subscriptions/42/relationships/organization",
            "related": "/api/mnoe/v2/subscriptions/42/organization"
          }
        },
        "product": {
          "links": {
            "self": "/api/mnoe/v2/subscriptions/42/relationships/product",
            "related": "/api/mnoe/v2/subscriptions/42/product"
          }
        },
        "product_pricing": {
          "links": {
            "self": "/api/mnoe/v2/subscriptions/42/relationships/product_pricing",
            "related": "/api/mnoe/v2/subscriptions/42/product_pricing"
          }
        },
        "product_contract": {
          "links": {
            "self": "/api/mnoe/v2/subscriptions/42/relationships/product_contract",
            "related": "/api/mnoe/v2/subscriptions/42/product_contract"
          }
        },
        "product_instance": {
          "links": {
            "self": "/api/mnoe/v2/subscriptions/42/relationships/product_instance",
            "related": "/api/mnoe/v2/subscriptions/42/product_instance"
          }
        },
        "license_assignments": {
          "links": {
            "self": "/api/mnoe/v2/subscriptions/42/relationships/license_assignments",
            "related": "/api/mnoe/v2/subscriptions/42/license_assignments"
          }
        },
        "subscription_events": {
          "links": {
            "self": "/api/mnoe/v2/subscriptions/42/relationships/subscription_events",
            "related": "/api/mnoe/v2/subscriptions/42/subscription_events"
          }
        }
      }
    }
  ]
}

Get Subscriptions
GET/subscriptions

Get the list of subscriptions.


POST https://api-hub.maestrano.com/api/mnoe/v2/subscriptions
RequestsProvision a new Product
Body
{
  "data": {
    "relationships": {
      "pricing": {
        "data": {
          "type": "pricings",
          "id": "27"
        }
      },
      "organization": {
        "data": {
          "type": "organizations",
          "id": "11920"
        }
      }
    }
  }
}
Responses201
Body
{
  "data": {
    "id": "42",
    "type": "subscriptions",
    "links": {
      "self": "/api/mnoe/v2/subscriptions/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:22.270Z",
      "updated_at": "2018-09-21T05:30:22.269Z",
      "uid": null,
      "status": "pending",
      "subscription_type": "main",
      "start_date": "2018-09-21T05:30:17.865Z",
      "end_date": "2018-10-21T05:30:17.865Z",
      "currency": "USD",
      "max_licenses": null,
      "available_licenses": 10,
      "external_id": null,
      "custom_data": null,
      "provisioning_data": null,
      "available_actions": [
        "provision"
      ],
      "organization_id": "1132",
      "user_id": null,
      "product_id": "1128",
      "product_pricing_id": "1129",
      "product_contract_id": "1130",
      "product_instance_id": null,
      "billed_locally": false,
      "externally_provisioned": true,
      "local_product": false
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/tenant",
          "related": "/api/mnoe/v2/subscriptions/42/tenant"
        }
      },
      "user": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/user",
          "related": "/api/mnoe/v2/subscriptions/42/user"
        }
      },
      "organization": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/organization",
          "related": "/api/mnoe/v2/subscriptions/42/organization"
        }
      },
      "product": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/product",
          "related": "/api/mnoe/v2/subscriptions/42/product"
        }
      },
      "product_pricing": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/product_pricing",
          "related": "/api/mnoe/v2/subscriptions/42/product_pricing"
        }
      },
      "product_contract": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/product_contract",
          "related": "/api/mnoe/v2/subscriptions/42/product_contract"
        }
      },
      "product_instance": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/product_instance",
          "related": "/api/mnoe/v2/subscriptions/42/product_instance"
        }
      },
      "license_assignments": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/license_assignments",
          "related": "/api/mnoe/v2/subscriptions/42/license_assignments"
        }
      },
      "subscription_events": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/subscription_events",
          "related": "/api/mnoe/v2/subscriptions/42/subscription_events"
        }
      }
    }
  }
}

Provision a new ProductInstance
POST/subscriptions

Provisioning of a new Product occurs when a new Subscription is requested.
After validating the input parameters, a ProductInstance is created with the Subscription attached to it.


Subscription

GET https://api-hub.maestrano.com/api/mnoe/v2/subscriptions/42
Responses200
Body
{
  "data": {
    "id": "42",
    "type": "subscriptions",
    "links": {
      "self": "/api/mnoe/v2/subscriptions/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:22.270Z",
      "updated_at": "2018-09-21T05:30:22.269Z",
      "uid": null,
      "status": "pending",
      "subscription_type": "main",
      "start_date": "2018-09-21T05:30:17.865Z",
      "end_date": "2018-10-21T05:30:17.865Z",
      "currency": "USD",
      "max_licenses": null,
      "available_licenses": 10,
      "external_id": null,
      "custom_data": null,
      "provisioning_data": null,
      "available_actions": [
        "provision"
      ],
      "organization_id": "1132",
      "user_id": null,
      "product_id": "1128",
      "product_pricing_id": "1129",
      "product_contract_id": "1130",
      "product_instance_id": null,
      "billed_locally": false,
      "externally_provisioned": true,
      "local_product": false
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/tenant",
          "related": "/api/mnoe/v2/subscriptions/42/tenant"
        }
      },
      "user": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/user",
          "related": "/api/mnoe/v2/subscriptions/42/user"
        }
      },
      "organization": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/organization",
          "related": "/api/mnoe/v2/subscriptions/42/organization"
        }
      },
      "product": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/product",
          "related": "/api/mnoe/v2/subscriptions/42/product"
        }
      },
      "product_pricing": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/product_pricing",
          "related": "/api/mnoe/v2/subscriptions/42/product_pricing"
        }
      },
      "product_contract": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/product_contract",
          "related": "/api/mnoe/v2/subscriptions/42/product_contract"
        }
      },
      "product_instance": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/product_instance",
          "related": "/api/mnoe/v2/subscriptions/42/product_instance"
        }
      },
      "license_assignments": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/license_assignments",
          "related": "/api/mnoe/v2/subscriptions/42/license_assignments"
        }
      },
      "subscription_events": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/subscription_events",
          "related": "/api/mnoe/v2/subscriptions/42/subscription_events"
        }
      }
    }
  }
}

Get Subscription
GET/subscriptions/{id}

Get a single Subscription.

URI Parameters
HideShow
id
integer (required) Example: 42

The Subscription ID


PATCH https://api-hub.maestrano.com/api/mnoe/v2/subscriptions/42
RequestsUpdate Subscription external_id
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "data": {
    "type": "subscriptions",
    "id": 62,
    "attributes": {
      "external_id": "CT82501"
    }
  }
}
Responses200
Body
{
  "data": {
    "id": "42",
    "type": "subscriptions",
    "links": {
      "self": "/api/mnoe/v2/subscriptions/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:22.270Z",
      "updated_at": "2018-09-21T05:30:22.269Z",
      "uid": null,
      "status": "pending",
      "subscription_type": "main",
      "start_date": "2018-09-21T05:30:17.865Z",
      "end_date": "2018-10-21T05:30:17.865Z",
      "currency": "USD",
      "max_licenses": null,
      "available_licenses": 10,
      "external_id": null,
      "custom_data": null,
      "provisioning_data": null,
      "available_actions": [
        "provision"
      ],
      "organization_id": "1132",
      "user_id": null,
      "product_id": "1128",
      "product_pricing_id": "1129",
      "product_contract_id": "1130",
      "product_instance_id": null,
      "billed_locally": false,
      "externally_provisioned": true,
      "local_product": false
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/tenant",
          "related": "/api/mnoe/v2/subscriptions/42/tenant"
        }
      },
      "user": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/user",
          "related": "/api/mnoe/v2/subscriptions/42/user"
        }
      },
      "organization": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/organization",
          "related": "/api/mnoe/v2/subscriptions/42/organization"
        }
      },
      "product": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/product",
          "related": "/api/mnoe/v2/subscriptions/42/product"
        }
      },
      "product_pricing": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/product_pricing",
          "related": "/api/mnoe/v2/subscriptions/42/product_pricing"
        }
      },
      "product_contract": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/product_contract",
          "related": "/api/mnoe/v2/subscriptions/42/product_contract"
        }
      },
      "product_instance": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/product_instance",
          "related": "/api/mnoe/v2/subscriptions/42/product_instance"
        }
      },
      "license_assignments": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/license_assignments",
          "related": "/api/mnoe/v2/subscriptions/42/license_assignments"
        }
      },
      "subscription_events": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/subscription_events",
          "related": "/api/mnoe/v2/subscriptions/42/subscription_events"
        }
      }
    }
  }
}

Update a Subscription
PATCH/subscriptions/{id}

Update a Subscription.

URI Parameters
HideShow
id
integer (required) Example: 42

The Subscription ID


ProductInstance Subscriptions

GET https://api-hub.maestrano.com/api/mnoe/v2/product_instances/1/subscriptions
Responses200
Body
{
  "data": [
    {
      "id": "42",
      "type": "subscriptions",
      "links": {
        "self": "/api/mnoe/v2/subscriptions/42"
      },
      "attributes": {
        "created_at": "2018-09-21T05:30:22.270Z",
        "updated_at": "2018-09-21T05:30:22.269Z",
        "uid": null,
        "status": "pending",
        "subscription_type": "main",
        "start_date": "2018-09-21T05:30:17.865Z",
        "end_date": "2018-10-21T05:30:17.865Z",
        "currency": "USD",
        "max_licenses": null,
        "available_licenses": 10,
        "external_id": null,
        "custom_data": null,
        "provisioning_data": null,
        "available_actions": [
          "provision"
        ],
        "organization_id": "1132",
        "user_id": null,
        "product_id": "1128",
        "product_pricing_id": "1129",
        "product_contract_id": "1130",
        "product_instance_id": null,
        "billed_locally": false,
        "externally_provisioned": true,
        "local_product": false
      },
      "relationships": {
        "tenant": {
          "links": {
            "self": "/api/mnoe/v2/subscriptions/42/relationships/tenant",
            "related": "/api/mnoe/v2/subscriptions/42/tenant"
          }
        },
        "user": {
          "links": {
            "self": "/api/mnoe/v2/subscriptions/42/relationships/user",
            "related": "/api/mnoe/v2/subscriptions/42/user"
          }
        },
        "organization": {
          "links": {
            "self": "/api/mnoe/v2/subscriptions/42/relationships/organization",
            "related": "/api/mnoe/v2/subscriptions/42/organization"
          }
        },
        "product": {
          "links": {
            "self": "/api/mnoe/v2/subscriptions/42/relationships/product",
            "related": "/api/mnoe/v2/subscriptions/42/product"
          }
        },
        "product_pricing": {
          "links": {
            "self": "/api/mnoe/v2/subscriptions/42/relationships/product_pricing",
            "related": "/api/mnoe/v2/subscriptions/42/product_pricing"
          }
        },
        "product_contract": {
          "links": {
            "self": "/api/mnoe/v2/subscriptions/42/relationships/product_contract",
            "related": "/api/mnoe/v2/subscriptions/42/product_contract"
          }
        },
        "product_instance": {
          "links": {
            "self": "/api/mnoe/v2/subscriptions/42/relationships/product_instance",
            "related": "/api/mnoe/v2/subscriptions/42/product_instance"
          }
        },
        "license_assignments": {
          "links": {
            "self": "/api/mnoe/v2/subscriptions/42/relationships/license_assignments",
            "related": "/api/mnoe/v2/subscriptions/42/license_assignments"
          }
        },
        "subscription_events": {
          "links": {
            "self": "/api/mnoe/v2/subscriptions/42/relationships/subscription_events",
            "related": "/api/mnoe/v2/subscriptions/42/subscription_events"
          }
        }
      }
    }
  ]
}

Get Subscriptions
GET/product_instances/1/subscriptions

Get the list of Subscriptions assigned to a ProductInstance.


POST https://api-hub.maestrano.com/api/mnoe/v2/product_instances/1/subscriptions
Requestsexample 1
Body
{
  "data": {
    "relationships": {
      "pricing": {
        "data": {
          "type": "pricings",
          "id": "28"
        }
      },
      "organization": {
        "data": {
          "type": "organizations",
          "id": "11920"
        }
      },
      "product_instance": {
        "data": {
          "type": "product_instances",
          "id": "24588"
        }
      }
    }
  }
}
Responses201
Body
{
  "data": {
    "id": "42",
    "type": "subscriptions",
    "links": {
      "self": "/api/mnoe/v2/subscriptions/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:22.270Z",
      "updated_at": "2018-09-21T05:30:22.269Z",
      "uid": null,
      "status": "pending",
      "subscription_type": "main",
      "start_date": "2018-09-21T05:30:17.865Z",
      "end_date": "2018-10-21T05:30:17.865Z",
      "currency": "USD",
      "max_licenses": null,
      "available_licenses": 10,
      "external_id": null,
      "custom_data": null,
      "provisioning_data": null,
      "available_actions": [
        "provision"
      ],
      "organization_id": "1132",
      "user_id": null,
      "product_id": "1128",
      "product_pricing_id": "1129",
      "product_contract_id": "1130",
      "product_instance_id": null,
      "billed_locally": false,
      "externally_provisioned": true,
      "local_product": false
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/tenant",
          "related": "/api/mnoe/v2/subscriptions/42/tenant"
        }
      },
      "user": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/user",
          "related": "/api/mnoe/v2/subscriptions/42/user"
        }
      },
      "organization": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/organization",
          "related": "/api/mnoe/v2/subscriptions/42/organization"
        }
      },
      "product": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/product",
          "related": "/api/mnoe/v2/subscriptions/42/product"
        }
      },
      "product_pricing": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/product_pricing",
          "related": "/api/mnoe/v2/subscriptions/42/product_pricing"
        }
      },
      "product_contract": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/product_contract",
          "related": "/api/mnoe/v2/subscriptions/42/product_contract"
        }
      },
      "product_instance": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/product_instance",
          "related": "/api/mnoe/v2/subscriptions/42/product_instance"
        }
      },
      "license_assignments": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/license_assignments",
          "related": "/api/mnoe/v2/subscriptions/42/license_assignments"
        }
      },
      "subscription_events": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/subscription_events",
          "related": "/api/mnoe/v2/subscriptions/42/subscription_events"
        }
      }
    }
  }
}

Assign a new Subscription
POST/product_instances/1/subscriptions

Additional Subscriptions can be attached to an existing ProductInstance when purchasing addons or extra licenses. A valid Subscription is required when purchasing extra Subscriptions.


Subscription

POST https://api-hub.maestrano.com/api/mnoe/v2/subscriptions/42/approve
Requestsexample 1
Headers
Content-Type: application/json; charset=utf-8
Body
{}
Responses200
Body
{
  "data": {
    "id": "42",
    "type": "subscriptions",
    "links": {
      "self": "/api/mnoe/v2/subscriptions/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:22.270Z",
      "updated_at": "2018-09-21T05:30:22.269Z",
      "uid": null,
      "status": "pending",
      "subscription_type": "main",
      "start_date": "2018-09-21T05:30:17.865Z",
      "end_date": "2018-10-21T05:30:17.865Z",
      "currency": "USD",
      "max_licenses": null,
      "available_licenses": 10,
      "external_id": null,
      "custom_data": null,
      "provisioning_data": null,
      "available_actions": [
        "provision"
      ],
      "organization_id": "1132",
      "user_id": null,
      "product_id": "1128",
      "product_pricing_id": "1129",
      "product_contract_id": "1130",
      "product_instance_id": null,
      "billed_locally": false,
      "externally_provisioned": true,
      "local_product": false
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/tenant",
          "related": "/api/mnoe/v2/subscriptions/42/tenant"
        }
      },
      "user": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/user",
          "related": "/api/mnoe/v2/subscriptions/42/user"
        }
      },
      "organization": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/organization",
          "related": "/api/mnoe/v2/subscriptions/42/organization"
        }
      },
      "product": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/product",
          "related": "/api/mnoe/v2/subscriptions/42/product"
        }
      },
      "product_pricing": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/product_pricing",
          "related": "/api/mnoe/v2/subscriptions/42/product_pricing"
        }
      },
      "product_contract": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/product_contract",
          "related": "/api/mnoe/v2/subscriptions/42/product_contract"
        }
      },
      "product_instance": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/product_instance",
          "related": "/api/mnoe/v2/subscriptions/42/product_instance"
        }
      },
      "license_assignments": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/license_assignments",
          "related": "/api/mnoe/v2/subscriptions/42/license_assignments"
        }
      },
      "subscription_events": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/subscription_events",
          "related": "/api/mnoe/v2/subscriptions/42/subscription_events"
        }
      }
    }
  }
}

Approve a Subscription
POST/subscriptions/{id}/approve

Approve a Subscription, transition from status requested to approved.

URI Parameters
HideShow
id
integer (required) Example: 42

The Subscription ID


Subscription

POST https://api-hub.maestrano.com/api/mnoe/v2/subscriptions/42/fulfill
Requestsexample 1
Headers
Content-Type: application/json; charset=utf-8
Body
{}
Responses200
Body
{
  "data": {
    "id": "42",
    "type": "subscriptions",
    "links": {
      "self": "/api/mnoe/v2/subscriptions/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:22.270Z",
      "updated_at": "2018-09-21T05:30:22.269Z",
      "uid": null,
      "status": "pending",
      "subscription_type": "main",
      "start_date": "2018-09-21T05:30:17.865Z",
      "end_date": "2018-10-21T05:30:17.865Z",
      "currency": "USD",
      "max_licenses": null,
      "available_licenses": 10,
      "external_id": null,
      "custom_data": null,
      "provisioning_data": null,
      "available_actions": [
        "provision"
      ],
      "organization_id": "1132",
      "user_id": null,
      "product_id": "1128",
      "product_pricing_id": "1129",
      "product_contract_id": "1130",
      "product_instance_id": null,
      "billed_locally": false,
      "externally_provisioned": true,
      "local_product": false
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/tenant",
          "related": "/api/mnoe/v2/subscriptions/42/tenant"
        }
      },
      "user": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/user",
          "related": "/api/mnoe/v2/subscriptions/42/user"
        }
      },
      "organization": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/organization",
          "related": "/api/mnoe/v2/subscriptions/42/organization"
        }
      },
      "product": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/product",
          "related": "/api/mnoe/v2/subscriptions/42/product"
        }
      },
      "product_pricing": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/product_pricing",
          "related": "/api/mnoe/v2/subscriptions/42/product_pricing"
        }
      },
      "product_contract": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/product_contract",
          "related": "/api/mnoe/v2/subscriptions/42/product_contract"
        }
      },
      "product_instance": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/product_instance",
          "related": "/api/mnoe/v2/subscriptions/42/product_instance"
        }
      },
      "license_assignments": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/license_assignments",
          "related": "/api/mnoe/v2/subscriptions/42/license_assignments"
        }
      },
      "subscription_events": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/subscription_events",
          "related": "/api/mnoe/v2/subscriptions/42/subscription_events"
        }
      }
    }
  }
}

Fulfill a Subscription
POST/subscriptions/{id}/fulfill

Fulfill a Subscription, transition from status approved to fulfilled.

URI Parameters
HideShow
id
integer (required) Example: 42

The Subscription ID


Subscription

POST https://api-hub.maestrano.com/api/mnoe/v2/subscriptions/42/suspend
Requestsexample 1
Headers
Content-Type: application/json; charset=utf-8
Body
{}
Responses200
Body
{
  "data": {
    "id": "42",
    "type": "subscriptions",
    "links": {
      "self": "/api/mnoe/v2/subscriptions/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:22.270Z",
      "updated_at": "2018-09-21T05:30:22.269Z",
      "uid": null,
      "status": "pending",
      "subscription_type": "main",
      "start_date": "2018-09-21T05:30:17.865Z",
      "end_date": "2018-10-21T05:30:17.865Z",
      "currency": "USD",
      "max_licenses": null,
      "available_licenses": 10,
      "external_id": null,
      "custom_data": null,
      "provisioning_data": null,
      "available_actions": [
        "provision"
      ],
      "organization_id": "1132",
      "user_id": null,
      "product_id": "1128",
      "product_pricing_id": "1129",
      "product_contract_id": "1130",
      "product_instance_id": null,
      "billed_locally": false,
      "externally_provisioned": true,
      "local_product": false
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/tenant",
          "related": "/api/mnoe/v2/subscriptions/42/tenant"
        }
      },
      "user": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/user",
          "related": "/api/mnoe/v2/subscriptions/42/user"
        }
      },
      "organization": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/organization",
          "related": "/api/mnoe/v2/subscriptions/42/organization"
        }
      },
      "product": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/product",
          "related": "/api/mnoe/v2/subscriptions/42/product"
        }
      },
      "product_pricing": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/product_pricing",
          "related": "/api/mnoe/v2/subscriptions/42/product_pricing"
        }
      },
      "product_contract": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/product_contract",
          "related": "/api/mnoe/v2/subscriptions/42/product_contract"
        }
      },
      "product_instance": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/product_instance",
          "related": "/api/mnoe/v2/subscriptions/42/product_instance"
        }
      },
      "license_assignments": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/license_assignments",
          "related": "/api/mnoe/v2/subscriptions/42/license_assignments"
        }
      },
      "subscription_events": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/subscription_events",
          "related": "/api/mnoe/v2/subscriptions/42/subscription_events"
        }
      }
    }
  }
}

Suspend a Subscription
POST/subscriptions/{id}/suspend

Suspend a Subscription, transition from status requested, approved, fulfilled, expired to suspended.

URI Parameters
HideShow
id
integer (required) Example: 42

The Subscription ID


Subscription

POST https://api-hub.maestrano.com/api/mnoe/v2/subscriptions/42/enable
Requestsexample 1
Headers
Content-Type: application/json; charset=utf-8
Body
{}
Responses200
Body
{
  "data": {
    "id": "42",
    "type": "subscriptions",
    "links": {
      "self": "/api/mnoe/v2/subscriptions/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:22.270Z",
      "updated_at": "2018-09-21T05:30:22.269Z",
      "uid": null,
      "status": "pending",
      "subscription_type": "main",
      "start_date": "2018-09-21T05:30:17.865Z",
      "end_date": "2018-10-21T05:30:17.865Z",
      "currency": "USD",
      "max_licenses": null,
      "available_licenses": 10,
      "external_id": null,
      "custom_data": null,
      "provisioning_data": null,
      "available_actions": [
        "provision"
      ],
      "organization_id": "1132",
      "user_id": null,
      "product_id": "1128",
      "product_pricing_id": "1129",
      "product_contract_id": "1130",
      "product_instance_id": null,
      "billed_locally": false,
      "externally_provisioned": true,
      "local_product": false
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/tenant",
          "related": "/api/mnoe/v2/subscriptions/42/tenant"
        }
      },
      "user": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/user",
          "related": "/api/mnoe/v2/subscriptions/42/user"
        }
      },
      "organization": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/organization",
          "related": "/api/mnoe/v2/subscriptions/42/organization"
        }
      },
      "product": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/product",
          "related": "/api/mnoe/v2/subscriptions/42/product"
        }
      },
      "product_pricing": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/product_pricing",
          "related": "/api/mnoe/v2/subscriptions/42/product_pricing"
        }
      },
      "product_contract": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/product_contract",
          "related": "/api/mnoe/v2/subscriptions/42/product_contract"
        }
      },
      "product_instance": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/product_instance",
          "related": "/api/mnoe/v2/subscriptions/42/product_instance"
        }
      },
      "license_assignments": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/license_assignments",
          "related": "/api/mnoe/v2/subscriptions/42/license_assignments"
        }
      },
      "subscription_events": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/subscription_events",
          "related": "/api/mnoe/v2/subscriptions/42/subscription_events"
        }
      }
    }
  }
}

Enable a Subscription
POST/subscriptions/{id}/enable

Enable a Subscription, transition from status expired, suspended to approved.

URI Parameters
HideShow
id
integer (required) Example: 42

The Subscription ID


Subscription

POST https://api-hub.maestrano.com/api/mnoe/v2/subscriptions/42/cancel
Requestsexample 1
Headers
Content-Type: application/json; charset=utf-8
Body
{}
Responses200
Body
{
  "data": {
    "id": "42",
    "type": "subscriptions",
    "links": {
      "self": "/api/mnoe/v2/subscriptions/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:22.270Z",
      "updated_at": "2018-09-21T05:30:22.269Z",
      "uid": null,
      "status": "pending",
      "subscription_type": "main",
      "start_date": "2018-09-21T05:30:17.865Z",
      "end_date": "2018-10-21T05:30:17.865Z",
      "currency": "USD",
      "max_licenses": null,
      "available_licenses": 10,
      "external_id": null,
      "custom_data": null,
      "provisioning_data": null,
      "available_actions": [
        "provision"
      ],
      "organization_id": "1132",
      "user_id": null,
      "product_id": "1128",
      "product_pricing_id": "1129",
      "product_contract_id": "1130",
      "product_instance_id": null,
      "billed_locally": false,
      "externally_provisioned": true,
      "local_product": false
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/tenant",
          "related": "/api/mnoe/v2/subscriptions/42/tenant"
        }
      },
      "user": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/user",
          "related": "/api/mnoe/v2/subscriptions/42/user"
        }
      },
      "organization": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/organization",
          "related": "/api/mnoe/v2/subscriptions/42/organization"
        }
      },
      "product": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/product",
          "related": "/api/mnoe/v2/subscriptions/42/product"
        }
      },
      "product_pricing": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/product_pricing",
          "related": "/api/mnoe/v2/subscriptions/42/product_pricing"
        }
      },
      "product_contract": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/product_contract",
          "related": "/api/mnoe/v2/subscriptions/42/product_contract"
        }
      },
      "product_instance": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/product_instance",
          "related": "/api/mnoe/v2/subscriptions/42/product_instance"
        }
      },
      "license_assignments": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/license_assignments",
          "related": "/api/mnoe/v2/subscriptions/42/license_assignments"
        }
      },
      "subscription_events": {
        "links": {
          "self": "/api/mnoe/v2/subscriptions/42/relationships/subscription_events",
          "related": "/api/mnoe/v2/subscriptions/42/subscription_events"
        }
      }
    }
  }
}

Cancel a Subscription
POST/subscriptions/{id}/cancel

Cancel a Subscription, transition from status requested, approved, fulfilled, expired, suspended to cancelled.

URI Parameters
HideShow
id
integer (required) Example: 42

The Subscription ID


Provisioning | LicenseAssignment

Management of Licenses assigned to Users. This is applicable to license based product pricings.

LicenseAssignments defines individual licenses assigned to users. This applies only in the case of subscription with per user pricing.

LicensesAssignments can have the following status:

  • requested: A license needs to be assigned to the User (default)

  • active: A license is currently active for the User

  • revoked: The license must be revoked from the User

Attributes

Field Type Description Example
id Filterable Unique Read only integer ID 42
created_at Filterable Read only datetime Date of creation 2018-09-21T05:30:22Z
updated_at Filterable Read only datetime Date of last update 2018-09-21T05:30:22Z
status Filterable string Status of the license assignment. One of: requested | active | revoked requested
external_id Filterable string External reference of the license assignment

Additional Filters

Filter Description
tenant.id Tenant relation
user.id User relation
subscription.id Subscription relation

Relationships

Name Type To
tenant One to One Tenant
user One to One User
subscription One to One Subscription

LicenseAssignments

GET https://api-hub.maestrano.com/api/mnoe/v2/license_assignments
Responses200
Body
{
  "data": [
    {
      "id": "42",
      "type": "license_assignments",
      "links": {
        "self": "/api/mnoe/v2/license_assignments/42"
      },
      "attributes": {
        "created_at": "2018-09-21T05:30:22.294Z",
        "updated_at": "2018-09-21T05:30:22.293Z",
        "user_id": "1135",
        "subscription_id": "1142",
        "status": "requested",
        "external_id": null
      },
      "relationships": {
        "tenant": {
          "links": {
            "self": "/api/mnoe/v2/license_assignments/42/relationships/tenant",
            "related": "/api/mnoe/v2/license_assignments/42/tenant"
          }
        },
        "user": {
          "links": {
            "self": "/api/mnoe/v2/license_assignments/42/relationships/user",
            "related": "/api/mnoe/v2/license_assignments/42/user"
          }
        },
        "subscription": {
          "links": {
            "self": "/api/mnoe/v2/license_assignments/42/relationships/subscription",
            "related": "/api/mnoe/v2/license_assignments/42/subscription"
          }
        }
      }
    }
  ]
}

Get LicenseAssignments
GET/license_assignments

Get the list of license assignments.


POST https://api-hub.maestrano.com/api/mnoe/v2/license_assignments
RequestsAssign a new License to a User
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "data": {
    "attributes": {
      "status": "requested"
    },
    "relationships": {
      "user": {
        "data": {
          "type": "users",
          "id": 62
        }
      },
      "subscription": {
        "data": {
          "type": "subscriptions",
          "id": 17
        }
      }
    }
  }
}
Responses201
Body
{
  "data": {
    "id": "42",
    "type": "license_assignments",
    "links": {
      "self": "/api/mnoe/v2/license_assignments/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:22.294Z",
      "updated_at": "2018-09-21T05:30:22.293Z",
      "user_id": "1135",
      "subscription_id": "1142",
      "status": "requested",
      "external_id": null
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/license_assignments/42/relationships/tenant",
          "related": "/api/mnoe/v2/license_assignments/42/tenant"
        }
      },
      "user": {
        "links": {
          "self": "/api/mnoe/v2/license_assignments/42/relationships/user",
          "related": "/api/mnoe/v2/license_assignments/42/user"
        }
      },
      "subscription": {
        "links": {
          "self": "/api/mnoe/v2/license_assignments/42/relationships/subscription",
          "related": "/api/mnoe/v2/license_assignments/42/subscription"
        }
      }
    }
  }
}

Create a LicenseAssignment
POST/license_assignments

Create a new LicenseAssignment.


LicenseAssignment

GET https://api-hub.maestrano.com/api/mnoe/v2/license_assignments/42
Responses200
Body
{
  "data": {
    "id": "42",
    "type": "license_assignments",
    "links": {
      "self": "/api/mnoe/v2/license_assignments/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:22.294Z",
      "updated_at": "2018-09-21T05:30:22.293Z",
      "user_id": "1135",
      "subscription_id": "1142",
      "status": "requested",
      "external_id": null
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/license_assignments/42/relationships/tenant",
          "related": "/api/mnoe/v2/license_assignments/42/tenant"
        }
      },
      "user": {
        "links": {
          "self": "/api/mnoe/v2/license_assignments/42/relationships/user",
          "related": "/api/mnoe/v2/license_assignments/42/user"
        }
      },
      "subscription": {
        "links": {
          "self": "/api/mnoe/v2/license_assignments/42/relationships/subscription",
          "related": "/api/mnoe/v2/license_assignments/42/subscription"
        }
      }
    }
  }
}

Get LicenseAssignment
GET/license_assignments/{id}

Get a single LicenseAssignment.

URI Parameters
HideShow
id
integer (required) Example: 42

The LicenseAssignment ID


PATCH https://api-hub.maestrano.com/api/mnoe/v2/license_assignments/42
RequestsFlag a License as ActiveRevoke a License
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "data": {
    "type": "license_assignments",
    "id": 114,
    "attributes": {
      "status": "active",
      "external_id": "L928501"
    }
  }
}
Responses200
Body
{
  "data": {
    "id": "42",
    "type": "license_assignments",
    "links": {
      "self": "/api/mnoe/v2/license_assignments/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:22.294Z",
      "updated_at": "2018-09-21T05:30:22.293Z",
      "user_id": "1135",
      "subscription_id": "1142",
      "status": "requested",
      "external_id": null
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/license_assignments/42/relationships/tenant",
          "related": "/api/mnoe/v2/license_assignments/42/tenant"
        }
      },
      "user": {
        "links": {
          "self": "/api/mnoe/v2/license_assignments/42/relationships/user",
          "related": "/api/mnoe/v2/license_assignments/42/user"
        }
      },
      "subscription": {
        "links": {
          "self": "/api/mnoe/v2/license_assignments/42/relationships/subscription",
          "related": "/api/mnoe/v2/license_assignments/42/subscription"
        }
      }
    }
  }
}
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "data": {
    "type": "license_assignments",
    "id": 114,
    "attributes": {
      "status": "revoked"
    }
  }
}
Responses200
Body
{
  "data": {
    "id": "42",
    "type": "license_assignments",
    "links": {
      "self": "/api/mnoe/v2/license_assignments/42"
    },
    "attributes": {
      "created_at": "2018-09-21T05:30:22.294Z",
      "updated_at": "2018-09-21T05:30:22.293Z",
      "user_id": "1135",
      "subscription_id": "1142",
      "status": "requested",
      "external_id": null
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/license_assignments/42/relationships/tenant",
          "related": "/api/mnoe/v2/license_assignments/42/tenant"
        }
      },
      "user": {
        "links": {
          "self": "/api/mnoe/v2/license_assignments/42/relationships/user",
          "related": "/api/mnoe/v2/license_assignments/42/user"
        }
      },
      "subscription": {
        "links": {
          "self": "/api/mnoe/v2/license_assignments/42/relationships/subscription",
          "related": "/api/mnoe/v2/license_assignments/42/subscription"
        }
      }
    }
  }
}

Update a LicenseAssignment
PATCH/license_assignments/{id}

Update a single LicenseAssignment.

URI Parameters
HideShow
id
integer (required) Example: 42

The LicenseAssignment ID


Provisioning | SubscriptionEvents

A Subscription Event

These events are generated on Subscription change, either when a user creates, updates or deletes a Subscription. A SubscriptionEvent represents a notification to be sent to a third-party system. It follows its own life-cycle:

  • requested: Event is waiting for approval before being submitted to a third-party system

  • pending: The request has been transmitted to the third-party system and is waiting to be provisioned

  • success: The request has been sucessfully processed, the source Subscription is automatically updated

  • error: The request has failed and should be retried. An error message will be presented to the user

  • rejected: The request has been rejected by a reseller or administrator

Attributes

Field Type Description Example
id Filterable Unique Read only integer ID 42
created_at Filterable Read only datetime Date of creation
updated_at Filterable Read only datetime Date of last update 2018-09-21T05:30:22Z
uid Filterable Unique string public facing ID used by apps
event_type Filterable Read only Create only string Subscription Event Type. One of: provision | modify | change | suspend | renew | cancel provision
status Filterable string Subscription Event Status. One of: requested | pending | success | error | rejected requested
obsolete Filterable boolean When flagged as obsolete, SubscriptionEvent should not be processed false
message Filterable string Error message when subscription event cannot be processed hello
provisioning_data Filterable text Custom information to be returned to the customer after provisioning the account, for example credentials to sign into the provisioned account.
user_name Filterable string returns the user_name for the subscription event.
subscription_details Filterable text the details for the subscription that is requested.

Additional Filters

Filter Description
tenant.id Tenant relation
subscription.id Subscription relation
organization.id Organization relation
user.id User relation
product_pricing.id Product Pricing relation

Relationships

Name Type To
tenant One to One Tenant
subscription One to One Subscription
organization One to One Organization
user One to One User
product_pricing One to One Product Pricing

SubscriptionEvents

GET https://api-hub.maestrano.com/api/mnoe/v2/subscription_events
Responses200
Body
{
  "data": [
    {
      "id": "42",
      "type": "subscription_events",
      "links": {
        "self": "/api/mnoe/v2/subscription_events/42"
      },
      "attributes": {
        "created_at": null,
        "updated_at": "2018-09-21T05:30:22.318Z",
        "uid": null,
        "event_type": "provision",
        "status": "requested",
        "obsolete": false,
        "message": "hello",
        "provisioning_data": null,
        "user_name": null,
        "subscription_details": null
      },
      "relationships": {
        "tenant": {
          "links": {
            "self": "/api/mnoe/v2/subscription_events/42/relationships/tenant",
            "related": "/api/mnoe/v2/subscription_events/42/tenant"
          }
        },
        "subscription": {
          "links": {
            "self": "/api/mnoe/v2/subscription_events/42/relationships/subscription",
            "related": "/api/mnoe/v2/subscription_events/42/subscription"
          }
        },
        "organization": {
          "links": {
            "self": "/api/mnoe/v2/subscription_events/42/relationships/organization",
            "related": "/api/mnoe/v2/subscription_events/42/organization"
          }
        },
        "user": {
          "links": {
            "self": "/api/mnoe/v2/subscription_events/42/relationships/user",
            "related": "/api/mnoe/v2/subscription_events/42/user"
          }
        },
        "product_pricing": {
          "links": {
            "self": "/api/mnoe/v2/subscription_events/42/relationships/product_pricing",
            "related": "/api/mnoe/v2/subscription_events/42/product_pricing"
          }
        }
      }
    }
  ]
}

Get SubscriptionEvents
GET/subscription_events

Get the list of subscription_events.


SubscriptionEvent

GET https://api-hub.maestrano.com/api/mnoe/v2/subscription_events/42
Responses200
Body
{
  "data": {
    "id": "42",
    "type": "subscription_events",
    "links": {
      "self": "/api/mnoe/v2/subscription_events/42"
    },
    "attributes": {
      "created_at": null,
      "updated_at": "2018-09-21T05:30:22.318Z",
      "uid": null,
      "event_type": "provision",
      "status": "requested",
      "obsolete": false,
      "message": "hello",
      "provisioning_data": null,
      "user_name": null,
      "subscription_details": null
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/subscription_events/42/relationships/tenant",
          "related": "/api/mnoe/v2/subscription_events/42/tenant"
        }
      },
      "subscription": {
        "links": {
          "self": "/api/mnoe/v2/subscription_events/42/relationships/subscription",
          "related": "/api/mnoe/v2/subscription_events/42/subscription"
        }
      },
      "organization": {
        "links": {
          "self": "/api/mnoe/v2/subscription_events/42/relationships/organization",
          "related": "/api/mnoe/v2/subscription_events/42/organization"
        }
      },
      "user": {
        "links": {
          "self": "/api/mnoe/v2/subscription_events/42/relationships/user",
          "related": "/api/mnoe/v2/subscription_events/42/user"
        }
      },
      "product_pricing": {
        "links": {
          "self": "/api/mnoe/v2/subscription_events/42/relationships/product_pricing",
          "related": "/api/mnoe/v2/subscription_events/42/product_pricing"
        }
      }
    }
  }
}

Get SubscriptionEvent
GET/subscription_events/{id}

Get a single SubscriptionEvent.

URI Parameters
HideShow
id
integer (required) Example: 42

The SubscriptionEvent ID


SubscriptionEvent

POST https://api-hub.maestrano.com/api/mnoe/v2/subscription_events/42/success
Requestsexample 1
Headers
Content-Type: application/json; charset=utf-8
Body
{}
Responses200
Body
{
  "data": {
    "id": "42",
    "type": "subscription_events",
    "links": {
      "self": "/api/mnoe/v2/subscription_events/42"
    },
    "attributes": {
      "created_at": null,
      "updated_at": "2018-09-21T05:30:22.318Z",
      "uid": null,
      "event_type": "provision",
      "status": "requested",
      "obsolete": false,
      "message": "hello",
      "provisioning_data": null,
      "user_name": null,
      "subscription_details": null
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/subscription_events/42/relationships/tenant",
          "related": "/api/mnoe/v2/subscription_events/42/tenant"
        }
      },
      "subscription": {
        "links": {
          "self": "/api/mnoe/v2/subscription_events/42/relationships/subscription",
          "related": "/api/mnoe/v2/subscription_events/42/subscription"
        }
      },
      "organization": {
        "links": {
          "self": "/api/mnoe/v2/subscription_events/42/relationships/organization",
          "related": "/api/mnoe/v2/subscription_events/42/organization"
        }
      },
      "user": {
        "links": {
          "self": "/api/mnoe/v2/subscription_events/42/relationships/user",
          "related": "/api/mnoe/v2/subscription_events/42/user"
        }
      },
      "product_pricing": {
        "links": {
          "self": "/api/mnoe/v2/subscription_events/42/relationships/product_pricing",
          "related": "/api/mnoe/v2/subscription_events/42/product_pricing"
        }
      }
    }
  }
}

Mark SubscriptionEvent as Success
POST/subscription_events/{id}/success

URI Parameters
HideShow
id
integer (required) Example: 42

The SubscriptionEvent ID


SubscriptionEvent

POST https://api-hub.maestrano.com/api/mnoe/v2/subscription_events/42/error
Requestsexample 1
Headers
Content-Type: application/json; charset=utf-8
Body
{}
Responses200
Body
{
  "data": {
    "id": "42",
    "type": "subscription_events",
    "links": {
      "self": "/api/mnoe/v2/subscription_events/42"
    },
    "attributes": {
      "created_at": null,
      "updated_at": "2018-09-21T05:30:22.318Z",
      "uid": null,
      "event_type": "provision",
      "status": "requested",
      "obsolete": false,
      "message": "hello",
      "provisioning_data": null,
      "user_name": null,
      "subscription_details": null
    },
    "relationships": {
      "tenant": {
        "links": {
          "self": "/api/mnoe/v2/subscription_events/42/relationships/tenant",
          "related": "/api/mnoe/v2/subscription_events/42/tenant"
        }
      },
      "subscription": {
        "links": {
          "self": "/api/mnoe/v2/subscription_events/42/relationships/subscription",
          "related": "/api/mnoe/v2/subscription_events/42/subscription"
        }
      },
      "organization": {
        "links": {
          "self": "/api/mnoe/v2/subscription_events/42/relationships/organization",
          "related": "/api/mnoe/v2/subscription_events/42/organization"
        }
      },
      "user": {
        "links": {
          "self": "/api/mnoe/v2/subscription_events/42/relationships/user",
          "related": "/api/mnoe/v2/subscription_events/42/user"
        }
      },
      "product_pricing": {
        "links": {
          "self": "/api/mnoe/v2/subscription_events/42/relationships/product_pricing",
          "related": "/api/mnoe/v2/subscription_events/42/product_pricing"
        }
      }
    }
  }
}

Mark SubscriptionEvent as Error
POST/subscription_events/{id}/error

URI Parameters
HideShow
id
integer (required) Example: 42

The SubscriptionEvent ID


Provisioning | Workflows

Manage Products

The first thing you need to do as a Product Provider is to list the Products available to the customers.

References
Create a Product
Update a Product

Add a provisionable Application

Create an application that can be provisioned automatically on customer request.

{
   "data":{
      "type":"products",
      "attributes":{
        "name": "Awesome CRM",
        "product_type": "application",
        "externally_provisioned": true,
        "external_id": "CRM029341"
      }
   }
}

Add an Addon to an existing Application

Add an Addon with a reference to the parent Application. Addons can be provisioned only if the parent Application has already been provisioned.

{
   "data":{
      "type":"products",
      "attributes":{
        "name": "Invoicing Module",
        "product_type": "application",
        "externally_provisioned": true,
        "external_id": "CRM0293981"
      },
      "relationships": {
        "parent": {
          "data": {
            "type": "products",
            "id": "92834"
          }
        }
      }
   }
}

Manage Product Pricings

After creating a Product, a Pricing must be attached to it before it can be available to the users.

References
Create a Product
Update a Product

Add a Product Pricing

Add a Product Pricing with a monthly recurring charge.

{
  "data": {
    "attributes": {
      "name": "Monthly Subscription",
      "description": "User charged on a monthly basis",
      "free": false,
      "per_duration": 1,
      "per_unit": "month",
      "prices": "{‘USD’ => 9.95, ‘AUD’ => 12.95, ‘EUR’ => 7.95}"
    }
  }
}

Provisioning | Product Provider Webhook

SubscriptionEvents

When a Subscriptions is added to a Product flagged as externally_provisioned, a notification is sent to the provisioning_url configured under your Product or falls back on your ProductProvider provisioning_url


A POST request containing the content of the SubscriptionEvent is sent to your endpoint. Note that this endpoint must be configured on your application.

You will need to fetch the content of the SubscriptionEvent and the Subscription detail. Get SubscriptionEvent



Depending on the HTTP status code returned by your webhook, the following will occur:

  • 200 or 201: The SubscriptionEvent is flagged as success and the Subscription marked as fulfilled

  • 202: If you process the subscription fulfillment asynchronously, you can return a 202 response. The SubscriptionEvent is then flagged as pending. You will then need to call the SubscriptionEvent /success endpoint to flag the request as successful or /error to flag the request as unsuccessful. You should also specify the message attribute to inform the user of the error cause.

  • 400..500 (any error): The SubscriptionEvent is flagged as error. You will need to update the SubscriptionEvent by setting the message attribute with relevant failure information.

POST https://api-hub.maestrano.com/api/mnoe/v2/subscription_event_webhook
RequestsNew Product SubscriptionUpdate Product Subscription
Headers
Content-Type: application/json; charset=utf-8
Body
{
    "data": {
        "id": "5ae20819-23f4-49dd-91f0-2173ba67a7da",
        "type": "subscription_events",
        "links": {
            "self": "http://localhost:3000/api/mnoe/v2/subscription_events/5ae20819-23f4-49dd-91f0-2173ba67a7da"
        },
        "attributes": {
            "created_at": "2017-06-15T05:11:51.000Z",
            "updated_at": "2017-06-15T05:11:51.000Z",
            "uid": null,
            "event_type": "create"
        },
        "relationships": {
            "organization": {
                "links": {
                    "self": "http://localhost:3000/api/mnoe/v2/subscription_events/5ae20819-23f4-49dd-91f0-2173ba67a7da/relationships/organization",
                    "related": "http://localhost:3000/api/mnoe/v2/subscription_events/5ae20819-23f4-49dd-91f0-2173ba67a7da/organization"
                },
                "data": {
                    "type": "organizations",
                    "id": "1"
                }
            },
            "user": {
                "links": {
                    "self": "http://localhost:3000/api/mnoe/v2/subscription_events/5ae20819-23f4-49dd-91f0-2173ba67a7da/relationships/user",
                    "related": "http://localhost:3000/api/mnoe/v2/subscription_events/5ae20819-23f4-49dd-91f0-2173ba67a7da/user"
                }
            },
            "subscription": {
                "links": {
                    "self": "http://localhost:3000/api/mnoe/v2/subscription_events/5ae20819-23f4-49dd-91f0-2173ba67a7da/relationships/subscription",
                    "related": "http://localhost:3000/api/mnoe/v2/subscription_events/5ae20819-23f4-49dd-91f0-2173ba67a7da/subscription"
                },
                "data": {
                    "type": "subscriptions",
                    "id": "f500cc17-1a61-47be-a263-17cc0fbd383a"
                }
            }
        }
    }
}
}
Responses200
Headers
Content-Type: application/json; charset=utf-8
Headers
Content-Type: application/json; charset=utf-8
Body
{
  "data": {
    "id": "a998cd62-94d8-4b36-9c46-dd381a2b1913",
    "type": "subscription_events",
    "links": {
      "self": "http://localhost:3000/api/mnoe/v2/subscription_events/a998cd62-94d8-4b36-9c46-dd381a2b1913"
    },
    "attributes": {
      "created_at": "2017-06-15T07:22:40.000Z",
      "updated_at": "2017-06-15T07:22:40.000Z",
      "uid": null,
      "event_type": "update"
    },
    "relationships": {
      "organization": {
        "links": {
          "self": "http://localhost:3000/api/mnoe/v2/subscription_events/a998cd62-94d8-4b36-9c46-dd381a2b1913/relationships/organization",
          "related": "http://localhost:3000/api/mnoe/v2/subscription_events/a998cd62-94d8-4b36-9c46-dd381a2b1913/organization"
        },
        "data": {
          "type": "organizations",
          "id": "1"
        }
      },
      "user": {
        "links": {
          "self": "http://localhost:3000/api/mnoe/v2/subscription_events/a998cd62-94d8-4b36-9c46-dd381a2b1913/relationships/user",
          "related": "http://localhost:3000/api/mnoe/v2/subscription_events/a998cd62-94d8-4b36-9c46-dd381a2b1913/user"
        }
      },
      "subscription": {
        "links": {
          "self": "http://localhost:3000/api/mnoe/v2/subscription_events/a998cd62-94d8-4b36-9c46-dd381a2b1913/relationships/subscription",
          "related": "http://localhost:3000/api/mnoe/v2/subscription_events/a998cd62-94d8-4b36-9c46-dd381a2b1913/subscription"
        },
        "data": {
          "type": "subscriptions",
          "id": "f500cc17-1a61-47be-a263-17cc0fbd383a"
        }
      }
    }
  }
}
Responses200
Headers
Content-Type: application/json; charset=utf-8

Receive SubscriptionEvent
POST/subscription_event_webhook


Generated by aglio on 21 Sep 2018