NAV
Python Go HTTP JavaScript Node.js

MLS API v1

Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

Base URLs:

Authentication

AccountingService

Returns a list of invoices

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://mcls-api.mycujoo.tv/accounting/v1beta1/invoices', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://mcls-api.mycujoo.tv/accounting/v1beta1/invoices", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET https://mcls-api.mycujoo.tv/accounting/v1beta1/invoices HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/accounting/v1beta1/invoices',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/accounting/v1beta1/invoices',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /accounting/v1beta1/invoices

List all the invoices connected to your account.

Parameters

Name In Type Required Description
start_time query string(date-time) false The filter is applied to issue_time
end_time query string(date-time) false The filter is applied to issue_time

Example responses

200 Response

{
  "invoices": [
    {
      "amount": 0,
      "currency": "string",
      "due_time": "2019-08-24T14:15:22Z",
      "end_time": "2019-08-24T14:15:22Z",
      "id": "string",
      "issue_time": "2019-08-24T14:15:22Z",
      "org_id": "string",
      "payment": {
        "amount": 0,
        "create_time": "2019-08-24T14:15:22Z",
        "currency": "string",
        "id": "string",
        "invoice_id": "string",
        "message": "string",
        "org_id": "string",
        "payment_method": {
          "card": {
            "brand": "string",
            "exp_month": 0,
            "exp_year": 0,
            "last_digits": "string",
            "name": "string"
          },
          "create_time": "2019-08-24T14:15:22Z",
          "id": "string",
          "is_default": true,
          "org_id": "string",
          "provider": "PAYMENT_METHOD_PROVIDER_UNSPECIFIED",
          "update_time": "2019-08-24T14:15:22Z"
        },
        "status": "PAYMENT_STATUS_UNSPECIFIED"
      },
      "start_time": "2019-08-24T14:15:22Z",
      "status": "STATUS_UNSPECIFIED",
      "update_time": "2019-08-24T14:15:22Z",
      "usages": [
        {
          "amount": 0,
          "amount_unit": "AMOUNT_UNIT_UNSPECIFIED",
          "cost": {
            "amount": 0,
            "currency": "string"
          },
          "description": "string",
          "end_time": "2019-08-24T14:15:22Z",
          "sku_id": "string",
          "start_time": "2019-08-24T14:15:22Z"
        }
      ]
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.accounting.v1beta1.ListInvoicesResponse
default Default An unexpected error response. google.rpc.Status

Download an invoice

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://mcls-api.mycujoo.tv/accounting/v1beta1/invoices/{invoice_id}/download', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://mcls-api.mycujoo.tv/accounting/v1beta1/invoices/{invoice_id}/download", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET https://mcls-api.mycujoo.tv/accounting/v1beta1/invoices/{invoice_id}/download HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/accounting/v1beta1/invoices/{invoice_id}/download',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/accounting/v1beta1/invoices/{invoice_id}/download',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /accounting/v1beta1/invoices/{invoice_id}/download

Generates and return a downloadable URL of invoice.

Parameters

Name In Type Required Description
invoice_id path string true Unique id of the invoice.

Example responses

200 Response

{
  "download_url": "string"
}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.accounting.v1beta1.DownloadInvoiceResponse
default Default An unexpected error response. google.rpc.Status

Return organization's information

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://mcls-api.mycujoo.tv/accounting/v1beta1/organizations/{org_id}', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://mcls-api.mycujoo.tv/accounting/v1beta1/organizations/{org_id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET https://mcls-api.mycujoo.tv/accounting/v1beta1/organizations/{org_id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/accounting/v1beta1/organizations/{org_id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/accounting/v1beta1/organizations/{org_id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /accounting/v1beta1/organizations/{org_id}

Get organization's information

Parameters

Name In Type Required Description
org_id path string true none

Example responses

200 Response

{
  "organization": {
    "email": "string",
    "id": "string",
    "invoice_template_id": "string",
    "is_enabled": true,
    "is_test": true,
    "name": "string",
    "tax": {
      "address_lines": [
        "string"
      ],
      "city": "string",
      "country": "st",
      "id": "string",
      "name": "string",
      "phone_number": "string",
      "province": "string",
      "zip_code": "string"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.accounting.v1beta1.GetOrganizationResponse
404 Not Found Organization not found Inline
500 Internal Server Error Internal Server Error Inline
default Default An unexpected error response. google.rpc.Status

Response Schema

Updates organization data

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.patch('https://mcls-api.mycujoo.tv/accounting/v1beta1/organizations/{org_id}', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PATCH", "https://mcls-api.mycujoo.tv/accounting/v1beta1/organizations/{org_id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

PATCH https://mcls-api.mycujoo.tv/accounting/v1beta1/organizations/{org_id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "email": "string",
  "id": "string",
  "invoice_template_id": "string",
  "is_enabled": true,
  "is_test": true,
  "name": "string",
  "tax": {
    "address_lines": [
      "string"
    ],
    "city": "string",
    "country": "st",
    "id": "string",
    "name": "string",
    "phone_number": "string",
    "province": "string",
    "zip_code": "string"
  }
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/accounting/v1beta1/organizations/{org_id}',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "email": "string",
  "id": "string",
  "invoice_template_id": "string",
  "is_enabled": true,
  "is_test": true,
  "name": "string",
  "tax": {
    "address_lines": [
      "string"
    ],
    "city": "string",
    "country": "st",
    "id": "string",
    "name": "string",
    "phone_number": "string",
    "province": "string",
    "zip_code": "string"
  }
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/accounting/v1beta1/organizations/{org_id}',
{
  method: 'PATCH',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PATCH /accounting/v1beta1/organizations/{org_id}

Updates organization's info

Body parameter

{
  "email": "string",
  "id": "string",
  "invoice_template_id": "string",
  "is_enabled": true,
  "is_test": true,
  "name": "string",
  "tax": {
    "address_lines": [
      "string"
    ],
    "city": "string",
    "country": "st",
    "id": "string",
    "name": "string",
    "phone_number": "string",
    "province": "string",
    "zip_code": "string"
  }
}

Parameters

Name In Type Required Description
org_id path string true none
update_mask query string false none
body body mycujoo.accounting.v1beta1.Organization true none

Example responses

200 Response

{
  "email": "string",
  "id": "string",
  "invoice_template_id": "string",
  "is_enabled": true,
  "is_test": true,
  "name": "string",
  "tax": {
    "address_lines": [
      "string"
    ],
    "city": "string",
    "country": "st",
    "id": "string",
    "name": "string",
    "phone_number": "string",
    "province": "string",
    "zip_code": "string"
  }
}

Responses

Status Meaning Description Schema
200 OK (empty) mycujoo.accounting.v1beta1.Organization
404 Not Found Organization not found Inline
500 Internal Server Error Internal Server Error Inline
default Default An unexpected error response. google.rpc.Status

Response Schema

Returns payments activities

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://mcls-api.mycujoo.tv/accounting/v1beta1/payments', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://mcls-api.mycujoo.tv/accounting/v1beta1/payments", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET https://mcls-api.mycujoo.tv/accounting/v1beta1/payments HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/accounting/v1beta1/payments',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/accounting/v1beta1/payments',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /accounting/v1beta1/payments

Returns payments activities.

Example responses

200 Response

{
  "payments": [
    {
      "amount": 0,
      "create_time": "2019-08-24T14:15:22Z",
      "currency": "string",
      "id": "string",
      "invoice_id": "string",
      "message": "string",
      "org_id": "string",
      "payment_method": {
        "card": {
          "brand": "string",
          "exp_month": 0,
          "exp_year": 0,
          "last_digits": "string",
          "name": "string"
        },
        "create_time": "2019-08-24T14:15:22Z",
        "id": "string",
        "is_default": true,
        "org_id": "string",
        "provider": "PAYMENT_METHOD_PROVIDER_UNSPECIFIED",
        "update_time": "2019-08-24T14:15:22Z"
      },
      "status": "PAYMENT_STATUS_UNSPECIFIED"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.accounting.v1beta1.ListPaymentsResponse
500 Internal Server Error Internal Server Error Inline
default Default An unexpected error response. google.rpc.Status

Response Schema

Returns the list of payment methods

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://mcls-api.mycujoo.tv/accounting/v1beta1/payments/methods', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://mcls-api.mycujoo.tv/accounting/v1beta1/payments/methods", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET https://mcls-api.mycujoo.tv/accounting/v1beta1/payments/methods HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/accounting/v1beta1/payments/methods',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/accounting/v1beta1/payments/methods',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /accounting/v1beta1/payments/methods

Returns the list of payment methods.

Example responses

200 Response

{
  "payment_method": [
    {
      "card": {
        "brand": "string",
        "exp_month": 0,
        "exp_year": 0,
        "last_digits": "string",
        "name": "string"
      },
      "create_time": "2019-08-24T14:15:22Z",
      "id": "string",
      "is_default": true,
      "org_id": "string",
      "provider": "PAYMENT_METHOD_PROVIDER_UNSPECIFIED",
      "update_time": "2019-08-24T14:15:22Z"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.accounting.v1beta1.ListPaymentMethodsResponse
500 Internal Server Error Internal Server Error Inline
default Default An unexpected error response. google.rpc.Status

Response Schema

Creates a new Stripe payment method

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.post('https://mcls-api.mycujoo.tv/accounting/v1beta1/payments/methods/stripe', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://mcls-api.mycujoo.tv/accounting/v1beta1/payments/methods/stripe", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST https://mcls-api.mycujoo.tv/accounting/v1beta1/payments/methods/stripe HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "setup_intent_id": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/accounting/v1beta1/payments/methods/stripe',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "setup_intent_id": "string"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/accounting/v1beta1/payments/methods/stripe',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /accounting/v1beta1/payments/methods/stripe

Creates a new Stripe payment method.

Body parameter

{
  "setup_intent_id": "string"
}

Parameters

Name In Type Required Description
body body mycujoo.accounting.v1beta1.CreateStripePaymentMethodRequest true none

Example responses

200 Response

{
  "card": {
    "brand": "string",
    "exp_month": 0,
    "exp_year": 0,
    "last_digits": "string",
    "name": "string"
  },
  "create_time": "2019-08-24T14:15:22Z",
  "id": "string",
  "is_default": true,
  "org_id": "string",
  "provider": "PAYMENT_METHOD_PROVIDER_UNSPECIFIED",
  "update_time": "2019-08-24T14:15:22Z"
}

Responses

Status Meaning Description Schema
200 OK (empty) mycujoo.accounting.v1beta1.PaymentMethod
500 Internal Server Error Internal Server Error Inline
default Default An unexpected error response. google.rpc.Status

Response Schema

Returns the requested payment method

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://mcls-api.mycujoo.tv/accounting/v1beta1/payments/methods/{id}', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://mcls-api.mycujoo.tv/accounting/v1beta1/payments/methods/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET https://mcls-api.mycujoo.tv/accounting/v1beta1/payments/methods/{id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/accounting/v1beta1/payments/methods/{id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/accounting/v1beta1/payments/methods/{id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /accounting/v1beta1/payments/methods/{id}

Returns the requested payment method.

Parameters

Name In Type Required Description
id path string true Unique Payment method ID

Example responses

200 Response

{
  "payment_method": {
    "card": {
      "brand": "string",
      "exp_month": 0,
      "exp_year": 0,
      "last_digits": "string",
      "name": "string"
    },
    "create_time": "2019-08-24T14:15:22Z",
    "id": "string",
    "is_default": true,
    "org_id": "string",
    "provider": "PAYMENT_METHOD_PROVIDER_UNSPECIFIED",
    "update_time": "2019-08-24T14:15:22Z"
  }
}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.accounting.v1beta1.GetPaymentMethodResponse
404 Not Found Payment method not found Inline
500 Internal Server Error Internal Server Error Inline
default Default An unexpected error response. google.rpc.Status

Response Schema

Deletes an payment method

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.delete('https://mcls-api.mycujoo.tv/accounting/v1beta1/payments/methods/{id}', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "https://mcls-api.mycujoo.tv/accounting/v1beta1/payments/methods/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

DELETE https://mcls-api.mycujoo.tv/accounting/v1beta1/payments/methods/{id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/accounting/v1beta1/payments/methods/{id}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/accounting/v1beta1/payments/methods/{id}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

DELETE /accounting/v1beta1/payments/methods/{id}

Deletes a payment method.

Parameters

Name In Type Required Description
id path string true Unique Payment method ID

Example responses

200 Response

{}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.accounting.v1beta1.DeletePaymentMethodResponse
404 Not Found Payment method not found Inline
500 Internal Server Error Internal Server Error Inline
default Default An unexpected error response. google.rpc.Status

Response Schema

Updates the existing payment method

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.patch('https://mcls-api.mycujoo.tv/accounting/v1beta1/payments/methods/{id}', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PATCH", "https://mcls-api.mycujoo.tv/accounting/v1beta1/payments/methods/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

PATCH https://mcls-api.mycujoo.tv/accounting/v1beta1/payments/methods/{id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "is_default": true
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/accounting/v1beta1/payments/methods/{id}',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "is_default": true
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/accounting/v1beta1/payments/methods/{id}',
{
  method: 'PATCH',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PATCH /accounting/v1beta1/payments/methods/{id}

Modifying the existing payment method.

Body parameter

{
  "is_default": true
}

Parameters

Name In Type Required Description
id path string true Unique Payment method ID
update_mask query string false none
body body mycujoo.accounting.v1beta1.PaymentMethodUpdate true none

Example responses

200 Response

{
  "card": {
    "brand": "string",
    "exp_month": 0,
    "exp_year": 0,
    "last_digits": "string",
    "name": "string"
  },
  "create_time": "2019-08-24T14:15:22Z",
  "id": "string",
  "is_default": true,
  "org_id": "string",
  "provider": "PAYMENT_METHOD_PROVIDER_UNSPECIFIED",
  "update_time": "2019-08-24T14:15:22Z"
}

Responses

Status Meaning Description Schema
200 OK (empty) mycujoo.accounting.v1beta1.PaymentMethod
404 Not Found Payment method not found Inline
500 Internal Server Error Internal Server Error Inline
default Default An unexpected error response. google.rpc.Status

Response Schema

Creates a new stripe setup intent

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.post('https://mcls-api.mycujoo.tv/accounting/v1beta1/payments/providers/stripe/setupintent', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://mcls-api.mycujoo.tv/accounting/v1beta1/payments/providers/stripe/setupintent", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST https://mcls-api.mycujoo.tv/accounting/v1beta1/payments/providers/stripe/setupintent HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json

const inputBody = '{}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/accounting/v1beta1/payments/providers/stripe/setupintent',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/accounting/v1beta1/payments/providers/stripe/setupintent',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /accounting/v1beta1/payments/providers/stripe/setupintent

Creates a new stripe setup intent.

Body parameter

{}

Parameters

Name In Type Required Description
body body mycujoo.accounting.v1beta1.CreateStripeSetupIntentRequest true none

Example responses

200 Response

{
  "client_secret": "string"
}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.accounting.v1beta1.CreateStripeSetupIntentResponse
500 Internal Server Error Internal Server Error Inline
default Default An unexpected error response. google.rpc.Status

Response Schema

Returns a list of SKU pricings.

Code samples

import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://mcls-api.mycujoo.tv/accounting/v1beta1/pricing', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://mcls-api.mycujoo.tv/accounting/v1beta1/pricing", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET https://mcls-api.mycujoo.tv/accounting/v1beta1/pricing HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json


const headers = {
  'Accept':'application/json'
};

fetch('https://mcls-api.mycujoo.tv/accounting/v1beta1/pricing',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json'
};

fetch('https://mcls-api.mycujoo.tv/accounting/v1beta1/pricing',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /accounting/v1beta1/pricing

List all prices.

Example responses

200 Response

{
  "pricings": [
    {
      "current_usage": 0,
      "description": "string",
      "discounts": [
        {
          "end_time": "2019-08-24T14:15:22Z",
          "max_usage": 0,
          "min_usage": 0,
          "price": {
            "currency_code": "string",
            "nanos": 0,
            "units": "string"
          },
          "start_time": "2019-08-24T14:15:22Z"
        }
      ],
      "msrp": {
        "currency_code": "string",
        "nanos": 0,
        "units": "string"
      },
      "price": {
        "currency_code": "string",
        "nanos": 0,
        "units": "string"
      },
      "sku_id": "string"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.accounting.v1beta1.ListPricingResponse
default Default An unexpected error response. google.rpc.Status

Returns a list of SKU pricings specifically for an organization.

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://mcls-api.mycujoo.tv/accounting/v1beta1/pricing/{org_id}', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://mcls-api.mycujoo.tv/accounting/v1beta1/pricing/{org_id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET https://mcls-api.mycujoo.tv/accounting/v1beta1/pricing/{org_id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/accounting/v1beta1/pricing/{org_id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/accounting/v1beta1/pricing/{org_id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /accounting/v1beta1/pricing/{org_id}

List all prices for your account.

Parameters

Name In Type Required Description
org_id path string true none

Example responses

200 Response

{
  "pricings": [
    {
      "current_usage": 0,
      "description": "string",
      "discounts": [
        {
          "end_time": "2019-08-24T14:15:22Z",
          "max_usage": 0,
          "min_usage": 0,
          "price": {
            "currency_code": "string",
            "nanos": 0,
            "units": "string"
          },
          "start_time": "2019-08-24T14:15:22Z"
        }
      ],
      "msrp": {
        "currency_code": "string",
        "nanos": 0,
        "units": "string"
      },
      "price": {
        "currency_code": "string",
        "nanos": 0,
        "units": "string"
      },
      "sku_id": "string"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.accounting.v1beta1.ListOrganizationPricingResponse
default Default An unexpected error response. google.rpc.Status

Returns a list of skus usages

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://mcls-api.mycujoo.tv/accounting/v1beta1/usages', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://mcls-api.mycujoo.tv/accounting/v1beta1/usages", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET https://mcls-api.mycujoo.tv/accounting/v1beta1/usages HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/accounting/v1beta1/usages',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/accounting/v1beta1/usages',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /accounting/v1beta1/usages

List all the SKUs usages connected to your account.

Parameters

Name In Type Required Description
aggregate query boolean false Aggregate multi SKUs with the same ID in one result
start_time query string(date-time) false The filter applies to start_time
end_time query string(date-time) false The filter applies to end_time
page_size query integer(int32) false A positive number that is the maximum number of results to return.
page_token query string false If this field is not empty then it must contain the next_page_token value

Detailed descriptions

page_token: If this field is not empty then it must contain the next_page_token value returned by a previous call to this method. Using this field causes the method to return additional results from the previous method call.

Example responses

200 Response

{
  "next_page_token": "string",
  "usages": [
    {
      "amount": 0,
      "end_time": "2019-08-24T14:15:22Z",
      "sku_id": "string",
      "start_time": "2019-08-24T14:15:22Z"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.accounting.v1beta1.ListSKUUsageResponse
default Default An unexpected error response. google.rpc.Status

Returns a list of running skus usages for the current period

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://mcls-api.mycujoo.tv/accounting/v1beta1/usages/running', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://mcls-api.mycujoo.tv/accounting/v1beta1/usages/running", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET https://mcls-api.mycujoo.tv/accounting/v1beta1/usages/running HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/accounting/v1beta1/usages/running',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/accounting/v1beta1/usages/running',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /accounting/v1beta1/usages/running

List all the SKUs usages connected to your account. You used them previusely.

Example responses

200 Response

{
  "amount": 0,
  "currency": "string",
  "end_time": "2019-08-24T14:15:22Z",
  "start_time": "2019-08-24T14:15:22Z",
  "update_time": "2019-08-24T14:15:22Z",
  "usages": [
    {
      "amount": 0,
      "amount_unit": "AMOUNT_UNIT_UNSPECIFIED",
      "cost": {
        "amount": 0,
        "currency": "string"
      },
      "description": "string",
      "end_time": "2019-08-24T14:15:22Z",
      "sku_id": "string",
      "start_time": "2019-08-24T14:15:22Z"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.accounting.v1beta1.ListRunningSKUUsageResponse
default Default An unexpected error response. google.rpc.Status

Returns the information of the requeted VAT number

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://mcls-api.mycujoo.tv/accounting/v1beta1/vat/validate', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://mcls-api.mycujoo.tv/accounting/v1beta1/vat/validate", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET https://mcls-api.mycujoo.tv/accounting/v1beta1/vat/validate HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/accounting/v1beta1/vat/validate',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/accounting/v1beta1/vat/validate',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /accounting/v1beta1/vat/validate

Returns the information of the requeted VAT number.

Parameters

Name In Type Required Description
vat_number query string false The VAT number.

Example responses

200 Response

{
  "company_address": "string",
  "company_name": "string",
  "country_code": "string",
  "is_valid": true,
  "vat_number": "string"
}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.accounting.v1beta1.GetVATValidationResponse
500 Internal Server Error Internal Server Error Inline
default Default An unexpected error response. google.rpc.Status

Response Schema

AccountsService

ListAccountsRequest

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://mcls-api.mycujoo.tv/accounts/v1', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://mcls-api.mycujoo.tv/accounts/v1", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET https://mcls-api.mycujoo.tv/accounts/v1 HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/accounts/v1',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/accounts/v1',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /accounts/v1

Returns list of account matched by input query (if specified) or all within the org.

Parameters

Name In Type Required Description
page_size query integer(int32) false Maximum number of records to return
page_token query string false If this field is not empty then it must contain the next_page_token value

Detailed descriptions

page_token: If this field is not empty then it must contain the next_page_token value returned by a previous call to this method. Using this field causes the method to return additional results from the previous method call.

Example responses

200 Response

{
  "accounts": [
    {
      "email": "string",
      "first_name": "string",
      "id": "string",
      "is_verified": true,
      "last_name": "string"
    }
  ],
  "next_page_token": "string"
}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.accounts.v1.ListAccountsResponse
default Default An unexpected error response. google.rpc.Status

CreateAccount

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.post('https://mcls-api.mycujoo.tv/accounts/v1', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://mcls-api.mycujoo.tv/accounts/v1", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST https://mcls-api.mycujoo.tv/accounts/v1 HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "email": "string",
  "first_name": "string",
  "last_name": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/accounts/v1',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "email": "string",
  "first_name": "string",
  "last_name": "string"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/accounts/v1',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /accounts/v1

Creates account within organization.

Body parameter

{
  "email": "string",
  "first_name": "string",
  "last_name": "string"
}

Parameters

Name In Type Required Description
body body mycujoo.accounts.v1.CreateAccountRequest true none

Example responses

200 Response

{
  "password": "string"
}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.accounts.v1.CreateAccountResponse
default Default An unexpected error response. google.rpc.Status

UpdateAccount

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.patch('https://mcls-api.mycujoo.tv/accounts/v1/accounts/{account_id}', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PATCH", "https://mcls-api.mycujoo.tv/accounts/v1/accounts/{account_id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

PATCH https://mcls-api.mycujoo.tv/accounts/v1/accounts/{account_id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "first_name": "string",
  "last_name": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/accounts/v1/accounts/{account_id}',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "first_name": "string",
  "last_name": "string"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/accounts/v1/accounts/{account_id}',
{
  method: 'PATCH',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PATCH /accounts/v1/accounts/{account_id}

Updates user account profile data.

Body parameter

{
  "first_name": "string",
  "last_name": "string"
}

Parameters

Name In Type Required Description
account_id path string true none
update_mask query string false none
body body mycujoo.accounts.v1.AccountUpdate true none

Example responses

200 Response

{
  "account": {
    "email": "string",
    "first_name": "string",
    "id": "string",
    "is_verified": true,
    "last_name": "string"
  }
}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.accounts.v1.UpdateAccountResponse
default Default An unexpected error response. google.rpc.Status

DeleteBindings

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.post('https://mcls-api.mycujoo.tv/accounts/v1/accounts/{account_id}/delete_bindings', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://mcls-api.mycujoo.tv/accounts/v1/accounts/{account_id}/delete_bindings", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST https://mcls-api.mycujoo.tv/accounts/v1/accounts/{account_id}/delete_bindings HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json

const inputBody = '{}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/accounts/v1/accounts/{account_id}/delete_bindings',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/accounts/v1/accounts/{account_id}/delete_bindings',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /accounts/v1/accounts/{account_id}/delete_bindings

This method revokes all roles for the given account by deleting all account bindings.

Body parameter

{}

Parameters

Name In Type Required Description
account_id path string true ID of the account to revoke roles from
body body object true none

Example responses

200 Response

{}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.accounts.v1.DeleteBindingsResponse
default Default An unexpected error response. google.rpc.Status

BatchGetAccounts

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.post('https://mcls-api.mycujoo.tv/accounts/v1/batch', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://mcls-api.mycujoo.tv/accounts/v1/batch", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST https://mcls-api.mycujoo.tv/accounts/v1/batch HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "account_ids": [
    "string"
  ]
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/accounts/v1/batch',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "account_ids": [
    "string"
  ]
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/accounts/v1/batch',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /accounts/v1/batch

Loads account information for multiple accounts.

Body parameter

{
  "account_ids": [
    "string"
  ]
}

Parameters

Name In Type Required Description
body body mycujoo.accounts.v1.BatchGetAccountsRequest true none

Example responses

200 Response

{
  "accounts": [
    {
      "email": "string",
      "first_name": "string",
      "id": "string",
      "is_verified": true,
      "last_name": "string"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.accounts.v1.BatchGetAccountsResponse
default Default An unexpected error response. google.rpc.Status

BatchGetAccountsByEmail

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.post('https://mcls-api.mycujoo.tv/accounts/v1/batch/by_email', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://mcls-api.mycujoo.tv/accounts/v1/batch/by_email", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST https://mcls-api.mycujoo.tv/accounts/v1/batch/by_email HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "email_addresses": [
    "string"
  ]
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/accounts/v1/batch/by_email',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "email_addresses": [
    "string"
  ]
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/accounts/v1/batch/by_email',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /accounts/v1/batch/by_email

Loads account information for multiple accounts by list of email addresses.

Body parameter

{
  "email_addresses": [
    "string"
  ]
}

Parameters

Name In Type Required Description
body body mycujoo.accounts.v1.BatchGetAccountsByEmailRequest true none

Example responses

200 Response

{
  "accounts": [
    {
      "email": "string",
      "first_name": "string",
      "id": "string",
      "is_verified": true,
      "last_name": "string"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.accounts.v1.BatchGetAccountsByEmailResponse
default Default An unexpected error response. google.rpc.Status

BatchDeleteAccounts

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.post('https://mcls-api.mycujoo.tv/accounts/v1/batch/delete', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://mcls-api.mycujoo.tv/accounts/v1/batch/delete", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST https://mcls-api.mycujoo.tv/accounts/v1/batch/delete HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "ids": [
    "string"
  ]
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/accounts/v1/batch/delete',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "ids": [
    "string"
  ]
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/accounts/v1/batch/delete',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /accounts/v1/batch/delete

Deletes accounts and removes them from associated IAM policies

Body parameter

{
  "ids": [
    "string"
  ]
}

Parameters

Name In Type Required Description
body body mycujoo.accounts.v1.BatchDeleteAccountsRequest true none

Example responses

200 Response

{}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.accounts.v1.BatchDeleteAccountsResponse
default Default An unexpected error response. google.rpc.Status

ChangePassword

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.post('https://mcls-api.mycujoo.tv/accounts/v1/change_password', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://mcls-api.mycujoo.tv/accounts/v1/change_password", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST https://mcls-api.mycujoo.tv/accounts/v1/change_password HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "new_password": "string",
  "old_password": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/accounts/v1/change_password',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "new_password": "string",
  "old_password": "string"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/accounts/v1/change_password',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /accounts/v1/change_password

Changes account password using old password and new password.

Body parameter

{
  "new_password": "string",
  "old_password": "string"
}

Parameters

Name In Type Required Description
body body mycujoo.accounts.v1.ChangePasswordRequest true none

Example responses

200 Response

{}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.accounts.v1.ChangePasswordResponse
default Default An unexpected error response. google.rpc.Status

CheckPasswordReset

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

r = requests.post('https://mcls-api.mycujoo.tv/accounts/v1/check_password_reset', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://mcls-api.mycujoo.tv/accounts/v1/check_password_reset", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST https://mcls-api.mycujoo.tv/accounts/v1/check_password_reset HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "reset_code": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://mcls-api.mycujoo.tv/accounts/v1/check_password_reset',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "reset_code": "string"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://mcls-api.mycujoo.tv/accounts/v1/check_password_reset',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /accounts/v1/check_password_reset

It will check that reset code is still valid and we can proceed with changing password. It generates token that we can use to immediately sign-in to account.

Body parameter

{
  "reset_code": "string"
}

Parameters

Name In Type Required Description
body body mycujoo.accounts.v1.CheckPasswordResetRequest true none

Example responses

200 Response

{
  "token": "string"
}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.accounts.v1.CheckPasswordResetResponse
default Default An unexpected error response. google.rpc.Status

InviteAccount

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.post('https://mcls-api.mycujoo.tv/accounts/v1/invitations', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://mcls-api.mycujoo.tv/accounts/v1/invitations", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST https://mcls-api.mycujoo.tv/accounts/v1/invitations HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "email": "string",
  "first_name": "string",
  "last_name": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/accounts/v1/invitations',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "email": "string",
  "first_name": "string",
  "last_name": "string"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/accounts/v1/invitations',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /accounts/v1/invitations

Basically creates account same as CreateAccount but is meant to be used by unprivileged users so that the endpoint does not return any data like password

Body parameter

{
  "email": "string",
  "first_name": "string",
  "last_name": "string"
}

Parameters

Name In Type Required Description
body body mycujoo.accounts.v1.InviteAccountRequest true none

Example responses

200 Response

{
  "account_id": "string"
}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.accounts.v1.InviteAccountResponse
default Default An unexpected error response. google.rpc.Status

ResendAccountVerification

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

r = requests.post('https://mcls-api.mycujoo.tv/accounts/v1/resend_account_verification', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://mcls-api.mycujoo.tv/accounts/v1/resend_account_verification", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST https://mcls-api.mycujoo.tv/accounts/v1/resend_account_verification HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "email": "string",
  "org_id": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://mcls-api.mycujoo.tv/accounts/v1/resend_account_verification',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "email": "string",
  "org_id": "string"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://mcls-api.mycujoo.tv/accounts/v1/resend_account_verification',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /accounts/v1/resend_account_verification

Resends account email verification message.

Body parameter

{
  "email": "string",
  "org_id": "string"
}

Parameters

Name In Type Required Description
body body mycujoo.accounts.v1.ResendAccountVerificationRequest true none

Example responses

200 Response

{}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.accounts.v1.ResendAccountVerificationResponse
default Default An unexpected error response. google.rpc.Status

ResetPassword

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

r = requests.post('https://mcls-api.mycujoo.tv/accounts/v1/reset_password', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://mcls-api.mycujoo.tv/accounts/v1/reset_password", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST https://mcls-api.mycujoo.tv/accounts/v1/reset_password HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "new_password": "string",
  "reset_code": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://mcls-api.mycujoo.tv/accounts/v1/reset_password',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "new_password": "string",
  "reset_code": "string"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://mcls-api.mycujoo.tv/accounts/v1/reset_password',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /accounts/v1/reset_password

Changes account password without old password from forgot your password page UI.

Body parameter

{
  "new_password": "string",
  "reset_code": "string"
}

Parameters

Name In Type Required Description
body body mycujoo.accounts.v1.ResetPasswordRequest true none

Example responses

200 Response

{}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.accounts.v1.ResetPasswordResponse
default Default An unexpected error response. google.rpc.Status

SendPasswordReset

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

r = requests.post('https://mcls-api.mycujoo.tv/accounts/v1/send_password_reset', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://mcls-api.mycujoo.tv/accounts/v1/send_password_reset", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST https://mcls-api.mycujoo.tv/accounts/v1/send_password_reset HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "email": "string",
  "org_id": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://mcls-api.mycujoo.tv/accounts/v1/send_password_reset',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "email": "string",
  "org_id": "string"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://mcls-api.mycujoo.tv/accounts/v1/send_password_reset',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /accounts/v1/send_password_reset

Requests password change. It sends an email with a special link if associated account exists.

Body parameter

{
  "email": "string",
  "org_id": "string"
}

Parameters

Name In Type Required Description
body body mycujoo.accounts.v1.SendPasswordResetRequest true none

Example responses

200 Response

{}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.accounts.v1.SendPasswordResetResponse
default Default An unexpected error response. google.rpc.Status

VerifyAccountEmail

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

r = requests.post('https://mcls-api.mycujoo.tv/accounts/v1/verify_account', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://mcls-api.mycujoo.tv/accounts/v1/verify_account", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST https://mcls-api.mycujoo.tv/accounts/v1/verify_account HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "account_id": "string",
  "org_id": "string",
  "verification_code": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://mcls-api.mycujoo.tv/accounts/v1/verify_account',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "account_id": "string",
  "org_id": "string",
  "verification_code": "string"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'
};

fetch('https://mcls-api.mycujoo.tv/accounts/v1/verify_account',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /accounts/v1/verify_account

Marks that account email address is verified.

Body parameter

{
  "account_id": "string",
  "org_id": "string",
  "verification_code": "string"
}

Parameters

Name In Type Required Description
body body mycujoo.accounts.v1.VerifyAccountEmailRequest true none

Example responses

200 Response

{
  "token": "string"
}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.accounts.v1.VerifyAccountEmailResponse
default Default An unexpected error response. google.rpc.Status

GetAccount

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://mcls-api.mycujoo.tv/accounts/v1/{account_id}', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://mcls-api.mycujoo.tv/accounts/v1/{account_id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET https://mcls-api.mycujoo.tv/accounts/v1/{account_id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/accounts/v1/{account_id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/accounts/v1/{account_id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /accounts/v1/{account_id}

In order to request information about currently logged in account you can use value myself for the account_id

Parameters

Name In Type Required Description
account_id path string true none

Example responses

200 Response

{
  "account": {
    "email": "string",
    "first_name": "string",
    "id": "string",
    "is_verified": true,
    "last_name": "string"
  }
}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.accounts.v1.GetAccountResponse
default Default An unexpected error response. google.rpc.Status

ActionsService

Lists actions

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://mcls-api.mycujoo.tv/actions/v1beta1', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://mcls-api.mycujoo.tv/actions/v1beta1", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET https://mcls-api.mycujoo.tv/actions/v1beta1 HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/actions/v1beta1',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/actions/v1beta1',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /actions/v1beta1

List all the actions

Parameters

Name In Type Required Description
service_id query string false Filter list by service ID
category_id query string false Filter list by category ID
page_size query integer(int32) false Maximum number of records to return
page_token query string false The pagination token in the List request.

Example responses

200 Response

{
  "items": [
    {
      "category_id": "string",
      "description": "string",
      "icon_url": "string",
      "id": "string",
      "is_active": true,
      "service_id": "string",
      "title": "string"
    }
  ],
  "next_page_token": "string"
}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.actions.v1beta1.ListActionsResponse
default Default An unexpected error response. google.rpc.Status

Lists action calls

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://mcls-api.mycujoo.tv/actions/v1beta1/calls', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://mcls-api.mycujoo.tv/actions/v1beta1/calls", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET https://mcls-api.mycujoo.tv/actions/v1beta1/calls HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/actions/v1beta1/calls',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/actions/v1beta1/calls',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /actions/v1beta1/calls

List all action calls

Parameters

Name In Type Required Description
group_id query string false none

Example responses

200 Response

{
  "items": [
    {
      "configuration_id": "string",
      "group_id": "string",
      "id": "string",
      "request_data": {
        "data": {},
        "id": "string"
      },
      "response_data": {
        "data": {},
        "id": "string"
      },
      "state": "ACTION_CALL_STATE_UNSPECIFIED"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.actions.v1beta1.ListActionCallsResponse
default Default An unexpected error response. google.rpc.Status

Returns a single action call

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://mcls-api.mycujoo.tv/actions/v1beta1/calls/{id}', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://mcls-api.mycujoo.tv/actions/v1beta1/calls/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET https://mcls-api.mycujoo.tv/actions/v1beta1/calls/{id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/actions/v1beta1/calls/{id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/actions/v1beta1/calls/{id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /actions/v1beta1/calls/{id}

Returns a single action call.

Parameters

Name In Type Required Description
id path string true none

Example responses

200 Response

{
  "action_call": {
    "configuration_id": "string",
    "group_id": "string",
    "id": "string",
    "request_data": {
      "data": {},
      "id": "string"
    },
    "response_data": {
      "data": {},
      "id": "string"
    },
    "state": "ACTION_CALL_STATE_UNSPECIFIED"
  }
}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.actions.v1beta1.GetActionCallResponse
400 Bad Request Bad input parameters Inline
500 Internal Server Error Internal Server Error Inline
default Default An unexpected error response. google.rpc.Status

Response Schema

Updates an action call

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.patch('https://mcls-api.mycujoo.tv/actions/v1beta1/calls/{id}', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PATCH", "https://mcls-api.mycujoo.tv/actions/v1beta1/calls/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

PATCH https://mcls-api.mycujoo.tv/actions/v1beta1/calls/{id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "data": {}
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/actions/v1beta1/calls/{id}',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "data": {}
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/actions/v1beta1/calls/{id}',
{
  method: 'PATCH',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PATCH /actions/v1beta1/calls/{id}

Updates an action call.

Body parameter

{
  "data": {}
}

Parameters

Name In Type Required Description
id path string true none
update_mask query string false Optional. The mask to control which fields get updated.
body body mycujoo.actions.v1beta1.UpdateActionCallRequestFields true Fields to update

Example responses

200 Response

{
  "action_call": {
    "configuration_id": "string",
    "group_id": "string",
    "id": "string",
    "request_data": {
      "data": {},
      "id": "string"
    },
    "response_data": {
      "data": {},
      "id": "string"
    },
    "state": "ACTION_CALL_STATE_UNSPECIFIED"
  }
}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.actions.v1beta1.UpdateActionCallResponse
400 Bad Request Bad input parameters Inline
500 Internal Server Error Internal Server Error Inline
default Default An unexpected error response. google.rpc.Status

Response Schema

Lists action categories

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://mcls-api.mycujoo.tv/actions/v1beta1/categories', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://mcls-api.mycujoo.tv/actions/v1beta1/categories", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET https://mcls-api.mycujoo.tv/actions/v1beta1/categories HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/actions/v1beta1/categories',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/actions/v1beta1/categories',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /actions/v1beta1/categories

List all the available categories of actions

Parameters

Name In Type Required Description
page_size query integer(int32) false Maximum number of records to return
page_token query string false The pagination token in the List request.
hide_empty query boolean false Whether to filter out categories with no available actions

Example responses

200 Response

{
  "items": [
    {
      "description": "string",
      "id": "string",
      "menu_title": "string",
      "title": "string"
    }
  ],
  "next_page_token": "string"
}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.actions.v1beta1.ListActionCategoriesResponse
default Default An unexpected error response. google.rpc.Status

Lists action configurations

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://mcls-api.mycujoo.tv/actions/v1beta1/configurations', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://mcls-api.mycujoo.tv/actions/v1beta1/configurations", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET https://mcls-api.mycujoo.tv/actions/v1beta1/configurations HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/actions/v1beta1/configurations',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/actions/v1beta1/configurations',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /actions/v1beta1/configurations

List all the action configurations of a group

Parameters

Name In Type Required Description
group_id query string false none

Example responses

200 Response

{
  "items": [
    {
      "action_id": "string",
      "action_title": "string",
      "group_id": "string",
      "id": "string",
      "order": 0,
      "title": "string"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.actions.v1beta1.ListActionConfigurationsResponse
default Default An unexpected error response. google.rpc.Status

Creates an action configuration

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.post('https://mcls-api.mycujoo.tv/actions/v1beta1/configurations', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://mcls-api.mycujoo.tv/actions/v1beta1/configurations", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST https://mcls-api.mycujoo.tv/actions/v1beta1/configurations HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "action_id": "string",
  "fields": [
    {
      "bool_value": true,
      "datetime_value": "2019-08-24T14:15:22Z",
      "field": "string",
      "float_value": 0,
      "number_value": "string",
      "string_value": "string"
    }
  ],
  "group_id": "string",
  "title": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/actions/v1beta1/configurations',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "action_id": "string",
  "fields": [
    {
      "bool_value": true,
      "datetime_value": "2019-08-24T14:15:22Z",
      "field": "string",
      "float_value": 0,
      "number_value": "string",
      "string_value": "string"
    }
  ],
  "group_id": "string",
  "title": "string"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/actions/v1beta1/configurations',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /actions/v1beta1/configurations

Creates a new action configuration.

Body parameter

{
  "action_id": "string",
  "fields": [
    {
      "bool_value": true,
      "datetime_value": "2019-08-24T14:15:22Z",
      "field": "string",
      "float_value": 0,
      "number_value": "string",
      "string_value": "string"
    }
  ],
  "group_id": "string",
  "title": "string"
}

Parameters

Name In Type Required Description
body body mycujoo.actions.v1beta1.CreateActionConfigurationRequest true none

Example responses

200 Response

{
  "action_configuration": {
    "action_id": "string",
    "fields": [
      {
        "bool_value": true,
        "datetime_value": "2019-08-24T14:15:22Z",
        "field": "string",
        "float_value": 0,
        "number_value": "string",
        "string_value": "string"
      }
    ],
    "group_id": "string",
    "id": "string",
    "order": 0,
    "title": "string"
  }
}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.actions.v1beta1.CreateActionConfigurationResponse
400 Bad Request Bad input parameters Inline
500 Internal Server Error Internal Server Error Inline
default Default An unexpected error response. google.rpc.Status

Response Schema

Returns a single action configuration

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://mcls-api.mycujoo.tv/actions/v1beta1/configurations/{id}', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://mcls-api.mycujoo.tv/actions/v1beta1/configurations/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET https://mcls-api.mycujoo.tv/actions/v1beta1/configurations/{id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/actions/v1beta1/configurations/{id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/actions/v1beta1/configurations/{id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /actions/v1beta1/configurations/{id}

Returns a single action type.

Parameters

Name In Type Required Description
id path string true none

Example responses

200 Response

{
  "action_configuration": {
    "action_id": "string",
    "fields": [
      {
        "bool_value": true,
        "datetime_value": "2019-08-24T14:15:22Z",
        "field": "string",
        "float_value": 0,
        "number_value": "string",
        "string_value": "string"
      }
    ],
    "group_id": "string",
    "id": "string",
    "order": 0,
    "title": "string"
  }
}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.actions.v1beta1.GetActionConfigurationResponse
400 Bad Request Bad input parameters Inline
500 Internal Server Error Internal Server Error Inline
default Default An unexpected error response. google.rpc.Status

Response Schema

Deletes an action configuration

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.delete('https://mcls-api.mycujoo.tv/actions/v1beta1/configurations/{id}', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "https://mcls-api.mycujoo.tv/actions/v1beta1/configurations/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

DELETE https://mcls-api.mycujoo.tv/actions/v1beta1/configurations/{id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/actions/v1beta1/configurations/{id}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/actions/v1beta1/configurations/{id}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

DELETE /actions/v1beta1/configurations/{id}

Deletes an action configuration.

Parameters

Name In Type Required Description
id path string true none

Example responses

200 Response

{}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.actions.v1beta1.DeleteActionConfigurationResponse
500 Internal Server Error Internal Server Error Inline
default Default An unexpected error response. google.rpc.Status

Response Schema

Updates an action configuration

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.patch('https://mcls-api.mycujoo.tv/actions/v1beta1/configurations/{id}', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PATCH", "https://mcls-api.mycujoo.tv/actions/v1beta1/configurations/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

PATCH https://mcls-api.mycujoo.tv/actions/v1beta1/configurations/{id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "fields": [
    {
      "bool_value": true,
      "datetime_value": "2019-08-24T14:15:22Z",
      "field": "string",
      "float_value": 0,
      "number_value": "string",
      "string_value": "string"
    }
  ],
  "order": 0,
  "title": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/actions/v1beta1/configurations/{id}',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "fields": [
    {
      "bool_value": true,
      "datetime_value": "2019-08-24T14:15:22Z",
      "field": "string",
      "float_value": 0,
      "number_value": "string",
      "string_value": "string"
    }
  ],
  "order": 0,
  "title": "string"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/actions/v1beta1/configurations/{id}',
{
  method: 'PATCH',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PATCH /actions/v1beta1/configurations/{id}

Updates an action configuration.

Body parameter

{
  "fields": [
    {
      "bool_value": true,
      "datetime_value": "2019-08-24T14:15:22Z",
      "field": "string",
      "float_value": 0,
      "number_value": "string",
      "string_value": "string"
    }
  ],
  "order": 0,
  "title": "string"
}

Parameters

Name In Type Required Description
id path string true none
update_mask query string false Optional. The mask to control which fields get updated.
body body mycujoo.actions.v1beta1.UpdateActionConfigurationRequestFields true Fields to update

Example responses

200 Response

{
  "action_configuration": {
    "action_id": "string",
    "fields": [
      {
        "bool_value": true,
        "datetime_value": "2019-08-24T14:15:22Z",
        "field": "string",
        "float_value": 0,
        "number_value": "string",
        "string_value": "string"
      }
    ],
    "group_id": "string",
    "id": "string",
    "order": 0,
    "title": "string"
  }
}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.actions.v1beta1.UpdateActionConfigurationResponse
400 Bad Request Bad input parameters Inline
500 Internal Server Error Internal Server Error Inline
default Default An unexpected error response. google.rpc.Status

Response Schema

Returns a single action

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://mcls-api.mycujoo.tv/actions/v1beta1/{id}', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://mcls-api.mycujoo.tv/actions/v1beta1/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET https://mcls-api.mycujoo.tv/actions/v1beta1/{id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/actions/v1beta1/{id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/actions/v1beta1/{id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /actions/v1beta1/{id}

Returns a single action

Parameters

Name In Type Required Description
id path string true none

Example responses

200 Response

{
  "action": {
    "action_fields": [
      {
        "bool_value": true,
        "datetime_value": "2019-08-24T14:15:22Z",
        "float_value": 0,
        "is_configurable": true,
        "is_required": true,
        "label": "string",
        "name": "string",
        "no_default_value": true,
        "number_value": "string",
        "string_value": "string",
        "validators": [
          {
            "max": 0,
            "min": 0,
            "regex": "string"
          }
        ],
        "value_options": [
          {
            "bool_value": true,
            "datetime_value": "2019-08-24T14:15:22Z",
            "float_value": 0,
            "label": "string",
            "number_value": "string",
            "string_value": "string"
          }
        ],
        "value_type": "VALUE_TYPE_UNSPECIFIED"
      }
    ],
    "category_id": "string",
    "description": "string",
    "icon_url": "string",
    "id": "string",
    "is_active": true,
    "request_schema_id": "string",
    "request_topic": "string",
    "response_schema_id": "string",
    "response_topic": "string",
    "service_id": "string",
    "title": "string"
  }
}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.actions.v1beta1.GetActionResponse
400 Bad Request Bad input parameters Inline
500 Internal Server Error Internal Server Error Inline
default Default An unexpected error response. google.rpc.Status

Response Schema

StreamingAnalyticsService

Get the video stats snapshots in batch

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://mcls-api.mycujoo.tv/analytics/v1/streams/video-stats-snapshot', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://mcls-api.mycujoo.tv/analytics/v1/streams/video-stats-snapshot", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET https://mcls-api.mycujoo.tv/analytics/v1/streams/video-stats-snapshot HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/analytics/v1/streams/video-stats-snapshot',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/analytics/v1/streams/video-stats-snapshot',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /analytics/v1/streams/video-stats-snapshot

Get the video stats snapshots in batch.

Parameters

Name In Type Required Description
stream_ids query array[string] false example: ck8u9fwwu1wtg0hewiqz3we6j

Example responses

200 Response

{
  "snapshots": [
    {
      "snapshot": {
        "audio_bit_rate": 0,
        "bit_rate": 0,
        "connection_count": 0,
        "frame_rate": 0,
        "key_frame_consistent": true,
        "key_frame_interval": 0,
        "resolution": 0,
        "time": "2019-08-24T14:15:22Z"
      },
      "stream_id": "string"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.analytics.v1.GetVideoStatsSnapshotBatchResponse
default Default An unexpected error response. google.rpc.Status

Get all stats for a stream

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://mcls-api.mycujoo.tv/analytics/v1beta1/streams/{stream_id}', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://mcls-api.mycujoo.tv/analytics/v1beta1/streams/{stream_id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET https://mcls-api.mycujoo.tv/analytics/v1beta1/streams/{stream_id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/analytics/v1beta1/streams/{stream_id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/analytics/v1beta1/streams/{stream_id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /analytics/v1beta1/streams/{stream_id}

Get all stats for a stream.

Parameters

Name In Type Required Description
stream_id path string true example: ck8u9fwwu1wtg0hewiqz3we6j
interval.start_time query string(date-time) false Optional. Inclusive start of the interval.
interval.end_time query string(date-time) false Optional. Exclusive end of the interval.

Detailed descriptions

interval.start_time: Optional. Inclusive start of the interval.

If specified, a Timestamp matching this interval will have to be the same or after the start.

interval.end_time: Optional. Exclusive end of the interval.

If specified, a Timestamp matching this interval will have to be before the end.

Example responses

200 Response

{
  "buffer_ratio_time_series": [
    {
      "content_type": "CONTENT_TYPE_UNSPECIFIED",
      "points": [
        {
          "ratio": 0,
          "time": "string"
        }
      ]
    }
  ],
  "concurrent_plays_time_series": [
    {
      "plays": 0,
      "time": "string"
    }
  ],
  "total_users_time_series": [
    {
      "content_type": "CONTENT_TYPE_UNSPECIFIED",
      "users_count": 0
    }
  ],
  "video_stats_time_series": [
    {
      "audio_bit_rate": 0,
      "connection_count": 0,
      "time": "string",
      "video_bit_rate": 0,
      "video_frame_rate": 0,
      "video_key_frame_interval": 0,
      "video_resolution": 0
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.analytics.v1beta1.GetStreamStatsResponse
default Default An unexpected error response. google.rpc.Status

Get buffer ratio time series per content type for a stream

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://mcls-api.mycujoo.tv/analytics/v1beta1/streams/{stream_id}/buffer-ratio', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://mcls-api.mycujoo.tv/analytics/v1beta1/streams/{stream_id}/buffer-ratio", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET https://mcls-api.mycujoo.tv/analytics/v1beta1/streams/{stream_id}/buffer-ratio HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/analytics/v1beta1/streams/{stream_id}/buffer-ratio',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/analytics/v1beta1/streams/{stream_id}/buffer-ratio',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /analytics/v1beta1/streams/{stream_id}/buffer-ratio

Get buffer ratio time series per content type for a stream.

Parameters

Name In Type Required Description
stream_id path string true example: ck8u9fwwu1wtg0hewiqz3we6j
interval.start_time query string(date-time) false Optional. Inclusive start of the interval.
interval.end_time query string(date-time) false Optional. Exclusive end of the interval.

Detailed descriptions

interval.start_time: Optional. Inclusive start of the interval.

If specified, a Timestamp matching this interval will have to be the same or after the start.

interval.end_time: Optional. Exclusive end of the interval.

If specified, a Timestamp matching this interval will have to be before the end.

Example responses

200 Response

{
  "time_series": [
    {
      "content_type": "CONTENT_TYPE_UNSPECIFIED",
      "points": [
        {
          "ratio": 0,
          "time": "string"
        }
      ]
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.analytics.v1beta1.GetBufferRatioTimeSeriesResponse
default Default An unexpected error response. google.rpc.Status

Get concurrent plays time series for a stream

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://mcls-api.mycujoo.tv/analytics/v1beta1/streams/{stream_id}/concurrent-plays', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://mcls-api.mycujoo.tv/analytics/v1beta1/streams/{stream_id}/concurrent-plays", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET https://mcls-api.mycujoo.tv/analytics/v1beta1/streams/{stream_id}/concurrent-plays HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/analytics/v1beta1/streams/{stream_id}/concurrent-plays',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/analytics/v1beta1/streams/{stream_id}/concurrent-plays',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /analytics/v1beta1/streams/{stream_id}/concurrent-plays

Get concurrent plays time series for a stream.

Parameters

Name In Type Required Description
stream_id path string true example: ck8u9fwwu1wtg0hewiqz3we6j
interval.start_time query string(date-time) false Optional. Inclusive start of the interval.
interval.end_time query string(date-time) false Optional. Exclusive end of the interval.

Detailed descriptions

interval.start_time: Optional. Inclusive start of the interval.

If specified, a Timestamp matching this interval will have to be the same or after the start.

interval.end_time: Optional. Exclusive end of the interval.

If specified, a Timestamp matching this interval will have to be before the end.

Example responses

200 Response

{
  "concurrent_plays": [
    {
      "plays": 0,
      "time": "string"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.analytics.v1beta1.GetConcurrentPlaysTimeSeriesResponse
default Default An unexpected error response. google.rpc.Status

Get total users for a stream

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://mcls-api.mycujoo.tv/analytics/v1beta1/streams/{stream_id}/total-users', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://mcls-api.mycujoo.tv/analytics/v1beta1/streams/{stream_id}/total-users", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET https://mcls-api.mycujoo.tv/analytics/v1beta1/streams/{stream_id}/total-users HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/analytics/v1beta1/streams/{stream_id}/total-users',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/analytics/v1beta1/streams/{stream_id}/total-users',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /analytics/v1beta1/streams/{stream_id}/total-users

Get total users for a stream.

Parameters

Name In Type Required Description
stream_id path string true example: ck8u9fwwu1wtg0hewiqz3we6j

Example responses

200 Response

{
  "stream_id": "string",
  "total_users": [
    {
      "content_type": "CONTENT_TYPE_UNSPECIFIED",
      "users_count": 0
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.analytics.v1beta1.GetTotalUsersResponse
default Default An unexpected error response. google.rpc.Status

Get video stats time series for a stream

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://mcls-api.mycujoo.tv/analytics/v1beta1/streams/{stream_id}/video-stats', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://mcls-api.mycujoo.tv/analytics/v1beta1/streams/{stream_id}/video-stats", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET https://mcls-api.mycujoo.tv/analytics/v1beta1/streams/{stream_id}/video-stats HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/analytics/v1beta1/streams/{stream_id}/video-stats',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/analytics/v1beta1/streams/{stream_id}/video-stats',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /analytics/v1beta1/streams/{stream_id}/video-stats

Get video stats time series for a stream.

Parameters

Name In Type Required Description
stream_id path string true example: ck8u9fwwu1wtg0hewiqz3we6j
interval.start_time query string(date-time) false Optional. Inclusive start of the interval.
interval.end_time query string(date-time) false Optional. Exclusive end of the interval.

Detailed descriptions

interval.start_time: Optional. Inclusive start of the interval.

If specified, a Timestamp matching this interval will have to be the same or after the start.

interval.end_time: Optional. Exclusive end of the interval.

If specified, a Timestamp matching this interval will have to be before the end.

Example responses

200 Response

{
  "time_series": [
    {
      "audio_bit_rate": 0,
      "connection_count": 0,
      "time": "string",
      "video_bit_rate": 0,
      "video_frame_rate": 0,
      "video_key_frame_interval": 0,
      "video_resolution": 0
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.analytics.v1beta1.GetVideoStatsTimeSeriesResponse
default Default An unexpected error response. google.rpc.Status

Get the video stats snapshot for a stream

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://mcls-api.mycujoo.tv/analytics/v1/streams/{stream_id}/video-stats-snapshot', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://mcls-api.mycujoo.tv/analytics/v1/streams/{stream_id}/video-stats-snapshot", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET https://mcls-api.mycujoo.tv/analytics/v1/streams/{stream_id}/video-stats-snapshot HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/analytics/v1/streams/{stream_id}/video-stats-snapshot',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/analytics/v1/streams/{stream_id}/video-stats-snapshot',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /analytics/v1/streams/{stream_id}/video-stats-snapshot

Get the video stats snapshot for a stream.

Parameters

Name In Type Required Description
stream_id path string true example: ck8u9fwwu1wtg0hewiqz3we6j

Example responses

200 Response

{
  "snapshot": {
    "audio_bit_rate": 0,
    "bit_rate": 0,
    "connection_count": 0,
    "frame_rate": 0,
    "key_frame_consistent": true,
    "key_frame_interval": 0,
    "resolution": 0,
    "time": "2019-08-24T14:15:22Z"
  }
}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.analytics.v1.GetVideoStatsSnapshotResponse
default Default An unexpected error response. google.rpc.Status

AnnotationService

List annotations

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://mcls-api.mycujoo.tv/annotations/v1beta1', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://mcls-api.mycujoo.tv/annotations/v1beta1", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET https://mcls-api.mycujoo.tv/annotations/v1beta1 HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/annotations/v1beta1',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/annotations/v1beta1',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /annotations/v1beta1

List all the annotations from an account.

Parameters

Name In Type Required Description
timeline_id query string false none
page_size query integer(int32) false A positive number that is the maximum number of results to return.
page_token query string false empty or containing the "next_page_token" from a previous call.
order_by query string false Specifies the result ordering for List requests.
includes query array[string] false Specifies what response metadata should include.
type_id query string false Filter by annotation type
set_id query string false Filter by annotation set

Detailed descriptions

order_by: Specifies the result ordering for List requests.

includes: Specifies what response metadata should include. e.g. when 'INCLUDE_TOTAL_SIZE' is passed, response metadata will include total size of the result

Enumerated Values

Parameter Value
order_by ORDER_UNSPECIFIED
order_by ORDER_OFFSET_ASC
order_by ORDER_OFFSET_DESC
includes INCLUDE_UNSPECIFIED
includes INCLUDE_TOTAL_SIZE

Example responses

200 Response

{
  "annotations": [
    {
      "action_call_ids": [
        "string"
      ],
      "create_time": "2019-08-24T14:15:22Z",
      "id": "string",
      "offset": "string",
      "timeline_id": "string",
      "type_id": "string"
    }
  ],
  "next_page_token": "string",
  "total_size": 0
}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.annotations.v1beta1.ListAnnotationsResponse
default Default An unexpected error response. google.rpc.Status

Creates an annotation

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.post('https://mcls-api.mycujoo.tv/annotations/v1beta1', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://mcls-api.mycujoo.tv/annotations/v1beta1", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST https://mcls-api.mycujoo.tv/annotations/v1beta1 HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "live": {
    "time": "2019-08-24T14:15:22Z"
  },
  "live_vod": {
    "offset": "string",
    "time": "2019-08-24T14:15:22Z"
  },
  "timeline_id": "string",
  "type_id": "string",
  "uploaded": {
    "offset": "string"
  }
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/annotations/v1beta1',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "live": {
    "time": "2019-08-24T14:15:22Z"
  },
  "live_vod": {
    "offset": "string",
    "time": "2019-08-24T14:15:22Z"
  },
  "timeline_id": "string",
  "type_id": "string",
  "uploaded": {
    "offset": "string"
  }
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/annotations/v1beta1',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /annotations/v1beta1

Creates a new annotation from a type on a timeline.

Body parameter

{
  "live": {
    "time": "2019-08-24T14:15:22Z"
  },
  "live_vod": {
    "offset": "string",
    "time": "2019-08-24T14:15:22Z"
  },
  "timeline_id": "string",
  "type_id": "string",
  "uploaded": {
    "offset": "string"
  }
}

Parameters

Name In Type Required Description
body body mycujoo.annotations.v1beta1.CreateAnnotationRequest true none

Example responses

200 Response

{
  "annotation": {
    "action_call_ids": [
      "string"
    ],
    "create_time": "2019-08-24T14:15:22Z",
    "id": "string",
    "offset": "string",
    "timeline_id": "string",
    "type_id": "string"
  }
}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.annotations.v1beta1.CreateAnnotationResponse
400 Bad Request Bad input parameters Inline
500 Internal Server Error Internal Server Error Inline
default Default An unexpected error response. google.rpc.Status

Response Schema

Lists annotation sets

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://mcls-api.mycujoo.tv/annotations/v1beta1/sets', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://mcls-api.mycujoo.tv/annotations/v1beta1/sets", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET https://mcls-api.mycujoo.tv/annotations/v1beta1/sets HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/annotations/v1beta1/sets',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/annotations/v1beta1/sets',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /annotations/v1beta1/sets

List all the annotation sets from an account.

Parameters

Name In Type Required Description
page_size query integer(int32) false A positive number that is the maximum number of results to return.
page_token query string false empty or containing the "next_page_token" from a previous call.
order_by query string false Specifies the result ordering for List requests.
includes query array[string] false Specifies what response metadata should include.

Detailed descriptions

order_by: Specifies the result ordering for List requests.

includes: Specifies what response metadata should include. e.g. when 'INCLUDE_TOTAL_SIZE' is passed, response metadata will include total size of the result

Enumerated Values

Parameter Value
order_by ORDER_TITLE_UNSPECIFIED
order_by ORDER_TITLE_ASC
order_by ORDER_TITLE_DESC
includes INCLUDE_UNSPECIFIED
includes INCLUDE_TOTAL_SIZE

Example responses

200 Response

{
  "next_page_token": "string",
  "sets": [
    {
      "id": "string",
      "title": "string"
    }
  ],
  "total_size": 0
}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.annotations.v1beta1.ListAnnotationSetsResponse
default Default An unexpected error response. google.rpc.Status

Creates a new annotation set

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.post('https://mcls-api.mycujoo.tv/annotations/v1beta1/sets', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://mcls-api.mycujoo.tv/annotations/v1beta1/sets", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST https://mcls-api.mycujoo.tv/annotations/v1beta1/sets HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "title": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/annotations/v1beta1/sets',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "title": "string"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/annotations/v1beta1/sets',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /annotations/v1beta1/sets

Creates a new annotation set.

Body parameter

{
  "title": "string"
}

Parameters

Name In Type Required Description
body body mycujoo.annotations.v1beta1.CreateAnnotationSetRequest true none

Example responses

200 Response

{
  "set": {
    "id": "string",
    "title": "string"
  }
}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.annotations.v1beta1.CreateAnnotationSetResponse
400 Bad Request Bad input parameters Inline
500 Internal Server Error Internal Server Error Inline
default Default An unexpected error response. google.rpc.Status

Response Schema

Returns a single annotation set

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://mcls-api.mycujoo.tv/annotations/v1beta1/sets/{id}', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://mcls-api.mycujoo.tv/annotations/v1beta1/sets/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET https://mcls-api.mycujoo.tv/annotations/v1beta1/sets/{id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/annotations/v1beta1/sets/{id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/annotations/v1beta1/sets/{id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /annotations/v1beta1/sets/{id}

Returns a single annotation set.

Parameters

Name In Type Required Description
id path string true none

Example responses

200 Response

{
  "set": {
    "id": "string",
    "title": "string"
  }
}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.annotations.v1beta1.GetAnnotationSetResponse
400 Bad Request Bad input parameters Inline
500 Internal Server Error Internal Server Error Inline
default Default An unexpected error response. google.rpc.Status

Response Schema

Deletes an annotation set

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.delete('https://mcls-api.mycujoo.tv/annotations/v1beta1/sets/{id}', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "https://mcls-api.mycujoo.tv/annotations/v1beta1/sets/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

DELETE https://mcls-api.mycujoo.tv/annotations/v1beta1/sets/{id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/annotations/v1beta1/sets/{id}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/annotations/v1beta1/sets/{id}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

DELETE /annotations/v1beta1/sets/{id}

Deletes an annotation set.

Parameters

Name In Type Required Description
id path string true none

Example responses

200 Response

{}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.annotations.v1beta1.DeleteAnnotationSetResponse
500 Internal Server Error Internal Server Error Inline
default Default An unexpected error response. google.rpc.Status

Response Schema

Updates an annotation set

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.patch('https://mcls-api.mycujoo.tv/annotations/v1beta1/sets/{id}', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PATCH", "https://mcls-api.mycujoo.tv/annotations/v1beta1/sets/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

PATCH https://mcls-api.mycujoo.tv/annotations/v1beta1/sets/{id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "title": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/annotations/v1beta1/sets/{id}',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "title": "string"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/annotations/v1beta1/sets/{id}',
{
  method: 'PATCH',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PATCH /annotations/v1beta1/sets/{id}

Updates an annotation set.

Body parameter

{
  "title": "string"
}

Parameters

Name In Type Required Description
id path string true ID of the annotation set to update
update_mask query string false Optional. The mask to control which fields get updated.
body body mycujoo.annotations.v1beta1.UpdateAnnotationSetRequestFields true Fields to update

Example responses

200 Response

{
  "set": {
    "id": "string",
    "title": "string"
  }
}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.annotations.v1beta1.UpdateAnnotationSetResponse
400 Bad Request Bad input parameters Inline
500 Internal Server Error Internal Server Error Inline
default Default An unexpected error response. google.rpc.Status

Response Schema

Lists annotation types

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://mcls-api.mycujoo.tv/annotations/v1beta1/types', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://mcls-api.mycujoo.tv/annotations/v1beta1/types", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET https://mcls-api.mycujoo.tv/annotations/v1beta1/types HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/annotations/v1beta1/types',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/annotations/v1beta1/types',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /annotations/v1beta1/types

List all the annotation types from an account.

Parameters

Name In Type Required Description
set_id query string false none
page_size query integer(int32) false A positive number that is the maximum number of results to return.
page_token query string false empty or containing the "next_page_token" from a previous call.
order_by query string false Specifies the result ordering for List requests.
includes query array[string] false Specifies what response metadata should include.

Detailed descriptions

order_by: Specifies the result ordering for List requests.

includes: Specifies what response metadata should include. e.g. when 'INCLUDE_TOTAL_SIZE' is passed, response metadata will include total size of the result

Enumerated Values

Parameter Value
order_by ORDER_TITLE_UNSPECIFIED
order_by ORDER_TITLE_ASC
order_by ORDER_TITLE_DESC
includes INCLUDE_UNSPECIFIED
includes INCLUDE_TOTAL_SIZE

Example responses

200 Response

{
  "next_page_token": "string",
  "total_size": 0,
  "types": [
    {
      "action_configuration_ids": [
        "string"
      ],
      "id": "string",
      "set_id": "string",
      "title": "string"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.annotations.v1beta1.ListAnnotationTypesResponse
default Default An unexpected error response. google.rpc.Status

Creats an annotation type

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.post('https://mcls-api.mycujoo.tv/annotations/v1beta1/types', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://mcls-api.mycujoo.tv/annotations/v1beta1/types", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST https://mcls-api.mycujoo.tv/annotations/v1beta1/types HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "set_id": "string",
  "title": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/annotations/v1beta1/types',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "set_id": "string",
  "title": "string"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/annotations/v1beta1/types',
{
  method: 'POST',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /annotations/v1beta1/types

Creates a new annotation type.

Body parameter

{
  "set_id": "string",
  "title": "string"
}

Parameters

Name In Type Required Description
body body mycujoo.annotations.v1beta1.CreateAnnotationTypeRequest true none

Example responses

200 Response

{
  "type": {
    "action_configuration_ids": [
      "string"
    ],
    "id": "string",
    "set_id": "string",
    "title": "string"
  }
}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.annotations.v1beta1.CreateAnnotationTypeResponse
400 Bad Request Bad input parameters Inline
500 Internal Server Error Internal Server Error Inline
default Default An unexpected error response. google.rpc.Status

Response Schema

Returns a single annotation type

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://mcls-api.mycujoo.tv/annotations/v1beta1/types/{id}', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://mcls-api.mycujoo.tv/annotations/v1beta1/types/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET https://mcls-api.mycujoo.tv/annotations/v1beta1/types/{id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/annotations/v1beta1/types/{id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/annotations/v1beta1/types/{id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /annotations/v1beta1/types/{id}

Returns a single annotation type.

Parameters

Name In Type Required Description
id path string true none

Example responses

200 Response

{
  "type": {
    "action_configuration_ids": [
      "string"
    ],
    "id": "string",
    "set_id": "string",
    "title": "string"
  }
}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.annotations.v1beta1.GetAnnotationTypeResponse
400 Bad Request Bad input parameters Inline
500 Internal Server Error Internal Server Error Inline
default Default An unexpected error response. google.rpc.Status

Response Schema

Deletes an annotation type

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.delete('https://mcls-api.mycujoo.tv/annotations/v1beta1/types/{id}', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "https://mcls-api.mycujoo.tv/annotations/v1beta1/types/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

DELETE https://mcls-api.mycujoo.tv/annotations/v1beta1/types/{id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/annotations/v1beta1/types/{id}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/annotations/v1beta1/types/{id}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

DELETE /annotations/v1beta1/types/{id}

Deletes an annotation type.

Parameters

Name In Type Required Description
id path string true none

Example responses

200 Response

{}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.annotations.v1beta1.DeleteAnnotationTypeResponse
500 Internal Server Error Internal Server Error Inline
default Default An unexpected error response. google.rpc.Status

Response Schema

Updates an annotation type

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.patch('https://mcls-api.mycujoo.tv/annotations/v1beta1/types/{id}', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PATCH", "https://mcls-api.mycujoo.tv/annotations/v1beta1/types/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

PATCH https://mcls-api.mycujoo.tv/annotations/v1beta1/types/{id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "title": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/annotations/v1beta1/types/{id}',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "title": "string"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/annotations/v1beta1/types/{id}',
{
  method: 'PATCH',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PATCH /annotations/v1beta1/types/{id}

Updates an annotation type.

Body parameter

{
  "title": "string"
}

Parameters

Name In Type Required Description
id path string true ID of the annotation set to update
update_mask query string false Optional. The mask to control which fields get updated.
body body mycujoo.annotations.v1beta1.UpdateAnnotationTypeRequestFields true Fields to update

Example responses

200 Response

{
  "type": {
    "action_configuration_ids": [
      "string"
    ],
    "id": "string",
    "set_id": "string",
    "title": "string"
  }
}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.annotations.v1beta1.UpdateAnnotationTypeResponse
400 Bad Request Bad input parameters Inline
500 Internal Server Error Internal Server Error Inline
default Default An unexpected error response. google.rpc.Status

Response Schema

Returns a single annotation

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://mcls-api.mycujoo.tv/annotations/v1beta1/{id}', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://mcls-api.mycujoo.tv/annotations/v1beta1/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET https://mcls-api.mycujoo.tv/annotations/v1beta1/{id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/annotations/v1beta1/{id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/annotations/v1beta1/{id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

GET /annotations/v1beta1/{id}

Returns a single annotation.

Parameters

Name In Type Required Description
id path string true none

Example responses

200 Response

{
  "annotation": {
    "action_call_ids": [
      "string"
    ],
    "create_time": "2019-08-24T14:15:22Z",
    "id": "string",
    "offset": "string",
    "timeline_id": "string",
    "type_id": "string"
  }
}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.annotations.v1beta1.GetAnnotationResponse
400 Bad Request Bad input parameters Inline
500 Internal Server Error Internal Server Error Inline
default Default An unexpected error response. google.rpc.Status

Response Schema

Deletes an annotation

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.delete('https://mcls-api.mycujoo.tv/annotations/v1beta1/{id}', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "https://mcls-api.mycujoo.tv/annotations/v1beta1/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

DELETE https://mcls-api.mycujoo.tv/annotations/v1beta1/{id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/annotations/v1beta1/{id}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/annotations/v1beta1/{id}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

DELETE /annotations/v1beta1/{id}

deletes an annotation.

Parameters

Name In Type Required Description
id path string true none

Example responses

200 Response

{}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.annotations.v1beta1.DeleteAnnotationResponse
500 Internal Server Error Internal Server Error Inline
default Default An unexpected error response. google.rpc.Status

Response Schema

Updates an annotation

Code samples

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.patch('https://mcls-api.mycujoo.tv/annotations/v1beta1/{id}', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PATCH", "https://mcls-api.mycujoo.tv/annotations/v1beta1/{id}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

PATCH https://mcls-api.mycujoo.tv/annotations/v1beta1/{id} HTTP/1.1
Host: mcls-api.mycujoo.tv
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "offset": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/annotations/v1beta1/{id}',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');
const inputBody = {
  "offset": "string"
};
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/annotations/v1beta1/{id}',
{
  method: 'PATCH',
  body: JSON.stringify(inputBody),
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

PATCH /annotations/v1beta1/{id}

Updates an annotation.

Body parameter

{
  "offset": "string"
}

Parameters

Name In Type Required Description
id path string true ID of the annotation to update
update_mask query string false Optional. The mask to control which fields get updated.
body body mycujoo.annotations.v1beta1.UpdateAnnotationRequestFields true Fields to update

Example responses

200 Response

{
  "annotation": {
    "action_call_ids": [
      "string"
    ],
    "create_time": "2019-08-24T14:15:22Z",
    "id": "string",
    "offset": "string",
    "timeline_id": "string",
    "type_id": "string"
  }
}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.annotations.v1beta1.UpdateAnnotationResponse
400 Bad Request Bad input parameters Inline
500 Internal Server Error Internal Server Error Inline
default Default An unexpected error response. google.rpc.Status

Response Schema

AssetService

Creates a single asset

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.post('https://mcls-api.mycujoo.tv/assets/v1beta1', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://mcls-api.mycujoo.tv/assets/v1beta1", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST https://mcls-api.mycujoo.tv/assets/v1beta1 HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/assets/v1beta1',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/assets/v1beta1',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /assets/v1beta1

Creates a single asset.

Parameters

Name In Type Required Description
asset.id query string false Unique identifier of the asset
asset.extension query string false Extension of the asset including the dot (like .jpg)
asset.media_type query string false Media type (MIME) of the asset as defined in RFC2045
asset.public_url query string false Public URL for the uploaded asset
asset.bucket_name query string false Bucket name of the stored object.
asset.path query string false Path to the stored object.
asset.org_id query string false Organization ID of the asset.
asset.name query string false Human-friendly name of the asset.
asset.project_id query string false Project ID of the asset

Example responses

400 Response

null

Responses

Status Meaning Description Schema
200 OK A successful response. None
400 Bad Request Bad input parameters Inline
500 Internal Server Error Internal Server Error Inline
default Default An unexpected error response. google.rpc.Status

Response Schema

Get a list of assets by their IDs.

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.post('https://mcls-api.mycujoo.tv/assets/v1beta1/batch', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://mcls-api.mycujoo.tv/assets/v1beta1/batch", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST https://mcls-api.mycujoo.tv/assets/v1beta1/batch HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/assets/v1beta1/batch',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/assets/v1beta1/batch',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /assets/v1beta1/batch

Get a list of assets by their IDs.

Parameters

Name In Type Required Description
ids query array[string] false A list of unique identifiers of the assets

Example responses

default Response

{
  "code": 0,
  "details": [
    {
      "@type": "string"
    }
  ],
  "message": "string"
}

Responses

Status Meaning Description Schema
200 OK A successful response. None
default Default An unexpected error response. google.rpc.Status

Response Schema

Imports a single asset into the asset service

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.post('https://mcls-api.mycujoo.tv/assets/v1beta1/import', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://mcls-api.mycujoo.tv/assets/v1beta1/import", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST https://mcls-api.mycujoo.tv/assets/v1beta1/import HTTP/1.1
Host: mcls-api.mycujoo.tv
Accept: application/json


const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/assets/v1beta1/import',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};

fetch('https://mcls-api.mycujoo.tv/assets/v1beta1/import',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /assets/v1beta1/import

Imports a single asset.

Parameters

Name In Type Required Description
asset.extension query string false Extension of the asset including the dot (like .jpg)
asset.media_type query string false Media type (MIME) of the asset as defined in RFC2045
asset.source_url query string false Source URL of the asset
asset.org_id query string false Organization ID of the asset.
asset.project_id query string false Project ID of the asset
asset.name query string false Human-friendly name of the asset.

Example responses

200 Response

{
  "asset": {
    "bucket_name": "string",
    "extension": "string",
    "id": "string",
    "labels": {
      "property1": "string",
      "property2": "string"
    },
    "media_type": "string",
    "name": "string",
    "org_id": "string",
    "path": "string",
    "project_id": "string",
    "public_url": "string"
  }
}

Responses

Status Meaning Description Schema
200 OK A successful response. mycujoo.assets.v1beta1.ImportAssetResponse
400 Bad Request Bad input parameters Inline
500 Internal Server Error Internal Server Error Inline
default Default An unexpected error response. google.rpc.Status

Response Schema

GetIamPolicy

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}

r = requests.get('https://mcls-api.mycujoo.tv/assets/v1beta1/{asset_id}/iam_policy', headers = headers)

print(r.json())

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization":